Skip to content

Commit cab16b9

Browse files
author
Edgehog Bot
committed
Update Documentation
1 parent b3c74d2 commit cab16b9

8 files changed

Lines changed: 861 additions & 852 deletions

File tree

snapshot/Clea Edgehog.epub

3 Bytes
Binary file not shown.

snapshot/admin-rest-api/openapi.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -714,14 +714,14 @@ paths:
714714
$ref: '#/components/responses/errors'
715715
tags:
716716
- tenant
717-
/admin-api/v1/tenants/{id}:
717+
/admin-api/v1/tenants/{tenant_id}:
718718
delete:
719719
callbacks: {}
720720
deprecated: false
721721
description: Destroy tenant handling resource cleanup.
722722
parameters:
723723
- in: path
724-
name: id
724+
name: tenant_id
725725
required: true
726726
schema:
727727
type: string

snapshot/core_concepts-1.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ <h1>Core concepts</h1>
151151
<code class="inline">datetime(&quot;2022-06-27T16:27:40.254795Z&quot;)</code>.</li><li><code class="inline">binaryblob(&quot;&lt;base64 encoded value&gt;&quot;)</code> is used to pass <code class="inline">binaryblob</code> values in expressions. The
152152
string contained in double quotes must be a valid Base64 encoding of the binary value. Example:
153153
<code class="inline">binaryblob(&quot;Zm9vYmFy&quot;)</code> to encode the string <code class="inline">&quot;foobar&quot;</code>.</li></ul><h5>Attribute inclusion filter*</h5><p>*<em>This feature is planned for a future release</em></p><ul><li><code class="inline">&quot;&lt;value&gt;&quot; in attributes[&quot;&lt;namespace&gt;:&lt;key&gt;&quot;]</code>: returns <code class="inline">true</code> if <code class="inline">value</code> is included in the
154-
chosen attribute. Note that the attribute must be an array for the expression to be valid.</li></ul><h4>Examples</h4><p>To provide some examples, here is a Selector to target all out of order Devices in Milan:</p><pre><code class="makeup elixir" translate="no"><span class="s">&quot;out-of-order&quot;</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">tags</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="n">attributes</span><span class="p" data-group-id="6493844409-1">[</span><span class="s">&quot;edgehog-synthetic:city&quot;</span><span class="p" data-group-id="6493844409-1">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s">&quot;Milan&quot;</span></code></pre><p>Here is a selector to target all Devices that have their service timestamp in the past so they have
154+
chosen attribute. Note that the attribute must be an array for the expression to be valid.</li></ul><h4>Examples</h4><p>To provide some examples, here is a Selector to target all out of order Devices in Milan:</p><pre><code class="makeup elixir" translate="no"><span class="s">&quot;out-of-order&quot;</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">tags</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="n">attributes</span><span class="p" data-group-id="7095756725-1">[</span><span class="s">&quot;edgehog-synthetic:city&quot;</span><span class="p" data-group-id="7095756725-1">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s">&quot;Milan&quot;</span></code></pre><p>Here is a selector to target all Devices that have their service timestamp in the past so they have
155155
to be serviced, imagining this information is contained in the <code class="inline">com.foo.ServiceInfo</code> Astarte
156-
interface in the <code class="inline">/serviceTimestamp</code>:</p><pre><code class="makeup elixir" translate="no"><span class="n">attributes</span><span class="p" data-group-id="9774763228-1">[</span><span class="s">&quot;astarte-values:com.foo.ServiceInfo/serviceTimestamp&quot;</span><span class="p" data-group-id="9774763228-1">]</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">now</span><span class="p" data-group-id="9774763228-2">(</span><span class="p" data-group-id="9774763228-2">)</span></code></pre><h4>Caveats</h4><p>Note that numeric values are conflated in a single numeric type, i.e. a selector with
156+
interface in the <code class="inline">/serviceTimestamp</code>:</p><pre><code class="makeup elixir" translate="no"><span class="n">attributes</span><span class="p" data-group-id="4408338601-1">[</span><span class="s">&quot;astarte-values:com.foo.ServiceInfo/serviceTimestamp&quot;</span><span class="p" data-group-id="4408338601-1">]</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">now</span><span class="p" data-group-id="4408338601-2">(</span><span class="p" data-group-id="4408338601-2">)</span></code></pre><h4>Caveats</h4><p>Note that numeric values are conflated in a single numeric type, i.e. a selector with
157157
<code class="inline">attributes[&quot;custom:foo&quot;] == 42</code> will match either if <code class="inline">foo</code> is <code class="inline">integer</code>, <code class="inline">longinteger</code> or <code class="inline">double</code>
158158
(e.g it will also match <code class="inline">42.0</code>).</p><p>Another important thing to notice is that using an Attribute Filter will implicitly match only
159159
Devices that have that attribute. As an example, if there are 3 devices, one with attribute <code class="inline">foo:bar == 42</code>, the other with attribute <code class="inline">foo:bar == 3</code> and the third one with no <code class="inline">foo:bar</code> attribute, the

