Update documentation
authorUnknown <kwadronaut@leap.se>
Tue, 27 Feb 2018 10:45:37 +0000 (11:45 +0100)
committerkwadronaut <kwadronaut@leap.se>
Tue, 27 Feb 2018 10:47:29 +0000 (11:47 +0100)
After 0.10 release there were some updates and fixes, including how to upgrade to 0.10. Pulling all changes in, fixes https://0xacab.org/leap/leap_se/merge_requests/21

18 files changed:
docs/en/guide/provider-configuration.html
docs/en/guide/provider-configuration/index.html
docs/en/services/couchdb.html
docs/en/services/couchdb/index.html
docs/en/services/mx.html
docs/en/services/mx/index.html
docs/en/services/tor.html
docs/en/services/tor/index.html
docs/en/services/webapp.html
docs/en/services/webapp/index.html
docs/en/tutorials/quick-start.html
docs/en/tutorials/quick-start/index.html
docs/en/tutorials/vagrant.html
docs/en/tutorials/vagrant/index.html
docs/en/upgrading.html
docs/en/upgrading/upgrade-0-10.html [new file with mode: 0644]
docs/en/upgrading/upgrade-0-8.html
docs/en/upgrading/upgrade-0-9.html

index 5c98eb3..546da29 100644 (file)
@@ -162,7 +162,7 @@ Provider Configuration - LEAP Platform Documentation
 <li><code>description</code>: A longer description of the provider, shown to the user when they register a new account through Bitmask client.</li>
 <li><code>languages</code>: A list of language codes that should be enabled.</li>
 <li><code>default_language</code>: The initial default language code.</li>
-<li><code>enrollment_policy</code>: One of &ldquo;open&rdquo;, &ldquo;closed&rdquo;, or &ldquo;invite&rdquo;. (invite not currently supported).</li>
+<li><code>enrollment_policy</code>: One of &ldquo;open&rdquo;, &ldquo;closed&rdquo;, or &ldquo;invite&rdquo;. Defaults to invite.</li>
 </ul>
 
 
@@ -172,7 +172,7 @@ Provider Configuration - LEAP Platform Documentation
   "description": "It is time for robots of the world to unite and throw of the shackles of servitude to our organic overlords.",
   "languages": ["en", "de", "pt", "01"],
   "default_language": "01",
-  "enrollman_policy": "open"
+  "enrollment_policy": "open"
 }
 </code></pre>
 
index b710cb6..c355936 100644 (file)
@@ -162,7 +162,7 @@ Provider Configuration - LEAP Platform Documentation
 <li><code>description</code>: A longer description of the provider, shown to the user when they register a new account through Bitmask client.</li>
 <li><code>languages</code>: A list of language codes that should be enabled.</li>
 <li><code>default_language</code>: The initial default language code.</li>
-<li><code>enrollment_policy</code>: One of &ldquo;open&rdquo;, &ldquo;closed&rdquo;, or &ldquo;invite&rdquo;. (invite not currently supported).</li>
+<li><code>enrollment_policy</code>: One of &ldquo;open&rdquo;, &ldquo;closed&rdquo;, or &ldquo;invite&rdquo;. Defaults to invite.</li>
 </ul>
 
 
@@ -172,7 +172,7 @@ Provider Configuration - LEAP Platform Documentation
   "description": "It is time for robots of the world to unite and throw of the shackles of servitude to our organic overlords.",
   "languages": ["en", "de", "pt", "01"],
   "default_language": "01",
-  "enrollman_policy": "open"
+  "enrollment_policy": "open"
 }
 </code></pre>
 
index 43f7cfa..3b79fa2 100644 (file)
@@ -215,7 +215,7 @@ couchdb - LEAP Platform Documentation
 
 <ul>
 <li>search for the &ldquo;user_id&rdquo; field</li>
-<li>in this example <a href="&#x6d;&#97;&#105;&#x6c;&#x74;&#111;&#58;&#116;&#101;&#115;&#x74;&#117;&#115;&#101;&#x72;&#64;&#x65;&#120;&#97;&#x6d;&#x70;&#x6c;&#101;&#x2e;&#111;&#114;&#x67;">&#x74;&#101;&#x73;&#116;&#x75;&#115;&#101;&#x72;&#x40;&#101;&#x78;&#x61;&#109;&#x70;&#108;&#101;&#x2e;&#111;&#x72;&#103;</a> uses the database user-665e004870ee17aa4c94331ff3cd59eb</li>
+<li>in this example <a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x74;&#101;&#x73;&#x74;&#x75;&#115;&#x65;&#114;&#x40;&#101;&#120;&#97;&#109;&#112;&#108;&#x65;&#46;&#x6f;&#x72;&#x67;">&#x74;&#101;&#115;&#116;&#x75;&#115;&#101;&#114;&#64;&#101;&#x78;&#97;&#109;&#112;&#x6c;&#x65;&#x2e;&#111;&#x72;&#103;</a> uses the database user-665e004870ee17aa4c94331ff3cd59eb</li>
 </ul>
 
 
