diff --git a/config/environments/dev.yaml b/config/environments/dev.yaml index a2cfcb5a..090943df 100644 --- a/config/environments/dev.yaml +++ b/config/environments/dev.yaml @@ -16,3 +16,13 @@ mongoconn: host: "" # defaults to 127.0.0.1 or MONGO_HOST (if set) port: "" # defaults to 27017 or MONGO_PORT (if set) opts: '' # defaults to '/?authSource=admin' or MONGO_OPTS (if set) +wg: + keyrequired: "" # defaults to "". If set to "yes", a key is required for signing up for the comms network + grpcwg: "" # defaults to "on" or SERVER_GRPC_WIREGUARD if set + grpciface: "" # defaults to nm-grpc-wg or SERVER_GRPC_WG_INTERFACE if set + grpcaddr: "" # defaults to 10.101.0.1 or SERVER_GRPC_WG_ADDRESS if set + grpcaddrrange: "" # defaults to 10.101.0.0/16 or SERVER_GRPC_WG_ADDRESS_RANGE if set + grpcendpoint: "" # defaults to SERVER_HOST if unset + grpcport: "" # defaults to 50555 or SERVER_GRPC_WG_PORT if set + pubkey: "" # defaults to generated value or SERVER_GRPC_WG_PUBKEY if set + privkey: "" # defaults to generated value or SERVER_GRPC_WG_PRIVKEY if set diff --git a/controllers/intClientHttpController.go b/controllers/intClientHttpController.go index fbc8718d..6135c5ea 100644 --- a/controllers/intClientHttpController.go +++ b/controllers/intClientHttpController.go @@ -142,9 +142,9 @@ func RegisterIntClient(client models.IntClient) (models.IntClient, error) { if err != nil { return client, err } - gcfg := servercfg.GetConfig() - client.ServerWGEndpoint = server.ServerWGEndpoint - client.ServerAPIEndpoint = gcfg.APIHost + ":" + gcfg.APIPort + gcfg := servercfg.GetConfig() + client.ServerWGEndpoint = server.ServerWGEndpoint + client.ServerAPIEndpoint = gcfg.APIHost + ":" + gcfg.APIPort client.ServerAddress = server.ServerAddress client.ServerPort = server.ServerPort client.ServerKey = server.ServerKey diff --git a/docs/_build/doctrees/about.doctree b/docs/_build/doctrees/about.doctree index 29d69500..12ffcc07 100644 Binary files a/docs/_build/doctrees/about.doctree and b/docs/_build/doctrees/about.doctree differ diff --git a/docs/_build/doctrees/api.doctree b/docs/_build/doctrees/api.doctree index a4ce6ce5..1064f41e 100644 Binary files a/docs/_build/doctrees/api.doctree and b/docs/_build/doctrees/api.doctree differ diff --git a/docs/_build/doctrees/architecture.doctree b/docs/_build/doctrees/architecture.doctree index 4aece282..094656d8 100644 Binary files a/docs/_build/doctrees/architecture.doctree and b/docs/_build/doctrees/architecture.doctree differ diff --git a/docs/_build/doctrees/client-installation.doctree b/docs/_build/doctrees/client-installation.doctree index a4a8612f..99fcca5f 100644 Binary files a/docs/_build/doctrees/client-installation.doctree and b/docs/_build/doctrees/client-installation.doctree differ diff --git a/docs/_build/doctrees/conduct.doctree b/docs/_build/doctrees/conduct.doctree index 02b79387..46ceab2a 100644 Binary files a/docs/_build/doctrees/conduct.doctree and b/docs/_build/doctrees/conduct.doctree differ diff --git a/docs/_build/doctrees/contribute.doctree b/docs/_build/doctrees/contribute.doctree index a99c8b48..ff3caca9 100644 Binary files a/docs/_build/doctrees/contribute.doctree and b/docs/_build/doctrees/contribute.doctree differ diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle index 0cdf988e..bcb4f435 100644 Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ diff --git a/docs/_build/doctrees/external-clients.doctree b/docs/_build/doctrees/external-clients.doctree index 7285159f..6411828f 100644 Binary files a/docs/_build/doctrees/external-clients.doctree and b/docs/_build/doctrees/external-clients.doctree differ diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree index 4fd90b5c..3cdd0d87 100644 Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ diff --git a/docs/_build/doctrees/license.doctree b/docs/_build/doctrees/license.doctree index 5b43eede..2df49ff6 100644 Binary files a/docs/_build/doctrees/license.doctree and b/docs/_build/doctrees/license.doctree differ diff --git a/docs/_build/doctrees/quick-start.doctree b/docs/_build/doctrees/quick-start.doctree index c42320d6..74eb6a17 100644 Binary files a/docs/_build/doctrees/quick-start.doctree and b/docs/_build/doctrees/quick-start.doctree differ diff --git a/docs/_build/doctrees/server-installation.doctree b/docs/_build/doctrees/server-installation.doctree index 501ef21d..71e8ee69 100644 Binary files a/docs/_build/doctrees/server-installation.doctree and b/docs/_build/doctrees/server-installation.doctree differ diff --git a/docs/_build/doctrees/support.doctree b/docs/_build/doctrees/support.doctree index 4c8eec5b..383aacd1 100644 Binary files a/docs/_build/doctrees/support.doctree and b/docs/_build/doctrees/support.doctree differ diff --git a/docs/_build/doctrees/troubleshoot.doctree b/docs/_build/doctrees/troubleshoot.doctree index 57cb1026..c9618ec1 100644 Binary files a/docs/_build/doctrees/troubleshoot.doctree and b/docs/_build/doctrees/troubleshoot.doctree differ diff --git a/docs/_build/doctrees/usage.doctree b/docs/_build/doctrees/usage.doctree index 6abd4638..b0928a13 100644 Binary files a/docs/_build/doctrees/usage.doctree and b/docs/_build/doctrees/usage.doctree differ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo index f021350c..3f994b8d 100644 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 38df69f28cc0347431e93f7d2904bfd3 +config: ef1c483d6ecb673b2f9ea9eedb1cedaa tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/_images/nm-diagram-2.jpg b/docs/_build/html/_images/nm-diagram-2.jpg new file mode 100644 index 00000000..64fad123 Binary files /dev/null and b/docs/_build/html/_images/nm-diagram-2.jpg differ diff --git a/docs/_build/html/_sources/architecture.rst.txt b/docs/_build/html/_sources/architecture.rst.txt index 5f63bef8..37374f94 100644 --- a/docs/_build/html/_sources/architecture.rst.txt +++ b/docs/_build/html/_sources/architecture.rst.txt @@ -2,7 +2,7 @@ Architecture =============== -.. image:: images/nm-diagram.jpg +.. image:: images/nm-diagram-2.jpg :width: 45% :alt: Netmaker Architecture Diagram :align: center @@ -38,7 +38,7 @@ A full `mesh network ` This is in contrast to a hub-and-spoke network, where each machine must first pass its traffic through a relay server before it can reach other machines. -In certain situations you may either want or need a *partial mesh* network, where only some devices can reach each other directly, and other devices must route their traffic through a relay/gateway. Netmaker can use this model in some use cases where it makes sense. +In certain situations you may either want or need a *partial mesh* network, where only some devices can reach each other directly, and other devices must route their traffic through a relay/gateway. Netmaker can use this model in some use cases where it makes sense. In the diagram at the top of this page, the setup is a partial mesh, because the servers (nodes A-D) are meshed, but then external clients come in via a gateway, and are not meshed. Mesh networks are generally faster than other topologies, but are also more complicated to set up. WireGuard on its own gives you the means to create encrypted tunnels between devices, but it does not provide a method for setting up a full network. This is where Netmaker comes in. diff --git a/docs/_build/html/_sources/quick-start.rst.txt b/docs/_build/html/_sources/quick-start.rst.txt index 32bb0e94..9449aa92 100644 --- a/docs/_build/html/_sources/quick-start.rst.txt +++ b/docs/_build/html/_sources/quick-start.rst.txt @@ -7,7 +7,7 @@ Introduction This is a guide to getting up and running with Netmaker as quickly as possible. -By default, Netmaker ships with DNS Mode and Client Mode enabled. However, these features require special permissions and are not necessary for a simple setup, so we are going to deploy without them. To learn more about enabling these features, check out the :doc:`installation docs <./server-installation>`. +By default, Netmaker ships with DNS Mode, Client Mode, and Secure GRPC enabled. However, these features require special permissions and are not necessary for a simple setup, so we are going to deploy without them. To learn more about enabling these features, check out the :doc:`installation docs <./server-installation>`. Prerequisites ================== @@ -77,7 +77,7 @@ Deploy Nodes * ``which wg`` (should show wg binary present) * ``pidof systemd && echo "systemd found" || echo "systemd not found"`` -4. Run the install command, Ex: ``curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.3/scripts/netclient-install.sh | KEY=vm3ow4thatogiwnsla3thsl3894ths sh -`` +4. Run the install command, Ex: ``curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.5/scripts/netclient-install.sh | KEY=vm3ow4thatogiwnsla3thsl3894ths sh -`` You should get output similar to the below. The netclient retrieves local settings, submits them to the server for processing, and retrieves updated settings. Then it sets the local network configuration. For more information about this process, see the :doc:`client installation <./client-installation>` documentation. If this process failed and you do not see your node in the console (see below), then reference the :doc:`troubleshooting <./troubleshoot>` documentation. @@ -127,7 +127,7 @@ Nodes can be added/removed/modified on the network at any time. Nodes can also b Uninstalling the netclient ============================= -1. To remove your nodes from the default network, run the following on each node: ``sudo netclient -c remove -n default`` +1. To remove your nodes from the default network, run the following on each node: ``sudo netclient leave -n default`` 2. To remove the netclient entirely from each node, run ``sudo rm -rf /etc/netclient`` (after running the first step) Uninstralling Netmaker diff --git a/docs/_build/html/_sources/server-installation.rst.txt b/docs/_build/html/_sources/server-installation.rst.txt index 78dc5891..6f80f1c8 100644 --- a/docs/_build/html/_sources/server-installation.rst.txt +++ b/docs/_build/html/_sources/server-installation.rst.txt @@ -15,6 +15,10 @@ Client Mode requires many additional privileges on the host machine, since Netma **DNS Mode:** DNS Mode enables Netmaker to write configuration files for CoreDNS, which can be set as a DNS Server for nodes. DNS Mode, paired with a CoreDNS deployment, requires use of port 53. On many linux systems (such as Ubuntu), port 53 is already in use to support local DNS, via systemd-resolved. Running in DNS Mode may require making modifications on the host machine. +**Secure GRPC**: Secure GRPC ensures all communications between nodes and the server are encrypted. Netmaker sets up a default "comms" network that exists only for nodes to connect to the server. It acts as a hub-and-spoke WireGuard network. In the below installation instructions, when port 50555 needs to be open, this is referring to the WireGuard port for Netmaker's GRPC comms. When it is port 50051, secure comms is not enabled. + +When Secure GRPC is enabled, before any nodes can join a Netmaker network, they request to join the comms network, and are given the appropriate WireGuard configs to connect to the server. Then they are able to make requests against the private netmaker endpoint specified for the comms network (10.101.0.1 by default). If switched off, communications are not secure between the hub and nodes over GRPC (it is like http vs https), and likewise, certificates must be added to gain secure communications. + **Agent Backend:** The Agent Backend is the GRPC server (by default running on port 50051). This port is not needed for the admin server. If your use case requires special access configuration, you can run two Netmaker instances, one for the admin server, and one for node access. **REST Backend:** Similar to the above, the REST backend runs by default on port 8081, and is used for admin API and UI access. By enabling the REST backend while disabling the Agent backend, you can separate the two functions for more restricted environments. @@ -23,20 +27,22 @@ Client Mode requires many additional privileges on the host machine, since Netma System Compatibility ==================== -Whether or not you run Netmaker in **Client Mode** is the main determination of system compatibility. +Both **Client Mode** and **Secure GRPC** require WireGuard to be installed on the host system, and will require elevated privileges to perform network operations.. -With Client Mode **disabled**, Netmaker can be run on any system that supports Docker. This includes Windows, Mac, Linux, mainframes, and most Unix-based systems. It also requires no special privileges. Netmaker will only need ports for GRPC (50051 by default), the API (8081 by default), and CoreDNS (53, if enabled). +When both of these features are **disabled**, Netmaker can be run on any system that supports Docker, including Windows, Mac, and Linux, and other systems. With these features disabled, no special privileges are required. Netmaker will only need ports for GRPC (50051 by default), the API (8081 by default), and CoreDNS (53, if enabled). -With Client Mode **enabled** (the default), Netmaker has the same limitations as the :doc:`netclient <./client-installation>` (client networking agent), because client mode just means that the Netmaker server is also running a netclient. +With Client Mode and/or Secure GRPC **enabled** (the default), Netmaker has the same limitations as the :doc:`netclient <./client-installation>` (client networking agent), because client mode just means that the Netmaker server is also running a netclient. -This requires privileged (root) access to the host machine and multiple host directory mounts. It also requires WireGuard to be installed, and Linux with systemd installed (see :doc:`compatible systems <./architecture>` for more details). +These modes require privileged (root) access to the host machine. In addition, Client Mode requires multiple host directory mounts. WireGuard must be installed, the system must be systemd Linux (see :doc:`compatible systems <./architecture>` for more details). -To run a non-docker installation, you are running the Netmaker binary, CoreDNS binary, MongoDB, and a web server directly on your host. This requires all the requirements for those individual components. Our guided install assumes systemd-based linux, but there are many other ways to install Netmaker's individual components onto machines that do not support Docker. +To run a non-docker installation, you must run the Netmaker binary, CoreDNS binary, MongoDB, and a web server directly on the host. This requires all the requirements for those individual components. Our guided install assumes systemd-based linux, but there are many other ways to install Netmaker's individual components onto machines that do not support Docker. DNS Mode Prereqisite Setup ==================================== -If you plan on running the server in DNS Mode, you will be deploying a CoreDNS server. We recommend binding CoreDNS to port 53 of the host system (which it will do by default). On some systems, this will conflift with existing processes. Specifically on linux systems running systemd-resolved, there may be a service consuming port 53. The below steps will disable systemd-resolved, and replace it with a generic (e.g. Google) nameserver. The following was tested on Ubuntu 20.04. This may have consequences for existing private DNS so proceed with caution: +If you plan on running the server in DNS Mode, know that a `CoreDNS Server `_ will be installed. CoreDNS is a light-weight, fast, and easy-to-configure DNS server. It is recommended to bind CoreDNS to port 53 of the host system, and it will do so by default. The clients will expect the nameserver to be on port 53, and many systems have issues resolving a different port. + +However, on your host system (for Netmaker), this may conflict with an existing process. On linux systems running systemd-resolved, there is likely a service consuming port 53. The below steps will disable systemd-resolved, and replace it with a generic (e.g. Google) nameserver. Be warned that this may have consequences for any existing private DNS configuration. The following was tested on Ubuntu 20.04 and should be run prior to deploying the docker containers. 1. ``systemctl stop systemd-resolved`` 2. ``systemctl disable systemd-resolved`` @@ -52,8 +58,8 @@ Docker Compose Install The most simple (and recommended) way of installing Netmaker is to use one of the provided `Docker Compose files `_. Below are instructions for several different options to install Netmaker via Docker Compose, followed by an annotated reference Docker Compose in case your use case requires additional customization. -Slim Install - No DNS and No Client Mode --------------------------------------------- +Slim Install - No DNS, No Client Mode, No Secure GRPC +-------------------------------------------------------- This is the same docker compose covered in the :doc:`quick start <./quick-start>`. It requires no special privileges and can run on any system with Docker and Docker Compose. However, it also does not have the full feature set, and lacks Client Mode and DNS Mode. @@ -71,8 +77,8 @@ Assuming you have Docker and Docker Compose installed, you can just run the foll #. ``sed -i ‘s/HOST_IP/< Insert your-host IP Address Here >/g’ docker-compose.yml`` #. ``docker-compose up -d`` -Full Install - DNS and Client Mode Enabled --------------------------------------------- +Full Install - DNS, Client Mode, and Secure GRPC Enabled +---------------------------------------------------------- This installation gives you the fully-featured product with Client Mode and DNS Mode. @@ -81,8 +87,8 @@ This installation gives you the fully-featured product with Client Mode and DNS * sudo privileges * DNS Mode Prerequisite Setup (see above) * WireGuard installed - * ports 80, 8081, 53, and 50051 are not blocked by firewall - * ports 80, 8081, 53, 50051, and 27017 are not in use + * ports 80, 8081, 53, and 50555 are not blocked by firewall + * ports 80, 8081, 53, 50555, and 27017 are not in use **Notes:** * You can change the port mappings in the Docker Compose if the listed ports are already in use. @@ -123,8 +129,8 @@ DNS Mode is currently limited to clients that can run resolvectl (systemd-resolv * systemd linux (Debian or Ubuntu reccommended) * sudo privileges * WireGuard installed - * ports 80, 8081, and 50051 are not blocked by firewall - * ports 80, 8081, 50051, and 27017 are not in use + * ports 80, 8081, and 50555 are not blocked by firewall + * ports 80, 8081, 50555, and 27017 are not in use **Notes:** * You can change the port mappings in the Docker Compose if the listed ports are already in use. @@ -307,6 +313,47 @@ MONGO_OPTS: **Description:** Opts to enable admin login for Mongo. +SERVER_GRPC_WIREGUARD: + **Default:** "on" + + **Description:** Whether to run GRPC over a WireGuard network. On by default. Secures the server comms. Switch to "off" to turn off. If off and running in production, make sure to have certificates installed to secure GRPC communications. + +SERVER_GRPC_WG_INTERFACE: + **Default:** "nm-grpc-wg" + + **Description:** Interface to use for GRPC WireGuard network if enabled + +SERVER_GRPC_WG_ADDRESS: + **Default:** "10.101.0.1" + + **Description:** Private Address to use for GRPC WireGuard network if enabled + +SERVER_GRPC_WG_ADDRESS_RANGE: + **Default:** "10.101.0.0/16" + + **Description:** Private Address range to use for GRPC WireGard clients if enabled. Gives 65,534 total addresses for all of netmaker. If running a larger network, will need to configure addresses differently, for instance using ipv6, or use certificates instead. + +SERVER_GRPC_WG_PORT: + **Default:** 50555 + + **Description:** Port to use for GRPC WireGuard if enabled + +SERVER_GRPC_WG_PUBKEY: + **Default:** < generated at startup > + + **Description:** PublicKey for GRPC WireGuard interface. Generated if left blank. + +SERVER_GRPC_WG_PRIVKEY: + **Default:** < generated at startup > + + **Description:** PrivateKey for GRPC WireGuard interface. Generated if left blank. + +SERVER_GRPC_WG_KEYREQUIRED + **Default:** "" + + **Description:** Determines if an Access Key is required to join the Comms network. Blank (meaning 'no') by default. Set to "yes" to turn on. + + Config File Reference ---------------------- A config file may be placed under config/environments/.yml. To read this file at runtime, provide the environment variable ENV at runtime. For instance, dev.yml paired with ENV=dev. Netmaker will load the specified Config file. This allows you to store and manage configurations for different environments. Below is a reference Config File you may use. diff --git a/docs/_build/html/_static/basic.css b/docs/_build/html/_static/basic.css index aa9df316..b3bdc004 100644 --- a/docs/_build/html/_static/basic.css +++ b/docs/_build/html/_static/basic.css @@ -130,7 +130,7 @@ ul.search li a { font-weight: bold; } -ul.search li p.context { +ul.search li div.context { color: #888; margin: 2px 0 0 30px; text-align: left; @@ -508,63 +508,6 @@ table.hlist td { vertical-align: top; } -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - /* -- other body styles ----------------------------------------------------- */ @@ -691,6 +634,14 @@ dl.glossary dt { font-size: 1.1em; } +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + .versionmodified { font-style: italic; } @@ -820,11 +771,7 @@ div.code-block-caption code { table.highlighttable td.linenos, span.linenos, div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ + user-select: none; } div.code-block-caption span.caption-number { @@ -839,6 +786,16 @@ div.literal-block-wrapper { margin: 1em 0; } +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + code.xref, a code { background-color: transparent; font-weight: bold; diff --git a/docs/_build/html/_static/pygments.css b/docs/_build/html/_static/pygments.css index 918ae67e..5a354d3c 100644 --- a/docs/_build/html/_static/pygments.css +++ b/docs/_build/html/_static/pygments.css @@ -1,5 +1,10 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } +.highlight { background: #f8f8f8; } .highlight .c { color: #008800; font-style: italic } /* Comment */ .highlight .err { border: 1px solid #FF0000 } /* Error */ .highlight .k { color: #AA22FF; font-weight: bold } /* Keyword */ diff --git a/docs/_build/html/_static/searchtools.js b/docs/_build/html/_static/searchtools.js index e09f9263..1a90152e 100644 --- a/docs/_build/html/_static/searchtools.js +++ b/docs/_build/html/_static/searchtools.js @@ -509,7 +509,7 @@ var Search = { var excerpt = ((start > 0) ? '...' : '') + $.trim(text.substr(start, 240)) + ((start + 240 - text.length) ? '...' : ''); - var rv = $('

