updating docs and script

This commit is contained in:
afeiszli
2021-10-28 12:56:05 -04:00
parent f7156551b2
commit f21bd10635
54 changed files with 3262 additions and 306 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
docs/_build/doctrees/oauth.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
# Sphinx build info version 1 # 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. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: c42328d03e8a69bc128d18c18d0c8114 config: 99bfa40b6c844b896e1a7ae8e49d7971
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

View File

@@ -104,7 +104,7 @@ If running in daemon mode, on a periodic basis (systemd timer), the netclient pe
The check in process is what allows Netmaker to create dynamic mesh networks. As nodes are added to, removed from, and modified on the network, other nodes are notified, and make appropriate changes. The check in process is what allows Netmaker to create dynamic mesh networks. As nodes are added to, removed from, and modified on the network, other nodes are notified, and make appropriate changes.
Datavase (sqlite, rqlite, postgres) Database (sqlite, rqlite, postgres)
------------------------------------- -------------------------------------
As of v0.8, Netmaker uses sqlite by default as a database. It can also use PostgreSQL, or rqlite, a distributed (RAFT consensus) databaseand. Netmaker interacts with this database to store and retrieve information about nodes, networks, and users. As of v0.8, Netmaker uses sqlite by default as a database. It can also use PostgreSQL, or rqlite, a distributed (RAFT consensus) databaseand. Netmaker interacts with this database to store and retrieve information about nodes, networks, and users.

View File

@@ -93,6 +93,17 @@ A detailed guide to installing the Netmaker server (API, DB, UI, DNS), and confi
server-installation server-installation
Oauth Configuration
--------------------
A simple guide to configuring OAuth for Netmaker.
.. toctree::
:maxdepth: 2
oauth
Client Installation Client Installation
-------------------- --------------------

63
docs/_build/html/_sources/oauth.rst.txt vendored Normal file
View File

@@ -0,0 +1,63 @@
===================
Integrating OAuth
====================
Introduction
==============
As of v0.8.5, Netmaker offers integration with the following OAuth providers:
- GitHub
- Google
- Microsoft Azure AD
By integrating with an OAuth provider, your Netmaker users can log in via the provider, rather than the default simple auth.
Configuring your provider
===========================
In order to use OAuth, configure your OAuth provider (GitHub, Google, Azure AD).
You must configure your provider to use the Netmaker Dashboard URI dashboard.<netmaker.base.domain> as the origin URL.
For example: `https://dashboard.netmaker.mydomain.com`
You must configure your provider to use the Netmaker API URI redirect route with the following format: https://api.<netmaker base domain>/api/oauth2/callback.
For example: `https://api.netmaker.mydomain.com/api/oauth2/callback`
General provider instructions can be found with the following links:
Instructions for GitHub: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#github-auth-provider
Instructions for Google: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#google-auth-provider
Instructions for Microsoft Azure AD: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#microsoft-azure-ad-provider
Configuring Netmaker
======================
After you have configured your OAuth provider, take note of the CLIENT_ID and CLIENT_SECRET.
Next, Configure Netmaker with the following environment variables. If any are left blank, OAuth will fail.
.. code-block::
AUTH_PROVIDER="<azure-ad|github|google>"
CLIENT_ID="<client id of your oauth provider>"
CLIENT_SECRET="<client secret of your oauth provider>"
SERVER_API_CONN_STRING="https://<your-netmaker-api-domain>"
FRONTEND_URL="https://<your-netmaker-dashboard-domain>"
After restarting your server, the Netmaker logs will indicate if the OAuth provider was successfully initialized.
Once successful, users can click the key symbol on the login page to sign-in with your configured OAuth provider.
Configuring User Permissions
===============================
All users logging in will have zero permissions on first sign-in. An admin must configure all user permissions.
Admins must navigate to the "Users" screen to configure permissions.
For each user, an admin must specify which networks that user has access to configure. Additionally, an Admin can elevate a user to Admin permissions.

View File