snapshot/core_concepts-2.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ <h1>Core concepts</h1>
103103

104104

105105
<p>This page illustrates the core concepts of Edgehog's container management system.</p><h2 id="images" class="section-heading"><a href="#images" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Images</span></h2><p>Images in Edgehog are not managed directly by the platform. Instead, Edgehog treats images as external references that are passed to the device’s container runtime (such as Docker or Podman). Edgehog does not store, pull or validate images, it simply records the image reference string provided in a container definition.</p><h3 id="image-reference-format" class="section-heading"><a href="#image-reference-format" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Image Reference Format</span></h3><p>The image reference represents the name of the image to pull.
106-
It follows the pattern:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="1210562224-1">[</span><span class="n">registry</span><span class="o">-</span><span class="n">host</span><span class="p" data-group-id="1210562224-2">[</span><span class="ss">:port</span><span class="p" data-group-id="1210562224-2">]</span><span class="o">/</span><span class="p" data-group-id="1210562224-1">]</span><span class="p" data-group-id="1210562224-3">[</span><span class="n">image</span><span class="o">-</span><span class="n">repo</span><span class="o">/</span><span class="p" data-group-id="1210562224-3">]</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="p" data-group-id="1210562224-4">[</span><span class="p">:</span><span class="p" data-group-id="1210562224-5">(</span><span class="n">tag</span><span class="o">|</span><span class="n">digest</span><span class="p" data-group-id="1210562224-5">)</span><span class="p" data-group-id="1210562224-4">]</span></code></pre><h3 id="image-reference-examples" class="section-heading"><a href="#image-reference-examples" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Image Reference Examples</span></h3><h4>Basic Examples</h4><pre><code class="makeup elixir" translate="no"><span class="n">nginx</span><span class="w">
106+
It follows the pattern:</p><pre><code class="makeup elixir" translate="no"><span class="p" data-group-id="9833723547-1">[</span><span class="n">registry</span><span class="o">-</span><span class="n">host</span><span class="p" data-group-id="9833723547-2">[</span><span class="ss">:port</span><span class="p" data-group-id="9833723547-2">]</span><span class="o">/</span><span class="p" data-group-id="9833723547-1">]</span><span class="p" data-group-id="9833723547-3">[</span><span class="n">image</span><span class="o">-</span><span class="n">repo</span><span class="o">/</span><span class="p" data-group-id="9833723547-3">]</span><span class="n">image</span><span class="o">-</span><span class="n">name</span><span class="p" data-group-id="9833723547-4">[</span><span class="p">:</span><span class="p" data-group-id="9833723547-5">(</span><span class="n">tag</span><span class="o">|</span><span class="n">digest</span><span class="p" data-group-id="9833723547-5">)</span><span class="p" data-group-id="9833723547-4">]</span></code></pre><h3 id="image-reference-examples" class="section-heading"><a href="#image-reference-examples" class="hover-link"><i class="ri-link-m" aria-hidden="true"></i></a><span class="text">Image Reference Examples</span></h3><h4>Basic Examples</h4><pre><code class="makeup elixir" translate="no"><span class="n">nginx</span><span class="w">
107107
</span><span class="n">redis</span><span class="w">
108108
</span><span class="n">python</span></code></pre><h4>With Explicit Tags</h4><pre><code class="makeup elixir" translate="no"><span class="n">nginx</span><span class="p">:</span><span class="mf">1.27</span><span class="w">
109109
</span><span class="n">python</span><span class="p">:</span><span class="mf">3.12</span><span class="o">-</span><span class="n">alpine</span></code></pre><h4>With Image Repository</h4><pre><code class="makeup elixir" translate="no"><span class="n">library</span><span class="o">/</span><span class="n">ubuntu</span><span class="p">:</span><span class="mf">24.04</span><span class="w">