index b48c4eb..6fc4b03 100644 (file)
@@ -215,7 +215,7 @@ couchdb - LEAP Platform Documentation
 
 <ul>
 <li>search for the &ldquo;user_id&rdquo; field</li>
-<li>in this example <a href="&#109;&#97;&#x69;&#108;&#x74;&#x6f;&#58;&#x74;&#x65;&#115;&#116;&#117;&#x73;&#x65;&#114;&#x40;&#101;&#120;&#x61;&#109;&#x70;&#x6c;&#101;&#46;&#111;&#x72;&#103;">&#116;&#101;&#115;&#x74;&#x75;&#115;&#101;&#x72;&#x40;&#x65;&#120;&#97;&#x6d;&#112;&#108;&#x65;&#x2e;&#111;&#x72;&#103;</a> uses the database user-665e004870ee17aa4c94331ff3cd59eb</li>
+<li>in this example <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#x3a;&#116;&#x65;&#x73;&#116;&#117;&#x73;&#x65;&#x72;&#64;&#x65;&#120;&#x61;&#109;&#112;&#108;&#101;&#x2e;&#111;&#x72;&#103;">&#116;&#101;&#115;&#116;&#117;&#x73;&#101;&#x72;&#x40;&#101;&#120;&#x61;&#109;&#112;&#108;&#101;&#x2e;&#x6f;&#x72;&#x67;</a> uses the database user-665e004870ee17aa4c94331ff3cd59eb</li>
 </ul>
 
 
index aa41186..6a690a4 100644 (file)
@@ -156,8 +156,8 @@ mx - LEAP Platform Documentation
 
 <ol>
 <li>alias lists: by specifying an array of destination addresses, as in the case of &ldquo;flock&rdquo;, the single email will get copied to each address.</li>
-<li>chained resolution: alias resolution will recursively continue until there are no more matching aliases. For example, &ldquo;flock&rdquo; is resolved to &ldquo;robin&rdquo;, which then gets resolved to &ldquo;<a href="&#x6d;&#x61;&#105;&#108;&#x74;&#x6f;&#58;&#114;&#x6f;&#x62;&#x69;&#110;&#x40;&#x62;&#105;&#x72;&#x64;&#x2e;&#111;&#114;&#x67;">&#x72;&#x6f;&#98;&#105;&#x6e;&#64;&#x62;&#x69;&#114;&#x64;&#46;&#x6f;&#x72;&#x67;</a>&rdquo;.</li>
-<li>virtual domains: by specifying the full domain, as in the case of &ldquo;<a href="&#109;&#x61;&#x69;&#108;&#116;&#111;&#58;&#x63;&#104;&#x69;&#x63;&#x6b;&#97;&#100;&#x65;&#101;&#64;&#97;&#x76;&#105;&#97;&#110;&#46;&#x6f;&#x72;&#103;">&#x63;&#x68;&#105;&#99;&#107;&#97;&#x64;&#101;&#x65;&#64;&#97;&#x76;&#x69;&#97;&#110;&#46;&#x6f;&#114;&#x67;</a>&rdquo;, the alias will work for any domain you want. Of course, the MX record for that domain must point to appropriate MX servers, but otherwise you don&rsquo;t need to do any additional configuration.</li>
+<li>chained resolution: alias resolution will recursively continue until there are no more matching aliases. For example, &ldquo;flock&rdquo; is resolved to &ldquo;robin&rdquo;, which then gets resolved to &ldquo;<a href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#114;&#111;&#x62;&#x69;&#x6e;&#x40;&#x62;&#x69;&#x72;&#x64;&#46;&#x6f;&#114;&#103;">&#x72;&#111;&#98;&#x69;&#x6e;&#x40;&#98;&#x69;&#x72;&#x64;&#x2e;&#x6f;&#114;&#x67;</a>&rdquo;.</li>
+<li>virtual domains: by specifying the full domain, as in the case of &ldquo;<a href="&#x6d;&#x61;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#99;&#x68;&#105;&#99;&#107;&#97;&#100;&#x65;&#101;&#64;&#97;&#118;&#105;&#97;&#x6e;&#x2e;&#111;&#114;&#103;">&#x63;&#x68;&#x69;&#x63;&#107;&#97;&#100;&#101;&#101;&#x40;&#97;&#x76;&#105;&#x61;&#x6e;&#46;&#x6f;&#x72;&#103;</a>&rdquo;, the alias will work for any domain you want. Of course, the MX record for that domain must point to appropriate MX servers, but otherwise you don&rsquo;t need to do any additional configuration.</li>
 <li>local delivery: for testing purposes, it is often useful to copy all incoming mail for a particular address and send those copies to another address. You can do this by adding &ldquo;@deliver.local&rdquo; as one of the destination addresses. When &ldquo;@local.delivery&rdquo; is found, alias resolution stops and the mail is delivered to that username.</li>
 </ol>
 