@@ -130,7 +130,7 @@ ul.search li a {
font-weight: bold; font-weight: bold;
} }
ul.search li p.context { ul.search li div.context {
color: #888; color: #888;
margin: 2px 0 0 30px; margin: 2px 0 0 30px;
text-align: left; text-align: left;
@@ -508,63 +508,6 @@ table.hlist td {
vertical-align: top; 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 ----------------------------------------------------- */ /* -- other body styles ----------------------------------------------------- */
@@ -691,6 +634,14 @@ dl.glossary dt {
font-size: 1.1em; font-size: 1.1em;
} }
.optional {
font-size: 1.3em;
}
.sig-paren {
font-size: larger;
}
.versionmodified { .versionmodified {
font-style: italic; font-style: italic;
} }
@@ -821,10 +772,6 @@ table.highlighttable td.linenos,
span.linenos, span.linenos,
div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */ div.doctest > div.highlight span.gp { /* gp: Generic.Prompt */
user-select: none; 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+ */
} }
div.code-block-caption span.caption-number { div.code-block-caption span.caption-number {
@@ -839,6 +786,16 @@ div.literal-block-wrapper {
margin: 1em 0; margin: 1em 0;
} }
code.descname {
background-color: transparent;
font-weight: bold;
font-size: 1.2em;
}
code.descclassname {
background-color: transparent;
}
code.xref, a code { code.xref, a code {
background-color: transparent; background-color: transparent;
font-weight: bold; font-weight: bold;

View File

@@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.8.4', VERSION: '0.8.5',
LANGUAGE: 'None', LANGUAGE: 'None',
COLLAPSE_INDEX: false, COLLAPSE_INDEX: false,
BUILDER: 'html', BUILDER: 'html',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,8 @@
pre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
.highlight .hll { background-color: #ffffcc } .highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; } .highlight { background: #f8f8f8; }
.highlight .c { color: #008800; font-style: italic } /* Comment */ .highlight .c { color: #008800; font-style: italic } /* Comment */

View File

@@ -509,7 +509,7 @@ var Search = {
var excerpt = ((start > 0) ? '...' : '') + var excerpt = ((start > 0) ? '...' : '') +
$.trim(text.substr(start, 240)) + $.trim(text.substr(start, 240)) +
((start + 240 - text.length) ? '...' : ''); ((start + 240 - text.length) ? '...' : '');
var rv = $('<p class="context"></p>').text(excerpt); var rv = $('<div class="context"></div>').text(excerpt);
$.each(hlwords, function() { $.each(hlwords, function() {
rv = rv.highlightText(this, 'highlighted'); rv = rv.highlightText(this, 'highlighted');
}); });

View File

@@ -416,3 +416,8 @@ div.rendered_html table {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
/* GH 93 */
dl.citation dt span.brackets {
margin-right: 0.3rem;
}

File diff suppressed because one or more lines are too long

View File

@@ -46,10 +46,10 @@
<title>About &#8212; Netmaker 0.8.4 documentation</title> <title>About &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -884,7 +884,7 @@ If youre familiar with AWS, its like a VPC but made up of arbitrary comput
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>API Reference &#8212; Netmaker 0.8.4 documentation</title> <title>API Reference &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -1005,7 +1005,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Architecture &#8212; Netmaker 0.8.4 documentation</title> <title>Architecture &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -268,7 +268,7 @@
</li> </li>
<li class="md-nav__item"><a href="#netclient" class="md-nav__link">Netclient</a> <li class="md-nav__item"><a href="#netclient" class="md-nav__link">Netclient</a>
</li> </li>
<li class="md-nav__item"><a href="#datavase-sqlite-rqlite-postgres" class="md-nav__link">Datavase (sqlite, rqlite, postgres)</a> <li class="md-nav__item"><a href="#database-sqlite-rqlite-postgres" class="md-nav__link">Database (sqlite, rqlite, postgres)</a>
</li> </li>
<li class="md-nav__item"><a href="#netmaker-ui" class="md-nav__link">Netmaker UI</a> <li class="md-nav__item"><a href="#netmaker-ui" class="md-nav__link">Netmaker UI</a>
</li> </li>
@@ -831,7 +831,7 @@
</li> </li>
<li class="md-nav__item"><a href="#netclient" class="md-nav__link">Netclient</a> <li class="md-nav__item"><a href="#netclient" class="md-nav__link">Netclient</a>
</li> </li>
<li class="md-nav__item"><a href="#datavase-sqlite-rqlite-postgres" class="md-nav__link">Datavase (sqlite, rqlite, postgres)</a> <li class="md-nav__item"><a href="#database-sqlite-rqlite-postgres" class="md-nav__link">Database (sqlite, rqlite, postgres)</a>
</li> </li>
<li class="md-nav__item"><a href="#netmaker-ui" class="md-nav__link">Netmaker UI</a> <li class="md-nav__item"><a href="#netmaker-ui" class="md-nav__link">Netmaker UI</a>
</li> </li>
@@ -919,7 +919,7 @@
<p>The check in process is what allows Netmaker to create dynamic mesh networks. As nodes are added to, removed from, and modified on the network, other nodes are notified, and make appropriate changes.</p> <p>The check in process is what allows Netmaker to create dynamic mesh networks. As nodes are added to, removed from, and modified on the network, other nodes are notified, and make appropriate changes.</p>
<h3 id="datavase-sqlite-rqlite-postgres">Datavase (sqlite, rqlite, postgres)<a class="headerlink" href="#datavase-sqlite-rqlite-postgres" title="Permalink to this headline"></a></h3> <h3 id="database-sqlite-rqlite-postgres">Database (sqlite, rqlite, postgres)<a class="headerlink" href="#database-sqlite-rqlite-postgres" title="Permalink to this headline"></a></h3>
<p>As of v0.8, Netmaker uses sqlite by default as a database. It can also use PostgreSQL, or rqlite, a distributed (RAFT consensus) databaseand. Netmaker interacts with this database to store and retrieve information about nodes, networks, and users.</p> <p>As of v0.8, Netmaker uses sqlite by default as a database. It can also use PostgreSQL, or rqlite, a distributed (RAFT consensus) databaseand. Netmaker interacts with this database to store and retrieve information about nodes, networks, and users.</p>
<p>Additional database support (besides sqlite and rqlite) is very easy to implement for special use cases. Netmaker uses simple key value lookups to run the networks, and the database was designed to be extensible, so support for key-value stores and other SQL-based databases can be achieved by changing a single file.</p> <p>Additional database support (besides sqlite and rqlite) is very easy to implement for special use cases. Netmaker uses simple key value lookups to run the networks, and the database was designed to be extensible, so support for key-value stores and other SQL-based databases can be achieved by changing a single file.</p>
@@ -1046,7 +1046,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Client Installation &#8212; Netmaker 0.8.4 documentation</title> <title>Client Installation &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -964,15 +964,15 @@
<span class="l l-Scalar l-Scalar-Plain">--key value, -k value Access Key for signing up machine with Netmaker server during initial 'add'. [$NETCLIENT_ACCESSKEY]</span> <span class="l l-Scalar l-Scalar-Plain">--key value, -k value Access Key for signing up machine with Netmaker server during initial 'add'. [$NETCLIENT_ACCESSKEY]</span>
<span class="l l-Scalar l-Scalar-Plain">--token value, -t value Access Token for signing up machine with Netmaker server during initial 'add'. [$NETCLIENT_ACCESSTOKEN]</span> <span class="l l-Scalar l-Scalar-Plain">--token value, -t value Access Token for signing up machine with Netmaker server during initial 'add'. [$NETCLIENT_ACCESSTOKEN]</span>
<span class="l l-Scalar l-Scalar-Plain">--localrange value Local Range if network is local, for instance 192.168.1.0/24. [$NETCLIENT_LOCALRANGE]</span> <span class="l l-Scalar l-Scalar-Plain">--localrange value Local Range if network is local, for instance 192.168.1.0/24. [$NETCLIENT_LOCALRANGE]</span>
<span class="nt">--dns value Sets private dns if 'on'. Ignores if 'off'. Will retrieve from network if unset. (default</span><span class="p">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_DNS]</span> <span class="l l-Scalar l-Scalar-Plain">--dns value Sets private dns if 'on'. Ignores if 'off'. Will retrieve from network if unset. (default</span><span class="p p-Indicator">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_DNS]</span>
<span class="l l-Scalar l-Scalar-Plain">--islocal value Sets endpoint to local address if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_IS_LOCAL]</span> <span class="l l-Scalar l-Scalar-Plain">--islocal value Sets endpoint to local address if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_IS_LOCAL]</span>
<span class="l l-Scalar l-Scalar-Plain">--isdualstack value Sets ipv6 address if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_IS_DUALSTACK]</span> <span class="l l-Scalar l-Scalar-Plain">--isdualstack value Sets ipv6 address if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_IS_DUALSTACK]</span>
<span class="l l-Scalar l-Scalar-Plain">--udpholepunch value Turns on udp holepunching if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_UDP_HOLEPUNCH]</span> <span class="l l-Scalar l-Scalar-Plain">--udpholepunch value Turns on udp holepunching if 'yes'. Ignores if 'no'. Will retrieve from network if unset. [$NETCLIENT_UDP_HOLEPUNCH]</span>
<span class="nt">--ipforwarding value Sets ip forwarding on if 'on'. Ignores if 'off'. On by default. (default</span><span class="p">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_IPFORWARDING]</span> <span class="l l-Scalar l-Scalar-Plain">--ipforwarding value Sets ip forwarding on if 'on'. Ignores if 'off'. On by default. (default</span><span class="p p-Indicator">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_IPFORWARDING]</span>
<span class="l l-Scalar l-Scalar-Plain">--postup value Sets PostUp command for WireGuard. [$NETCLIENT_POSTUP]</span> <span class="l l-Scalar l-Scalar-Plain">--postup value Sets PostUp command for WireGuard. [$NETCLIENT_POSTUP]</span>
<span class="l l-Scalar l-Scalar-Plain">--postdown value Sets PostDown command for WireGuard. [$NETCLIENT_POSTDOWN]</span> <span class="l l-Scalar l-Scalar-Plain">--postdown value Sets PostDown command for WireGuard. [$NETCLIENT_POSTDOWN]</span>
<span class="nt">--daemon value Installs daemon if 'on'. Ignores if 'off'. On by default. (default</span><span class="p">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_DAEMON]</span> <span class="l l-Scalar l-Scalar-Plain">--daemon value Installs daemon if 'on'. Ignores if 'off'. On by default. (default</span><span class="p p-Indicator">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_DAEMON]</span>
<span class="nt">--roaming value Checks for IP changes if 'on'. Ignores if 'off'. On by default. (default</span><span class="p">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_ROAMING]</span> <span class="l l-Scalar l-Scalar-Plain">--roaming value Checks for IP changes if 'on'. Ignores if 'off'. On by default. (default</span><span class="p p-Indicator">:</span> <span class="s">"on"</span><span class="l l-Scalar l-Scalar-Plain">) [$NETCLIENT_ROAMING]</span>
<span class="l l-Scalar l-Scalar-Plain">--help, -h show help (default</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">false)</span> <span class="l l-Scalar l-Scalar-Plain">--help, -h show help (default</span><span class="p p-Indicator">:</span> <span class="l l-Scalar l-Scalar-Plain">false)</span>
</pre></div> </pre></div>
</div> </div>
@@ -1109,7 +1109,7 @@ If a key is provided (-k), then a token is unnecessary, but grpc, server, ports,
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Code of Conduct &#8212; Netmaker 0.8.4 documentation</title> <title>Code of Conduct &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -927,7 +927,7 @@ available <a class="reference external" href="https://contributor-covenant.org/v
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>External Clients &#8212; Netmaker 0.8.4 documentation</title> <title>External Clients &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -485,6 +485,34 @@
</li></ul> </li></ul>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@@ -903,7 +931,7 @@ If you do not want DNS on your ext client conf files, simply leave it blank.</p>
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Index &#8212; Netmaker 0.8.4 documentation</title> <title>Index &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -79,7 +79,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -101,7 +101,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -165,7 +165,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -177,13 +177,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -483,6 +483,34 @@
</li></ul> </li></ul>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@@ -795,7 +823,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Getting Started &#8212; Netmaker 0.8.4 documentation</title> <title>Getting Started &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -940,7 +940,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Welcome to the Netmaker Documentation &#8212; Netmaker 0.8.4 documentation</title> <title>Welcome to the Netmaker Documentation &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -80,7 +80,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="#" title="Netmaker 0.8.4 documentation" <a href="#" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -102,7 +102,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -166,7 +166,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="#" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="#" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -178,13 +178,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="#" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="#" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="#" <a href="#"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -484,6 +484,34 @@
</li></ul> </li></ul>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@@ -772,6 +800,8 @@
</li> </li>
<li class="md-nav__item"><a href="#server-installation" class="md-nav__link">Server Installation</a> <li class="md-nav__item"><a href="#server-installation" class="md-nav__link">Server Installation</a>
</li> </li>
<li class="md-nav__item"><a href="#oauth-configuration" class="md-nav__link">Oauth Configuration</a>
</li>
<li class="md-nav__item"><a href="#client-installation" class="md-nav__link">Client Installation</a> <li class="md-nav__item"><a href="#client-installation" class="md-nav__link">Client Installation</a>
</li> </li>
<li class="md-nav__item"><a href="#external-clients" class="md-nav__link">External Clients</a> <li class="md-nav__item"><a href="#external-clients" class="md-nav__link">External Clients</a>
@@ -903,6 +933,18 @@
</div> </div>
<h2 id="oauth-configuration">Oauth Configuration<a class="headerlink" href="#oauth-configuration" title="Permalink to this headline"></a></h2>
<p>A simple guide to configuring OAuth for Netmaker.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="oauth.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="oauth.html#configuring-your-provider">Configuring your provider</a></li>
<li class="toctree-l1"><a class="reference internal" href="oauth.html#configuring-netmaker">Configuring Netmaker</a></li>
<li class="toctree-l1"><a class="reference internal" href="oauth.html#configuring-user-permissions">Configuring User Permissions</a></li>
</ul>
</div>
<h2 id="client-installation">Client Installation<a class="headerlink" href="#client-installation" title="Permalink to this headline"></a></h2> <h2 id="client-installation">Client Installation<a class="headerlink" href="#client-installation" title="Permalink to this headline"></a></h2>
<p>A detailed guide to installing the Netmaker agent (netclient) on devices and configuration options.</p> <p>A detailed guide to installing the Netmaker agent (netclient) on devices and configuration options.</p>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
@@ -1048,7 +1090,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Install &#8212; Netmaker 0.8.4 documentation</title> <title>Install &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -835,7 +835,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>License &#8212; Netmaker 0.8.4 documentation</title> <title>License &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -80,7 +80,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -102,7 +102,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -166,7 +166,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -178,13 +178,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -816,7 +816,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

926
docs/_build/html/oauth.html vendored Normal file
View File

@@ -0,0 +1,926 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="lang:clipboard.copy" content="Copy to clipboard">
<meta name="lang:clipboard.copied" content="Copied to clipboard">
<meta name="lang:search.language" content="en">
<meta name="lang:search.pipeline.stopwords" content="True">
<meta name="lang:search.pipeline.trimmer" content="True">
<meta name="lang:search.result.none" content="No matching documents">
<meta name="lang:search.result.one" content="1 matching document">
<meta name="lang:search.result.other" content="# matching documents">
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link href="https://fonts.gstatic.com/" rel="preconnect" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,500,700|Roboto:300,400,400i,700&display=fallback" rel="stylesheet">
<style>
body,
input {
font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif
}
code,
kbd,
pre {
font-family: "Roboto Mono", "Courier New", Courier, monospace
}
</style>
<link rel="stylesheet" href="_static/stylesheets/application.css"/>
<link rel="stylesheet" href="_static/stylesheets/application-palette.css"/>
<link rel="stylesheet" href="_static/stylesheets/application-fixes.css"/>
<link rel="stylesheet" href="_static/fonts/material-icons.css"/>
<meta name="theme-color" content="#3f51b5">
<script src="_static/javascripts/modernizr.js"></script>
<title>Introduction &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/material.css" type="text/css" />
<script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script>
<link rel="author" title="About these documents" href="about.html" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Client Installation" href="client-installation.html" />
<link rel="prev" title="Advanced Server Installation" href="server-installation.html" />
</head>
<body dir=ltr
data-md-color-primary=indigo data-md-color-accent=light-blue>
<svg class="md-svg">
<defs data-children-count="0">
<svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="__github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
</defs>
</svg>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search">
<label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
<a href="#oauth" tabindex="1" class="md-skip"> Skip to content </a>
<header class="md-header" data-md-component="header">
<nav class="md-header-nav md-grid">
<div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i>
</a>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
</div>
<div class="md-flex__cell md-flex__cell--stretch">
<div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
<span class="md-header-nav__topic">Netmaker Docs</span>
<span class="md-header-nav__topic"> Introduction </span>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active">
<label class="md-icon md-search__icon" for="__search"></label>
<button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
&#xE5CD;
</button>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="result">
<div class="md-search-result__meta">
Type to start searching
</div>
<ol class="md-search-result__list"></ol>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="md-flex__cell md-flex__cell--shrink">
<div class="md-header-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
Netmaker
</div>
</a>
</div>
</div>
<script src="_static/javascripts/version_dropdown.js"></script>
<script>
var json_loc = ""versions.json"",
target_loc = "../",
text = "Versions";
$( document ).ready( add_version_dropdown(json_loc, target_loc, text));
</script>
</div>
</nav>
</header>
<div class="md-container">
<nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul>
</div>
</nav>
<main class="md-main">
<div class="md-main__inner md-grid" data-md-component="container">
<div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i>
</a>
<a href="index.html"
title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label>
<div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
<div class="md-source__icon">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24" width="28" height="28">
<use xlink:href="#__github" width="24" height="24"></use>
</svg>
</div>
<div class="md-source__repository">
Netmaker
</div>
</a>
</div>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="about.html" class="md-nav__link">About</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="about.html#what-is-netmaker" class="md-nav__link">What is Netmaker?</a>
</li>
<li class="md-nav__item">
<a href="about.html#how-does-netmaker-work" class="md-nav__link">How Does Netmaker Work?</a>
</li>
<li class="md-nav__item">
<a href="about.html#use-cases-for-netmaker" class="md-nav__link">Use Cases for Netmaker</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="architecture.html" class="md-nav__link">Architecture</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="architecture.html#core-concepts" class="md-nav__link">Core Concepts</a>
</li>
<li class="md-nav__item">
<a href="architecture.html#components" class="md-nav__link">Components</a>
</li>
<li class="md-nav__item">
<a href="architecture.html#technical-process" class="md-nav__link">Technical Process</a>
</li>
<li class="md-nav__item">
<a href="architecture.html#compatible-systems-for-netclient" class="md-nav__link">Compatible Systems for Netclient</a>
</li>
<li class="md-nav__item">
<a href="architecture.html#limitations" class="md-nav__link">Limitations</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="install.html" class="md-nav__link">Install</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html" class="md-nav__link">Quick Install</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="quick-start.html#introduction" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html#prerequisites" class="md-nav__link">0. Prerequisites</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html#prepare-dns" class="md-nav__link">1. Prepare DNS</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html#install-dependencies" class="md-nav__link">2. Install Dependencies</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html#open-firewall" class="md-nav__link">3. Open Firewall</a>
</li>
<li class="md-nav__item">
<a href="quick-start.html#install-netmaker" class="md-nav__link">4. Install Netmaker</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="getting-started.html" class="md-nav__link">Getting Started</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="getting-started.html#setup" class="md-nav__link">Setup</a>
</li>
<li class="md-nav__item">
<a href="getting-started.html#deploy-nodes" class="md-nav__link">Deploy Nodes</a>
</li>
<li class="md-nav__item">
<a href="getting-started.html#manage-nodes" class="md-nav__link">Manage Nodes</a>
</li>
<li class="md-nav__item">
<a href="getting-started.html#uninstalling-the-netclient" class="md-nav__link">Uninstalling the netclient</a>
</li>
<li class="md-nav__item">
<a href="getting-started.html#uninstalling-netmaker" class="md-nav__link">Uninstalling Netmaker</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="quick-start-nginx.html" class="md-nav__link">Install with Nginx (depreciated)</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="quick-start-nginx.html#introduction" class="md-nav__link">0. Introduction</a>
</li>
<li class="md-nav__item">
<a href="quick-start-nginx.html#prerequisites" class="md-nav__link">1. Prerequisites</a>
</li>
<li class="md-nav__item">
<a href="quick-start-nginx.html#install-dependencies" class="md-nav__link">2. Install Dependencies</a>
</li>
<li class="md-nav__item">
<a href="quick-start-nginx.html#prepare-vm" class="md-nav__link">3. Prepare VM</a>
</li>
<li class="md-nav__item">
<a href="quick-start-nginx.html#install-netmaker" class="md-nav__link">4. Install Netmaker</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="server-installation.html" class="md-nav__link">Advanced Server Installation</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="server-installation.html#system-compatibility" class="md-nav__link">System Compatibility</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#server-configuration-reference" class="md-nav__link">Server Configuration Reference</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#dns-mode-setup" class="md-nav__link">DNS Mode Setup</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#docker-compose-install" class="md-nav__link">Docker Compose Install</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#linux-install-without-docker" class="md-nav__link">Linux Install without Docker</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#kubernetes-install" class="md-nav__link">Kubernetes Install</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#nginx-reverse-proxy-setup-with-https" class="md-nav__link">Nginx Reverse Proxy Setup with https</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#highly-available-installation-kubernetes" class="md-nav__link">Highly Available Installation (Kubernetes)</a>
</li>
<li class="md-nav__item">
<a href="server-installation.html#highly-available-installation-vms-bare-metal" class="md-nav__link">Highly Available Installation (VMs/Bare Metal)</a>
</li></ul>
</li>
<li class="md-nav__item">
<input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc"> Introduction </label>
<a href="#" class="md-nav__link md-nav__link--active">Introduction</a>
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Contents</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item"><a href="#oauth--page-root" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item"><a href="#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item"><a href="#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item"><a href="#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item">
<a href="#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item">
<a href="#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html" class="md-nav__link">Client Installation</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="client-installation.html#introduction-to-netclient" class="md-nav__link">Introduction to Netclient</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#notes-on-windows" class="md-nav__link">Notes on Windows</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#modes-and-system-compatibility" class="md-nav__link">Modes and System Compatibility</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#prerequisites" class="md-nav__link">Prerequisites</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#configuration" class="md-nav__link">Configuration</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#installation" class="md-nav__link">Installation</a>
</li>
<li class="md-nav__item">
<a href="client-installation.html#managing-netclient" class="md-nav__link">Managing Netclient</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="external-clients.html" class="md-nav__link">External Clients</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="external-clients.html#introduction" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="external-clients.html#configuring-an-ingress-gateway" class="md-nav__link">Configuring an Ingress Gateway</a>
</li>
<li class="md-nav__item">
<a href="external-clients.html#adding-clients-to-a-gateway" class="md-nav__link">Adding Clients to a Gateway</a>
</li>
<li class="md-nav__item">
<a href="external-clients.html#configuring-dns-for-ext-clients-optional" class="md-nav__link">Configuring DNS for Ext Clients (OPTIONAL)</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="usage.html" class="md-nav__link">Using Netmaker</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="usage.html#external-tutorials" class="md-nav__link">External Tutorials</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="api.html" class="md-nav__link">API Reference</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="api.html#api-usage" class="md-nav__link">API Usage</a>
</li>
<li class="md-nav__item">
<a href="api.html#authentication" class="md-nav__link">Authentication</a>
</li>
<li class="md-nav__item">
<a href="api.html#format-of-calls-for-curl" class="md-nav__link">Format of Calls for Curl</a>
</li>
<li class="md-nav__item">
<a href="api.html#api-documentation" class="md-nav__link">API Documentation</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="troubleshoot.html" class="md-nav__link">Troubleshooting</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="troubleshoot.html#common-issues" class="md-nav__link">Common Issues</a>
</li>
<li class="md-nav__item">
<a href="troubleshoot.html#server" class="md-nav__link">Server</a>
</li>
<li class="md-nav__item">
<a href="troubleshoot.html#ui" class="md-nav__link">UI</a>
</li>
<li class="md-nav__item">
<a href="troubleshoot.html#netclient" class="md-nav__link">Netclient</a>
</li>
<li class="md-nav__item">
<a href="troubleshoot.html#coredns" class="md-nav__link">CoreDNS</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="support.html" class="md-nav__link">Support</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="support.html#faq" class="md-nav__link">FAQ</a>
</li>
<li class="md-nav__item">
<a href="support.html#contact" class="md-nav__link">Contact</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="conduct.html" class="md-nav__link">Code of Conduct</a>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="conduct.html#our-pledge" class="md-nav__link">Our Pledge</a>
</li>
<li class="md-nav__item">
<a href="conduct.html#our-standards" class="md-nav__link">Our Standards</a>
</li>
<li class="md-nav__item">
<a href="conduct.html#our-responsibilities" class="md-nav__link">Our Responsibilities</a>
</li>
<li class="md-nav__item">
<a href="conduct.html#scope" class="md-nav__link">Scope</a>
</li>
<li class="md-nav__item">
<a href="conduct.html#enforcement" class="md-nav__link">Enforcement</a>
</li>
<li class="md-nav__item">
<a href="conduct.html#attribution" class="md-nav__link">Attribution</a>
</li></ul>
</li>
<li class="md-nav__item">
<a href="license.html" class="md-nav__link">License</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">Contents</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item"><a href="#oauth--page-root" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item"><a href="#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item"><a href="#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item"><a href="#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content">
<article class="md-content__inner md-typeset" role="main">
<h1 id="oauth--page-root">Introduction<a class="headerlink" href="#oauth--page-root" title="Permalink to this headline"></a></h1>
<p>As of v0.8.5, Netmaker offers integration with the following OAuth providers:</p>
<ul class="simple">
<li><p>GitHub</p></li>
<li><p>Google</p></li>
<li><p>Microsoft Azure AD</p></li>
</ul>
<p>By integrating with an OAuth provider, your Netmaker users can log in via the provider, rather than the default simple auth.</p>
<h1 id="configuring-your-provider">Configuring your provider<a class="headerlink" href="#configuring-your-provider" title="Permalink to this headline"></a></h1>
<p>In order to use OAuth, configure your OAuth provider (GitHub, Google, Azure AD).</p>
<p>You must configure your provider to use the Netmaker Dashboard URI dashboard.&lt;netmaker.base.domain&gt; as the origin URL.</p>
<p>For example: <cite>https://dashboard.netmaker.mydomain.com</cite></p>
<p>You must configure your provider to use the Netmaker API URI redirect route with the following format: <a class="reference external" href="https://api">https://api</a>.&lt;netmaker base domain&gt;/api/oauth2/callback.</p>
<p>For example: <cite>https://api.netmaker.mydomain.com/api/oauth2/callback</cite></p>
<p>General provider instructions can be found with the following links:</p>
<p>Instructions for GitHub: <a class="reference external" href="https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#github-auth-provider">https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#github-auth-provider</a>
Instructions for Google: <a class="reference external" href="https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#google-auth-provider">https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#google-auth-provider</a>
Instructions for Microsoft Azure AD: <a class="reference external" href="https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#microsoft-azure-ad-provider">https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#microsoft-azure-ad-provider</a></p>
<h1 id="configuring-netmaker">Configuring Netmaker<a class="headerlink" href="#configuring-netmaker" title="Permalink to this headline"></a></h1>
<p>After you have configured your OAuth provider, take note of the CLIENT_ID and CLIENT_SECRET.</p>
<p>Next, Configure Netmaker with the following environment variables. If any are left blank, OAuth will fail.</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">AUTH_PROVIDER</span><span class="o">=</span><span class="s2">"&lt;azure-ad|github|google&gt;"</span>
<span class="n">CLIENT_ID</span><span class="o">=</span><span class="s2">"&lt;client id of your oauth provider&gt;"</span>
<span class="n">CLIENT_SECRET</span><span class="o">=</span><span class="s2">"&lt;client secret of your oauth provider&gt;"</span>
<span class="n">SERVER_API_CONN_STRING</span><span class="o">=</span><span class="s2">"https://&lt;your-netmaker-api-domain&gt;"</span>
<span class="n">FRONTEND_URL</span><span class="o">=</span><span class="s2">"https://&lt;your-netmaker-dashboard-domain&gt;"</span>
</pre></div>
</div>
<p>After restarting your server, the Netmaker logs will indicate if the OAuth provider was successfully initialized.</p>
<p>Once successful, users can click the key symbol on the login page to sign-in with your configured OAuth provider.</p>
<h1 id="configuring-user-permissions">Configuring User Permissions<a class="headerlink" href="#configuring-user-permissions" title="Permalink to this headline"></a></h1>
<p>All users logging in will have zero permissions on first sign-in. An admin must configure all user permissions.</p>
<p>Admins must navigate to the “Users” screen to configure permissions.</p>
<p>For each user, an admin must specify which networks that user has access to configure. Additionally, an Admin can elevate a user to Admin permissions.</p>
</article>
</div>
</div>
</main>
</div>
<footer class="md-footer">
<div class="md-footer-nav">
<nav class="md-footer-nav__inner md-grid">
<a href="server-installation.html" title="Advanced Server Installation"
class="md-flex md-footer-nav__link md-footer-nav__link--prev"
rel="prev">
<div class="md-flex__cell md-flex__cell--shrink">
<i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
</div>
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
<span class="md-flex__ellipsis">
<span
class="md-footer-nav__direction"> Previous </span> Advanced Server Installation </span>
</div>
</a>
<a href="client-installation.html" title="Client Installation"
class="md-flex md-footer-nav__link md-footer-nav__link--next"
rel="next">
<div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"><span
class="md-flex__ellipsis"> <span
class="md-footer-nav__direction"> Next </span> Client Installation </span>
</div>
<div class="md-flex__cell md-flex__cell--shrink"><i
class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
</div>
</a>
</nav>
</div>
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-footer-copyright">
<div class="md-footer-copyright__highlight">
&#169; Copyright 2021, Alex Feiszli.
</div>
Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and
<a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a>
</div>
</div>
</div>
</footer>
<script src="_static/javascripts/application.js"></script>
<script>app.initialize({version: "1.0.4", url: {base: ".."}})</script>
</body>
</html>

Binary file not shown.

View File

@@ -46,10 +46,10 @@
<title>Install with Nginx (depreciated) &#8212; Netmaker 0.8.4 documentation</title> <title>Install with Nginx (depreciated) &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -1049,7 +1049,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Quick Install &#8212; Netmaker 0.8.4 documentation</title> <title>Quick Install &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -988,7 +988,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,11 +46,11 @@
<title>Search &#8212; Netmaker 0.8.4 documentation</title> <title>Search &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -85,7 +85,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -107,7 +107,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="#" method="GET" name="search"> <form class="md-search__form" action="#" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -171,7 +171,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -183,13 +183,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -489,6 +489,34 @@
</li></ul> </li></ul>
</li>
<li class="md-nav__item">
<a href="oauth.html" class="md-nav__link">Introduction</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-your-provider" class="md-nav__link">Configuring your provider</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-netmaker" class="md-nav__link">Configuring Netmaker</a>
</li>
<li class="md-nav__item">
<a href="oauth.html#configuring-user-permissions" class="md-nav__link">Configuring User Permissions</a>
</li> </li>
<li class="md-nav__item"> <li class="md-nav__item">
@@ -806,7 +834,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

File diff suppressed because one or more lines are too long

View File

@@ -46,10 +46,10 @@
<title>Advanced Server Installation &#8212; Netmaker 0.8.4 documentation</title> <title>Advanced Server Installation &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -1059,19 +1059,12 @@
<span class="nt">container_name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">netmaker</span> <span class="nt">container_name</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">netmaker</span>
<span class="nt">depends_on</span><span class="p">:</span> <span class="nt">depends_on</span><span class="p">:</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">rqlite</span> <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">rqlite</span>
<span class="nt">image</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">gravitl/netmaker:v0.7</span> <span class="nt">image</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">gravitl/netmaker:v0.8.4</span>
<span class="nt">volumes</span><span class="p">:</span> <span class="c1"># Volume mounts necessary for CLIENT_MODE to control netclient, wireguard, and networking on host (except dnsconfig, which is where dns config files are stored for use by CoreDNS)</span> <span class="nt">volumes</span><span class="p">:</span> <span class="c1"># Volume mounts necessary for CLIENT_MODE to control wireguard networking on host (except dnsconfig, which is where dns config files are stored for use by CoreDNS)</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">./:/local</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/etc/netclient:/etc/netclient</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">dnsconfig:/root/config/dnsconfig</span> <span class="c1"># Netmaker writes Corefile to this location, which gets mounted by CoreDNS for DNS configuration.</span> <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">dnsconfig:/root/config/dnsconfig</span> <span class="c1"># Netmaker writes Corefile to this location, which gets mounted by CoreDNS for DNS configuration.</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/usr/bin/wg:/usr/bin/wg</span> <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/usr/bin/wg:/usr/bin/wg</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/run/systemd/system:/run/systemd/system</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/etc/systemd/system:/etc/systemd/system</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">/sys/fs/cgroup:/sys/fs/cgroup</span>
<span class="nt">cap_add</span><span class="p">:</span> <span class="c1"># Necessary for CLIENT_MODE. Should be removed if turned off. </span> <span class="nt">cap_add</span><span class="p">:</span> <span class="c1"># Necessary for CLIENT_MODE. Should be removed if turned off. </span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span> <span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">NET_ADMIN</span>
<span class="p p-Indicator">-</span> <span class="l l-Scalar l-Scalar-Plain">SYS_MODULE</span>
<span class="nt">restart</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">always</span> <span class="nt">restart</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">always</span>
<span class="nt">network_mode</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">host</span> <span class="c1"># Necessary for CLIENT_MODE. Should be removed if turned off, but then need to add port mappings</span> <span class="nt">network_mode</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">host</span> <span class="c1"># Necessary for CLIENT_MODE. Should be removed if turned off, but then need to add port mappings</span>
<span class="nt">environment</span><span class="p">:</span> <span class="nt">environment</span><span class="p">:</span>
@@ -1080,6 +1073,7 @@
<span class="nt">SERVER_GRPC_HOST</span><span class="p">:</span> <span class="s">"127.0.0.1"</span> <span class="c1"># Overrides SERVER_HOST if set. Useful for making HTTP and GRPC available via different interfaces/networks.</span> <span class="nt">SERVER_GRPC_HOST</span><span class="p">:</span> <span class="s">"127.0.0.1"</span> <span class="c1"># Overrides SERVER_HOST if set. Useful for making HTTP and GRPC available via different interfaces/networks.</span>
<span class="nt">API_PORT</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">8081</span> <span class="c1"># The HTTP API port for Netmaker. Used for API calls / communication from front end. If changed, need to change port of BACKEND_URL for netmaker-ui.</span> <span class="nt">API_PORT</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">8081</span> <span class="c1"># The HTTP API port for Netmaker. Used for API calls / communication from front end. If changed, need to change port of BACKEND_URL for netmaker-ui.</span>
<span class="nt">GRPC_PORT</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">50051</span> <span class="c1"># The GRPC port for Netmaker. Used for communications from nodes.</span> <span class="nt">GRPC_PORT</span><span class="p">:</span> <span class="l l-Scalar l-Scalar-Plain">50051</span> <span class="c1"># The GRPC port for Netmaker. Used for communications from nodes.</span>
<span class="nt">CLIENT_MODE</span><span class="p">:</span> <span class="s">"on"</span> <span class="c1"># on if netmaker should run its own client, off if not.</span>
<span class="nt">MASTER_KEY</span><span class="p">:</span> <span class="s">"secretkey"</span> <span class="c1"># The admin master key for accessing the API. Change this in any production installation.</span> <span class="nt">MASTER_KEY</span><span class="p">:</span> <span class="s">"secretkey"</span> <span class="c1"># The admin master key for accessing the API. Change this in any production installation.</span>
<span class="nt">CORS_ALLOWED_ORIGIN</span><span class="p">:</span> <span class="s">"*"</span> <span class="c1"># The "allowed origin" for API requests. Change to restrict where API requests can come from.</span> <span class="nt">CORS_ALLOWED_ORIGIN</span><span class="p">:</span> <span class="s">"*"</span> <span class="c1"># The "allowed origin" for API requests. Change to restrict where API requests can come from.</span>
<span class="nt">REST_BACKEND</span><span class="p">:</span> <span class="s">"on"</span> <span class="c1"># Enables the REST backend (API running on API_PORT at SERVER_HTTP_HOST). Change to "off" to turn off.</span> <span class="nt">REST_BACKEND</span><span class="p">:</span> <span class="s">"on"</span> <span class="c1"># Enables the REST backend (API running on API_PORT at SERVER_HTTP_HOST). Change to "off" to turn off.</span>
@@ -1433,7 +1427,7 @@ This install has some notable exceptions:
</pre></div> </pre></div>
</div> </div>
<p>And here is a joining node:</p> <p>And here is a joining node:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">d</span> <span class="o">-</span><span class="n">p</span> <span class="mi">4001</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">p</span> <span class="mi">4002</span><span class="p">:</span><span class="mi">4002</span> <span class="n">rqlite</span><span class="o">/</span><span class="n">rqlite</span> <span class="o">-</span><span class="n">node</span><span class="o">-</span><span class="nb">id</span> <span class="mi">2</span> <span class="o">-</span><span class="n">http</span><span class="o">-</span><span class="n">addr</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">raft</span><span class="o">-</span><span class="n">addr</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span><span class="p">:</span><span class="mi">4002</span> <span class="o">-</span><span class="n">http</span><span class="o">-</span><span class="n">adv</span><span class="o">-</span><span class="n">addr</span> <span class="mf">2.3</span><span class="o">.</span><span class="mf">4.5</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">raft</span><span class="o">-</span><span class="n">adv</span><span class="o">-</span><span class="n">addr</span> <span class="mf">2.3</span><span class="o">.</span><span class="mf">4.5</span><span class="p">:</span><span class="mi">4002</span> <span class="o">-</span><span class="n">join</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">netmaker</span><span class="p">:</span><span class="o">&lt;</span><span class="n">YOUR_DB_PASSWORD</span><span class="o">&gt;</span><span class="nd">@1</span><span class="o">.</span><span class="mf">2.3</span><span class="o">.</span><span class="mi">4</span><span class="p">:</span><span class="mi">4001</span> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">docker</span> <span class="n">run</span> <span class="o">-</span><span class="n">d</span> <span class="o">-</span><span class="n">p</span> <span class="mi">4001</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">p</span> <span class="mi">4002</span><span class="p">:</span><span class="mi">4002</span> <span class="n">rqlite</span><span class="o">/</span><span class="n">rqlite</span> <span class="o">-</span><span class="n">node</span><span class="o">-</span><span class="nb">id</span> <span class="mi">2</span> <span class="o">-</span><span class="n">http</span><span class="o">-</span><span class="n">addr</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">raft</span><span class="o">-</span><span class="n">addr</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span><span class="p">:</span><span class="mi">4002</span> <span class="o">-</span><span class="n">http</span><span class="o">-</span><span class="n">adv</span><span class="o">-</span><span class="n">addr</span> <span class="mf">2.3</span><span class="o">.</span><span class="mf">4.5</span><span class="p">:</span><span class="mi">4001</span> <span class="o">-</span><span class="n">raft</span><span class="o">-</span><span class="n">adv</span><span class="o">-</span><span class="n">addr</span> <span class="mf">2.3</span><span class="o">.</span><span class="mf">4.5</span><span class="p">:</span><span class="mi">4002</span> <span class="o">-</span><span class="n">join</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">netmaker</span><span class="p">:</span><span class="o">&lt;</span><span class="n">YOUR_DB_PASSWORD</span><span class="o">&gt;@</span><span class="mf">1.2</span><span class="o">.</span><span class="mf">3.4</span><span class="p">:</span><span class="mi">4001</span>
</pre></div> </pre></div>
</div> </div>
<ul class="simple"> <ul class="simple">
@@ -1509,7 +1503,7 @@ This install has some notable exceptions:
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Support &#8212; Netmaker 0.8.4 documentation</title> <title>Support &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -909,7 +909,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Troubleshooting &#8212; Netmaker 0.8.4 documentation</title> <title>Troubleshooting &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -956,7 +956,7 @@ You can also see the current WireGuard configuration with <code class="docutils
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -46,10 +46,10 @@
<title>Using Netmaker &#8212; Netmaker 0.8.4 documentation</title> <title>Using Netmaker &#8212; Netmaker 0.8.5 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" /> <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/material.css" /> <link rel="stylesheet" href="_static/material.css" type="text/css" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script> <script id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script src="_static/jquery.js"></script> <script src="_static/jquery.js"></script>
<script src="_static/underscore.js"></script> <script src="_static/underscore.js"></script>
<script src="_static/doctools.js"></script> <script src="_static/doctools.js"></script>
@@ -81,7 +81,7 @@
<nav class="md-header-nav md-grid"> <nav class="md-header-nav md-grid">
<div class="md-flex navheader"> <div class="md-flex navheader">
<div class="md-flex__cell md-flex__cell--shrink"> <div class="md-flex__cell md-flex__cell--shrink">
<a href="index.html" title="Netmaker 0.8.4 documentation" <a href="index.html" title="Netmaker 0.8.5 documentation"
class="md-header-nav__button md-logo"> class="md-header-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
@@ -103,7 +103,7 @@
<div class="md-search" data-md-component="search" role="dialog"> <div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label> <label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search"> <div class="md-search__inner" role="search">
<form class="md-search__form" action="search.html" method="GET" name="search"> <form class="md-search__form" action="search.html" method="get" name="search">
<input type="text" class="md-search__input" name="q" placeholder="Search" <input type="text" class="md-search__input" name="q" placeholder="Search"
autocapitalize="off" autocomplete="off" spellcheck="false" autocapitalize="off" autocomplete="off" spellcheck="false"
data-md-component="query" data-md-state="active"> data-md-component="query" data-md-state="active">
@@ -167,7 +167,7 @@
<nav class="md-tabs" data-md-component="tabs"> <nav class="md-tabs" data-md-component="tabs">
<div class="md-tabs__inner md-grid"> <div class="md-tabs__inner md-grid">
<ul class="md-tabs__list"> <ul class="md-tabs__list">
<li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.4 documentation</a></li> <li class="md-tabs__item"><a href="index.html" class="md-tabs__link">Netmaker 0.8.5 documentation</a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@@ -179,13 +179,13 @@
<div class="md-sidebar__inner"> <div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" data-md-level="0"> <nav class="md-nav md-nav--primary" data-md-level="0">
<label class="md-nav__title md-nav__title--site" for="__drawer"> <label class="md-nav__title md-nav__title--site" for="__drawer">
<a href="index.html" title="Netmaker 0.8.4 documentation" class="md-nav__button md-logo"> <a href="index.html" title="Netmaker 0.8.5 documentation" class="md-nav__button md-logo">
<i class="md-icon">&#xe869</i> <i class="md-icon">&#xe869</i>
</a> </a>
<a href="index.html" <a href="index.html"
title="Netmaker 0.8.4 documentation">Netmaker Docs</a> title="Netmaker 0.8.5 documentation">Netmaker Docs</a>
</label> </label>
<div class="md-nav__source"> <div class="md-nav__source">
<a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github"> <a href="https://github.com/gravitl/netmaker/" title="Go to repository" class="md-source" data-md-source="github">
@@ -875,7 +875,7 @@
</div> </div>
Created using Created using
<a href="http://www.sphinx-doc.org/">Sphinx</a> 4.0.2. <a href="http://www.sphinx-doc.org/">Sphinx</a> 3.5.4.
and and
<a href="https://github.com/bashtage/sphinx-material/">Material for <a href="https://github.com/bashtage/sphinx-material/">Material for
Sphinx</a> Sphinx</a>

View File

@@ -93,6 +93,17 @@ A detailed guide to installing the Netmaker server (API, DB, UI, DNS), and confi
server-installation server-installation
Oauth Configuration
--------------------
A simple guide to configuring OAuth for Netmaker.
.. toctree::
:maxdepth: 2
oauth
Client Installation Client Installation
-------------------- --------------------

63
docs/oauth.rst Normal file
View File

@@ -0,0 +1,63 @@
===================
Integrating OAuth
====================
Introduction
==============
As of v0.8.5, Netmaker offers integration with the following OAuth providers:
- GitHub
- Google
- Microsoft Azure AD
By integrating with an OAuth provider, your Netmaker users can log in via the provider, rather than the default simple auth.
Configuring your provider
===========================
In order to use OAuth, configure your OAuth provider (GitHub, Google, Azure AD).
You must configure your provider to use the Netmaker Dashboard URI dashboard.<netmaker.base.domain> as the origin URL.
For example: `https://dashboard.netmaker.mydomain.com`
You must configure your provider to use the Netmaker API URI redirect route with the following format: https://api.<netmaker base domain>/api/oauth2/callback.
For example: `https://api.netmaker.mydomain.com/api/oauth2/callback`
General provider instructions can be found with the following links:
Instructions for GitHub: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#github-auth-provider
Instructions for Google: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#google-auth-provider
Instructions for Microsoft Azure AD: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#microsoft-azure-ad-provider
Configuring Netmaker
======================
After you have configured your OAuth provider, take note of the CLIENT_ID and CLIENT_SECRET.
Next, Configure Netmaker with the following environment variables. If any are left blank, OAuth will fail.
.. code-block::
AUTH_PROVIDER="<azure-ad|github|google>"
CLIENT_ID="<client id of your oauth provider>"
CLIENT_SECRET="<client secret of your oauth provider>"
SERVER_API_CONN_STRING="https://<your-netmaker-api-domain>"
FRONTEND_URL="https://<your-netmaker-dashboard-domain>"
After restarting your server, the Netmaker logs will indicate if the OAuth provider was successfully initialized.
Once successful, users can click the key symbol on the login page to sign-in with your configured OAuth provider.
Configuring User Permissions
===============================
All users logging in will have zero permissions on first sign-in. An admin must configure all user permissions.
Admins must navigate to the "Users" screen to configure permissions.
For each user, an admin must specify which networks that user has access to configure. Additionally, an Admin can elevate a user to Admin permissions.

View File

@@ -1,12 +1,30 @@
#!/bin/bash #!/bin/bash
echo "checking for root permissions..." echo "checking for root permissions..."
echo "setting flags..."
while getopts d:e:m:v:c: flag
do
case "${flag}" in
d) domain=${OPTARG};;
e) email=${OPTARG};;
m) addmesh=${OPTARG};;
v) addvpn=${OPTARG};;
c) num_clients=${OPTARG};;
esac
done
echo "checking for root permissions..."
if [ $EUID -ne 0 ]; then if [ $EUID -ne 0 ]; then
echo "This script must be run as root" echo "This script must be run as root"
exit 1 exit 1
fi fi
echo "checking dependencies..." echo "checking dependencies..."
declare -A osInfo; declare -A osInfo;
@@ -47,42 +65,55 @@ done
set -e set -e
echo "setting public ip values..."
NETMAKER_BASE_DOMAIN=nm.$(curl -s ifconfig.me | tr . -).nip.io NETMAKER_BASE_DOMAIN=nm.$(curl -s ifconfig.me | tr . -).nip.io
COREDNS_IP=$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p') COREDNS_IP=$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')
SERVER_PUBLIC_IP=$(curl -s ifconfig.me) SERVER_PUBLIC_IP=$(curl -s ifconfig.me)
MASTER_KEY=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo '') MASTER_KEY=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo '')
EMAIL="fake@email.com" EMAIL="fake@email.com"
arg1=$( echo $1 | awk -F"domain=" '{print $2}') if [ -n "$domain" ]; then
arg2=$( echo $2 | awk -F"domain=" '{print $2}') NETMAKER_BASE_DOMAIN=$domain
if [ -n "$arg1" ]; then
echo "Parameter NETMAKER_BASE_DOMAIN is $arg1"
NETMAKER_BASE_DOMAIN=$arg1
elif [ -n "$arg2" ]; then
echo "Parameter NETMAKER_BASE_DOMAIN is $arg2"
NETMAKER_BASE_DOMAIN=$arg2
fi fi
arg1=$( echo $1 | awk -F"email=" '{print $2}') if [ -n "$email" ]; then
arg2=$( echo $2 | awk -F"email=" '{print $2}') EMAIL=$email
if [ -n "$arg1" ]; then
echo "Parameter EMAIL is $arg1"
EMAIL=$arg1
elif [ -n "$arg2" ]; then
echo "Parameter EMAIL is $arg2"
EMAIL=$arg2
fi fi
if [ -n "$addmesh" ]; then
MESH_SETUP=$addmesh
else
MESH_SETUP="true"
fi
if [ -n "$addvpn" ]; then
VPN_SETUP=$addvpn
else
VPN_SETUP="false"
fi
if [ -n "$num_clients" ]; then
NUM_CLIENTS=$num_clients
else
NUM_CLIENTS=5
fi
echo " ----------------------------"
echo " SETUP ARGUMENTS"
echo " ----------------------------"
echo " domain: $NETMAKER_BASE_DOMAIN" echo " domain: $NETMAKER_BASE_DOMAIN"
echo " email: $NETMAKER_BASE_DOMAIN"
echo " coredns ip: $COREDNS_IP" echo " coredns ip: $COREDNS_IP"
echo " public ip: $SERVER_PUBLIC_IP" echo " public ip: $SERVER_PUBLIC_IP"
echo " master key: $MASTER_KEY" echo " master key: $MASTER_KEY"
echo " setup mesh?: $MESH_SETUP"
echo " setup vpn?: $VPN_SETUP"
if [ "${VPN_SETUP}" == "true" ]; then
echo " # clients: $NUM_CLIENTS"
fi
echo " ----------------------------"
sleep 5
echo "setting caddyfile..." echo "setting caddyfile..."
@@ -95,7 +126,7 @@ sed -i "s/YOUR_EMAIL/$EMAIL/g" /root/Caddyfile
echo "setting docker-compose..." echo "setting docker-compose..."
wget -q -O /root/docker-compose.yml https://raw.githubusercontent.com/gravitl/netmaker/master/compose/docker-compose.caddy.yml wget -q -O /root/docker-compose.yml https://raw.githubusercontent.com/gravitl/netmaker/develop/compose/docker-compose.caddy.yml
sed -i "s/NETMAKER_BASE_DOMAIN/$NETMAKER_BASE_DOMAIN/g" /root/docker-compose.yml sed -i "s/NETMAKER_BASE_DOMAIN/$NETMAKER_BASE_DOMAIN/g" /root/docker-compose.yml
sed -i "s/SERVER_PUBLIC_IP/$SERVER_PUBLIC_IP/g" /root/docker-compose.yml sed -i "s/SERVER_PUBLIC_IP/$SERVER_PUBLIC_IP/g" /root/docker-compose.yml
sed -i "s/COREDNS_IP/$COREDNS_IP/g" /root/docker-compose.yml sed -i "s/COREDNS_IP/$COREDNS_IP/g" /root/docker-compose.yml
@@ -128,11 +159,7 @@ echo "visit dashboard.$NETMAKER_BASE_DOMAIN to log in"
echo"" echo""
sleep 2 sleep 2
if [ "${NETWORK_SETUP}" == "off" ]; then setup_mesh() {
echo "install complete"
exit 0
fi
echo "creating default network (10.101.0.0/16)" echo "creating default network (10.101.0.0/16)"
curl -d '{"addressrange":"10.101.0.0/16","netid":"default"}' -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/networks curl -d '{"addressrange":"10.101.0.0/16","netid":"default"}' -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/networks
@@ -175,3 +202,72 @@ echo " 4. Scan the QR Code from WireGuard app in iOS or Android"
echo "" echo ""
echo "" echo ""
echo "Netmaker setup is now complete. You are ready to begin using Netmaker." echo "Netmaker setup is now complete. You are ready to begin using Netmaker."
}
setup_vpn() {
echo "creating vpn network (10.201.0.0/16)"
curl -d '{"addressrange":"10.201.0.0/16","netid":"vpn","defaultextclientdns":"8.8.8.8"}' -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/networks
sleep 2
echo "configuring netmaker server as vpn inlet..."
curlresponse=$(curl -s -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/nodes/vpn)
SERVER_ID=$(jq -r '.[0].macaddress' <<< ${curlresponse})
curl -X POST -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/nodes/vpn/$SERVER_ID/createingress
echo "waiting 10 seconds for server to apply configuration..."
sleep 10
echo "configuring netmaker server vpn gateway..."
[ -z "$GATEWAY_IFACE" ] && GATEWAY_IFACE=$(ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)')
echo "gateway iface: $GATEWAY_IFACE"
curlresponse=$(curl -s -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/nodes/vpn)
SERVER_ID=$(jq -r '.[0].macaddress' <<< ${curlresponse})
EGRESS_JSON=$( jq -n \
--arg gw "$GATEWAY_IFACE" \
'{ranges: ["0.0.0.0/0"], interface: $gw}' )
echo "egress json: $EGRESS_JSON"
curl -X POST -d "$EGRESS_JSON" -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/nodes/vpn/$SERVER_ID/creategateway
echo "creating client configs..."
for ((a=1; a <= $NUM_CLIENTS; a++))
do
CLIENT_JSON=$( jq -n \
--arg clientid "vpnclient-$a" \
'{clientid: $clientid}' )
echo "client json: $CLIENT_JSON"
curl -d "$CLIENT_JSON" -H "Authorization: Bearer $MASTER_KEY" -H 'Content-Type: application/json' localhost:8081/api/extclients/vpn/$SERVER_ID
done
echo "finished configuring vpn server."
echo ""
echo ""
echo "To configure clients, perform the following steps:"
echo " 1. log into dashboard.$NETMAKER_BASE_DOMAIN"
echo " 2. Navigate to \"EXTERNAL CLIENTS\" tab"
echo " 3. Download or scan a client config (vpnclient-x) to the appropriate device"
echo " 4. Follow the steps for your system to configure WireGuard on the appropriate device"
echo " 5. Create and delete clients as necessary. Changes to netmaker server settings require regenerating ext clients."
}
if [ "${MESH_SETUP}" != "false" ]; then
setup_mesh
fi
if [ "${VPN_SETUP}" == "true" ]; then
setup_vpn
fi