Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Go to file
Abhishek K b78cc0a8a1
NET-725: Failovers (#2685)
* api to  to get host relayed from client

* add auto relay to api host

* add peer nat type

* set pro field on signal

* rm net check on relay me handler

* return success response

* re-establish failover logic

* set failOver ctx

* failOver with peer pub key

* failovered peer updates

* failover handlers, reset failovered peer on deletion

* rm unused funcs

* initialize failover handler on EE

* ignore failover node on signal

* failover changes

* set host id on signal

* extend signal model to include node ids

* add backwards compatibility

* add failover as node api

* set json response on failover handers

* add failover field to api node

* fix signal data check

* initialize failover peer map

* reset failovered status when relayed or deleted

* add failover info to api node

* reset network failover

* only proceed furtuer if failover exists in the network

* set failOver node defaults

* cannot set failover node as relayed

* debug log

* debug log

* debug changes

* debug changes

* debug changes

* revert debug changes

* don't add peers to idmap when removed

* reset failed Over

* fix static checks

* rm debug log

* add check for linux host
2023-11-29 20:10:07 +04:00
.github update develop (#2679) 2023-11-22 11:50:49 +04:00
auth feat(NET-688): auto relaying via enrollment keys (#2647) 2023-11-04 16:28:57 +04:00
cli [NET-562] Persistent Keep Alive from node to host (#2604) 2023-10-06 10:09:19 +04:00
compose update develop (#2679) 2023-11-22 11:50:49 +04:00
config session management for remote access client (#2592) 2023-10-02 08:57:58 +04:00
controllers NET-725: Failovers (#2685) 2023-11-29 20:10:07 +04:00
database moved data structure to db 2023-03-03 14:23:51 -05:00
docker let caddy do certificate management (#2611) 2023-10-06 10:13:49 +04:00
functions NET-551: User Mgmt Re-Design (#2547) 2023-09-01 14:27:08 +05:30
k8s update develop (#2679) 2023-11-22 11:50:49 +04:00
logger ee license check 2023-04-12 10:45:06 -04:00
logic NET-725: Failovers (#2685) 2023-11-29 20:10:07 +04:00
migrate set superadmin to user if owner conf is set 2023-11-27 20:13:29 +04:00
models NET-725: Failovers (#2685) 2023-11-29 20:10:07 +04:00
mq NET-725: Failovers (#2685) 2023-11-29 20:10:07 +04:00
netclient/ncutils random string 2023-05-02 13:28:00 -04:00
nginx remove references to grpc/comms net 2022-04-21 15:53:44 -04:00
pro NET-725: Failovers (#2685) 2023-11-29 20:10:07 +04:00
scripts update develop (#2679) 2023-11-22 11:50:49 +04:00
servercfg saas owner email 2023-11-27 20:27:10 +04:00
serverctl NET-551: User Mgmt Re-Design (#2547) 2023-09-01 14:27:08 +05:30
test remove agentbackend 2023-02-20 02:22:48 -07:00
tls initial changes to make cert <-> broker comms work 2022-07-05 15:04:45 -04:00
validation merge conflicts resolved 2022-09-26 17:47:20 +05:30
.dockerignore NET-163: Return 403 instead of 401 (#2326) 2023-05-25 09:40:39 -04:00
.fpm add rpms 2022-03-09 15:28:39 -05:00
.gitignore make goreleaser work on publish release 2023-02-15 15:29:42 -05:00
.goreleaser.prerelease.yaml update release asset naming pattern to match netclient 2023-04-14 08:33:53 -04:00
.goreleaser.update.yaml cleanup 2023-02-25 08:03:16 -05:00
.goreleaser.yaml update release asset naming pattern to match netclient 2023-04-14 08:33:53 -04:00
CONTRIBUTING.md Create CONTRIBUTING.md 2022-01-20 08:19:23 -05:00
dev.yaml remove grpc parameters 2023-02-20 09:09:26 -07:00
Dockerfile Bump alpine from 3.18.3 to 3.18.4 (#2613) 2023-10-04 10:28:12 +04:00
Dockerfile-quick Bump alpine from 3.18.3 to 3.18.4 (#2613) 2023-10-04 10:28:12 +04:00
go.mod Bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 (#2681) 2023-11-22 13:10:49 +04:00
go.sum Bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 (#2681) 2023-11-22 13:10:49 +04:00
LICENSE.md Change License To Apache (#2597) 2023-09-21 08:26:11 -04:00
main.go update develop (#2679) 2023-11-22 11:50:49 +04:00
main_ee.go [NET-546] Move ee code to ee package, unify ee status and terminology (#2538) 2023-09-01 07:42:05 +05:30
README.md update develop (#2679) 2023-11-22 11:50:49 +04:00
release.md update develop (#2679) 2023-11-22 11:50:49 +04:00
SECURITY.md Update SECURITY.md 2022-11-02 09:10:50 -04:00
swagger.yml update develop (#2679) 2023-11-22 11:50:49 +04:00

ROSS Index - Fastest Growing Open-Source Startups | Runa Capital Y-Combinator

WireGuard® automation from homelab to enterprise

Create Manage Automate
✔️ WireGuard Networks ✔️ Admin UI ✔️ Linux
✔️ Remote Access Gateways ✔️ OAuth ✔️ FreeBSD
✔️ Mesh VPNs ✔️ Private DNS ✔️ Mac
✔️ Site-to-Site ✔️ Access Control Lists ✔️ Windows

Try Online

If you're just looking to use Netmaker, you can create an account for free at netmaker.io.

Self-Hosted Quick Start

These are the instructions for deploying a Netmaker server on your own cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.

  1. Get a cloud VM with Ubuntu 22.04 and a public IP.
  2. Open ports 443, 80, 3479, 8089 and 51821-51830/udp on the VM firewall and in cloud security settings.
  3. (recommended) Prepare DNS - Set a wildcard subdomain in your DNS settings for Netmaker, e.g. *.netmaker.example.com, which points to your VM's public IP.
  4. Run the script:

sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh

This script gives you the option to deploy the Community or Enterprise version of Netmaker. It also gives you the option to use your own domain (recommended) or an auto-generated domain.

After installing Netmaker, check out the Walkthrough and Getting Started guides to learn more about configuring networks. Or, check out some of our other Tutorials for different use cases, including Kubernetes.

Get Support

Why Netmaker + WireGuard?

  • Netmaker automates virtual networks between data centers, clouds, and edge devices, so you don't have to.

  • Kernel WireGuard offers maximum speed, performance, and security.

  • Netmaker is built to scale from the small business to the enterprise.

  • Netmaker with WireGuard can be highly customized for peer-to-peer, site-to-site, Kubernetes, and more.

Community Projects

Disclaimer

WireGuard is a registered trademark of Jason A. Donenfeld.

License

Netmaker's source code and all artifacts in this repository are freely available. All content that resides under the "pro/" directory of this repository, if that directory exists, is licensed under the license defined in "pro/LICENSE". All third party components incorporated into the Netmaker Software are licensed under the original license provided by the owner of the applicable component. Content outside of the above mentioned directories or restrictions above is available under the "Apache Version 2.0" license as defined below. All details for the licenses used can be found here: LICENSE.md.