Deployed 3ef258a to Pre-release with MkDocs 1.6.1 and mike 2.1.3

This commit is contained in:
github-actions[bot]
2025-04-11 21:45:18 +00:00
parent 973ccd6dbc
commit a9bb7f49b5
30 changed files with 16055 additions and 1439 deletions
+468 -60
View File
@@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.10">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.11">
@@ -77,6 +77,11 @@
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#authentication" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
@@ -148,11 +153,13 @@
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
@@ -184,6 +191,7 @@
</div>
</div>
</div>
<div class="md-header__source">
@@ -236,6 +244,25 @@
<li class="md-tabs__item">
<a href="../../faq/" class="md-tabs__link">
FAQ
</a>
</li>
<li class="md-tabs__item">
<a href="../../getting-started/" class="md-tabs__link">
@@ -322,6 +349,26 @@
<li class="md-tabs__item">
<a href="../../guides/2fa/" class="md-tabs__link">
Guides
</a>
</li>
</ul>
</div>
</nav>
@@ -394,6 +441,28 @@
<li class="md-nav__item">
<a href="../../faq/" class="md-nav__link">
<span class="md-ellipsis">
FAQ
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../getting-started/" class="md-nav__link">
@@ -433,10 +502,10 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="">
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="">
@@ -449,8 +518,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_3">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Advanced
</label>
@@ -470,6 +539,19 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
API
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
@@ -482,6 +564,71 @@
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#authentication" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
<nav class="md-nav" aria-label="Authentication">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#authentication-example" class="md-nav__link">
<span class="md-ellipsis">
Authentication Example
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#endpoints" class="md-nav__link">
<span class="md-ellipsis">
Endpoints
</span>
</a>
<nav class="md-nav" aria-label="Endpoints">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#endpoints-example" class="md-nav__link">
<span class="md-ellipsis">
Endpoints Example
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
@@ -507,10 +654,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_2" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
@@ -523,8 +670,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_2">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Config
</label>
@@ -604,10 +751,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_3" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
@@ -620,8 +767,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_3">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Metrics
</label>
@@ -678,10 +825,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_3_4" id="__nav_3_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
@@ -694,8 +841,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3_4">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Migrate
</label>
@@ -782,10 +929,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@@ -798,8 +945,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Contributing
</label>
@@ -878,10 +1025,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@@ -894,8 +1041,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Examples
</label>
@@ -921,10 +1068,10 @@
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5_1" >
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
@@ -937,8 +1084,8 @@
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5_1">
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Tutorials
</label>
@@ -1089,35 +1236,12 @@
<li class="md-nav__item">
<a href="../../examples/tutorials/nginx/" class="md-nav__link">
<a href="../../examples/tutorials/podman-nft/" class="md-nav__link">
<span class="md-ellipsis">
NGINX
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../examples/tutorials/podman/" class="md-nav__link">
<span class="md-ellipsis">
Podman
Podman + nftables
</span>
@@ -1166,6 +1290,194 @@
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Guides
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Guides
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../guides/2fa/" class="md-nav__link">
<span class="md-ellipsis">
2FA
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/account/" class="md-nav__link">
<span class="md-ellipsis">
Edit Account
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/admin/" class="md-nav__link">
<span class="md-ellipsis">
Admin Panel
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/clients/" class="md-nav__link">
<span class="md-ellipsis">
Edit Client
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/login/" class="md-nav__link">
<span class="md-ellipsis">
Login
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../guides/setup/" class="md-nav__link">
<span class="md-ellipsis">
Setup
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
@@ -1184,6 +1496,62 @@
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#authentication" class="md-nav__link">
<span class="md-ellipsis">
Authentication
</span>
</a>
<nav class="md-nav" aria-label="Authentication">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#authentication-example" class="md-nav__link">
<span class="md-ellipsis">
Authentication Example
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#endpoints" class="md-nav__link">
<span class="md-ellipsis">
Endpoints
</span>
</a>
<nav class="md-nav" aria-label="Endpoints">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#endpoints-example" class="md-nav__link">
<span class="md-ellipsis">
Endpoints Example
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
@@ -1216,7 +1584,47 @@
<h1>API</h1>
<p>TODO</p>
<p>You can use the API to interact with the application programmatically. The API is available at <code>/api</code> and supports both GET and POST requests. The API is designed to be simple and easy to use, with a focus on providing a consistent interface for all endpoints.</p>
<p>There is no documentation for the API yet, but this will be added as the underlying library supports it.</p>
<h2 id="authentication"><a class="toclink" href="#authentication">Authentication</a></h2>
<p>To use the API, you need to authenticate using Basic Authentication. The username and password are the same as the ones you use to log in to the web application.
If you use 2FA, the API will not work. You need to disable 2FA in the web application to use the API.</p>
<h3 id="authentication-example"><a class="toclink" href="#authentication-example">Authentication Example</a></h3>
<div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">requests</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">requests.auth</span><span class="w"> </span><span class="kn">import</span> <span class="n">HTTPBasicAuth</span>
<span class="n">url</span> <span class="o">=</span> <span class="s2">&quot;https://example.com:51821/api/client&quot;</span>
<span class="n">response</span> <span class="o">=</span> <span class="n">requests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">url</span><span class="p">,</span> <span class="n">auth</span><span class="o">=</span><span class="n">HTTPBasicAuth</span><span class="p">(</span><span class="s1">&#39;username&#39;</span><span class="p">,</span> <span class="s1">&#39;password&#39;</span><span class="p">))</span>
<span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
<span class="nb">print</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Error: </span><span class="si">{</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
</code></pre></div>
<h2 id="endpoints"><a class="toclink" href="#endpoints">Endpoints</a></h2>
<p>The Endpoints are not yet documented. But as file-based routing is used, you can find the endpoints in the <code>src/server/api</code> folder. The method is defined in the file name.</p>
<h3 id="endpoints-example"><a class="toclink" href="#endpoints-example">Endpoints Example</a></h3>
<table>
<thead>
<tr>
<th>File Name</th>
<th>Endpoint</th>
<th>Method</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>src/server/api/client.get.ts</code></td>
<td><code>/api/client</code></td>
<td>GET</td>
</tr>
<tr>
<td><code>src/server/api/setup/2.post.ts</code></td>
<td><code>/api/setup/2</code></td>
<td>POST</td>
</tr>
</tbody>
</table>