Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Find a file
Matthew R Kasun 5c38b5b2d0
migration (#2509)
* create gateways during migration

* set version for testing

* restruct migration

* debug logging

* enforce unique names for ext client names (#2476)

* enforce unique names for ext client names

* only check for unique id on creation

* check for unique id if changed

* prune(NET-483): remove defunct host.internetgateway field (#2487)

* don't reference host on err (#2493)

* deprecrate netclient install scripts (#2490)

* Net 500: validate network parameter passed to node endpoints (#2480)

* enforce unique names for ext client names

* only check for unique id on creation

* check for unique id if changed

* validate network parameter passed to node endpoints

---------

Co-authored-by: Abhishek K <32607604+abhishek9686@users.noreply.github.com>

* NET-513 (#2492)

nm-certs.sh now requests certificate for EE and CE edition domains accordingly.

* [NET-404] Run in limited mode when ee checks fail (#2474)

* Add limited http handlers functionality to rest handler

* Export ee.errValidation (ee.ErrValidation)

* Export a fatal error handled by the hook manager

* Export a new status variable for unlicensed server

* Mark server as unlicensed when ee checks fail

* Handle license validation failures with a (re)boot in a limited state

* Revert "Export a fatal error handled by the hook manager"

This reverts commit 069c21974a8d36e889c73ad78023448d787d62a5.

* Revert "Export ee.errValidation (ee.ErrValidation)"

This reverts commit 59dbab8c79773ca5d879f28cbaf53f3dd4297b9b.

* Revert "Add limited http handlers functionality to rest handler"

This reverts commit e2f1f28facaca54713db76a588839cd2733cf673.

* Revert "Handle license validation failures with a (re)boot in a limited state"

This reverts commit 58cfbbaf522a1345aac1fa67964ebff0a6d60cd8.

* Revert "Mark server as unlicensed when ee checks fail"

This reverts commit 77c6dbdd3c9cfa6e7d6becedef6251e8617ae367.

* Handle license validation failures with a middleware

* Forbid responses if unlicensed ee and not in status api

* Remove unused func

* feat(NET-449): add sync feature to request a host pull from server (#2491)

* fix(NET-486): change client name length validation (#2498)

set limit to 5<=x<=32

* [NET-477] Pick AMB URL dynamically (#2489)

* Introduce config for environment

* Introduce func to get environment

* Choose accounts api host from environment

* Test the ee package on workflows

* Use build tag ee for license_test.go

* [Feature]: nm-quick script tackling arm TODO support (#2488)

* domain flag for auto installs

* use static servers with custom domain (#2421)

* send delete peer update always

* fix add/remove host api calls

* keep mq updates in a single go func

* move branch test logic to devops (#2443)

* handle IOT OS

* save server name to env (#2460)

* ensure branch test servers available after test runs (#2467)

* save server name to env

* free server always; add PR to discord messages

* use correct method to delete droplets (#2468)

* quick fix for the launcher

* removed exit when triggering not supported exit and removed the TODO comments related to this issue

---------

Co-authored-by: Matthew R Kasun <mkasun@nusak.ca>
Co-authored-by: Alex Feiszli <31018251+afeiszli@users.noreply.github.com>
Co-authored-by: Christopher Blaha <crispspiceguitar@gmail.com>
Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
Co-authored-by: Abhishek K <32607604+abhishek9686@users.noreply.github.com>

* rebase conflict

* include pass and os in mirgration data

* node network ranges

* remove debugging logs

* add gateways

* use sent node

* upgrade shell script

* associate node to host during migration

* add node to host.Nodes and publish peer update

* save host outside loop

* fix script name

* simplify upgrade script

* don't migrate relays

* simplify upgrade script even more

* guard against blank address or address6

* typos

---------

Co-authored-by: Aceix <aceixsmartX@gmail.com>
Co-authored-by: Abhishek K <32607604+abhishek9686@users.noreply.github.com>
Co-authored-by: Farukh Khan <farukhkhan21@gmail.com>
Co-authored-by: Gabriel de Souza Seibel <gabrielseibel1@gmail.com>
Co-authored-by: bornav <51048565+bornav@users.noreply.github.com>
Co-authored-by: Alex Feiszli <31018251+afeiszli@users.noreply.github.com>
Co-authored-by: Christopher Blaha <crispspiceguitar@gmail.com>
Co-authored-by: Abhishek Kondur <abhi281342@gmail.com>
2023-08-14 23:14:10 +05:30
.github [Feature]: nm-quick script tackling arm TODO support (#2488) 2023-08-08 15:59:55 +05:30
auth adapted sso to host registration 2023-04-17 22:23:17 -04:00
cli NET-447: Removed proxy related fields and code (#2459) 2023-07-26 11:22:49 +05:30
compose NET-517 (#2510) 2023-08-11 21:58:16 +05:30
config [NET-494 / ACC-322] New free tier limits (#2495) 2023-08-08 23:17:49 +05:30
controllers migration (#2509) 2023-08-14 23:14:10 +05:30
database moved data structure to db 2023-03-03 14:23:51 -05:00
docker remove stun 2023-06-13 15:53:24 -04:00
ee [NET-494 / ACC-322] New free tier limits (#2495) 2023-08-08 23:17:49 +05:30
functions Extclient NET-63x (#2286) 2023-05-17 10:58:03 -04:00
k8s update develop to v0.20.6 (#2485) 2023-08-01 11:45:17 +05:30
logger ee license check 2023-04-12 10:45:06 -04:00
logic NET-507 (#2506) 2023-08-10 20:27:44 +05:30
migrate review comments 2023-05-08 13:44:32 -04:00
models migration (#2509) 2023-08-14 23:14:10 +05:30
mq don't reference host on err (#2493) 2023-08-02 22:01:41 +05:30
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
scripts migration (#2509) 2023-08-14 23:14:10 +05:30
servercfg [NET-494 / ACC-322] New free tier limits (#2495) 2023-08-08 23:17:49 +05:30
serverctl remove network capabilities from netmaker 2023-01-23 12:37:07 -05:00
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.2 to 3.18.3 (#2500) 2023-08-08 23:15:37 +05:30
Dockerfile-quick Bump alpine from 3.18.2 to 3.18.3 (#2500) 2023-08-08 23:15:37 +05:30
go.mod Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#2502) 2023-08-08 23:14:22 +05:30
go.sum Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 (#2502) 2023-08-08 23:14:22 +05:30
LICENSE.txt updating docs 2021-04-14 13:16:56 -04:00
main.go NET-507 (#2506) 2023-08-10 20:27:44 +05:30
main_ee.go refactoring for ee 2022-09-14 13:26:31 -04:00
README.md update develop to v0.20.6 (#2485) 2023-08-01 11:45:17 +05:30
release.md update develop to v0.20.6 (#2485) 2023-08-01 11:45:17 +05:30
SECURITY.md Update SECURITY.md 2022-11-02 09:10:50 -04:00
swagger.yaml update develop to v0.20.6 (#2485) 2023-08-01 11:45:17 +05:30

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 pubic 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 versions are published under the Server Side Public License (SSPL), version 1, which can be found here: LICENSE.txt.