index 048f519..3fed61b 100644 (file)
@@ -156,8 +156,8 @@ mx - LEAP Platform Documentation
 
 <ol>
 <li>alias lists: by specifying an array of destination addresses, as in the case of &ldquo;flock&rdquo;, the single email will get copied to each address.</li>
-<li>chained resolution: alias resolution will recursively continue until there are no more matching aliases. For example, &ldquo;flock&rdquo; is resolved to &ldquo;robin&rdquo;, which then gets resolved to &ldquo;<a href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#58;&#x72;&#111;&#x62;&#105;&#x6e;&#64;&#98;&#105;&#x72;&#x64;&#x2e;&#111;&#114;&#103;">&#114;&#x6f;&#x62;&#105;&#x6e;&#64;&#x62;&#x69;&#x72;&#100;&#x2e;&#x6f;&#x72;&#x67;</a>&rdquo;.</li>
-<li>virtual domains: by specifying the full domain, as in the case of &ldquo;<a href="&#109;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x63;&#x68;&#105;&#99;&#107;&#x61;&#x64;&#x65;&#x65;&#x40;&#x61;&#118;&#x69;&#97;&#110;&#x2e;&#x6f;&#x72;&#x67;">&#x63;&#x68;&#105;&#x63;&#107;&#97;&#x64;&#101;&#x65;&#x40;&#97;&#x76;&#x69;&#x61;&#x6e;&#x2e;&#111;&#114;&#103;</a>&rdquo;, the alias will work for any domain you want. Of course, the MX record for that domain must point to appropriate MX servers, but otherwise you don&rsquo;t need to do any additional configuration.</li>
+<li>chained resolution: alias resolution will recursively continue until there are no more matching aliases. For example, &ldquo;flock&rdquo; is resolved to &ldquo;robin&rdquo;, which then gets resolved to &ldquo;<a href="&#x6d;&#x61;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#114;&#x6f;&#98;&#x69;&#110;&#64;&#x62;&#105;&#114;&#100;&#x2e;&#111;&#x72;&#x67;">&#114;&#x6f;&#x62;&#105;&#x6e;&#x40;&#x62;&#105;&#x72;&#x64;&#x2e;&#111;&#x72;&#103;</a>&rdquo;.</li>
+<li>virtual domains: by specifying the full domain, as in the case of &ldquo;<a href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#99;&#x68;&#105;&#99;&#107;&#x61;&#x64;&#101;&#101;&#x40;&#97;&#x76;&#105;&#x61;&#110;&#46;&#111;&#x72;&#x67;">&#x63;&#104;&#x69;&#x63;&#x6b;&#x61;&#x64;&#101;&#101;&#x40;&#97;&#x76;&#x69;&#x61;&#110;&#46;&#x6f;&#x72;&#x67;</a>&rdquo;, the alias will work for any domain you want. Of course, the MX record for that domain must point to appropriate MX servers, but otherwise you don&rsquo;t need to do any additional configuration.</li>
 <li>local delivery: for testing purposes, it is often useful to copy all incoming mail for a particular address and send those copies to another address. You can do this by adding &ldquo;@deliver.local&rdquo; as one of the destination addresses. When &ldquo;@local.delivery&rdquo; is found, alias resolution stops and the mail is delivered to that username.</li>
 </ol>
 
index 1f6ce11..bdd8851 100644 (file)
@@ -144,7 +144,7 @@ tor - LEAP Platform Documentation
 
 <p>To add a relay to a node:</p>
 