snapshot/deploying_with_kubernetes.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -584,17 +584,17 @@ <h1>Deploying with Kubernetes</h1>
584584
</span><span class="gp unselectable">iex&gt; </span><span class="n">realm_private_key</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;&quot;&quot;
585585
&lt;ASTARTE-REALM-PRIVATE-KEY&gt;
586586
&quot;&quot;&quot;</span><span class="w">
587-
</span><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="9477549289-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">tenant</span><span class="p" data-group-id="9477549289-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Tenants</span><span class="o">.</span><span class="n">provision_tenant</span><span class="p" data-group-id="9477549289-2">(</span><span class="w">
588-
</span><span class="p" data-group-id="9477549289-3">%{</span><span class="w">
587+
</span><span class="gp unselectable">iex&gt; </span><span class="p" data-group-id="8259702638-1">{</span><span class="ss">:ok</span><span class="p">,</span><span class="w"> </span><span class="n">tenant</span><span class="p" data-group-id="8259702638-1">}</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nc">Tenants</span><span class="o">.</span><span class="n">provision_tenant</span><span class="p" data-group-id="8259702638-2">(</span><span class="w">
588+
</span><span class="p" data-group-id="8259702638-3">%{</span><span class="w">
589589
</span><span class="ss">name</span><span class="p">:</span><span class="w"> </span><span class="n">tenant_name</span><span class="p">,</span><span class="w">
590590
</span><span class="ss">slug</span><span class="p">:</span><span class="w"> </span><span class="n">tenant_slug</span><span class="p">,</span><span class="w">
591591
</span><span class="ss">public_key</span><span class="p">:</span><span class="w"> </span><span class="n">tenant_public_key</span><span class="p">,</span><span class="w">
592-
</span><span class="ss">astarte_config</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="9477549289-4">%{</span><span class="w">
592+
</span><span class="ss">astarte_config</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="8259702638-4">%{</span><span class="w">
593593
</span><span class="ss">base_api_url</span><span class="p">:</span><span class="w"> </span><span class="n">base_api_url</span><span class="p">,</span><span class="w">
594594
</span><span class="ss">realm_name</span><span class="p">:</span><span class="w"> </span><span class="n">realm_name</span><span class="p">,</span><span class="w">
595595
</span><span class="ss">realm_private_key</span><span class="p">:</span><span class="w"> </span><span class="n">realm_private_key</span><span class="w">
596-
</span><span class="p" data-group-id="9477549289-4">}</span><span class="w">
597-
</span><span class="p" data-group-id="9477549289-3">}</span><span class="p" data-group-id="9477549289-2">)</span></code></pre><p>Values to be replaced</p><ul><li><code class="inline">TENANT-NAME</code>: the name of the new tenant.</li><li><code class="inline">TENANT-SLUG</code>: the slug of the tenant, must contain only lowercase letters and hyphens.</li><li><code class="inline">TENANT-PUBLIC-KEY</code>: the content of <code class="inline">tenant_public.pem</code> created in the <a href="#creating-a-keypair">previous
596+
</span><span class="p" data-group-id="8259702638-4">}</span><span class="w">
597+
</span><span class="p" data-group-id="8259702638-3">}</span><span class="p" data-group-id="8259702638-2">)</span></code></pre><p>Values to be replaced</p><ul><li><code class="inline">TENANT-NAME</code>: the name of the new tenant.</li><li><code class="inline">TENANT-SLUG</code>: the slug of the tenant, must contain only lowercase letters and hyphens.</li><li><code class="inline">TENANT-PUBLIC-KEY</code>: the content of <code class="inline">tenant_public.pem</code> created in the <a href="#creating-a-keypair">previous
598598
step</a>. Open a multiline string with <code class="inline">&quot;&quot;&quot;</code>, press Enter, paste the content of
599599
the file in the <code class="inline">iex</code> shell and then close the multiline string with <code class="inline">&quot;&quot;&quot;</code> on a new line.</li><li><code class="inline">ASTARTE-BASE-API-URL</code>: the base API url of the Astarte instance (e.g.
600600
<a href="https://api.astarte.example.com">https://api.astarte.example.com</a>).</li><li><code class="inline">ASTARTE-REALM-NAME</code>: the name of the Astarte realm you're using.</li><li><code class="inline">ASTARTE-REALM-PRIVATE-KEY</code>: the content of the Astarte realm's private key. Open a multiline string with

0 commit comments

Comments
 (0)