Three fewer things to remember
**The portal link puts itself back up.** It already retried a connection that raised, but a session that ended *cleanly* — a portal restarting, a proxy closing an idle socket — returned normally and went straight back round the loop with no wait at all, so an engine could spin against a portal that was merely saying goodbye politely. Every ending now reconnects on a delay, and the delay turns on whether the attempt got as far as attaching: one that stood up and dropped is a network event and retries at once, one that never stood up waits longer each time. Jittered, so a portal coming back is not met by every installation it serves in the same instant. Ping timeouts are named rather than defaulted, since they are what bounds how long a suspended laptop's dead socket looks alive, and the keepalive task is awaited so the reason a link went reaches the log instead of the garbage collector. **`fluksio enroll <code>`** is the whole command now; hub.fluksio.com is the default and `--portal` names another. The one command run before anything works should not need two flags. **`fluksio run` syncs first.** The reason a run exists is usually the edit before it, so remembering to sync was remembering to do something the computer could do — including the worker refresh, which is what makes an edit to your own package take effect at all. `--no-sync` opts out for a tight loop. That last one needed discovery fixed: it only ever looked at top-level `*.py`, so a repository whose code is in a package — the ordinary shape — found nothing from its own root. It now descends into the packages it holds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ue1tkFWB1bcGy3aWhCKpU
This commit is contained in:
+19
-9
@@ -76,7 +76,7 @@ Created the admin account admin@example.com
|
||||
Fluksio 0.1.0 — data in /home/you/.fluksio
|
||||
API http://127.0.0.1:8000/api/v1
|
||||
No portal. Pair this installation with:
|
||||
fluksio enroll <code> --portal https://hub.example.com
|
||||
fluksio enroll <code>
|
||||
```
|
||||
|
||||
An enrolled installation says which portal it is on instead, and notes that the
|
||||
@@ -87,21 +87,25 @@ dashboard is served from there rather than here.
|
||||
Pairs an existing installation with a portal.
|
||||
|
||||
```sh
|
||||
fluksio enroll ABCD-1234 --portal https://hub.fluksio.com
|
||||
fluksio enroll ABCD-1234
|
||||
```
|
||||
|
||||
| Option | What it does |
|
||||
|---|---|
|
||||
| `--portal URL` | **required** — the portal the code was minted on |
|
||||
| `--portal URL` | a portal of your own, instead of `https://hub.fluksio.com` |
|
||||
| `--as EMAIL` | the local account a portal session arrives as |
|
||||
| `--data-dir PATH` | which installation, if not the default |
|
||||
| `--data-dir PATH` | which installation, if not the one this directory is in |
|
||||
|
||||
Get the code from the portal under **Installations → Add installation**. It is
|
||||
single-use and expires in fifteen minutes. `--as` matters when the installation
|
||||
has several superusers — without it, enrolment refuses rather than guessing.
|
||||
|
||||
Afterwards, `fluksio serve` dials the portal as it comes up. See
|
||||
[Accounts and the portal](../interface/portal.md).
|
||||
Afterwards, `fluksio serve` dials the portal as it comes up, and keeps dialling:
|
||||
a portal that restarts, a wifi that changes, a laptop that suspends and wakes
|
||||
somewhere else all end the same connection, and the link is put back up without
|
||||
anybody noticing. A connection that stood up and then dropped is retried at
|
||||
once; one that never stood up waits a little longer each time, up to half a
|
||||
minute. See [Accounts and the portal](../interface/portal.md).
|
||||
|
||||
## `fluksio worker`
|
||||
|
||||
@@ -164,9 +168,15 @@ until the process goes. See
|
||||
fluksio run train --lr 0.05 --seed 7 [--wait]
|
||||
```
|
||||
|
||||
Submits a run. Flags that are not its own are the flow's inputs, typed by what
|
||||
the flow declares them as. `--wait` blocks until the run finishes and exits
|
||||
non-zero if it failed.
|
||||
Syncs the working directory, then submits a run — so the command after an edit
|
||||
is this one and nothing else. Flags that are not its own are the flow's
|
||||
inputs, typed by what the flow declares them as. `--wait` blocks until the run
|
||||
finishes and exits non-zero if it failed.
|
||||
|
||||
`--no-sync` runs what is already on the engine. Worth it in a tight loop where
|
||||
you know nothing changed, since syncing retires the workers and the next call
|
||||
pays its imports again. A directory that declares no flows syncs nothing and
|
||||
says nothing — a flow drawn on the canvas is run the same way.
|
||||
|
||||
### `fluksio runs`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user