* feat: api access tokens
* revoke all user tokens
* redefine access token api routes, add auto egress option to enrollment keys
* add server settings apis, add db table for settigs
* handle server settings updates
* switch to using settings from DB
* fix sever settings migration
* revet force migration for settings
* fix server settings database write
* egress model
* fix revoked tokens to be unauthorized
* update egress model
* remove unused functions
* convert access token to sql schema
* switch access token to sql schema
* fix merge conflicts
* fix server settings types
* bypass basic auth setting for super admin
* add TODO comment
* setup api handlers for egress revamp
* use single DB, fix update nat boolean field
* extend validaiton checks for egress ranges
* add migration to convert to new egress model
* fix panic interface conversion
* publish peer update on settings update
* revoke token generated by an user
* add user token creation restriction by user role
* add forbidden check for access token creation
* revoke user token when group or role is changed
* add default group to admin users on update
* chore(go): import style changes from migration branch;
1. Singular file names for table schema.
2. No table name method.
3. Use .Model instead of .Table.
4. No unnecessary tagging.
* remove nat check on egress gateway request
* Revert "remove nat check on egress gateway request"
This reverts commit
|
||
---|---|---|
.github | ||
auth | ||
cli | ||
compose | ||
config | ||
controllers | ||
database | ||
db | ||
docker | ||
docs | ||
functions | ||
k8s | ||
logger | ||
logic | ||
migrate | ||
models | ||
mq | ||
netclient/ncutils | ||
nginx | ||
pro | ||
schema | ||
scripts | ||
servercfg | ||
serverctl | ||
test | ||
tls | ||
utils | ||
validation | ||
.dockerignore | ||
.fpm | ||
.gitignore | ||
.goreleaser.prerelease.yaml | ||
.goreleaser.update.yaml | ||
.goreleaser.yaml | ||
.swaggo | ||
CONTRIBUTING.md | ||
dev.yaml | ||
Dockerfile | ||
Dockerfile-quick | ||
go.mod | ||
go.sum | ||
LICENSE.md | ||
main.go | ||
main_ee.go | ||
README.md | ||
release.md | ||
SECURITY.md | ||
swagger.yaml |
WireGuard® automation from homelab to enterprise
Create | Manage | Automate |
---|---|---|
✔️ WireGuard Networks | ✔️ Admin UI | ✔️ Linux |
✔️ Remote Access Gateways | ✔️ OAuth | ✔️ Docker |
✔️ Mesh VPNs | ✔️ Private DNS | ✔️ Mac |
✔️ Site-to-Site | ✔️ Access Control Lists | ✔️ Windows |
Try Netmaker SaaS
If you're looking for a managed service, you can get started with just a few clicks, visit netmaker.io to create your netmaker server.
Self-Hosted Open Source Quick Start
These are the instructions for deploying a Netmaker server on your cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.
- Get a cloud VM with Ubuntu 24.04 and a static public IP.
- Allow inbound traffic on port 443,51821 TCP and UDP to the VM firewall in cloud security settings, and for simplicity, allow outbound on All TCP and All UDP.
- (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.
- Run the script to setup open source version of Netmaker:
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
To Install Self-Hosted PRO Version - https://docs.netmaker.io/docs/server-installation/netmaker-professional-setup
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 centres, clouds, and edge devices, so you don't have to.
-
Kernel WireGuard offers maximum speed, performance, and security.
-
Netmaker is built to scale from small businesses to enterprises.
-
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.