').text(excerpt); + var rv = $('
').text(excerpt); $.each(hlwords, function() { rv = rv.highlightText(this, 'highlighted'); }); diff --git a/docs/_build/html/_static/underscore.js b/docs/_build/html/_static/underscore.js index cf177d42..166240ef 100644 --- a/docs/_build/html/_static/underscore.js +++ b/docs/_build/html/_static/underscore.js @@ -1,6 +1,6 @@ -!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ -// Underscore.js 1.13.1 +!function(n,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n=n||self,function(){var t=n._,e=n._=r();e.noConflict=function(){return n._=t,e}}())}(this,(function(){ +// Underscore.js 1.12.0 // https://underscorejs.org -// (c) 2009-2021 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors +// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. -var n="1.13.1",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},t=Array.prototype,e=Object.prototype,u="undefined"!=typeof Symbol?Symbol.prototype:null,o=t.push,i=t.slice,a=e.toString,f=e.hasOwnProperty,c="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof DataView,s=Array.isArray,p=Object.keys,v=Object.create,h=c&&ArrayBuffer.isView,y=isNaN,d=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],m=Math.pow(2,53)-1;function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math.max(arguments.length-r,0),e=Array(t),u=0;u=0&&t<=m}}function J(n){return function(r){return null==r?void 0:r[n]}}var G=J("byteLength"),H=K(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:C(!1),Y=J("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Cn=Ln($n),Kn=Ln(_n($n)),Jn=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=/^\s*(\w|\$)+\s*$/;var Zn=0;function nr(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var rr=j((function(n,r){var t=rr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)ur(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var lr=rr(cr,2);function sr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),$))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var Ar=wr(1),xr=wr(-1);function Sr(n,r,t){var e=[];return r=qn(r,t),jr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Or(n,r,t){r=qn(r,t);for(var e=!er(n)&&nn(n),u=(e||n).length,o=0;o=0}var Br=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),_r(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Nr(n,r){return _r(n,Rn(r))}function Ir(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),jr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Tr(n,r,t){if(null==r||t)return er(n)||(n=jn(n)),n[Wn(n.length-1)];var e=er(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=qr,r=ur(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=_r(ur(r,!1,!1),String),e=function(n,t){return!Er(r,t)}),Ur(n,e,t)}));function zr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Lr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:zr(n,n.length-r)}function $r(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=ur(r,!0,!0),Sr(n,(function(n){return!Er(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o,i,a,f=function(){var c=zn()-u;r>c?e=setTimeout(f,r-c):(e=null,t||(i=n.apply(a,o)),e||(o=a=null))},c=j((function(c){return a=this,o=c,u=zn(),e||(e=setTimeout(f,r),t&&(i=n.apply(a,o))),i}));return c.cancel=function(){clearTimeout(e),e=o=a=null},c},wrap:function(n,r){return rr(r,n)},negate:fr,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:cr,once:lr,findKey:sr,findIndex:vr,findLastIndex:hr,sortedIndex:yr,indexOf:gr,lastIndexOf:br,find:mr,detect:mr,findWhere:function(n,r){return mr(n,Dn(r))},each:jr,forEach:jr,map:_r,collect:_r,reduce:Ar,foldl:Ar,inject:Ar,reduceRight:xr,foldr:xr,filter:Sr,select:Sr,reject:function(n,r,t){return Sr(n,fr(qn(r)),t)},every:Or,all:Or,some:Mr,any:Mr,contains:Er,includes:Er,include:Er,invoke:Br,pluck:Nr,where:function(n,r){return Sr(n,Dn(r))},max:Ir,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=er(n)?n:jn(n)).length;ae||void 0===t)return 1;if(t=0&&t<=m}}function $(n){return function(r){return null==r?void 0:r[n]}}var G=$("byteLength"),H=J(G),Q=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var X=c?function(n){return h?h(n)&&!q(n):H(n)&&Q.test(a.call(n))}:K(!1),Y=$("length");function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e":">",'"':""","'":"'","`":"`"},Kn=Ln(Cn),Jn=Ln(_n(Cn)),$n=tn.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Gn=/(.)^/,Hn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qn=/\\|'|\r|\n|\u2028|\u2029/g;function Xn(n){return"\\"+Hn[n]}var Yn=0;function Zn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var o=Mn(n.prototype),i=n.apply(o,u);return _(i)?i:o}var nr=j((function(n,r){var t=nr.placeholder,e=function(){for(var u=0,o=r.length,i=Array(o),a=0;a1)er(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f0&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var cr=nr(fr,2);function lr(n,r,t){r=qn(r,t);for(var e,u=nn(n),o=0,i=u.length;o0?0:u-1;o>=0&&o0?a=o>=0?o:Math.max(o+f,a):f=o>=0?Math.min(o+1,f):o+f+1;else if(t&&o&&f)return e[o=t(e,u)]===u?o:-1;if(u!=u)return(o=r(i.call(e,a,f),C))>=0?o+a:-1;for(o=n>0?a:f-1;o>=0&&o0?0:i-1;for(u||(e=r[o?o[a]:a],a+=n);a>=0&&a=3;return r(n,Fn(t,u,4),e,o)}}var wr=_r(1),Ar=_r(-1);function xr(n,r,t){var e=[];return r=qn(r,t),mr(n,(function(n,t,u){r(n,t,u)&&e.push(n)})),e}function Sr(n,r,t){r=qn(r,t);for(var e=!tr(n)&&nn(n),u=(e||n).length,o=0;o=0}var Er=j((function(n,r,t){var e,u;return D(r)?u=r:(r=Nn(r),e=r.slice(0,-1),r=r[r.length-1]),jr(n,(function(n){var o=u;if(!o){if(e&&e.length&&(n=In(n,e)),null==n)return;o=n[r]}return null==o?o:o.apply(n,t)}))}));function Br(n,r){return jr(n,Rn(r))}function Nr(n,r,t){var e,u,o=-1/0,i=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ao&&(o=e);else r=qn(r,t),mr(n,(function(n,t,e){((u=r(n,t,e))>i||u===-1/0&&o===-1/0)&&(o=n,i=u)}));return o}function Ir(n,r,t){if(null==r||t)return tr(n)||(n=jn(n)),n[Wn(n.length-1)];var e=tr(n)?En(n):jn(n),u=Y(e);r=Math.max(Math.min(r,u),0);for(var o=u-1,i=0;i1&&(e=Fn(e,r[1])),r=an(n)):(e=Pr,r=er(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u1&&(t=r[1])):(r=jr(er(r,!1,!1),String),e=function(n,t){return!Mr(r,t)}),qr(n,e,t)}));function Wr(n,r,t){return i.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Wr(n,n.length-r)}function Lr(n,r,t){return i.call(n,null==r||t?1:r)}var Cr=j((function(n,r){return r=er(r,!0,!0),xr(n,(function(n){return!Mr(r,n)}))})),Kr=j((function(n,r){return Cr(n,r)}));function Jr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=qn(t,e));for(var u=[],o=[],i=0,a=Y(n);ir?(e&&(clearTimeout(e),e=null),a=c,i=n.apply(u,o),e||(u=o=null)):e||!1===t.trailing||(e=setTimeout(f,l)),i};return c.cancel=function(){clearTimeout(e),a=0,e=u=o=null},c},debounce:function(n,r,t){var e,u,o=function(r,t){e=null,t&&(u=n.apply(r,t))},i=j((function(i){if(e&&clearTimeout(e),t){var a=!e;e=setTimeout(o,r),a&&(u=n.apply(this,i))}else e=or(o,r,this,i);return u}));return i.cancel=function(){clearTimeout(e),e=null},i},wrap:function(n,r){return nr(r,n)},negate:ar,compose:function(){var n=arguments,r=n.length-1;return function(){for(var t=r,e=n[r].apply(this,arguments);t--;)e=n[t].call(this,e);return e}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:fr,once:cr,findKey:lr,findIndex:pr,findLastIndex:vr,sortedIndex:hr,indexOf:gr,lastIndexOf:dr,find:br,detect:br,findWhere:function(n,r){return br(n,Dn(r))},each:mr,forEach:mr,map:jr,collect:jr,reduce:wr,foldl:wr,inject:wr,reduceRight:Ar,foldr:Ar,filter:xr,select:xr,reject:function(n,r,t){return xr(n,ar(qn(r)),t)},every:Sr,all:Sr,some:Or,any:Or,contains:Mr,includes:Mr,include:Mr,invoke:Er,pluck:Br,where:function(n,r){return xr(n,Dn(r))},max:Nr,min:function(n,r,t){var e,u,o=1/0,i=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=tr(n)?n:jn(n)).length;ae||void 0===t)return 1;if(tAbout — Netmaker 0.3.5 documentation - - - + + + @@ -423,7 +423,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -454,11 +461,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -821,7 +835,7 @@ If you’re familiar with AWS, it’s like a VPC but made up of arbitrary comput Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/api.html b/docs/_build/html/api.html index 352359d6..e5c2d597 100644 --- a/docs/_build/html/api.html +++ b/docs/_build/html/api.html @@ -47,9 +47,9 @@ API Reference — Netmaker 0.3.5 documentation - - - + + + @@ -403,7 +403,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -434,11 +441,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -942,7 +956,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/architecture.html b/docs/_build/html/architecture.html index cc4ccb6e..0459c060 100644 --- a/docs/_build/html/architecture.html +++ b/docs/_build/html/architecture.html @@ -47,9 +47,9 @@ Architecture — Netmaker 0.3.5 documentation - - - + + + @@ -451,7 +451,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -482,11 +489,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -793,7 +807,7 @@

    Architecture

    -Netmaker Architecture Diagram +Netmaker Architecture Diagram

    Pictured Above: A diagram of Netmaker’s Architecture.

    Core Concepts

    @@ -809,7 +823,7 @@ Full Mesh Network Diagram

    A full mesh network exists where each machine is able to directly talk to every other machine on the network. For example, on your home network, behind your router, all the computers are likely given private addresses and can reach each other directly.

    This is in contrast to a hub-and-spoke network, where each machine must first pass its traffic through a relay server before it can reach other machines.

    -

    In certain situations you may either want or need a partial mesh network, where only some devices can reach each other directly, and other devices must route their traffic through a relay/gateway. Netmaker can use this model in some use cases where it makes sense.

    +

    In certain situations you may either want or need a partial mesh network, where only some devices can reach each other directly, and other devices must route their traffic through a relay/gateway. Netmaker can use this model in some use cases where it makes sense. In the diagram at the top of this page, the setup is a partial mesh, because the servers (nodes A-D) are meshed, but then external clients come in via a gateway, and are not meshed.

    Mesh networks are generally faster than other topologies, but are also more complicated to set up. WireGuard on its own gives you the means to create encrypted tunnels between devices, but it does not provide a method for setting up a full network. This is where Netmaker comes in.

    @@ -969,7 +983,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/client-installation.html b/docs/_build/html/client-installation.html index d61cde6f..f2b42164 100644 --- a/docs/_build/html/client-installation.html +++ b/docs/_build/html/client-installation.html @@ -47,16 +47,16 @@ Client Installation — Netmaker 0.3.5 documentation - - - + + + - + @@ -505,6 +505,20 @@ Managing Netclient +
  • + + +
  • + + + External Clients +
  • @@ -933,12 +947,12 @@ - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/conduct.html b/docs/_build/html/conduct.html index 633d0cb9..13af64f7 100644 --- a/docs/_build/html/conduct.html +++ b/docs/_build/html/conduct.html @@ -47,9 +47,9 @@ Code of Conduct — Netmaker 0.3.5 documentation - - - + + + @@ -403,7 +403,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -434,11 +441,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -864,7 +878,7 @@ available Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/contribute.html b/docs/_build/html/contribute.html index 3a795a82..8f0a59fa 100644 --- a/docs/_build/html/contribute.html +++ b/docs/_build/html/contribute.html @@ -47,9 +47,9 @@ Contribute — Netmaker 0.3.5 documentation - - - + + + @@ -403,7 +403,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -434,11 +441,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -827,7 +841,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/external-clients.html b/docs/_build/html/external-clients.html index 76f85855..a18967be 100644 --- a/docs/_build/html/external-clients.html +++ b/docs/_build/html/external-clients.html @@ -47,9 +47,9 @@ External Clients — Netmaker 0.3.5 documentation - - - + + + @@ -807,7 +807,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html index eb1df065..ce198431 100644 --- a/docs/_build/html/genindex.html +++ b/docs/_build/html/genindex.html @@ -47,9 +47,9 @@ Index — Netmaker 0.3.5 documentation - - - + + + @@ -746,7 +746,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html index 556feaa3..fb84358f 100644 --- a/docs/_build/html/index.html +++ b/docs/_build/html/index.html @@ -47,9 +47,9 @@ Welcome to the Netmaker Documentation — Netmaker 0.3.5 documentation - - - + + + @@ -989,7 +989,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/license.html b/docs/_build/html/license.html index 3a898c5d..65fed651 100644 --- a/docs/_build/html/license.html +++ b/docs/_build/html/license.html @@ -47,9 +47,9 @@ License — Netmaker 0.3.5 documentation - - - + + + @@ -402,7 +402,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -433,11 +440,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -753,7 +767,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/quick-start.html b/docs/_build/html/quick-start.html index 85b6433b..076a7f11 100644 --- a/docs/_build/html/quick-start.html +++ b/docs/_build/html/quick-start.html @@ -47,9 +47,9 @@ Quick Start — Netmaker 0.3.5 documentation - - - + + + @@ -437,7 +437,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -468,11 +475,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -768,7 +782,7 @@

    Introduction

    This is a guide to getting up and running with Netmaker as quickly as possible.

    -

    By default, Netmaker ships with DNS Mode and Client Mode enabled. However, these features require special permissions and are not necessary for a simple setup, so we are going to deploy without them. To learn more about enabling these features, check out the installation docs.

    +

    By default, Netmaker ships with DNS Mode, Client Mode, and Secure GRPC enabled. However, these features require special permissions and are not necessary for a simple setup, so we are going to deploy without them. To learn more about enabling these features, check out the installation docs.

    Prerequisites

    @@ -834,7 +848,7 @@
      -
    1. Run the install command, Ex: curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.3/scripts/netclient-install.sh | KEY=vm3ow4thatogiwnsla3thsl3894ths sh -

    2. +
    3. Run the install command, Ex: curl -sfL https://raw.githubusercontent.com/gravitl/netmaker/v0.5/scripts/netclient-install.sh | KEY=vm3ow4thatogiwnsla3thsl3894ths sh -

    You should get output similar to the below. The netclient retrieves local settings, submits them to the server for processing, and retrieves updated settings. Then it sets the local network configuration. For more information about this process, see the client installation documentation. If this process failed and you do not see your node in the console (see below), then reference the troubleshooting documentation.

    Output from Netclient Install @@ -854,7 +868,7 @@

    Uninstalling the netclient

      -
    1. To remove your nodes from the default network, run the following on each node: sudo netclient -c remove -n default

    2. +
    3. To remove your nodes from the default network, run the following on each node: sudo netclient leave -n default

    4. To remove the netclient entirely from each node, run sudo rm -rf /etc/netclient (after running the first step)

    @@ -911,7 +925,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/search.html b/docs/_build/html/search.html index ca9f485e..c5a7ec0a 100644 --- a/docs/_build/html/search.html +++ b/docs/_build/html/search.html @@ -47,10 +47,10 @@ Search — Netmaker 0.3.5 documentation - - + + - + @@ -757,7 +757,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js index 716e0351..899c1178 100644 --- a/docs/_build/html/searchindex.js +++ b/docs/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["about","api","architecture","client-installation","conduct","contribute","external-clients","index","license","quick-start","server-installation","support","troubleshoot","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["about.rst","api.rst","architecture.rst","client-installation.rst","conduct.rst","contribute.rst","external-clients.rst","index.rst","license.rst","quick-start.rst","server-installation.rst","support.rst","troubleshoot.rst","usage.rst"],objects:{},objnames:{},objtypes:{},terms:{"0":[1,2,10],"04":10,"06":1,"1":[1,4,8,9,10],"10":[1,2],"100":1,"127":10,"16":[1,2],"172":1,"2":[1,9,10],"20":10,"200":1,"24":2,"25":9,"27017":10,"3":[2,9,10],"30":9,"31":1,"4":[2,4,9,10,11],"5":10,"50051":[2,10],"50052":9,"53":[2,3,10],"6400":1,"70":1,"8":10,"80":10,"8081":[1,2,10],"8c":1,"90":1,"abstract":2,"break":3,"case":[1,2,6,7,9,10,11,13],"default":[1,2,9,10],"do":[0,1,3,4,9,10],"function":[1,2,3,10,11],"import":[2,6,9,10],"long":[0,9,11],"new":[2,9,11],"public":[2,4,8],"return":2,"static":[2,10],"true":10,"try":11,"var":[1,10],"while":[2,10,11],A:[2,3,7,9,10],As:[0,2,3,11],At:[0,2,3],Being:4,By:[0,1,6,9,10],For:[2,3,6,9,10],If:[0,1,2,3,9,10,11,13],In:[0,1,2,3,4,9,10],It:[0,2,3,6,9,10,11,13],No:11,Not:[2,11],On:[2,10],That:2,The:[0,1,2,3,4,6,9,10,11],Then:9,There:[0,1,9,10,11],These:[2,3,9,11],To:[2,3,9,10],Will:10,With:[2,10,11],aa3bvg0rnitirxdx:1,abil:11,abl:[1,2,11],abou:9,about:[2,3,9,11],abov:[2,9,10,11],absent:3,abus:4,acceler:2,accept:[3,4],access:[0,2,6,7,9,10,11,13],accesskei:1,accomplish:11,account:[4,11],achiev:[1,2,11],across:[0,3],act:[2,4,6],action:[1,4],actual:2,ad:[2,9,10],adapt:4,add:[0,1,2,9,10],addit:[2,9,10,11],addnetwork:1,address:[2,4,9,10],addressrang:[1,9],adequ:10,adm:1,admin:[0,1,2,9,10],adopt:2,advanc:[1,4,9,10],after:[3,9,11],ag:4,agent:[0,2,3,7,9,10],agent_backend:10,agentbackend:10,aggreg:2,alex:11,algo:11,align:4,all:[0,1,2,3,4,6,7,8,9,10,11],allow:[1,2,3,6,9,10,13],allowedorigin:10,alreadi:[2,3,9,10],also:[0,1,2,9,10,11],altern:[2,10],alwai:10,an:[0,2,4,6,7,9,10,11,13],android:2,ani:[0,2,3,4,6,9,10],anoth:[2,11],anyth:2,anywai:11,aorijqalrik3ajflaqrdajhkr:1,apach:[2,10],api:[2,9,10],api_port:10,apihost:10,apiport:10,app:11,appear:[4,9],appli:4,applic:1,appoint:4,appropri:[2,4,6],approv:[1,9,11],apt:10,ar:[0,1,2,3,4,8,9,10,11,13],arbitrari:0,arch:2,architectur:[9,10],arm:3,arrai:2,artifact:8,asset:10,assum:[2,10],attack:4,attent:4,attribut:7,authent:[2,9],author:1,authsourc:10,autom:0,automat:[2,3,6,10,11],avail:[3,4,8,10,11],aw:[0,11],awai:2,await:2,b5:1,back:[2,6,10],backend:10,backend_url:10,background:2,backup:11,balanc:11,ban:4,bare:2,base64:9,base:[2,3,9,10,11],bash:2,basi:[2,11],basic:7,bearer:1,becaus:[0,10],becom:[2,10,11],been:[2,3],befor:2,begin:2,behavior:4,behind:2,being:2,believ:11,below:[1,2,9,10,13],best:[4,11],better:2,between:[0,2],bewar:3,beyond:[10,11],bin:10,binari:[2,9,10,11],bind:10,bit:[10,11,13],block:10,bodi:4,both:[2,4,10,11],bottom:9,bring:11,brows:11,browser:9,bug:7,build:7,built:2,bunch:11,busi:11,button:10,c:[9,10],call:[0,2,3,7,10],callabl:3,can:[0,1,2,3,6,8,9,10,11,13],cannot:[3,6],cap_add:10,car:11,carrier:2,caus:[2,10],caution:10,center:0,cento:2,certain:[2,11],cgnat:2,cgroup:10,challeng:10,chang:[0,1,2,3,6,9,10,11],check:[1,2,9,10],checkin:1,choos:3,chose:11,chosen:[2,3],circumst:4,clarifi:4,clear:11,click:[2,9,10],client:[0,2,9,11],client_mod:10,clientmod:10,close:11,cloud:[0,13],cluster:[10,13],code:[2,3,8],com:[4,9,10,11],come:[2,7,10],command:[2,3,9,10],comment:[4,10],commit:4,common:[2,7],commun:[2,4,7,10,11,13],compat:[6,7,9,11],compil:[2,3],complaint:4,complet:2,complex:2,complic:2,compon:[7,10],compos:[7,9],comput:[0,2],concept:7,concern:11,conf:10,confidenti:4,config:[1,2,6,11],configur:[0,1,2,6,7,9,11],conflict:[2,9],conflift:10,connect:[0,2,3,6,9,13],consequ:10,consid:[2,4],consider:2,consist:2,consol:9,construct:4,consum:[3,10],consumpt:2,contact:[4,7],contain:[2,9,10],container_nam:10,content:1,contrast:2,contribut:4,contributor:4,control:[2,9,10],copi:[9,10],core:[0,7,11],coredn:7,corefil:10,coreo:2,corpor:11,correct:4,cors_allowed_origin:10,could:[0,4],coven:4,cover:[7,10],cp:10,cpu:2,creat:[0,1,2,3,4,7,10,13],createadmin:1,creategatewai:1,createus:10,creation:0,credenti:10,critic:4,cross:13,cryptocurr:0,curl:[9,10],current:[2,10],custom:[7,10],customiz:10,cycl:[1,2],d9:1,d:[1,9,10],daemon:2,data:[0,2,10],databas:2,date:1,db:[7,10],dbadminanydatabas:10,dbu:10,debian:[2,10],decis:7,decod:[2,9],deem:4,defaultkeepal:9,defin:4,delet:[1,9],deletegatewai:1,depend:[2,3,10],depends_on:10,deploi:[2,7,10],deploy:[2,10],derogatori:4,deserv:11,design:[2,3,6,7,11],desktop:[2,3,6],detail:[1,2,3,4,7,9,10],determin:[4,10,11],dev:10,develop:2,devic:[0,2,3,7,9,11],diabl:10,diagram:2,differ:[0,2,4,9,10,11,13],directli:[0,1,2,10],directori:10,disabl:[2,4],disable_remote_ip_check:10,disableremoteipcheck:10,discord:11,discuss:10,displai:9,displaynam:1,distribut:2,distributionshav:2,dn:[2,7,9,13],dns_mode:10,dnsconfig:10,dnsmode:10,dnsstublisten:10,doc:[9,10,11],docker:[2,7,9],document:[0,2,3,9,10],doe:[2,6,7,10],domain:10,don:[2,3,11,13],doubl:2,down:[0,9,11],download:[9,10],dual:7,dynam:[0,2,7,11],e:[4,9,10],each:[0,2,3,9,10],easier:[2,10,11],easiest:2,easili:[0,10],echo:9,econom:11,edit:4,effect:9,effici:2,either:[2,11],electron:4,els:11,email:11,empathi:4,enabl:[2,9],encod:9,encompass:0,encount:[2,11],encrypt:[0,2],end:[2,10,11],endpoint:[1,2,6],enforc:7,enhanc:7,enough:9,ensur:11,enter:9,entir:[2,9],entireti:2,env:[1,10],environ:[0,1,2,4,10],equal:10,equival:10,escal:10,especi:10,establish:6,etc:[9,10],eth0:1,ethnic:4,evalu:11,even:[0,2,10],event:4,eventu:11,everi:[2,3,9,11],everyon:4,everyth:2,evolv:2,ex:9,examin:9,exampl:[2,4,7],except:10,execut:11,exist:[0,2,9,10],expand:11,expect:[4,7,11],experi:4,explain:[2,7,10],explicit:4,explicitli:10,expos:2,express:4,expressvpn:11,extens:2,extern:[2,3,9,11],f1:1,face:4,fact:0,fail:9,fair:4,fairli:2,faith:4,fals:10,familiar:[0,2,11],faq:7,fast:[2,7],faster:[0,2],featur:[7,9],fedora:2,feiszli:11,few:[3,10,11],field:9,figur:13,file:[2,6,11],filenam:1,financi:11,find:[2,13],fine:0,firewal:10,firmli:11,first:[2,9,11,13],fit:13,flag:10,flat:0,flexibl:[0,2],flow:2,focu:11,focus:4,folder:2,follow:[4,9,10,11],fork:7,form:3,forward:6,foster:4,found:[0,2,8,9],free:4,freeli:8,from:[0,1,2,3,4,9,10,11,13],front:[2,10],fs:10,full:[0,2],fulli:[0,2,10,11],fundament:10,further:4,futur:[2,9,10],g:[9,10],gatewai:[1,2,6,10,11,13],gender:4,gener:[1,2,6,10,11],generate_config_j:10,get:[1,7,9,10,13],gg:11,github:[2,7,10,11],githubusercont:[9,10],give:[2,7,9,10],given:[0,2,9],go:[7,9],goe:0,golang:2,good:[4,11,13],googl:10,gracefulli:4,grade:2,gravitl:[4,9,10,11],grpc:[2,9,10],grpc_port:10,grpchost:10,grpcport:10,guid:[0,2,9,10],guidelin:11,h:1,ha:[0,2,3,10,11,13],hack:11,hand:7,handl:0,harass:4,hard:11,harm:4,hasadmin:1,have:[0,2,3,4,9,10,11,13],header:1,health:11,heart:3,heavi:2,heaviest:2,heavili:2,help:[1,2,7,10,11,13],here:[2,4,8,9,10,11,13],high:2,hold:[0,2,3],home:[0,2],hook:6,host:[2,3,9,10,11],host_ip:[9,10],hous:1,how:[2,3,7,10],howev:[1,2,3,9,10,11],html:10,http:[1,9,10,11],http_port:10,hub:[0,2],i:[9,10],id:1,idea:11,ident:4,imag:10,imageri:4,immedi:11,impact:[2,11],inappropri:4,incid:4,includ:[2,4,6,7,10,11],inclus:4,incompat:2,incorrect:10,increas:[2,10],independ:6,individu:[4,10],industri:2,info:[2,4,10,11],inform:[2,3,4,9],ingress:[6,11],initi:11,insert:[9,10],instal:[0,2],instanc:[1,2,4,9,10],instead:[0,6,9],instruct:[9,10],insult:4,intact:3,intend:3,interact:[0,2],interest:[4,11],interfac:[1,10],internet:[0,2,11],intro:13,introduc:[2,11],introduct:7,invalid:9,investig:4,invis:2,iot:[0,2],ip:[2,9,10],iphon:2,ipsec:2,ipv6:7,issu:[4,7,10],its:[0,2,3,4,6,9,10],itself:[2,3],join:9,journalctl:10,jq:1,js:10,json:1,just:[0,2,3,9,10,11],jwt:1,k:9,keep:[1,10],kei:[2,10],kernel:[0,2,10,11],keynam:1,keyupd:1,know:[11,13],known:2,kubernet:[0,7],lack:10,languag:4,laptop1:1,laptop:6,larg:2,last:1,lastmodifi:1,latenc:2,later:[2,10],latest:[2,6,10],layer:0,layout:2,lead:11,leadership:4,learn:9,least:0,left:10,less:2,let:[0,11,13],level:[2,4,10],lighter:2,lightweight:2,like:[0,2,3,9,10],limit:[7,10,11],line:2,link:[7,10],linux:[2,3,7,9,11],list:[0,2,10],listenport:1,littl:[2,11],ln:10,load:[2,10,11],local:[2,3,7,9,10],localaddress:1,localhost:1,locat:[0,2,10],login:[9,10],look:11,lot:[2,11],lxc:10,mac:10,macaddress:1,machin:[0,2,3,6,9,10],made:[0,2],mai:[1,2,3,4,9,10,11],mail:4,main:10,mainfram:10,maintain:[4,11],make:[0,2,4,6,9,10,11],man:6,manag:[0,2,6,7,10,13],mandatori:10,mani:[0,2,10,11,13],manual:[2,9,11],map:10,master:[9,10],master_kei:10,masterkei:[1,10],match:[3,10],md:1,mean:[2,3,6,10,11],media:4,member:[4,13],memori:2,mesh:[0,6,11,13],meshclient:1,metal:2,method:[1,2,3,6,9],mgmt:1,middl:6,might:[0,2,10],mind:10,mint:2,minu:10,miss:2,mix:3,mode:[2,7,9],model:[0,2],modif:10,modifi:[1,2,3,9,10,11],monet:11,mongo:10,mongo_admin:10,mongo_host:10,mongo_initdb_root_password:10,mongo_initdb_root_usernam:10,mongo_opt:10,mongo_pass:10,mongo_port:10,mongoadmin:10,mongoconn:10,mongopass:10,mongovol:10,more:[0,1,2,7,9,10,11],most:[1,2,3,10,11],mostli:2,mount:10,move:11,much:[0,2],mullvad:11,mullvadvpn:11,multipl:[0,9,10],must:[1,2,3,9,10],my:1,mykei:[1,9],mynet:9,n:9,name:[1,9,10],nameserv:[2,3,10],nat:2,nation:4,navig:9,nebula:0,necessari:[3,4,9,10],need:[0,1,2,9,10,11],neighborhood:0,neither:2,net_admin:10,netclient:[0,6,7,10],netid:1,netmak:[1,3,6,8,10],network:[0,6,7,9,10,11],network_mod:10,next:9,nginx:[2,10],noclient:10,node:[7,10,11],nodn:10,non:[2,3,10],none:0,noonewillguessthi:1,nordvpn:11,note:[1,3,6,7],notifi:2,now:[0,9,10,11],number:[2,9,10,11],o:[9,10],oblig:4,obtain:1,off:[2,10],offens:4,offic:[0,13],offici:[1,4,9],offlin:4,onc:9,one:[2,3,6,9,10],onli:[1,2,6,9,11],onlin:4,onto:10,open:[2,4,10,11],openvpn:2,oper:[2,3,10],opt:10,option:[2,7,11],order:[2,11],orient:4,origin:10,os:11,osi:11,other:[0,2,3,4,6,9,10,11],otherwis:[0,3,4],our:[7,10],out:[0,2,9,10,11,13],outlin:[2,10],output:9,outsid:7,over:[0,2],overlai:[0,7],overrid:10,overridden:[2,10],overview:[2,7,13],overwhelm:13,own:2,p:9,pai:11,pair:[2,10],pane:9,part:[2,3,10],partial:2,particip:4,particular:2,pass:[2,10],password:[1,9,10],path:[1,10,11],peer:[2,3,13],pend:[1,9],peopl:11,per:11,perform:[1,2,10],period:2,perman:4,permiss:[4,9],permit:9,persistenkeepal:9,person:4,perspect:[0,2],phone:[2,3,6,11],physic:4,pick:[2,9],pictur:2,pidof:9,ping:9,pivpn:11,place:10,plan:10,platform:[2,7],pleas:[3,9,11],pledg:7,point:[2,11],polici:4,polit:4,popul:10,port:[2,9,10],posit:4,possibl:[2,7,9],post:[1,2,4],pr:7,practic:2,pre:[9,10],preced:2,prefer:10,prereqisit:7,prerequisit:[7,10],present:9,previou:2,primari:10,privaci:11,privat:[2,4,7,9,10,11,13],privileg:10,probabl:[0,11],problem:[10,11],proce:10,process:[7,9,10],product:10,profession:4,project:[1,4,7,11],proof:0,properli:3,properti:3,provid:[0,2,10],publickei:1,publish:[4,8],pull:[2,3,6],push:[3,6],put:1,pwd:10,quick:10,quickli:[7,9],race:[4,11],rang:9,rangestr:1,rapidli:2,raspian:2,raw:[9,10],re:[0,9,11],reach:[0,2,3,6],reachabl:[2,6,9,10],reactj:2,read:10,readwriteanydatabas:10,reallysecret:1,reason:[2,4,10,11],reccommend:10,recent:2,reciev:[1,2],recommend:[1,3,6,10],reconfigur:[2,3],reduc:2,refer:[2,9],regard:[2,4],regardless:4,regist:2,regular:11,reiter:2,reject:4,rel:2,relai:[2,6,10,11],releas:[2,10],reli:[0,2,3],relianc:2,religion:4,remot:[0,10],remov:[1,2,4,9,10],removenetwork:1,repeat:9,repercuss:4,replac:[2,10],report:[2,4],repositori:[2,8],repres:4,represent:4,request:[1,2,7,10],requir:[1,2,3,9,10],resolv:[2,3,10],resolvectl:[3,10],resourc:[6,7],respect:4,respons:[2,7],rest:10,rest_backend:10,restart:10,restbackend:10,restrict:[10,11],result:4,retriev:[0,1,2,3,9,11],review:4,rf:9,rhel:2,right:[0,4,11],rm:9,road:11,role:10,root:[9,10],rout:[0,2],router:2,run:[0,1,2,3,6,7,9,10,11],runnin:6,runtim:10,s:[0,2,4,7,8,9,10,11],said:[2,11],same:[0,3,9,10],sampl:0,save:9,scenario:[9,10],scope:7,screen:9,script:[2,9,10],second:9,secret:[1,9],secretkei:10,section:[9,10],secur:[0,1,2,7],sed:[9,10],see:[1,2,3,9,10,11],select:[9,13],self:11,send:[2,3,10],sens:[2,11],sensibl:[0,2,9],separ:[2,4,10,13],serv:[2,10],server:[0,3,6,8,9,11],server_api_host:10,server_grpc_host:10,server_host:10,server_http_host:10,servic:[2,3,6,10,11],set:[1,2,3,4,9,10,11,13],setup:[0,7],sever:[2,10],sexual:4,sf:10,sfl:[9,10],sh:[9,10],share:10,ship:9,should:[0,1,2,3,6,7,9,10,11],show:[4,9,10],side:[8,10],sign:[2,9],signific:2,signigif:2,signup:2,similar:[0,9,10,11],simpl:[2,3,9,10],simplest:[2,3],simpli:[2,9],simultan:0,sinc:10,singl:[1,10,11],site:[0,7,10],situat:2,size:4,skynet:1,slim:9,slow:0,small:[2,11],smartgui:1,so:[0,2,3,6,9,10,11],social:4,solut:2,solv:10,some:[1,2,10,11,13],someon:11,someth:[9,11],somewher:9,soon:[7,10],sort:[0,2],sourc:[2,3,7,8,11],space:4,special:[2,9,10],specif:[2,3,4,10],specifi:10,speed:[0,2],split:3,spoke:[0,2],sponsor:11,spread:0,sql:2,ssh:9,sspl:8,stabil:11,stack:7,stai:3,stake:0,standard:[2,7,9,10],start:[10,13],startup:[1,9],state:9,statement:7,statu:10,step:[2,3,9,10],still:[0,10,11],stock:11,stop:10,store:[2,10],string:9,structur:2,su:[9,10],submit:[7,9],subnet:2,subspac:11,subspacecloud:11,substanti:[0,10],success:2,sudo:[9,10],support:[2,10],sure:[10,11],surfshark:11,suse:2,swagger:7,sy:10,sys_modul:10,system:[7,9],system_bus_socket:10,systemctl:10,systemd:[3,9,10,11],t:[2,3,9,11,13],tab:9,tailscal:0,take:[0,1,2,4,9,10],talk:[0,2],team:[4,11],technic:[0,7,11],technolog:2,tell:[0,2,3],temporari:4,temporarili:4,term:11,terrain:11,test:[7,9,10],than:[2,11],thei:[0,2,4,10,11],them:[2,9,10,11],themselv:2,thhe:10,thi:[0,1,2,3,4,6,7,8,9,10,11],thing:[0,2,10,11],think:[11,13],those:[0,2,3,6,10],though:[10,11],thought:11,thousand:0,threaten:4,three:9,through:2,ticket:11,time:[1,2,3,9,11,13],timer:2,timestamp:2,token:9,tool:[0,3],top:2,topic:13,topolog:2,toward:4,traffic:[0,2,6,10],trailofbit:11,transact:2,treat:[2,3],tricki:2,troll:4,troubleshoot:[1,9],tunnel:[0,2],tunnelbear:11,turn:[2,10],tutori:7,two:[0,1,2,10],type:1,typic:[0,2,9],u:10,ubuntu:[2,10],udp:10,ui:[1,7],ultim:11,unabl:2,unaccept:4,uncom:10,uncordon:1,under:[8,9,10],underlai:[0,13],underli:10,understand:10,uninstal:7,uninstral:7,unix:[2,3,10,11],unless:10,unmanag:11,unmesh:11,unnecessari:11,unset:[9,10],unsupport:11,unten:11,until:[9,11],unwelcom:4,unzip:10,up:[0,2,3,7,9,10,11,13],updat:[1,2,9,11],upon:2,url:10,us:[1,2,3,4,6,7,9,10,11],usag:[7,10,13],user:[2,3,9,10,11],useradminanydatabas:10,usernam:[1,9,10],usr:10,util:3,v0:[2,9,10,11],valid:2,valu:[1,2,9,10],vari:10,variabl:2,variou:[3,7,10],vehicl:11,veri:[0,2,3,11],verifi:2,versa:11,version:[2,4,8,10],via:[1,2,4,6,10,11,13],vice:11,view:[9,11],viewpoint:4,vim:10,virtual:[0,3,6,7,11,13],visibl:9,vm3ow4thatogiwnsla3thsl3894th:9,vm:[0,2],volum:[9,10],vpc:[0,11],vpn:[2,13],wa:[2,10],wai:[10,11],want:[0,2,9,10,11],we:[0,1,2,4,9,10,11],web:[10,11],webserv:2,websit:2,week:11,weight:2,welcom:[4,11],well:[2,3,7,9,11],wg:[3,9,10],wget:[9,10],what:[2,4,6,7],whatev:[3,10],when:[2,3,4,10],where:[2,6,7,9,10,13],wherev:0,whether:[0,10],which:[0,2,3,4,6,8,9,10,11],who:4,why:[2,3,7],wide:2,wider:2,wiki:4,window:[2,3,10,11],wireguard:[0,3,6,7,9,10,11],wish:[6,10],within:[2,3,4],without:[1,2,4,7,9,11],won:11,work:[2,7,11],workstat:9,world:[0,2],wors:2,worth:2,would:[0,3,9,10,11],write:[2,10],www:10,x86:3,x:[1,9],y:10,yaml:[1,10],yml:[9,10],you:[0,1,2,3,6,7,9,10,13],your:[0,1,2,3,9,10,13],your_pass:1,your_password:1,your_secret_kei:1,zeroti:0,zip:10,zrb9vfhk8a:11},titles:["About","API Reference","Architecture","Client Installation","Code of Conduct","Contribute","External Clients","Welcome to the Netmaker Documentation","License","Quick Start","Server Installation","Support","Troubleshooting","Using Netmaker"],titleterms:{"case":0,"do":11,Is:11,No:10,Will:11,about:[0,7],access:[1,3],ad:3,agent:12,an:5,ani:11,annot:10,api:[1,7],architectur:[2,7],attribut:4,authent:1,basic:13,bug:11,build:5,call:1,cli:3,client:[3,6,7,10],code:[4,5,7],common:12,compat:[2,3,10],compon:2,compos:10,concept:2,conduct:[4,7],config:[3,10],configur:[3,10],contact:11,contribut:[5,7],core:2,coredn:[2,10,12],creat:9,curl:1,daemon:3,deploi:9,descript:10,disabl:10,dn:[3,10],docker:10,document:[1,7],doe:[0,11],dual:13,enabl:10,enforc:4,enhanc:5,exampl:1,extern:[6,7,13],faq:11,featur:[10,11],file:[1,3,10],fork:5,format:1,full:10,guid:7,how:[0,11],i:11,instal:[3,7,9,10,11],introduct:[3,6,9],ipv6:13,issu:[5,11,12],kei:[1,3,9],kubernet:[10,13],licens:[7,8,11],like:11,limit:2,linux:10,local:13,log:3,make:3,manag:[1,3,9],manual:3,mesh:2,mode:[3,10],mongodb:[2,10],netclient:[2,3,9,11],netmak:[0,2,7,9,11,13],network:[1,2,3,13],node:[1,2,9,13],nordnpn:11,note:10,offer:11,onli:10,oper:11,option:10,our:4,paid:11,pledg:4,pr:5,prereqisit:10,prerequisit:[3,9],privat:3,process:2,quick:[7,9],refer:[1,3,7,10],remov:3,request:11,respons:4,scope:4,server:[1,2,7,10,12],setup:[9,10],site:13,slim:10,sspl:11,stack:13,standard:4,start:[7,9],submit:5,support:[7,11],system:[2,3,10,11],systemd:2,technic:2,test:5,token:3,troubleshoot:[3,7,12],tutori:13,ui:[2,10,12],uninstal:[3,9],uninstral:9,unmanag:[],updat:3,us:[0,13],usag:1,user:1,variabl:[3,10],video:13,view:3,vpn:11,welcom:7,what:0,why:11,wireguard:2,without:10,work:0,written:13,x:11,you:11}}) \ No newline at end of file +Search.setIndex({docnames:["about","api","architecture","client-installation","conduct","contribute","external-clients","index","license","quick-start","server-installation","support","troubleshoot","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,sphinx:56},filenames:["about.rst","api.rst","architecture.rst","client-installation.rst","conduct.rst","contribute.rst","external-clients.rst","index.rst","license.rst","quick-start.rst","server-installation.rst","support.rst","troubleshoot.rst","usage.rst"],objects:{},objnames:{},objtypes:{},terms:{"100":1,"101":10,"127":10,"172":1,"200":1,"27017":10,"50051":[2,10],"50052":9,"50555":10,"534":10,"6400":1,"8081":[1,2,10],"abstract":2,"break":3,"case":[1,2,6,7,9,10,11,13],"default":[1,2,9,10],"function":[1,2,3,10,11],"import":[2,6,9,10],"long":[0,9,11],"new":[2,9,11],"public":[2,4,8],"return":2,"static":[2,10],"switch":10,"true":10,"try":11,"var":[1,10],"while":[2,10,11],AWS:[0,11],Being:4,DNS:[2,7,9,13],For:[2,3,6,9,10],IPs:2,Not:[2,11],That:2,The:[0,1,2,3,4,6,9,10,11],Then:[9,10],There:[0,1,9,10,11],These:[2,3,9,10,11],Use:7,Used:10,Useful:10,Using:[0,1,4,7,9],Will:10,With:[2,10,11],aa3bvg0rnitirxdx:1,abil:11,abl:[1,2,10,11],abou:9,about:[2,3,9,11],abov:[2,9,10,11],absent:3,abus:4,acceler:2,accept:[3,4],access:[0,2,6,7,9,10,11,13],accesskei:1,accomplish:11,account:[4,11],achiev:[1,2,11],across:[0,3],act:[2,4,6,10],action:[1,4],actual:2,adapt:4,add:[0,1,2,9,10],added:[2,3,9,10],adding:9,addit:[2,9,10,11],addnetwork:1,address:[2,4,9,10],addressrang:[1,9],adequ:10,adm:1,admin:[0,1,2,9,10],adopt:2,advanc:[1,4,9,10],after:[3,9,11],against:10,age:4,agent:[0,2,3,7,9,10],agent_backend:10,agentbackend:10,aggreg:2,alex:11,algo:11,align:4,all:[0,1,2,3,4,6,7,8,9,10,11],allow:[1,2,3,6,9,10,13],allowedorigin:10,alreadi:[2,3,9,10],also:[0,1,2,9,10,11],altern:[2,10],alwai:10,android:2,ani:[0,2,3,4,6,9,10],anoth:[2,11],anyth:2,anywai:11,aorijqalrik3ajflaqrdajhkr:1,apach:[2,10],api:[2,9,10],api_port:10,apihost:10,apiport:10,app:11,appear:[4,9],appli:4,applic:1,appoint:4,appropri:[2,4,6,10],approv:[1,9,11],apt:10,arbitrari:0,arch:2,architectur:[9,10],arm:3,arrai:2,artifact:8,asset:10,assum:[2,10],attack:4,attent:4,attribut:7,authent:[2,9],author:1,authsourc:10,autom:0,automat:[2,3,6,10,11],avail:[3,4,8,10,11],awai:2,await:2,back:[2,6,10],backend:10,backend_url:10,background:2,backup:11,balanc:11,ban:4,bare:2,base64:9,base:[2,3,9,10,11],bash:2,basi:[2,11],basic:7,bearer:1,becaus:[0,2,10],becom:[2,10,11],been:[2,3],befor:[2,10],begin:2,behavior:4,behind:2,being:2,believ:11,below:[1,2,9,10,13],best:[4,11],better:2,between:[0,2,10],bewar:3,beyond:[10,11],bin:10,binari:[2,9,10,11],bind:10,bit:[10,11,13],blank:10,block:10,bodi:4,both:[2,4,10,11],bottom:9,bring:11,brows:11,browser:9,bug:7,build:7,built:2,bunch:11,busi:11,button:10,call:[0,2,3,7,10],callabl:3,can:[0,1,2,3,6,8,9,10,11,13],cannot:[3,6],cap_add:10,car:11,carrier:2,caus:[2,10],caution:[],center:0,cento:2,certain:[2,11],certif:10,cgnat:2,cgroup:10,challeng:10,chang:[0,1,2,3,6,9,10,11],check:[1,2,9,10],checkin:1,choos:3,chose:11,chosen:[2,3],circumst:4,clarifi:4,clear:11,click:[2,9,10],client:[0,2,9,11],client_mod:10,clientmod:10,close:11,cloud:[0,13],cluster:[10,13],code:[2,3,8],com:[4,9,10,11],come:[2,7,10],comm:10,command:[2,3,9,10],comment:[4,10],commit:4,common:[2,7],commun:[2,4,7,10,11,13],compat:[6,7,9,11],compil:[2,3],complaint:4,complet:2,complex:2,complic:2,compon:[7,10],compos:[7,9],comput:[0,2],concept:7,concern:11,conf:10,confidenti:4,config:[1,2,6,11],configur:[0,1,2,6,7,9,11],conflict:[2,9,10],conflift:[],connect:[0,2,3,6,9,10,13],consequ:10,consid:[2,4],consider:2,consist:2,consol:9,construct:4,consum:[3,10],consumpt:2,contact:[4,7],contain:[2,9,10],container_nam:10,content:1,contrast:2,contribut:4,contributor:4,control:[2,9,10],copi:[9,10],core:[0,7,11],coredn:7,corefil:10,coreo:2,corpor:11,correct:4,cors_allowed_origin:10,could:[0,4],coven:4,cover:[7,10],cpu:2,creat:[0,1,2,3,4,7,10,13],createadmin:1,creategatewai:1,createus:10,creation:0,credenti:10,critic:4,cross:13,cryptocurr:0,curl:[9,10],current:[2,10],custom:[7,10],customiz:10,cycl:[1,2],daemon:2,data:[0,2,10],databas:2,date:1,dbadminanydatabas:10,dbu:10,debian:[2,10],decis:7,decod:[2,9],deem:4,defaultkeepal:9,defin:4,delet:[1,9],deletegatewai:1,depend:[2,3,10],depends_on:10,deploi:[2,7,10],deploy:[2,10],derogatori:4,deserv:11,design:[2,3,6,7,11],desktop:[2,3,6],detail:[1,2,3,4,7,9,10],determin:[4,10,11],dev:10,develop:2,devic:[0,2,3,7,9,11],diabl:10,diagram:2,differ:[0,2,4,9,10,11,13],directli:[0,1,2,10],directori:10,disabl:[2,4],disable_remote_ip_check:10,disableremoteipcheck:10,discord:11,discuss:10,displai:9,displaynam:1,distribut:2,distributionshav:2,dns:[2,3,10],dns_mode:10,dnsconfig:10,dnsmode:10,dnsstublisten:10,doc:[9,10,11],docker:[2,7,9],document:[0,2,3,9,10],doe:[2,6,7,10],doing:0,domain:10,don:[2,3,11,13],doubl:2,down:[0,9,11],download:[9,10],dual:7,dynam:[0,2,7,11],each:[0,2,3,9,10],easi:10,easier:[2,10,11],easiest:2,easili:[0,10],echo:9,econom:11,edit:4,effect:9,effici:2,either:[2,11],electron:4,elev:10,els:11,email:11,empathi:4,enabl:[2,9],encod:9,encompass:0,encount:[2,11],encrypt:[0,2,10],end:[2,10,11],endpoint:[1,2,6,10],enforc:7,enhanc:7,enough:9,ensur:[10,11],enter:9,entir:[2,9],entireti:2,env:[1,10],environ:[0,1,2,4,10],equal:10,equival:10,escal:10,especi:10,establish:6,etc:[9,10],eth0:1,ethnic:4,evalu:11,even:[0,2,10],event:4,eventu:11,everi:[2,3,9,11],everyon:4,everyth:2,evolv:2,examin:9,exampl:[2,4,7],except:10,execut:11,exist:[0,2,9,10],expand:11,expect:[4,7,10,11],experi:4,explain:[2,7,10],explicit:4,explicitli:10,expos:2,express:4,expressvpn:11,extens:2,extern:[2,3,9,11],face:4,fact:0,fail:9,fair:4,fairli:2,faith:4,fals:10,familiar:[0,2,11],faq:7,fast:[2,7,10],faster:[0,2],featur:[7,9],fedora:2,feiszli:11,few:[3,10,11],field:9,figur:13,file:[2,6,11],filenam:1,financi:11,find:[2,13],fine:0,firewal:10,firmli:11,first:[2,9,11,13],fit:13,flag:10,flat:0,flexibl:[0,2],flow:2,focu:11,focus:4,folder:2,follow:[4,9,10,11],fork:7,form:3,forward:6,foster:4,found:[0,2,8,9],free:4,freeli:8,from:[0,1,2,3,4,9,10,11,13],front:[2,10],full:[0,2],fulli:[0,2,10,11],fundament:10,further:4,futur:[2,9,10],gain:10,gatewai:[1,2,6,10,11,13],gender:4,gener:[1,2,6,10,11],generate_config_j:10,get:[1,7,9,10,13],github:[2,7,10,11],githubusercont:[9,10],give:[2,7,9,10],given:[0,2,9,10],goe:0,going:9,golang:2,good:[4,11,13],googl:10,gracefulli:4,grade:2,gravitl:[4,9,10,11],grpc:[2,9],grpc_port:10,grpcaddr:10,grpcaddrrang:10,grpcendpoint:10,grpchost:10,grpcifac:10,grpcport:10,grpcwg:10,guid:[0,2,9,10],guidelin:11,hack:11,hand:7,handl:0,harass:4,hard:11,harm:4,has:[0,2,3,10,11,13],hasadmin:1,have:[0,2,3,4,9,10,11,13],header:1,health:11,heart:3,heavi:2,heaviest:2,heavili:2,help:[1,2,7,10,11,13],here:[2,4,8,9,10,11,13],high:2,hold:[0,2,3],home:[0,2],hook:6,host:[2,3,9,10,11],host_ip:[9,10],hous:1,how:[2,3,7,10],howev:[1,2,3,9,10,11],html:10,http:[1,9,10,11],http_port:10,hub:[0,2,10],idea:11,ident:4,imag:10,imageri:4,immedi:11,impact:[2,11],inappropri:4,incid:4,includ:[2,4,6,7,10,11],inclus:4,incompat:2,incorrect:10,increas:[2,10],independ:6,individu:[4,10],industri:2,info:[2,4,10,11],inform:[2,3,4,9],ingress:[6,11],initi:11,insert:[9,10],instal:[0,2],instanc:[1,2,4,9,10],instead:[0,6,9,10],instruct:[9,10],insult:4,intact:3,intend:3,interact:[0,2],interest:[4,11],interfac:[1,10],internet:[0,2,11],intro:13,introduc:[2,11],introduct:7,invalid:9,investig:4,invis:2,iot:[0,2],iphon:2,ipsec:2,ipv6:[7,10],issu:[4,7,10],its:[0,2,3,4,6,9,10],itself:[2,3],join:[9,10],journalctl:10,json:1,just:[0,2,3,9,10,11],jwt:1,keep:[1,10],kei:[2,10],kernel:[0,2,10,11],keynam:1,keyrequir:10,keyupd:1,know:[10,11,13],known:2,kubernet:[0,7],lack:10,languag:4,laptop1:1,laptop:6,larg:2,larger:10,last:1,lastmodifi:1,latenc:2,later:[2,10],latest:[2,6,10],layer:0,layout:2,lead:11,leadership:4,learn:9,least:0,leav:9,left:10,less:2,let:[0,11,13],level:[2,4,10],light:10,lighter:2,lightweight:2,like:[0,2,3,9,10],likewis:10,limit:[7,10,11],line:2,link:[7,10],linux:[2,3,7,9,11],list:[0,2,10],listenport:1,littl:[2,11],load:[2,10,11],local:[2,3,7,9,10],localaddress:1,localhost:1,locat:[0,2,10],login:[9,10],look:11,lot:[2,11],lxc:10,mac:10,macaddress:1,machin:[0,2,3,6,9,10],made:[0,2],mai:[1,2,3,4,9,10,11],mail:4,main:[],mainfram:[],maintain:[4,11],make:[0,2,4,6,9,10,11],man:6,manag:[0,2,6,7,10,13],mandatori:10,mani:[0,2,10,11,13],manual:[2,9,11],map:10,master:[9,10],master_kei:10,masterkei:[1,10],match:[3,10],mean:[2,3,6,10,11],media:4,member:[4,13],memori:2,mesh:[0,6,11,13],meshclient:1,metal:2,method:[1,2,3,6,9],mgmt:1,middl:6,might:[0,2,10],mind:10,mint:2,minu:10,miss:2,mix:3,mode:[2,7,9],model:[0,2],modif:10,modifi:[1,2,3,9,10,11],monet:11,mongo:10,mongo_admin:10,mongo_host:10,mongo_initdb_root_password:10,mongo_initdb_root_usernam:10,mongo_opt:10,mongo_pass:10,mongo_port:10,mongoadmin:10,mongoconn:10,mongopass:10,mongovol:10,more:[0,1,2,7,9,10,11],most:[1,2,3,10,11],mostli:2,mount:10,move:11,much:[0,2],mullvad:11,mullvadvpn:11,multipl:[0,9,10],must:[1,2,3,9,10],mykei:[1,9],mynet:9,name:[1,9,10],nameserv:[2,3,10],nat:2,nation:4,navig:9,nebula:0,necessari:[3,4,9,10],need:[0,1,2,9,10,11],neighborhood:0,neither:2,net_admin:10,netclient:[0,6,7,10],netid:1,netmak:[1,3,6,8,10],network:[0,6,7,9,10,11],network_mod:10,next:9,nginx:[2,10],noclient:10,node:[7,10,11],nodn:10,non:[2,3,10],none:0,noonewillguessthi:1,nordvpn:11,note:[1,3,6,7],notifi:2,now:[0,9,10,11],number:[2,9,10,11],oblig:4,obtain:1,off:[2,10],offens:4,offic:[0,13],offici:[1,4,9],offlin:4,onc:9,one:[2,3,6,9,10],onli:[1,2,6,9,11],onlin:4,onto:10,open:[2,4,10,11],openvpn:2,oper:[2,3,10],opt:10,option:[2,7,11],order:[2,11],orient:4,origin:10,osi:11,other:[0,2,3,4,6,9,10,11],otherwis:[0,3,4],our:[7,10],out:[0,2,9,10,11,13],outlin:[2,10],output:9,outsid:7,over:[0,2,10],overlai:[0,7],overrid:10,overridden:[2,10],overview:[2,7,13],overwhelm:13,own:2,page:2,pai:11,pair:[2,10],pane:9,part:[2,3,10],partial:2,particip:4,particular:2,pass:[2,10],password:[1,9,10],path:[1,10,11],peer:[2,3,13],pend:[1,9],peopl:11,per:11,perform:[1,2,10],period:2,perman:4,permiss:[4,9],permit:9,persistenkeepal:9,person:4,perspect:[0,2],phone:[2,3,6,11],physic:4,pick:[2,9],pictur:2,pidof:9,ping:9,pivpn:11,place:10,plan:10,platform:[2,7],pleas:[3,9,11],pledg:7,point:[2,11],polici:4,polit:4,popul:10,port:[2,9,10],posit:4,possibl:[2,7,9],post:[1,2,4],practic:2,pre:[9,10],preced:2,prefer:10,prereqisit:7,prerequisit:[7,10],present:9,previou:2,primari:10,prior:10,privaci:11,privat:[2,4,7,9,10,11,13],privatekei:10,privileg:10,privkei:10,probabl:[0,11],problem:[10,11],proce:[],process:[7,9,10],product:10,profession:4,project:[1,4,7,11],proof:0,properli:3,properti:3,provid:[0,2,10],pubkei:10,publickei:[1,10],publish:[4,8],pull:[2,3,6],push:[3,6],put:1,pwd:10,quick:10,quickli:[7,9],race:[4,11],rang:[9,10],rangestr:1,rapidli:2,raspian:2,raw:[9,10],reach:[0,2,3,6],reachabl:[2,6,9,10],reactj:2,read:10,readwriteanydatabas:10,reallysecret:1,reason:[2,4,10,11],reccommend:10,recent:2,reciev:[1,2],recommend:[1,3,6,10],reconfigur:[2,3],reduc:2,refer:[2,9],regard:[2,4],regardless:4,regist:2,regular:11,reiter:2,reject:4,rel:2,relai:[2,6,10,11],releas:[2,10],reli:[0,2,3],relianc:2,religion:4,remot:[0,10],remov:[1,2,4,9,10],removenetwork:1,repeat:9,repercuss:4,replac:[2,10],report:[2,4],repositori:[2,8],repres:4,represent:4,request:[1,2,7,10],requir:[1,2,3,9,10],resolv:[2,3,10],resolvectl:[3,10],resourc:[6,7],respect:4,respons:[2,7],rest:10,rest_backend:10,restart:10,restbackend:10,restrict:[10,11],result:4,retriev:[0,1,2,3,9,11],review:4,rhel:2,right:[0,4,11],road:11,role:10,root:[9,10],rout:[0,2],router:2,run:[0,1,2,3,6,7,9,10,11],runnin:6,runtim:10,said:[2,11],same:[0,3,9,10],sampl:0,save:9,scenario:[9,10],scope:7,screen:9,script:[2,9,10],second:9,secret:[1,9],secretkei:10,section:[9,10],secur:[0,1,2,7,9],securebetween:[],sed:[9,10],see:[1,2,3,9,10,11],select:[9,13],self:11,send:[2,3,10],sens:[2,11],sensibl:[0,2,9],separ:[2,4,10,13],serv:[2,10],server:[0,3,6,8,9,11],server_api_host:10,server_grpc_host:10,server_grpc_wg_address:10,server_grpc_wg_address_rang:10,server_grpc_wg_interfac:10,server_grpc_wg_keyrequir:10,server_grpc_wg_port:10,server_grpc_wg_privkei:10,server_grpc_wg_pubkei:10,server_grpc_wireguard:10,server_host:10,server_http_host:10,servic:[2,3,6,10,11],set:[1,2,3,4,9,10,11,13],setup:[0,2,7],sever:[2,10],sexual:4,sfl:[9,10],share:10,ship:9,should:[0,1,2,3,6,7,9,10,11],show:[4,9,10],side:[8,10],sign:[2,9,10],signific:2,signigif:2,signup:2,similar:[0,9,10,11],simpl:[2,3,9,10],simplest:[2,3],simpli:[2,9],simultan:0,sinc:10,singl:[1,10,11],site:[0,7,10],situat:2,size:4,skynet:1,slim:9,slow:0,small:[2,11],smartgui:1,social:4,solut:2,solv:10,some:[1,2,10,11,13],someon:11,someth:[9,11],somewher:9,soon:[7,10],sort:[0,2],sourc:[2,3,7,8,11],space:4,special:[2,9,10],specif:[2,3,4],specifi:10,speed:[0,2],split:3,spoke:[0,2,10],sponsor:11,spread:0,sql:2,ssh:9,sspl:8,stabil:11,stack:7,stai:3,stake:0,standard:[2,7,9,10],start:[10,13],startup:[1,9,10],state:9,statement:7,statu:10,step:[2,3,9,10],still:[0,10,11],stock:11,stop:10,store:[2,10],string:9,structur:2,submit:[7,9],subnet:2,subspac:11,subspacecloud:11,substanti:[0,10],success:2,sudo:[9,10],support:[2,10],sure:[10,11],surfshark:11,suse:2,swagger:7,sys:10,sys_modul:10,system:[7,9],system_bus_socket:10,systemctl:10,systemd:[3,9,10,11],tab:9,tailscal:0,take:[0,1,2,4,9,10],talk:[0,2],team:[4,11],technic:[0,7,11],technolog:2,tell:[0,2,3],temporari:4,temporarili:4,term:11,terrain:11,test:[7,9,10],than:[2,11],thei:[0,2,4,10,11],them:[2,9,10,11],themselv:2,thhe:10,thi:[0,1,2,3,4,6,7,8,9,10,11],thing:[0,2,10,11],think:[11,13],those:[0,2,3,6,10],though:[10,11],thought:11,thousand:0,threaten:4,three:9,through:2,ticket:11,time:[1,2,3,9,11,13],timer:2,timestamp:2,token:9,tool:[0,3],top:2,topic:13,topolog:2,total:10,toward:4,traffic:[0,2,6,10],trailofbit:11,transact:2,treat:[2,3],tricki:2,troll:4,troubleshoot:[1,9],tunnel:[0,2],tunnelbear:11,turn:[2,10],tutori:7,two:[0,1,2,10],type:1,typic:[0,2,9],ubuntu:[2,10],udp:10,ultim:11,unabl:2,unaccept:4,uncom:10,uncordon:1,under:[8,9,10],underlai:[0,13],underli:10,understand:10,uninstal:7,uninstral:7,unix:[2,3,11],unless:10,unmanag:11,unmesh:11,unnecessari:11,unset:[9,10],unsupport:11,unten:11,until:[9,11],unwelcom:4,unzip:10,updat:[1,2,9,11],upon:2,url:10,usag:[7,10,13],use:[0,1,2,3,4,6,7,9,10,11,13],used:[1,2,6,9,10],useful:10,user:[2,3,9,10,11],useradminanydatabas:10,usernam:[1,9,10],uses:[0,1,2,6,9,10],using:[0,1,2,3,4,6,7,10,11,13],usr:10,util:3,valid:2,valu:[1,2,9,10],vari:10,variabl:2,variou:[3,7,10],vehicl:11,veri:[0,2,3,11],verifi:2,versa:11,version:[2,4,8,10],via:[1,2,4,6,10,11,13],vice:11,view:[9,11],viewpoint:4,vim:10,virtual:[0,3,6,7,11,13],visibl:9,vm3ow4thatogiwnsla3thsl3894th:9,volum:[9,10],vpc:[0,11],vpn:[2,13],wai:[10,11],want:[0,2,9,10,11],warn:10,web:[10,11],webserv:2,websit:2,week:11,weight:[2,10],welcom:[4,11],well:[2,3,7,9,11],wget:[9,10],what:[2,4,6,7],whatev:[3,10],when:[2,3,4,10],where:[2,6,7,9,10,13],wherev:0,whether:[0,10],which:[0,2,3,4,6,8,9,10,11],who:4,why:[2,3,7],wide:2,wider:2,wiki:4,window:[2,3,10,11],wiregard:10,wireguard:[0,3,6,7,9,10,11],wish:[6,10],within:[2,3,4],without:[1,2,4,7,9,11],won:11,work:[2,7,11],workstat:9,world:[0,2],wors:2,worth:2,would:[0,3,9,10,11],write:[2,10],www:10,x86:3,yaml:[1,10],yes:10,yml:[9,10],you:[0,1,2,3,6,7,9,10,13],your:[0,1,2,3,9,10,13],your_pass:1,your_password:1,your_secret_kei:1,zeroti:0,zip:10,zrb9vfhk8a:11},titles:["About","API Reference","Architecture","Client Installation","Code of Conduct","Contribute","External Clients","Welcome to the Netmaker Documentation","License","Quick Start","Server Installation","Support","Troubleshooting","Using Netmaker"],titleterms:{"case":0,Adding:3,DNS:[3,10],Use:0,Using:13,Will:11,about:[0,7],access:[1,3],agent:12,ani:11,annot:10,api:[1,7],architectur:[2,7],attribut:4,authent:1,basic:13,bug:11,build:5,call:1,cli:3,client:[3,6,7,10],code:[4,5,7],common:12,compat:[2,3,10],compon:2,compos:10,concept:2,conduct:[4,7],config:[3,10],configur:[3,10],contact:11,contribut:[5,7],core:2,coredn:[2,10,12],creat:9,curl:1,daemon:3,deploi:9,descript:10,disabl:10,docker:10,document:[1,7],doe:[0,11],dual:13,enabl:10,enforc:4,enhanc:5,exampl:1,extern:[6,7,13],faq:11,featur:[10,11],file:[1,3,10],fork:5,format:1,full:10,grpc:10,guid:7,how:[0,11],instal:[3,7,9,10,11],introduct:[3,6,9],ipv6:13,issu:[5,11,12],kei:[1,3,9],kubernet:[10,13],licens:[7,8,11],like:11,limit:2,linux:10,local:13,log:3,make:3,manag:[1,3,9],manual:3,mesh:2,mode:[3,10],mongodb:[2,10],netclient:[2,3,9,11],netmak:[0,2,7,9,11,13],network:[1,2,3,13],node:[1,2,9,13],nordnpn:11,note:10,offer:11,onli:10,oper:11,option:10,our:4,paid:11,pledg:4,prereqisit:10,prerequisit:[3,9],privat:3,process:2,quick:[7,9],refer:[1,3,7,10],remov:3,request:11,respons:4,scope:4,secur:10,server:[1,2,7,10,12],setup:[9,10],site:13,slim:10,sspl:11,stack:13,standard:4,start:[7,9],submit:5,support:[7,11],system:[2,3,10,11],systemd:2,technic:2,test:5,token:3,troubleshoot:[3,7,12],tutori:13,uninstal:[3,9],uninstral:9,updat:3,usag:1,user:1,variabl:[3,10],video:13,view:3,vpn:11,welcom:7,what:0,why:11,wireguard:2,without:10,work:0,written:13,you:11}}) \ No newline at end of file diff --git a/docs/_build/html/server-installation.html b/docs/_build/html/server-installation.html index eef44ed9..913fc278 100644 --- a/docs/_build/html/server-installation.html +++ b/docs/_build/html/server-installation.html @@ -47,9 +47,9 @@ Server Installation — Netmaker 0.3.5 documentation - - - + + + @@ -361,9 +361,9 @@
  • Docker Compose Install
  • - Unmanaged (External) Clients + External Clients + @@ -764,9 +778,9 @@
  • Docker Compose Install
  • - Unmanaged (External) Clients + External Clients + @@ -872,7 +886,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/troubleshoot.html b/docs/_build/html/troubleshoot.html index d2f008a1..cf02f81c 100644 --- a/docs/_build/html/troubleshoot.html +++ b/docs/_build/html/troubleshoot.html @@ -47,9 +47,9 @@ Troubleshooting — Netmaker 0.3.5 documentation - - - + + + @@ -403,7 +403,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -434,11 +441,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -809,7 +823,7 @@ Created using - Sphinx 4.0.2. + Sphinx 3.5.4. and Material for Sphinx diff --git a/docs/_build/html/usage.html b/docs/_build/html/usage.html index 8a642f5a..9dd09f43 100644 --- a/docs/_build/html/usage.html +++ b/docs/_build/html/usage.html @@ -47,9 +47,9 @@ Using Netmaker — Netmaker 0.3.5 documentation - - - + + + @@ -57,7 +57,7 @@ - + @@ -403,7 +403,14 @@
  • - System Compatibility + Introduction to Netclient + + +
  • +
  • + + + Modes and System Compatibility
  • @@ -434,11 +441,18 @@ Managing Netclient + +
  • - Unmanaged (External) Clients + External Clients + @@ -808,7 +822,7 @@