+
+**Tip:** If you're not sure, start by [enrolling your first systems with tags & policy](/guides/quick-start-tags-and-policy).
From d9171117655baa5026ce82bc7cc6757a4929b9d1 Mon Sep 17 00:00:00 2001
From: marc barry <67782240+enclave-marc-barry@users.noreply.github.com>
Date: Sun, 21 Mar 2021 17:33:47 +0000
Subject: [PATCH 19/22] Update jquery.toc-scroll.scss
---
css/lib/jquery.toc-scroll.scss | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/css/lib/jquery.toc-scroll.scss b/css/lib/jquery.toc-scroll.scss
index f5555ea..d77aa58 100644
--- a/css/lib/jquery.toc-scroll.scss
+++ b/css/lib/jquery.toc-scroll.scss
@@ -23,17 +23,15 @@ $font-inter: inter,Helvetica,sans-serif;
.toc { border: 1px solid #ddd; border-radius: 4px 4px 0 0; }
.toc .toc-heading { background-color: #f5f5f5; font-weight: bold; } */
-.toc { }
+.toc { font-family: $font-inter; }
.toc.affix { position: static; }
-.toc-heading { color: #333333; border-radius: 6px 6px 0 0; border-bottom: 1px solid #e5e5e5; padding: 10px 15px; font-weight: normal; margin: 0 0 10px 0; }
+.toc-heading { font-family: $font-inter; color: #333333; border-radius: 6px 6px 0 0; border-bottom: 1px solid #e5e5e5; padding: 10px 15px; font-weight: normal; margin: 0 0 10px 0; }
.toc-heading i { padding-right: 5px; }
-.toc-ul-root li a {
+.toc-ul-root li a {
font-family: $font-inter;
letter-spacing: -0.04em;
}
-
-
.toc .nav > li a { padding-top: 3px; padding-bottom: 3px; border-left: 1px solid transparent; }
.toc .nav > li.active > a,
From eb3d55be3d0b29bd131f5b1217bd43242be6b036 Mon Sep 17 00:00:00 2001
From: marc barry <67782240+enclave-marc-barry@users.noreply.github.com>
Date: Sun, 21 Mar 2021 17:34:04 +0000
Subject: [PATCH 20/22] Update jquery.toc-scroll.scss
---
css/lib/jquery.toc-scroll.scss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/css/lib/jquery.toc-scroll.scss b/css/lib/jquery.toc-scroll.scss
index d77aa58..628851b 100644
--- a/css/lib/jquery.toc-scroll.scss
+++ b/css/lib/jquery.toc-scroll.scss
@@ -23,7 +23,7 @@ $font-inter: inter,Helvetica,sans-serif;
.toc { border: 1px solid #ddd; border-radius: 4px 4px 0 0; }
.toc .toc-heading { background-color: #f5f5f5; font-weight: bold; } */
-.toc { font-family: $font-inter; }
+.toc { }
.toc.affix { position: static; }
.toc-heading { font-family: $font-inter; color: #333333; border-radius: 6px 6px 0 0; border-bottom: 1px solid #e5e5e5; padding: 10px 15px; font-weight: normal; margin: 0 0 10px 0; }
.toc-heading i { padding-right: 5px; }
From 44a013ea16d89537333fa2f204bcd40210c14697 Mon Sep 17 00:00:00 2001
From: marc barry <67782240+enclave-marc-barry@users.noreply.github.com>
Date: Mon, 22 Mar 2021 13:08:15 +0000
Subject: [PATCH 21/22] style adjustments
---
css/enclave.scss | 178 +++------------------------------
css/lib/jquery.toc-scroll.scss | 5 +-
2 files changed, 19 insertions(+), 164 deletions(-)
diff --git a/css/enclave.scss b/css/enclave.scss
index 9318729..697db1f 100644
--- a/css/enclave.scss
+++ b/css/enclave.scss
@@ -19,7 +19,7 @@ $box-shadow-hover: 0 3px 6px 0px rgba(27, 31, 35, 0.30);
*,
*:before,
*:after { box-sizing: inherit; }
-html { box-sizing: border-box; font-size: 10px; }
+html { box-sizing: border-box; }
body { margin: 0; padding: 0; }
p, h1, h2, h3, h4, h5, h6 { margin-top: 0; }
a { text-decoration: none; }
@@ -35,6 +35,8 @@ html, body {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
+ font-size: 14px;
+
h1,h2,h3,h4,h5,h6 {
font-family: $font-body;
}
@@ -99,14 +101,6 @@ html, body {
color: #777;
}
- p,
- li,
- td,
- blockquote {
- font-size: 15px;
- line-height: 1.8;
- }
-
blockquote {
clear: both;
font-size: inherit;
@@ -787,7 +781,6 @@ nav.navbar {
#docs-index-page,
#docs-api,
#docs-handbook,
-#docs-policy,
#docs-protocol,
#docs-knowledge-base,
#docs-tutorials-and-guides-base,
@@ -814,6 +807,10 @@ nav.navbar {
font-family: $font-body;
color: rgba(0,0,0,.6);
font-weight: 400;
+
+ a {
+ font-size: .9346em;
+ }
}
p {
@@ -829,8 +826,16 @@ nav.navbar {
font-family: $font-code;
font-weight: 400;
}
+
+ ul,
+ ol {
+ margin: 20px 0;
- ol, ul {
+ ul,
+ ol {
+ margin: 20px 0;
+ }
+
li {
margin: 8px 0 16px 0;
@@ -840,14 +845,6 @@ nav.navbar {
}
}
- ul, ol {
- margin: 20px 0;
-
- ul, ol {
- margin: 8px 0 12px 0;
- }
- }
-
blockquote {
p {
margin: 3px 0;
@@ -1295,149 +1292,6 @@ nav.navbar {
}
}
-#docs-policy {
- #section-all-policies {
- background-color: #f5f7fa;
-
- ul {
- list-style: none;
- margin: 0 auto;
- padding: 60px 0 40px 12px;
- text-align: center;
- max-width: 700px;
- }
-
- li {
- display: inline-block;
- margin: 0 12px 22px 0;
- font-weight: 600;
- }
-
- li a {
- padding: 7px 12px 8px 12px;
- font-size: 14px;
- font-family: $font-heading;
- border: 1px solid #e0e0e0;
- border-radius: 3px;
- text-decoration: none;
- background-color: #fcfcfc;
- opacity: 0.6;
- transition: all .2s ease-in-out;
- color: #337ab7;
- }
-
- li a:hover {
- background-color: $white;
- opacity: 1;
- }
-
- li.active a {
- background-color: #374365;
- border: 1px solid #374365;
- color: $white;
- opacity: 1;
- }
- }
-
- #section-policy-library {
- padding: 40px 0 0 0;
- position: relative;
- text-align: center;
-
- ul {
- margin: 70px 0 0 0;
- padding: 0;
- list-style: none;
- text-align: center;
-
- li {
- margin: 0 12px 48px 0;
- display: inline-block;
-
- a {
- text-decoration: none;
- padding: 7px 12px 8px 12px;
- padding: 17px 30px;
- font-size: 14px;
- font-family: "Lato";
- border: 1px solid #e0e0e0;
- border-radius: 3px;
- text-decoration: none;
- background-color: #fcfcfc;
- transition: all .2s ease-in-out;
- color: #337ab7;
- }
-
- a:hover {
- background-color: #374365;
- border: 1px solid #374365;
- color: $white;
- }
- }
- }
- }
-
- #section-page {
-
- #orderedList {
-
- .outdent {
- padding-inline-start: 0;
- border-top: 1px dashed #eee;
- }
-
- ol {
- counter-reset: item;
- list-style: none;
-
- h2 {
- margin: 26px 0 16px 0;
- font-weight: 500;
- }
-
- ul {
- list-style-type: disc;
- }
- }
-
- ol > li {
- position: relative;
- float: left;
- margin: 0;
- }
-
- ol > li > h2:before,
- ol > li > p:before {
- content: counters(item, ".") ".";
- counter-increment: item;
- display: inline-block;
- padding-right: 5px;
- font-weight: 500;
- }
- }
-
- ol,
- ul {
- li {
- margin: 0 0 8px 0;
- }
-
- li:last-child {
- margin: 0;
- }
- }
-
- table {
- th {
- white-space: nowrap;
- }
- th, td, li {
- font-size: 13px;
- }
- }
- }
-}
-
/************************************************************************************/
/************************************************************************************/
/************************************************************************************/
diff --git a/css/lib/jquery.toc-scroll.scss b/css/lib/jquery.toc-scroll.scss
index 628851b..0c06fe5 100644
--- a/css/lib/jquery.toc-scroll.scss
+++ b/css/lib/jquery.toc-scroll.scss
@@ -29,10 +29,11 @@ $font-inter: inter,Helvetica,sans-serif;
.toc-heading i { padding-right: 5px; }
.toc-ul-root li a {
font-family: $font-inter;
- letter-spacing: -0.04em;
+ font-size: 1em;
+ letter-spacing: -0.01em;
}
-.toc .nav > li a { padding-top: 3px; padding-bottom: 3px; border-left: 1px solid transparent; }
+.toc .nav > li a { padding-top: 6px; padding-bottom: 6px; border-left: 1px solid transparent; }
.toc .nav > li.active > a,
.toc .nav > li.active > a:hover ,
From 6200a17c7a8636f811009a8f8fcf150e37e03254 Mon Sep 17 00:00:00 2001
From: marc barry <67782240+enclave-marc-barry@users.noreply.github.com>
Date: Wed, 31 Mar 2021 15:18:54 +0100
Subject: [PATCH 22/22] latest changes
---
css/enclave.scss | 2 +-
guides/quick-start-locally-managed.md | 32 ++++
guides/quick-start-tags-and-policy.md | 54 ++++++
guides/quick-start.md | 228 +++++-----------------
guides/quick-start_2.md | 262 ++++++++++++++++++++++++++
handbook/index.html | 2 +-
handbook/install/ubuntu.md | 63 +++++++
handbook/install/windows.md | 67 +++++++
img/docs/enclave-tray-icon.png | Bin 0 -> 19396 bytes
9 files changed, 526 insertions(+), 184 deletions(-)
create mode 100644 guides/quick-start-locally-managed.md
create mode 100644 guides/quick-start-tags-and-policy.md
create mode 100644 guides/quick-start_2.md
create mode 100644 handbook/install/ubuntu.md
create mode 100644 handbook/install/windows.md
create mode 100644 img/docs/enclave-tray-icon.png
diff --git a/css/enclave.scss b/css/enclave.scss
index 697db1f..4e50b85 100644
--- a/css/enclave.scss
+++ b/css/enclave.scss
@@ -809,7 +809,7 @@ nav.navbar {
font-weight: 400;
a {
- font-size: .9346em;
+ font-size: .98em;
}
}
diff --git a/guides/quick-start-locally-managed.md b/guides/quick-start-locally-managed.md
new file mode 100644
index 0000000..3e01548
--- /dev/null
+++ b/guides/quick-start-locally-managed.md
@@ -0,0 +1,32 @@
+---
+layout: layout-page-docs
+css-section: docs
+parent: "Tutorials and Guides"
+parentPath: guides
+title: "Getting Started"
+subtitle: "Quick Start Guide"
+contentPreview: "A short guide to installing, licensing and running Enclave on Linux and Windows. Learn how to use the command line and user interface to get your first networks up and running as quickly as possible."
+indexed: true
+redirect_from:
+ - /quick-start
+ - /quick-start-cli
+---
+
+# {{page.title}}
+
+> To complete this quick start guide and build your first connection, you will need at least two systems installed and running Enclave.
+
+
+## Install Enclave
+
+The fastest way to get started is to install Enclave on to two separate systems, enrol both of those systems to your account and then use Enclave to build a private connection.
+
+- [Windows](/handbook/install/windows)
+- [Ubuntu](/handbook/install/ubuntu)
+- [CentOS](/handbook/install/centos)
+- [Arch Linux](/handbook/install/arch-linux)
+- [Raspbian](/handbook/install/raspbian)
+- [Docker](/handbook/install/docker)
+- [Kubernetes](/handbook/install/kubernetes)
+- [Synology NAS](/handbook/install/synology-nas)
+
diff --git a/guides/quick-start-tags-and-policy.md b/guides/quick-start-tags-and-policy.md
new file mode 100644
index 0000000..1ab6146
--- /dev/null
+++ b/guides/quick-start-tags-and-policy.md
@@ -0,0 +1,54 @@
+---
+layout: layout-page-docs
+css-section: docs
+parent: "Tutorials and Guides"
+parentPath: guides
+title: "Enrolling with Tags & Policy"
+subtitle: "Quick Start Guide"
+contentPreview: "A short guide to installing, licensing and running Enclave on Linux and Windows. Learn how to use the command line and user interface to get your first networks up and running as quickly as possible."
+indexed: true
+redirect_from:
+ - /quick-start
+ - /quick-start-cli
+---
+
+# {{page.title}}
+
+
+Welcome to the official tags & policy Enclave quick start guide.
+
+This guide will show you how to install and run Enclave to seamlessly connect your devices, systems, virtual machines and containers together on any infrastructure, with secure private networks that just work.
+
+In this guide we will show you how to enrol systems to your and **centrally manage** the connectivity between them.
+
+## Prerequisites
+
+To follow this guide and build your first connection with Enclave, you will need the following:
+
+1. An Enclave account, it's [free to register](https://portal.enclave.io/account/register)
+2. Two computers running Windows, Linux or MacOS and Administrative access
+
+## About enrolment keys
+
+When you first registered for an account:
+
+- We automatically created an **initial enrolment key** called `Default Enrolment Key`. Enrolment keys allow you to enrol new systems to your account and can (optionally) apply an initial set of tags to systems as they enrol.
+- We automatically created a **default tag** called `All Systems`. Tags are text labels which can be attached to one or more systems, allowing administrators to group together systems with similar characteristics.
+- We automatically created a **default policy** called `Universe`. Policies determine which systems are connected to each other. Each policy is composed of sender tags and receiver tags. The Universe policy sets the `All Systems` tag on both the sender and receiver side of the policy.
+
+In its default state, your **Universe** policy has the same tag (**All Systems**) set on both sides of the policy. Having the same tag on both sides of a policy means that any systems with that tag attached will be connected to one another and allowed to send traffic to their peers.
+
+Since the **Default Enrolment Key** is configured to automatically apply the **All Systems** tag to new systems as they enrol, any systems enrolled using this key automatically gain full-mesh connectivity across your organisation.
+
+You can customise this configuration at any time, but to move to the next step and install Enclave you will need to obtain an enrolment key from your account on the Portal.
+
+## Enrol and connect two systems
+
+1. Visit the [**Enrol a new system**](https://portal.enclave.io/my/new-system) page in the Portal.
+2. Select your `Default Enrolment Key` from the drop down list.
+3. Make a note of the secret 30 character enrolment key, you will need it to install Enclave. **Security Note:** Enrolment keys should be treated as secrets; Handle, share and store as you would any other organisational secret.
+4. Install Enclave on two separate systems. Follow the on-screen instructions to download Enclave for the relevant operating system.
+5. Each installer will ask for an enrolment key, provide the same key to each system.
+6. Your `Default Enrolment Key` is configured for manual approval of new enrolments. When new systems are enrolled using this key they will remain isolated and disabled from your wider account, until enrolment approval is granted by an account Administrator. To provide approval, visit the [**Unapproved systems**](https://portal.enclave.io/my/unapproved-systems) page, select both systems and click **Approve**.
+ 
+
diff --git a/guides/quick-start.md b/guides/quick-start.md
index ccda560..e216c8c 100644
--- a/guides/quick-start.md
+++ b/guides/quick-start.md
@@ -1,11 +1,11 @@
---
-layout: layout-page-docs
+layout: layout-page-docs-index-page-no-toc
css-section: docs
parent: "Tutorials and Guides"
parentPath: guides
title: "Quick Start Guide"
-subtitle: "Enclave Documentation"
-contentPreview: "A short guide to installing, licensing and running Enclave on Linux and Windows. Learn how to use the command line and user interface to get your first networks up and running as quickly as possible."
+subtitle: "Getting Started With Enclave"
+contentPreview: "A short guide to installing, enrolling and running Enclave on Linux, Windows and MacOS. Learn how to get your private network up and running in minutes."
indexed: true
redirect_from:
- /quick-start
@@ -14,182 +14,46 @@ redirect_from:
# {{page.title}}
-> **This guide applies to the following operating systems:**
-> * Windows 7, 8 and 10 and Server 2012, 2016 and 2019
-> * Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS, 18.10, 20.04 LTS
-> * CentOS 7
-
-Enclave is software which builds private, secure and directly connected computer networks.
-
-Each system running Enclave gets issued a certificate. The operators of each system exchange the names on their respective certificates, and instantly get a secure, directly connected, and private network.
-
-Setting up a connection between two or more systems requires mutual consent from all parties, and Enclave networks can only be established if all parties have exchanged their certificate names and agreed to cooperate with one another.
-
-
-
-
-
-
-
-## Installing on Windows
-
-1. From the [downloads section](https://portal.enclave.io/dashboard/download) of your account in the [Enclave Portal](https://portal.enclave.io/), download the latest version of Enclave and run the installer.
-
-## Installing on Linux
-
-1. From the [downloads section](https://portal.enclave.io/dashboard/download) of your account in the [Enclave Portal](https://portal.enclave.io/), select the appropriate installation script for your operating system and run in your terminal. If `sudo` is required you will be prompted.
-
-2. On Linux-based systems, the Enclave binaries unpack to `/opt/enclave/` and configuration and log files reside in `/etc/opt/enclave/`. Once installed, the installation script will display the following message:
-
- ```
- Installation finished.
- Run sudo enclave license [LICENSE_KEY] to request a certificate.
- sudo systemctl start enclave to start enclave, or sudo enclave start to start as an interactive foreground process.
- sudo enclave add [PEER_NAME] to authorise a connection to another system running enclave.
- sudo enclave for status.
- ```
-
-## Licencing Enclave
-
-To use Enclave, your system requires a certificate. License keys (available from the [Manage License Keys](https://portal.enclave.io/dashboard/licenses) section of your account in the [Enclave Portal](https://portal.enclave.io/)) allow Enclave to request certificates. If you have a trial account, a `30 day trial` license key will have been automatically generated for you.
-
-### User Interface
-
-2. When Enclave starts, use the license key from the [Enclave Portal](https://portal.enclave.io/) to request a certificate unique to your system. Enclave will generate a private key on your local system and encrypt it using the Windows Data Protection API. With a valid license, Enclave will then obtain a certificate for your system from the Enclave Certificate Authority.
-
-### Command Line
-
-1. With Enclave installed, Run Enclave using the `license` argument to provide a valid license. This will generate a new `Universe` profile file located at `/etc/opt/enclave/profiles/Universe.profile` containing configuration, your encrypted private key, and the newly issued certificate.
-
- In this example, . Keep the license key safe, without it you cannot request certificates.
-
- ```bash
- $ sudo enclave license
- Enter license key:
- ```
-
- You may also pass the license key as an argument, the example license key we're using here is `9DPLF-4L6T9-FYCR2-9D342-K85TT` but be aware that your license key may end up in your command line history.
-
- ```bash
- $ sudo enclave license 4WPLF-4L6T9-FYCR2-9D342-K85TT
- ```
-
- Once the system has been licensed and issued with a certificate, Enclave can be started.
-
-## Starting and Stopping Enclave
-
-### User Interface
-
-On Windows, the tray application will have automatically started the Enclave network for you.
-
-### Command Line
-
- ```bash
- $ sudo systemctl start enclave
- ```
-
-Alternatively, Enclave can be run interactively using the `start` argument.
-
- ```bash
- $ sudo enclave start
- ```
-
-Once running, the `status` verb provides a snapshot of Enclave network health and peer connectivity.
-
- ```
- $ enclave status
-
- Local Identity: WZG24
-
- Release Version . . : 2019.9.25.0
- Profile Name. . . . : Universe
- Profile Location. . : /etc/opt/enclave/profiles/Universe.profile
- Certificate . . . . : CN=WZG24 Expires=Never (Perpetual Issue)
- Adapter Index . . . : tap0 (#4)
- Binding Address . . : 0.0.0.0:36019
- Virtual Network . . : 100.64.0.0/10 (255.192.0.0)
- Virtual Address . . : 100.77.23.184
-
- Peer: discover.enclave.io
-
- Peer State. . . . . : Up
- Certificate . . . . : CN=discover.enclave.io Expires=08/06/2024 09:59:59
- Endpoint. . . . . . : Tcp/35.176.215.206:443
- ```
-
-## Creating connections
-
-In order to establish a connection, both sides must agree that the connection should take place. This means Alice must authorise Bob, and Bob must authorise Alice. To do this, operators exchange their certificate names.
-
-### User Interface
-
-1. Enclave will display your local certificate name as **Local Identity**. Give this name to your partner, and get your partner's Enclave identity in return. In this example, our local certificate name is `WZG24`.
-
-2. If your partner's certificate name is `72LVG` then use the `New Connection` button to authorise your system to connect with theirs. They should do
-
-3. Your partner should do the same in return and authorise their Enclave network to connect to your certificate name.
-
- 
-
-4. When both systems have expressed a mutual intent to communicate, Enclave will automatically handle firewall traversal, peer discovery and key exchange to setup a direct and end-to-end encrypted connection between the cooperating parties.
-
- The connection will remain in place until either;
-
- * One side loses their network connection. Once restored, Enclave will re-establish network tunnel.
- * One (or both) sides remove the authorisation they made to talk with their partner, at which point the connection is destroyed.
- * One (or both) certificates expire, at which point the connection is destroyed.
-
-> **Key Principle** — unlike traditional Certificate Authorities, you do not need to specify a domain name, or hostname in order to obtain a certificate. The CA randomly selects the name for each certificate it issues. All communication in Enclave networks is mutually authenticated, so endpoints have no strong real-world identity association to their certificates other than ownership of the corresponding private keys.
->
-> For this reason, the Certificate Authority selects names which are are short, sharable and human friendly — like telephone numbers, or car registration number plates.
-
-### Command Line
-
-To continue to example, assume we are Alice and our partner is Bob. We have the following certificate names;
-
-| Person | Certificate Name |
-| ------ | ---------------- |
-| Alice | `WZG24` |
-| Bob | `72LVG` |
-
-We will authorise Bob's certificate using the `add` verb, and describe `-d` in a familiar way that this certificate name belongs to Bob.
-
-```sh
-$ enclave add 72LVG -d "Bob"
-```
-
-On Bob's system, he must now make a counter assertion that he wants to to us. Until then, no connection is possible.
-
-```sh
-$ enclave add WZG24 -d "Alice"
-```
-
-Once a mutual assertion is made by both parties, Enclave will setup the connection and establish a private, shared virtual network between the parties which can be used for any application or service.
-
-> Enclave traffic is subject to filtering by the local firewall. Pay particular attention to the local firewall configuration, Without explicitly permitting traffic to cross an Enclave network port, peers may connect but fail to exchange network traffic.
-
-In order to check the status of the connection, use the `status` verb.
-
-```sh
-$ enclave status
-```
-
-## Removing connections
-
-All connections in Enclave require mutual consent from both parties. Either party may change their mind at any time and tear down the connection. This is done by removing the authorisation created in the previous section.
-
-### User Interface
-
-Right click on the partner connection you want to terminate and click remove.
-
-### Command Line
-
-Bob may terminate his connection with us by removing the authorisation he made to communicate with our certificate name.
-
-```sh
-$ enclave remove WZG24
-```
\ No newline at end of file
+Welcome to the official Enclave quick start guide.
+
+This guide will show you how to install and run Enclave to seamlessly connect your devices, systems, virtual machines and containers together on any infrastructure, with secure private networks that just work.
+
+## Prerequisites
+
+To follow this guide and build your first connection with Enclave, you will need to:
+
+1. Have already registered for a **free** account on our [Portal](https://portal.enclave.io).
+2. Have administrative access to **at least two** systems (either Windows, Linux, MacOS or one of our other supported platforms).
+
+## Choose a guide
+
+Systems registered with Enclave can either be **locally managed** (by the end-users of those systems), or they can be **centrally managed** using tags and policy controls defined in the Portal. There are quick start guides for both options, but we recommend most new users start by enrolling systems using centralised management with [tags & policy](/guides/quick-start-tags-and-policy).
+
+Any enrolled system can be easily switched between locally, or centrally managed modes at any time simply by adding, or removing tags in the Portal. If a Portal Administrator adds tags to an enrolled system, it automatically becomes centrally controlled. If a Portal Administrator removes all of the tags from a particular system, Enclave will allow the end-user(s) to manage connectivity.
+
+
diff --git a/guides/quick-start_2.md b/guides/quick-start_2.md
new file mode 100644
index 0000000..cd85b14
--- /dev/null
+++ b/guides/quick-start_2.md
@@ -0,0 +1,262 @@
+---
+layout: layout-page-docs
+css-section: docs
+parent: "Tutorials and Guides"
+parentPath: guides
+title: "Getting Started"
+subtitle: "Quick Start Guide"
+contentPreview: "A short guide to installing, licensing and running Enclave on Linux and Windows. Learn how to use the command line and user interface to get your first networks up and running as quickly as possible."
+indexed: true
+---
+
+# {{page.title}}
+
+Introduction ..
+
+Right now, building secure and private connectivity is hard. Administrators have to configure firewalls and VPNs, manage IP addresses, subnets, ACLs, NAT, routing tables, certificates and secret keys etc, and then take it all down again after access expires. Lots of manual, error prone work which can introduce vulnerabilities, and often require changes which carry inherent risks that need to be planned, security assessed, scheduled etc.
+
+Right now, building secure and private connectivity is risky. You generally have to allow somebody to enter your network, i.e. to connect (in to you vpn server, webserver, rdp, ssh etc) before they present credentials for authentication or know it advance where they're coming from and maintain ACLs. This can lead to all sorts of vulnerabilities and undesirable behaviour from port scanning and credential stuffing to zero day exploitation, MITM etc.
+
+Enclave aims to solve those two problems.
+
+Enclave builds one-to-one connections (directly connected and end-to-end encrypted) without requiring changes to the existing underlying network. It does this from behind closed firewalls using only egress traffic and UDP/TCP hole punching. The result is secure, on-demand and direct connectivity which can be deployed in seconds, even when firewalls, subnets, NAT, subnets, virtual machines or containers are in between - it just works.
+Enclave flips the connect-then-authenticate paradigm. It operates on need-to-know only connectivity, introducing resources only after _mutual_ authentication and authorisation have taken place. All network traffic is egress-only, so ACLs and open ports are no longer required. When you don't need to poke holes in firewalls, open listening ports, publish visible IP addresses or define public DNS records, your infrastructure can effectively go dark to to the public Internet, and also to attackers.
+
+
+At the heart of Enclave is our discovery service (i.e. an approximation of the proposed QLSP). It helps participants find each another on any network, any infrastructure and in any geography. Our endpoint-based software relies on our discovery service to provide introductions between cooperating parties such that direct and private network connectivity can be established, even when those parties are dark to the Internet - protected behind closed firewalls.
+
+
+
+Enclave then builds layer 2 network connectivity between those parties (so universal protocol support; i.e. multicast, ip, etc) and abstracts away details of the underlying network along with the complexities of NAT traversal and hole punching. Sometimes we describe Enclave as "VPN, without the VPN server" or "The network you want over the network you have".
+
+
+
+There is no quantum component to Enclave today. We use (certificate-based) authenticated key exchange between peers and compute ephemeral keys (on a per sessions basis) for symmetric ciphers which encrypt data-in-motion with perfect forward secrecy.
+
+
+
+## How Enclave is different?
+
+| | Enclave | Traditional VPN | Software Defined Perimeter (SDP) |
+|-|---------|-----------------|----------------------------------|
+| Serverless | ✅ | ❌ | |
+| On demand | ✅ | ❌ | |
+| No public IP addresses | ✅ | ❌ | |
+| Works on "unreachable" networks | ✅ | ❌ | |
+| Dynamic IP tolerant | ✅ | ❌ | |
+| Zero configuration | ✅ | ❌ | |
+| Mutual authentication | ✅ | ❌ | |
+| end-to-end encryption | ✅ | ❌ | |
+| Serverless | ✅ | ❌ | |
+| Serverless | ✅ | ❌ | |
+
+## Install Enclave
+
+Enclave is software which builds private, secure and directly connected computer networks.
+
+- [Windows](/handbook/install/windows)
+- [Ubuntu](/handbook/install/ubuntu)
+- [CentOS](/handbook/install/centos)
+- [Arch Linux](/handbook/install/arch-linux)
+- [Raspbian](/handbook/install/raspbian)
+- [Docker](/handbook/install/docker)
+- [Kubernetes](/handbook/install/kubernetes)
+- [Synology NAS](/handbook/install/synology-nas)
+
+
+## Build your first connection
+
+> To complete this quick start guide and build your first connection, you will need at least two systems installed and running Enclave.
+
+
+Systems enrolled with Enclave can either be **locally managed** or **centrally managed**. Locally managed systems are great for solo or power users wanting ad-hoc connectivity in scenarios where oversight and centralised control are less important. Centrally managed systems are better suited to business environments allow for greater control and consistency as your Enclave networks grow in size and complexity.
+
+ 1. **Locally managed:**
+ On a locally managed system, the local users of that system are responsible for controlling Enclave. You can quickly start building network connections to other enrolled systems, visit the [Getting connected](/guides/quick-start#getting-connected) section of our getting started guide to learn more about locally managed systems.
+
+ 2. **Centrally managed:**
+ Centrally managed systems are controlled by pre-defined [Tags](/handbook/portal/tags) and [Policies](/handbook/portal/policies) in your account [Portal](https://portal.enclave.io/). Visit the [Getting connected](/guides/quick-start#getting-connected) section of our getting started guide to learn more about adding tags to this system and enabling centralised management.
+
+
+
+
+
+
+
+> **This guide applies to the following operating systems:**
+> * Windows 7, 8 and 10 and Server 2012, 2016 and 2019
+> * Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS, 18.10, 20.04 LTS
+> * CentOS 7
+
+Each system running Enclave gets issued a certificate. The operators of each system exchange the names on their respective certificates, and instantly get a secure, directly connected, and private network.
+
+Setting up a connection between two or more systems requires mutual consent from all parties, and Enclave networks can only be established if all parties have exchanged their certificate names and agreed to cooperate with one another.
+
+
+
+
+
+
+
+## Installing on Windows
+
+1. From the [downloads section](https://portal.enclave.io/dashboard/download) of your account in the [Enclave Portal](https://portal.enclave.io/), download the latest version of Enclave and run the installer.
+
+## Installing on Linux
+
+1. From the [downloads section](https://portal.enclave.io/dashboard/download) of your account in the [Enclave Portal](https://portal.enclave.io/), select the appropriate installation script for your operating system and run in your terminal. If `sudo` is required you will be prompted.
+
+2. On Linux-based systems, the Enclave binaries unpack to `/opt/enclave/` and configuration and log files reside in `/etc/opt/enclave/`. Once installed, the installation script will display the following message:
+
+ ```
+ Installation finished.
+ Run sudo enclave license [LICENSE_KEY] to request a certificate.
+ sudo systemctl start enclave to start enclave, or sudo enclave start to start as an interactive foreground process.
+ sudo enclave add [PEER_NAME] to authorise a connection to another system running enclave.
+ sudo enclave for status.
+ ```
+
+## Licencing Enclave
+
+To use Enclave, your system requires a certificate. License keys (available from the [Manage License Keys](https://portal.enclave.io/dashboard/licenses) section of your account in the [Enclave Portal](https://portal.enclave.io/)) allow Enclave to request certificates. If you have a trial account, a `30 day trial` license key will have been automatically generated for you.
+
+### User Interface
+
+2. When Enclave starts, use the license key from the [Enclave Portal](https://portal.enclave.io/) to request a certificate unique to your system. Enclave will generate a private key on your local system and encrypt it using the Windows Data Protection API. With a valid license, Enclave will then obtain a certificate for your system from the Enclave Certificate Authority.
+
+### Command Line
+
+1. With Enclave installed, Run Enclave using the `license` argument to provide a valid license. This will generate a new `Universe` profile file located at `/etc/opt/enclave/profiles/Universe.profile` containing configuration, your encrypted private key, and the newly issued certificate.
+
+ In this example, . Keep the license key safe, without it you cannot request certificates.
+
+ ```bash
+ $ sudo enclave license
+ Enter license key:
+ ```
+
+ You may also pass the license key as an argument, the example license key we're using here is `9DPLF-4L6T9-FYCR2-9D342-K85TT` but be aware that your license key may end up in your command line history.
+
+ ```bash
+ $ sudo enclave license 4WPLF-4L6T9-FYCR2-9D342-K85TT
+ ```
+
+ Once the system has been licensed and issued with a certificate, Enclave can be started.
+
+## Starting and Stopping Enclave
+
+### User Interface
+
+On Windows, the tray application will have automatically started the Enclave network for you.
+
+### Command Line
+
+ ```bash
+ $ sudo systemctl start enclave
+ ```
+
+Alternatively, Enclave can be run interactively using the `start` argument.
+
+ ```bash
+ $ sudo enclave start
+ ```
+
+Once running, the `status` verb provides a snapshot of Enclave network health and peer connectivity.
+
+ ```
+ $ enclave status
+
+ Local Identity: WZG24
+
+ Release Version . . : 2019.9.25.0
+ Profile Name. . . . : Universe
+ Profile Location. . : /etc/opt/enclave/profiles/Universe.profile
+ Certificate . . . . : CN=WZG24 Expires=Never (Perpetual Issue)
+ Adapter Index . . . : tap0 (#4)
+ Binding Address . . : 0.0.0.0:36019
+ Virtual Network . . : 100.64.0.0/10 (255.192.0.0)
+ Virtual Address . . : 100.77.23.184
+
+ Peer: discover.enclave.io
+
+ Peer State. . . . . : Up
+ Certificate . . . . : CN=discover.enclave.io Expires=08/06/2024 09:59:59
+ Endpoint. . . . . . : Tcp/35.176.215.206:443
+ ```
+
+## Creating connections
+
+In order to establish a connection, both sides must agree that the connection should take place. This means Alice must authorise Bob, and Bob must authorise Alice. To do this, operators exchange their certificate names.
+
+### User Interface
+
+1. Enclave will display your local certificate name as **Local Identity**. Give this name to your partner, and get your partner's Enclave identity in return. In this example, our local certificate name is `WZG24`.
+
+2. If your partner's certificate name is `72LVG` then use the `New Connection` button to authorise your system to connect with theirs. They should do
+
+3. Your partner should do the same in return and authorise their Enclave network to connect to your certificate name.
+
+ 
+
+4. When both systems have expressed a mutual intent to communicate, Enclave will automatically handle firewall traversal, peer discovery and key exchange to setup a direct and end-to-end encrypted connection between the cooperating parties.
+
+ The connection will remain in place until either;
+
+ * One side loses their network connection. Once restored, Enclave will re-establish network tunnel.
+ * One (or both) sides remove the authorisation they made to talk with their partner, at which point the connection is destroyed.
+ * One (or both) certificates expire, at which point the connection is destroyed.
+
+> **Key Principle** — unlike traditional Certificate Authorities, you do not need to specify a domain name, or hostname in order to obtain a certificate. The CA randomly selects the name for each certificate it issues. All communication in Enclave networks is mutually authenticated, so endpoints have no strong real-world identity association to their certificates other than ownership of the corresponding private keys.
+>
+> For this reason, the Certificate Authority selects names which are are short, sharable and human friendly — like telephone numbers, or car registration number plates.
+
+### Command Line
+
+To continue to example, assume we are Alice and our partner is Bob. We have the following certificate names;
+
+| Person | Certificate Name |
+| ------ | ---------------- |
+| Alice | `WZG24` |
+| Bob | `72LVG` |
+
+We will authorise Bob's certificate using the `add` verb, and describe `-d` in a familiar way that this certificate name belongs to Bob.
+
+```sh
+$ enclave add 72LVG -d "Bob"
+```
+
+On Bob's system, he must now make a counter assertion that he wants to to us. Until then, no connection is possible.
+
+```sh
+$ enclave add WZG24 -d "Alice"
+```
+
+Once a mutual assertion is made by both parties, Enclave will setup the connection and establish a private, shared virtual network between the parties which can be used for any application or service.
+
+> Enclave traffic is subject to filtering by the local firewall. Pay particular attention to the local firewall configuration, Without explicitly permitting traffic to cross an Enclave network port, peers may connect but fail to exchange network traffic.
+
+In order to check the status of the connection, use the `status` verb.
+
+```sh
+$ enclave status
+```
+
+## Removing connections
+
+All connections in Enclave require mutual consent from both parties. Either party may change their mind at any time and tear down the connection. This is done by removing the authorisation created in the previous section.
+
+### User Interface
+
+Right click on the partner connection you want to terminate and click remove.
+
+### Command Line
+
+Bob may terminate his connection with us by removing the authorisation he made to communicate with our certificate name.
+
+```sh
+$ enclave remove WZG24
+```
\ No newline at end of file
diff --git a/handbook/index.html b/handbook/index.html
index 34a1325..1a07523 100644
--- a/handbook/index.html
+++ b/handbook/index.html
@@ -35,7 +35,7 @@
diff --git a/handbook/install/ubuntu.md b/handbook/install/ubuntu.md
new file mode 100644
index 0000000..51d5efc
--- /dev/null
+++ b/handbook/install/ubuntu.md
@@ -0,0 +1,63 @@
+---
+layout: layout-page-docs
+css-section: docs-handbook
+parent: "Enclave Handbook"
+parentPath: handbook
+title: "Installing Enclave on Ubuntu"
+subtitle: "User Guide"
+contentPreview: ""
+indexed: true
+---
+
+# {{page.title}}
+
+> This guide applies to Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS, 18.10, 19.10 and 20.04 LTS.
+
+Packages are available for x86, x64 and ARM. All work with Ubuntu 14.04 LTS and higher.
+
+1. Install the **apt-transport-https** plugin.
+ ```bash
+ sudo apt-get install apt-transport-https
+ ```
+2. Add Enclave’s package signing key and repository to apt sources.
+ ```bash
+ curl -fsSL https://packages.enclave.io/apt/enclave.stable.gpg | sudo apt-key add -
+ curl -fsSL https://packages.enclave.io/apt/enclave.stable.list | sudo tee /etc/apt/sources.list.d/enclave.list
+ sudo apt-get update
+ ```
+3. Install Enclave.
+ ```bash
+ sudo apt-get install enclave
+ ```
+4. You will need provide a valid [Enrolment key](/handbook/portal/enrolment-keys) from your [Portal](https://portal.enclave.io/) account to complete installation.
+
+**Congratulations!** You've successfully enrolled a new system to your Enclave account.
+
+## Next steps
+
+Depending on the type of enrolment key you used to enrol your new system, it might be held waiting for an Administrator to provide enrolment approval in your account [Portal](https://portal.enclave.io/). Log in to authorise the enrolment of your new system and configure additional options like DNS.
+
+**Find your local Enclave IP address**
+Run `enclave status` at the command line to find the **Virtual Address** of your newly installed system.
+
+**Connect to other systems**
+Add [Tags](/handbook/portal/tags) to this system in the [Portal](https://portal.enclave.io/) to enable centralised management of network connectivity through [Policies](/handbook/portal/policies), or use this system without centralised management and allow local users to [define and manage](/handbook/portal/key-concepts) connectivity to other Enclave systems.
+
+**Test connectivity**
+Pings are a great start, but don't forget to check the local firewall configuration to ensure ICMP traffic is permitted.
+
+## Starting and stopping Enclave
+
+The installer creates a lightweight supervisor service set to run at system start which is responsible for starting the Enclave fabric. The supervisor service exists to start, stop and restart Enclave fabric in the background as daemon child processes.
+
+The supervisor service responds to the Enclave CLI verbs [start](/handbook/fabric/cli/start) and [stop](/handbook/fabric/cli/stop) to control the Fabric.
+
+## Updating Enclave
+
+
+
+## Uninstalling Enclave
+
+**TODO** `apt-get remove` and `apt-get purge`
+
+> **Note:** Enclave does not backup a system's private keys. Lost or deleted private keys are not recoverable. If a system's configuration and private keys are lost, to use that system with Enclave again it must be re-enrolled.
\ No newline at end of file
diff --git a/handbook/install/windows.md b/handbook/install/windows.md
new file mode 100644
index 0000000..515b575
--- /dev/null
+++ b/handbook/install/windows.md
@@ -0,0 +1,67 @@
+---
+layout: layout-page-docs
+css-section: docs-handbook
+parent: "Enclave Handbook"
+parentPath: handbook
+title: "Installing Enclave on Windows"
+subtitle: "User Guide"
+contentPreview: ""
+indexed: true
+---
+
+# {{page.title}}
+
+> This guide applies to Windows 7, 8 and 10 and Windows Server 2012, 2016 and 2019.
+
+Enclave works with Windows 7 or Windows Server 2012 and higher.
+
+1. Download the latest Windows installer from the [Downloads](https://portal.enclave.io/download) section of your account [Portal](https://portal.enclave.io/).
+2. Run the installer. Administrator privileges are required, but the installer will prompt for privilege elevation if necessary.
+3. You will need to provide a valid [Enrolment key](/handbook/portal/enrolment-keys) from your [Portal](https://portal.enclave.io/) account to complete installation.
+4. Once installed, Enclave will start and add a new tray icon to your system tray. If the Enclave tray icon is not visible, click the up arrow to find it in the hidden system tray overflow area.
+
+
+
+6. Right click on the tray icon to access the Enclave user interface.
+7. Depending on the type of enrolment key you used to enrol your new system, it might be held waiting for an Administrator to provide enrolment approval in your account [Portal](https://portal.enclave.io/). Log in to authorise the enrolment of your new system if you need to and configure additional options like DNS.
+
+**You're all set!** You've successfully enrolled a new system to your Enclave account.
+
+## Next steps
+
+**Connect to other Enclave systems:**
+Visit the [building your first connection](/guides/quick-start#getting-connected) section of our getting started guide to learn how to control Enclave.
+
+**Find your local Enclave IP address:**
+Open the Windows tray application to find your **Local Address** or run `enclave status` from a command prompt.
+
+**Test connectivity:**
+Pings are a great start, but don't forget to check the local Windows firewall configuration to ensure ICMP traffic is permitted.
+
+## Starting and stopping Enclave
+
+The Windows installer creates a lightweight supervisor service (named **Enclave** in the Services MMC snap-in) which automatically runs at system start and is responsible for starting the Enclave fabric. The supervisor service exists to start, stop and restart Enclave fabric in the background as child processes.
+
+The supervisor service responds to the Enclave CLI verbs [start](/handbook/fabric/cli/start) and [stop](/handbook/fabric/cli/stop) to control the Fabric.
+
+## Updating Enclave
+
+
+
+## Uninstalling Enclave
+
+Enclave can be removed from a system using the Windows Control Panel. Open either **Programs and Features** or **Apps and Features**. Select **Enclave** to remove / uninstall. During uninstallation Enclave will ask if you want to **Remove network fabric configuration and private keys?** Answering yes will empty the following directory:
+
+```
+C:\Program Files\Enclave Networks\Enclave\Agent\profiles\
+```
+
+Users should remove configuration and private keys when uninstalling if they are not planning to use Enclave again on a that particular system, or want to forcibly deregister.
+
+> **Note:** Enclave does not backup a system's private keys. Lost or deleted private keys are not recoverable. If a system's configuration and private keys are lost, to use that system with Enclave again it must be re-enrolled.
+
+## What to do if the install fails
+
+If an install goes horribly wrong, remove Enclave using the uninstaller and try again. If you're still encountering problems, examine the log files in `C:\Program Files\Enclave Networks\Enclave\Agent\logs`. If an install is interrupted use the Enclave setup file to restart the process.
+
+For troubleshooting and errors, use the site search or visit our [troubleshooting](/troubleshooting/) section to look for information about common error messages.
diff --git a/img/docs/enclave-tray-icon.png b/img/docs/enclave-tray-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c504abb3c18ccc57ed0d6446ffa539bf6bf3079
GIT binary patch
literal 19396
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