Archived
docs: refine fleet guide
This commit is contained in:
+24
-21
@@ -69,20 +69,20 @@
|
|||||||
<div class="container doc-layout">
|
<div class="container doc-layout">
|
||||||
<aside class="toc" aria-label="Machines page contents">
|
<aside class="toc" aria-label="Machines page contents">
|
||||||
<strong>On this page</strong>
|
<strong>On this page</strong>
|
||||||
<a href="#what-it-is">What federation is</a>
|
<a href="#what-it-is">What Fleet does</a>
|
||||||
<a href="#when-to-use">When to use it</a>
|
<a href="#when-to-use">When to use it</a>
|
||||||
<a href="#prepare-machines">Prepare machines</a>
|
<a href="#prepare-machines">Set up another runtime</a>
|
||||||
<a href="#add-machine">Add a machine</a>
|
<a href="#add-machine">Add a machine</a>
|
||||||
<a href="#what-is-proxied">What is proxied</a>
|
<a href="#what-is-proxied">What works remotely</a>
|
||||||
<a href="#auth-credentials">Auth and credentials</a>
|
<a href="#auth-credentials">Credentials</a>
|
||||||
<a href="#plugins">Remote plugins</a>
|
<a href="#plugins">Plugins</a>
|
||||||
<a href="#trust-model">Trust model</a>
|
<a href="#trust-model">Trust boundaries</a>
|
||||||
<a href="#storage-troubleshooting">Storage and troubleshooting</a>
|
<a href="#storage-troubleshooting">Troubleshooting</a>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<div class="doc-content">
|
<div class="doc-content">
|
||||||
<section id="what-it-is">
|
<section id="what-it-is">
|
||||||
<h2>What machine federation is</h2>
|
<h2>What Fleet does</h2>
|
||||||
<p>
|
<p>
|
||||||
A machine is a PI WEB runtime endpoint. The local machine is synthesized automatically. Remote machines
|
A machine is a PI WEB runtime endpoint. The local machine is synthesized automatically. Remote machines
|
||||||
are opt-in PI WEB runtimes that you register with a base URL and, optionally, a bearer token.
|
are opt-in PI WEB runtimes that you register with a base URL and, optionally, a bearer token.
|
||||||
@@ -94,21 +94,24 @@
|
|||||||
</p>
|
</p>
|
||||||
<div class="code-card">
|
<div class="code-card">
|
||||||
<div class="copy-row">
|
<div class="copy-row">
|
||||||
<strong>Federated shape</strong>
|
<strong>Fleet shape</strong>
|
||||||
<button class="copy-button" data-copy="#federated-shape">Copy</button>
|
<button class="copy-button" data-copy="#federated-shape">Copy</button>
|
||||||
</div>
|
</div>
|
||||||
<pre id="federated-shape"><code>Browser
|
<pre id="federated-shape"><code>Browser
|
||||||
↓
|
↓
|
||||||
PI WEB gateway you opened
|
PI WEB gateway you opened
|
||||||
↓ gateway proxy
|
├─ [ Local runtime ]
|
||||||
Remote PI WEB runtime
|
│
|
||||||
↓
|
├─ [ Remote PI WEB runtime A ]
|
||||||
Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
│ ↓ selected machine
|
||||||
|
│ projects, workspaces, sessions, terminals, plugins
|
||||||
|
│
|
||||||
|
└─ [ Remote PI WEB runtime B ]</code></pre>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="when-to-use">
|
<section id="when-to-use">
|
||||||
<h2>When to use federation</h2>
|
<h2>When to use it</h2>
|
||||||
<p>
|
<p>
|
||||||
Federation is useful when you have more than one place where agents should work, but you want one stable
|
Federation is useful when you have more than one place where agents should work, but you want one stable
|
||||||
browser entrypoint.
|
browser entrypoint.
|
||||||
@@ -133,7 +136,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="prepare-machines">
|
<section id="prepare-machines">
|
||||||
<h2>Prepare the target machines</h2>
|
<h2>Set up another runtime</h2>
|
||||||
<p>
|
<p>
|
||||||
Install and run PI WEB on every machine you want to register. The remote URL must be reachable from the
|
Install and run PI WEB on every machine you want to register. The remote URL must be reachable from the
|
||||||
gateway server, not just from your browser.
|
gateway server, not just from your browser.
|
||||||
@@ -159,7 +162,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="add-machine">
|
<section id="add-machine">
|
||||||
<h2>Add a remote machine</h2>
|
<h2>Add a machine</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Open the PI WEB instance you want to use as the gateway.</li>
|
<li>Open the PI WEB instance you want to use as the gateway.</li>
|
||||||
<li>Open <strong>Actions → Add Machine</strong>.</li>
|
<li>Open <strong>Actions → Add Machine</strong>.</li>
|
||||||
@@ -178,7 +181,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="what-is-proxied">
|
<section id="what-is-proxied">
|
||||||
<h2>What is proxied</h2>
|
<h2>What works remotely</h2>
|
||||||
<p>
|
<p>
|
||||||
After you select a machine, the rest of the app works in that machine's scope. The gateway routes the
|
After you select a machine, the rest of the app works in that machine's scope. The gateway routes the
|
||||||
selected-machine work to the target PI WEB runtime.
|
selected-machine work to the target PI WEB runtime.
|
||||||
@@ -194,7 +197,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="auth-credentials">
|
<section id="auth-credentials">
|
||||||
<h2>Auth and credentials stay on the target machine</h2>
|
<h2>Credentials stay on the target machine</h2>
|
||||||
<p>
|
<p>
|
||||||
Model-provider credentials, Pi configuration, OAuth state, repositories, and active session runtimes stay
|
Model-provider credentials, Pi configuration, OAuth state, repositories, and active session runtimes stay
|
||||||
on the selected target machine. The gateway does not copy them into its own Pi configuration.
|
on the selected target machine. The gateway does not copy them into its own Pi configuration.
|
||||||
@@ -211,7 +214,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="plugins">
|
<section id="plugins">
|
||||||
<h2>Remote plugins are machine-scoped</h2>
|
<h2>Plugins follow the selected machine</h2>
|
||||||
<p>
|
<p>
|
||||||
When you select a remote machine, PI WEB tries to load that machine's discovered plugins through the
|
When you select a remote machine, PI WEB tries to load that machine's discovered plugins through the
|
||||||
gateway. Remote plugin actions, workspace panels, and workspace labels only appear while that machine is
|
gateway. Remote plugin actions, workspace panels, and workspace labels only appear while that machine is
|
||||||
@@ -225,7 +228,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="trust-model">
|
<section id="trust-model">
|
||||||
<h2>Trust model</h2>
|
<h2>Trust boundaries</h2>
|
||||||
<p>
|
<p>
|
||||||
Machine federation is for trusted users, trusted PI WEB servers, and trusted network paths. Adding a
|
Machine federation is for trusted users, trusted PI WEB servers, and trusted network paths. Adding a
|
||||||
machine gives the gateway permission to contact that URL and forward user-initiated PI WEB traffic to it.
|
machine gives the gateway permission to contact that URL and forward user-initiated PI WEB traffic to it.
|
||||||
@@ -238,7 +241,7 @@ Remote projects, workspaces, sessions, terminals, plugins</code></pre>
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="storage-troubleshooting">
|
<section id="storage-troubleshooting">
|
||||||
<h2>Storage and troubleshooting</h2>
|
<h2>Troubleshooting</h2>
|
||||||
<p>
|
<p>
|
||||||
Remote machine records are stored on the gateway in <code>~/.pi-web/machines.json</code>. If
|
Remote machine records are stored on the gateway in <code>~/.pi-web/machines.json</code>. If
|
||||||
<code>PI_WEB_DATA_DIR</code> is set, they live under <code>$PI_WEB_DATA_DIR/machines.json</code>.
|
<code>PI_WEB_DATA_DIR</code> is set, they live under <code>$PI_WEB_DATA_DIR/machines.json</code>.
|
||||||
|
|||||||
Reference in New Issue
Block a user