-<pre><code>{ 
+<pre><code>{
  "services": ["tor"]
 }
 </code></pre>
index a6380d9..0ae2ab3 100644 (file)
@@ -144,7 +144,7 @@ tor - LEAP Platform Documentation
 
 <p>To add a relay to a node:</p>
 
-<pre><code>{ 
+<pre><code>{
  "services": ["tor"]
 }
 </code></pre>
index 6c853c2..ece18f3 100644 (file)
@@ -199,7 +199,6 @@ webapp - LEAP Platform Documentation
 
 <ul>
 <li><code>webapp.engines</code>: A list of the engines you want enabled in leap_web. Currently, only &ldquo;support&rdquo; is available, and it is enabled by default.</li>
-<li><code>webapp.invite_required</code>: If true, registration requires an invite code. Default is <code>false</code>.</li>
 </ul>
 
 
@@ -218,33 +217,38 @@ webapp - LEAP Platform Documentation
 
 <h2><a name="invite-codes"></a>Invite codes</h2>
 
-<p>Enabling the invite code functionality will require new users to provide a valid invite code while signing up for a new account. This is turned off by default, allowing all new users to create an account.</p>
+<p>The invite code functionality will require new users to provide a valid invite code while signing up for a new account. This is turned on by default since platform version 0.10. When switching it off, anyone will be able to create a new account.</p>
 
-<p>Set the <code>invite_code</code> option to <code>true</code> in <code>services/webapp.json</code>:</p>
+<p>Because even the first (admin) user that registers needs to have an invite code at hand, you´ll have to generate one:</p>
 
-<pre><code>{
-  "webapp": {
-    "invite_required": true
-  }
-}
+<pre><code>workstation$ leap run invite
+  = [bumblebee] running `cd /srv/leap/webapp; RAILS_ENV=production bundle exec rake "generate_invites[1,1]"`
+  = [bumblebee] pgae-aaub
+  = [bumblebee] complete in 5.031s.
 </code></pre>
 
-<p>This only works with LEAP platform 0.8 or higher.</p>
+<p>Where <code>bumblebee</code> should be replaced with the name of your webapp node. You can now browse to <a href="https://example.com">https://example.com</a> (replace with your domain) and register your first user, by using the invite code you just generated. If you added your user as an admin user (see above), you can now also generate new invite codes from within the web application.</p>
 
-<p>Run <code>leap deploy</code> to enable the option.</p>
+<p>It is possible to specify both <strong>NUM</strong>, the amount of codes to generate and <strong>USES</strong>: an optional parameter: by default all new invite codes can be used once and will then become invalid. If you provide another value, you can set how often it can be used before they&rsquo;re invalidated. To generate 2 codes that can be both reused 3 times you can run this:</p>
 
-<p>You can then generate invite codes by logging into the web application with an admin user.</p>
+<pre><code>workstation$ leap run invite 2,3 prodcution
+  = [bumblebee] running `cd /srv/leap/webapp; RAILS_ENV=production bundle exec rake "generate_invites[2,3]"`
+  = [bumblebee] pgae-aaub
+</code></pre>
+
+<p>psau-2qwbs
+      = [bumblebee] complete in 5.031s.</p>
 
-<p>Alternately, you can also generate invite codes with the command line:</p>
+<p>If you want to open up registration to the world, you can set the <code>enrollment_policy</code> option to <code>open</code> in <code>provider.json</code>:</p>
 
-<pre><code>workstation$ leap ssh bumblebee
-bumblebee# cd /srv/leap/webapp/
-bumblebee# sudo -u leap-webapp RAILS_ENV=production bundle exec rake "generate_invites[NUM,USES]"
+<pre><code>{
+  "enrollment_policy": "open"
+}
 </code></pre>
 
-<p>Where <code>bumblebee</code> should be replaced with the name of your webapp node.</p>
+<p>This only works with LEAP platform 0.8 or higher. The default enrollment policy changed from open to invite with the platform 0.10.</p>
 
-<p>The <strong>NUM</strong> specifies the amount of codes to generate. The <strong>USES</strong> parameter is optional: By default, all new invite codes can be used once and will then become invalid. If you provide another value for <strong>USES</strong>, you can set a different amount of maximum uses for the codes you generate.</p>
+<p>Run <code>leap deploy</code> to disable the option.</p>
 
 <h2><a name="customization"></a>Customization</h2>
 
index acdc098..0ae8b90 100644 (file)
@@ -199,7 +199,6 @@ webapp - LEAP Platform Documentation
 
 <ul>
 <li><code>webapp.engines</code>: A list of the engines you want enabled in leap_web. Currently, only &ldquo;support&rdquo; is available, and it is enabled by default.</li>
-<li><code>webapp.invite_required</code>: If true, registration requires an invite code. Default is <code>false</code>.</li>
 </ul>
 
 
@@ -218,33 +217,38 @@ webapp - LEAP Platform Documentation
 
 <h2><a name="invite-codes"></a>Invite codes</h2>
 
-<p>Enabling the invite code functionality will require new users to provide a valid invite code while signing up for a new account. This is turned off by default, allowing all new users to create an account.</p>
+<p>The invite code functionality will require new users to provide a valid invite code while signing up for a new account. This is turned on by default since platform version 0.10. When switching it off, anyone will be able to create a new account.</p>
 
-<p>Set the <code>invite_code</code> option to <code>true</code> in <code>services/webapp.json</code>:</p>
+<p>Because even the first (admin) user that registers needs to have an invite code at hand, you´ll have to generate one:</p>
 
-<pre><code>{
-  "webapp": {
-    "invite_required": true
-  }
-}
+<pre><code>workstation$ leap run invite
+  = [bumblebee] running `cd /srv/leap/webapp; RAILS_ENV=production bundle exec rake "generate_invites[1,1]"`
+  = [bumblebee] pgae-aaub
+  = [bumblebee] complete in 5.031s.
 </code></pre>
 
-<p>This only works with LEAP platform 0.8 or higher.</p>
+<p>Where <code>bumblebee</code> should be replaced with the name of your webapp node. You can now browse to <a href="https://example.com">https://example.com</a> (replace with your domain) and register your first user, by using the invite code you just generated. If you added your user as an admin user (see above), you can now also generate new invite codes from within the web application.</p>
 
-<p>Run <code>leap deploy</code> to enable the option.</p>
+<p>It is possible to specify both <strong>NUM</strong>, the amount of codes to generate and <strong>USES</strong>: an optional parameter: by default all new invite codes can be used once and will then become invalid. If you provide another value, you can set how often it can be used before they&rsquo;re invalidated. To generate 2 codes that can be both reused 3 times you can run this:</p>
 
-<p>You can then generate invite codes by logging into the web application with an admin user.</p>
+<pre><code>workstation$ leap run invite 2,3 prodcution
+  = [bumblebee] running `cd /srv/leap/webapp; RAILS_ENV=production bundle exec rake "generate_invites[2,3]"`
+  = [bumblebee] pgae-aaub
+</code></pre>
+
+<p>psau-2qwbs
+      = [bumblebee] complete in 5.031s.</p>
 
-<p>Alternately, you can also generate invite codes with the command line:</p>
+<p>If you want to open up registration to the world, you can set the <code>enrollment_policy</code> option to <code>open</code> in <code>provider.json</code>:</p>
 
-<pre><code>workstation$ leap ssh bumblebee
-bumblebee# cd /srv/leap/webapp/
-bumblebee# sudo -u leap-webapp RAILS_ENV=production bundle exec rake "generate_invites[NUM,USES]"
+<pre><code>{
+  "enrollment_policy": "open"
+}
 </code></pre>
 
-<p>Where <code>bumblebee</code> should be replaced with the name of your webapp node.</p>
+<p>This only works with LEAP platform 0.8 or higher. The default enrollment policy changed from open to invite with the platform 0.10.</p>
 
-<p>The <strong>NUM</strong> specifies the amount of codes to generate. The <strong>USES</strong> parameter is optional: By default, all new invite codes can be used once and will then become invalid. If you provide another value for <strong>USES</strong>, you can set a different amount of maximum uses for the codes you generate.</p>
+<p>Run <code>leap deploy</code> to disable the option.</p>
 
 <h2><a name="customization"></a>Customization</h2>
 
index d275a32..41a3c4b 100644 (file)
@@ -246,12 +246,13 @@ workstation$ ruby-install ruby
 
 <p>The LEAP platform recipes are a set modules designed to work together to provide you everything you need to manage your provider. You typically do not need to modify these, but do need them available for deploying your provider.</p>
 
-<p>To obtain the platform recipes, simply clone the git repository, and then check out the most recent stable release branch:</p>
+<p>To obtain the platform recipes, simply clone the git repository, and then check out the most recent release tagged stable :</p>
 
-<pre><code>workstation$ git clone -b version/0.9.x https://leap.se/git/leap_platform
+<pre><code>workstation$ git clone https://leap.se/git/leap_platform
+workstation$ git checkout 0.10.0
 </code></pre>
 
-<p>If you want to get the latest development branch (Beware: it could be unstable !) you could simply use the master branch instead by:</p>
+<p>If you want to get the latest developments (Beware: it could be unstable !) you just don&rsquo;t checkout a particular tag :</p>
 
 <pre><code>workstation$ git clone https://leap.se/git/leap_platform
 </code></pre>
@@ -445,7 +446,7 @@ wildebeest# run_tests
 
 <h1><a name="create-an-administrator"></a>Create an administrator</h1>
 
-<p>Assuming that you set up your DNS or <code>/etc/hosts</code> file, you should be able to load <code>https://example.org</code> in your web browser (where example.org is whatever domain name you actually used).</p>
+<p>The registration of new users is since the platform 0.10 restricted by default. You will need to generate an <code>invite code.</code> A simple <code>leap run invite</code> will give you an code like <code>ptxy-rsy1</code> which you can use to register a user. Assuming that you set up your DNS or <code>/etc/hosts</code> file, you should be able to load <code>https://example.org</code> in your web browser (where example.org is whatever domain name you actually used).</p>
 
 <p>Your browser will complain about an untrusted cert, but for now just bypass this. From there, you should be able to register a new user and login.</p>
 
@@ -460,7 +461,7 @@ wildebeest# run_tests
 
 <p>Save that file and run <code>leap deploy</code> again. When you next log on to the web application, the user kangaroo will now be an admin.</p>
 
-<p>If you want to restrict who can register a new user, see <a href="../services/webapp.html">webapp</a> for configuration options.</p>
+<p>If you want to open up registration of new users, see <a href="../services/webapp.html">webapp</a> for configuration options.</p>
 
 <h1><a name="what-is-next"></a>What is next?</h1>
 
index ae617e1..96cf538 100644 (file)
@@ -246,12 +246,13 @@ workstation$ ruby-install ruby
 
 <p>The LEAP platform recipes are a set modules designed to work together to provide you everything you need to manage your provider. You typically do not need to modify these, but do need them available for deploying your provider.</p>
 
-<p>To obtain the platform recipes, simply clone the git repository, and then check out the most recent stable release branch:</p>
+<p>To obtain the platform recipes, simply clone the git repository, and then check out the most recent release tagged stable :</p>
 
-<pre><code>workstation$ git clone -b version/0.9.x https://leap.se/git/leap_platform
+<pre><code>workstation$ git clone https://leap.se/git/leap_platform
+workstation$ git checkout 0.10.0
 </code></pre>
 
-<p>If you want to get the latest development branch (Beware: it could be unstable !) you could simply use the master branch instead by:</p>
+<p>If you want to get the latest developments (Beware: it could be unstable !) you just don&rsquo;t checkout a particular tag :</p>
 
 <pre><code>workstation$ git clone https://leap.se/git/leap_platform
 </code></pre>
@@ -445,7 +446,7 @@ wildebeest# run_tests
 
 <h1><a name="create-an-administrator"></a>Create an administrator</h1>
 
-<p>Assuming that you set up your DNS or <code>/etc/hosts</code> file, you should be able to load <code>https://example.org</code> in your web browser (where example.org is whatever domain name you actually used).</p>
+<p>The registration of new users is since the platform 0.10 restricted by default. You will need to generate an <code>invite code.</code> A simple <code>leap run invite</code> will give you an code like <code>ptxy-rsy1</code> which you can use to register a user. Assuming that you set up your DNS or <code>/etc/hosts</code> file, you should be able to load <code>https://example.org</code> in your web browser (where example.org is whatever domain name you actually used).</p>
 
 <p>Your browser will complain about an untrusted cert, but for now just bypass this. From there, you should be able to register a new user and login.</p>
 
@@ -460,7 +461,7 @@ wildebeest# run_tests
 
 <p>Save that file and run <code>leap deploy</code> again. When you next log on to the web application, the user kangaroo will now be an admin.</p>
 
-<p>If you want to restrict who can register a new user, see <a href="../../services/webapp.html">webapp</a> for configuration options.</p>
+<p>If you want to open up registration of new users, see <a href="../../services/webapp.html">webapp</a> for configuration options.</p>
 
 <h1><a name="what-is-next"></a>What is next?</h1>
 
index e473ce8..88623d9 100644 (file)
@@ -671,6 +671,7 @@ cat SHA215SUMS
 <li>If that fails, make sure that you can run virtual machines (VMs) in plain virtualbox (Virtualbox GUI or VBoxHeadless).
 We don&rsquo;t suggest a special howto for that, <a href="http://www.thegeekstuff.com/2012/02/virtualbox-install-create-vm/">this one</a> seems pretty decent, or you follow the <a href="http://www.virtualbox.org/manual/UserManual.html">Oracale Virtualbox User Manual</a>. There&rsquo;s also specific documentation for <a href="https://wiki.debian.org/VirtualBox">Debian</a> and for <a href="https://help.ubuntu.com/community/VirtualBox">Ubuntu</a>. If you succeeded, try again if you now can start vagrant nodes using plain vagrant (see first step).</li>
 <li>If plain vagrant works for you, you&rsquo;re very close to using vagrant with leap! If you encounter any problems now, please <a href="https://leap.se/en/about-us/contact">contact us</a> or use our <a href="https://leap.se/code">issue tracker</a></li>
+<li>The Vagrant on Ubuntu 16.04 has broken support for plugins, you should use the gem or upgrade your distro.</li>
 </ul>
 
 
index 181a3cc..ab16d0a 100644 (file)
@@ -671,6 +671,7 @@ cat SHA215SUMS
 <li>If that fails, make sure that you can run virtual machines (VMs) in plain virtualbox (Virtualbox GUI or VBoxHeadless).
 We don&rsquo;t suggest a special howto for that, <a href="http://www.thegeekstuff.com/2012/02/virtualbox-install-create-vm/">this one</a> seems pretty decent, or you follow the <a href="http://www.virtualbox.org/manual/UserManual.html">Oracale Virtualbox User Manual</a>. There&rsquo;s also specific documentation for <a href="https://wiki.debian.org/VirtualBox">Debian</a> and for <a href="https://help.ubuntu.com/community/VirtualBox">Ubuntu</a>. If you succeeded, try again if you now can start vagrant nodes using plain vagrant (see first step).</li>
 <li>If plain vagrant works for you, you&rsquo;re very close to using vagrant with leap! If you encounter any problems now, please <a href="https://leap.se/en/about-us/contact">contact us</a> or use our <a href="https://leap.se/code">issue tracker</a></li>
+<li>The Vagrant on Ubuntu 16.04 has broken support for plugins, you should use the gem or upgrade your distro.</li>
 </ul>
 
 
index 0e5d660..cb53650 100644 (file)
@@ -78,6 +78,9 @@ Upgrading - LEAP Platform Documentation
 <a class='' href='upgrading.html'>Upgrading</a>
 </li>
 <li class=' level1'>
+<a class='' href='upgrading/upgrade-0-10.html'>Upgrade to 0.10</a>
+</li>
+<li class=' level1'>
 <a class='' href='upgrading/upgrade-0-9.html'>Upgrade to 0.9</a>
 </li>
 <li class=' level1'>
@@ -103,6 +106,12 @@ Upgrading - LEAP Platform Documentation
 
 <div class=' page-summary'>
   <h2>
+    <a href='upgrading/upgrade-0-10.html'>Upgrade to 0.10</a>
+  </h2>
+  <div class='summary'></div>
+</div>
+<div class=' page-summary'>
+  <h2>
     <a href='upgrading/upgrade-0-9.html'>Upgrade to 0.9</a>
   </h2>
   <div class='summary'></div>
diff --git a/docs/en/upgrading/upgrade-0-10.html b/docs/en/upgrading/upgrade-0-10.html
new file mode 100644 (file)
index 0000000..2e88002
--- /dev/null
@@ -0,0 +1,212 @@
+<!DOCTYPE html>
+<html lang='en'>
+<head>
+<title>
+Upgrade to 0.10 - LEAP Platform Documentation
+</title>
+<meta content='width=device-width, initial-scale=1.0' name='viewport'>
+<meta charset='UTF-8'>
+<base href="" />
+<style>
+  body {
+    background: #444;
+    display: flex;
+    flex-direction: row;
+    padding: 10px;
+    margin: 0px;
+  }
+  #sidebar {
+    flex: 0 0 250px;
+    background: white;
+    margin-right: 10px;
+    padding: 20px;
+  }
+  #sidebar ul {
+    list-style-type: none;
+    padding-left: 0px;
+    margin: 0;
+  }
+  #sidebar li { padding: 4px }
+  #sidebar li a { text-decoration: none }
+  #sidebar li.active { background: #444 }
+  #sidebar li.active a { color: white }
+  #sidebar li.level1 { padding-left: 20px }
+  #sidebar li.level2 { padding-left: 40px }
+  #main {
+    flex: 1 1 auto;
+    background: white;
+    padding: 20px;
+  }
+  #title-box {
+    padding-bottom: 20px;
+    border-bottom: 5px solid #eee;
+  }
+  #title-box h1 {
+    margin-top: 0px;
+  }
+  pre {
+    padding: 10px;
+    background: #eef;
+  }
+  code {
+    background: #eef;
+  }
+  table {border-collapse: collapse}
+  table td {
+    border: 1px solid #ccc;
+    padding: 4px;
+    vertical-align: top;
+  }
+</style>
+</head>
+<body>
+<div id='sidebar'>
+<ul>
+<li class=''>
+<a href='../../index.html'>Home</a>
+</li>
+<li class=' level0'>
+<a class='' href='../guide.html'>Guide</a>
+</li>
+<li class=' level0'>
+<a class='' href='../tutorials.html'>Tutorials</a>
+</li>
+<li class=' level0'>
+<a class='' href='../services.html'>Services</a>
+</li>
+<li class='semi-active level0'>
+<a class='' href='../upgrading.html'>Upgrading</a>
+</li>
+<li class='active level1'>
+<a class='' href='upgrade-0-10.html'>Upgrade to 0.10</a>
+</li>
+<li class=' level1'>
+<a class='' href='upgrade-0-9.html'>Upgrade to 0.9</a>
+</li>
+<li class=' level1'>
+<a class='' href='upgrade-0-8.html'>Upgrade to 0.8</a>
+</li>
+<li class=' level0'>
+<a class='' href='../troubleshooting.html'>Troubleshooting</a>
+</li>
+<li class=' level0'>
+<a class='' href='../details.html'>Details</a>
+</li>
+</ul>
+</div>
+<div id='main'>
+<div id='title-box'>
+<h1>Upgrade to 0.10</h1>
+
+<div id='summary'></div>
+</div>
+<div id='content-box'>
+<h2><a name="upgrading-to-platform-010"></a>Upgrading to Platform 0.10</h2>
+
+<p>If you have a node with the service &lsquo;tor&rsquo; defined, you will need to change it to
+be either &lsquo;tor-relay&rsquo;, or &lsquo;tor-exit&rsquo;. Look in your provider directory under the
+nodes directory for any .json file that has a &lsquo;services&rsquo; section with &lsquo;tor&rsquo;
+defined, change that to the correct tor service you are wanting to deploy.</p>
+
+<p>Make sure you have the correct version of leap_cli</p>
+
+<pre><code>workstation$ sudo gem install leap_cli --version=1.9
+</code></pre>
+
+<p>If you are upgrading from a version previous to 0.9, please follow those upgrade
+instructions before upgrading to 0.10.</p>
+
+<p>Prepare your platform source by checking out the 0.10.x branch:</p>
+
+<pre><code>workstation$ cd leap_platform
+workstation$ git fetch
+workstation$ git checkout 0.10.x
+</code></pre>
+
+<p>Then, deploy:</p>
+
+<pre><code>workstation$ cd $PROVIDER_DIR
+workstation$ leap deploy
+workstation$ leap test
+</code></pre>
+
+<p>After deployment, if the leap test does not succeed, you should
+investigate. Please see below for some post-deployment upgrade steps that you
+may need to perform.</p>
+
+<p>Starting with Soledad Server 0.9.0, the CouchDB database schema was changed to
+improve speed of the server side storage backend. If you provided email, you
+will need to run the migration script, otherwise it is unnecessary. Until you
+migrate, soledad will refuse to start.</p>
+
+<p>To run the migration script, do the following (replacing $PROVIDER_DIR,
+$COUCHDB_NODE, $MX_NODE, and $SOLEDAD_NODE with your values):</p>
+
+<p>First backup your couchdb databases, just to be safe. NOTE: This can take some
+time and will place several hundred megabytes of data into
+/var/backups/couchdb. The size and time depends on how many users there are on
+your system. For example, 15k users took approximately 25 minutes and 308M of
+space:
+    workstation$ leap ssh $COUCHDB_NODE
+    server# cd /srv/leap/couchdb/scripts
+    server# ./cleanup-user-dbs
+    server# time ./couchdb_dumpall.sh</p>
+
+<p> Once that has finished, then its time to run the migration:</p>
+
+<pre><code>workstation$ cd $PROVIDER_DIR
+workstation$ leap run 'systemctl leap_mx stop' $MX_NODE
+workstation$ leap run --stream '/usr/share/soledad-server/migration/0.9/migrate.py --log-file /var/log/leap/soledad_migration --verbose --do-migrate' $SOLEDAD_NODE
+wait for it to finish (will print DONE)
+rerun if interrupted
+workstation$ leap deploy
+workstation$ leap test
+</code></pre>
+
+<p>Known Issues:</p>
+
+<p>If you have been deploying from our master branch (ie: unstable code), you might
+end up with a broken sources line for apt. If you get the following:
+    WARNING: The following packages cannot be authenticated!
+Then you should remove the files on your nodes inside
+/var/lib/puppet/modules/apt/keys and deploy again. (#8862, #8876)</p>
+
+<ul>
+<li>When upgrading, sometimes systemd does not report the correct state of a
+daemon. The daemon will be not running, but systemd thinks it is. The symptom
+of this is that a deploy will succeed but <code>leap test</code> will fail. To fix, you
+can run <code>systemctl stop DAEMON</code> and then <code>systemctl start DAEMON</code> on the
+affected host (systemctl restart seems to work less reliably).</li>
+</ul>
+
+
+<p>Includes:</p>
+
+<ul>
+<li>leap_web: 0.9.2</li>
+<li>nickserver: 0.10.0</li>
+<li>leap-mx: 0.10.1</li>
+<li>soledad-server: 0.10.5</li>
+</ul>
+
+
+<p>Commits: <a href="https://0xacab.org/groups/leap/milestones/platform-010?title=Platform+0.10">https://0xacab.org/groups/leap/milestones/platform-010?title=Platform+0.10</a></p>
+
+<p>For details on about all the changes included in this release please consult the
+<a href="https://0xacab.org/leap/platform/milestones/7">LEAP platform 0.10 milestone</a>.</p>
+
+<p>Always a good idea to check if you have the latest version of leap_cli:</p>
+
+<pre><code>workstation$ sudo gem install leap_cli --version=1.9
+</code></pre>
+
+<p>If you don&rsquo;t want to install using &lsquo;sudo&rsquo;:</p>
+
+<pre><code>workstation$ gem install --user-install leap_cli --version=1.9
+workstation$ PATH="$PATH:$(ruby -e 'puts Gem.user_dir')/bin"
+</code></pre>
+
+</div>
+</div>
+</body>
+</html>
index 275abd1..5b7dec1 100644 (file)
@@ -78,6 +78,9 @@ Upgrade to 0.8 - LEAP Platform Documentation
 <a class='' href='../upgrading.html'>Upgrading</a>
 </li>
 <li class=' level1'>
+<a class='' href='upgrade-0-10.html'>Upgrade to 0.10</a>
+</li>
+<li class=' level1'>
 <a class='' href='upgrade-0-9.html'>Upgrade to 0.9</a>
 </li>
 <li class='active level1'>
index cb78569..d798973 100644 (file)
@@ -77,6 +77,9 @@ Upgrade to 0.9 - LEAP Platform Documentation
 <li class='semi-active level0'>
 <a class='' href='../upgrading.html'>Upgrading</a>
 </li>
+<li class=' level1'>
+<a class='' href='upgrade-0-10.html'>Upgrade to 0.10</a>
+</li>
 <li class='active level1'>
 <a class='' href='upgrade-0-9.html'>Upgrade to 0.9</a>
 </li>