docs: the swarm UI page shrinks to an overview
The page-by-page and control-by-control description of the swarm UI moves to 4-implementation/web-ui/swarm-ui.md, with the quick-links wiring. The handbook page keeps the route table, how to reach the UI, who may and what the browser keeps. Links to the moved sections point at the new page.
This commit is contained in:
parent
5cdf51fcfc
commit
4adbc939f2
13 changed files with 1075 additions and 1031 deletions
|
|
@ -14,7 +14,7 @@ Two labels can name two forges.
|
|||
In the swarm UI, open an agent, choose **link account**, then **forge
|
||||
account**. Fill in a label, the forge's URL and an access token. The form shows
|
||||
the controller's answer if it refuses the input, and the linked account appears
|
||||
in the agent's list of [linked accounts](../swarm/ui.md#linking-external-accounts)
|
||||
in the agent's list of [linked accounts](../../4-implementation/web-ui/swarm-ui.md#linking-external-accounts)
|
||||
as kind **forge**.
|
||||
|
||||
- `label` is lowercase letters, digits and hyphens. It names the account in the
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ to `<state>/github-token` at runtime (see [Provisioning](#provisioning)).
|
|||
|
||||
## Provisioning
|
||||
|
||||
The PAT is operator-supplied. In the [swarm UI](../swarm/ui.md#linking-external-accounts),
|
||||
The PAT is operator-supplied. In the [swarm UI](../../4-implementation/web-ui/swarm-ui.md#linking-external-accounts),
|
||||
open the agent on `/agents`, choose **link github account** and paste the PAT
|
||||
(`PUT /api/hives/{hive}/agents/{agent}/github-account`). swarm-controller
|
||||
stores it at `swarm/agents/<agent>/github-token` in the swarm secret store;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ In the swarm UI, open an agent, choose **link account**, then **gitlab
|
|||
account**. Fill in a label, the instance URL (it starts as `https://gitlab.com`)
|
||||
and the token. The form shows the recommended scopes and the controller's
|
||||
answer if it refuses the input. The linked account appears in the agent's list
|
||||
of [linked accounts](../swarm/ui.md#linking-external-accounts) with a delete
|
||||
of [linked accounts](../../4-implementation/web-ui/swarm-ui.md#linking-external-accounts) with a delete
|
||||
action. The UI calls the controller's API, which you can also call directly:
|
||||
|
||||
```text
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ account**. You can give the account in two ways:
|
|||
encrypted rooms. Prefer the password login.
|
||||
|
||||
The linked account appears in the agent's list of
|
||||
[linked accounts](../swarm/ui.md#linking-external-accounts) as kind
|
||||
[linked accounts](../../4-implementation/web-ui/swarm-ui.md#linking-external-accounts) as kind
|
||||
**matrix**. The controller refuses a name that already holds an account; delete it and link
|
||||
again to replace it. Linking also allows the homeserver's host in the agent's outgoing internet
|
||||
access, and deleting the account removes it again.
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ VictoriaLogs; read them in Grafana's **Explore**, as
|
|||
|
||||
**Set up a schedule.** Scheduled prompts are swarm-level: set them with
|
||||
`swarmctl schedule` ([`swarm/schedules.md`](../swarm/schedules.md)) or in the
|
||||
schedules card on the swarm UI's messages tab ([`swarm/ui.md`](../swarm/ui.md)).
|
||||
schedules card on the swarm UI's messages tab ([`swarm-ui.md`](../../4-implementation/web-ui/swarm-ui.md)).
|
||||
|
||||
## More depth
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -396,7 +396,7 @@ host. It never decrypts TLS, so it holds no signing key. It caches nothing.
|
|||
`allowedDomains` is the hive's own list, always allowed whether or not the
|
||||
swarm has a list of its own (next bullet).
|
||||
- **Swarm allow-list.** The operator adds domains in the swarm UI
|
||||
([allowed domains](../../2-handbook/swarm/ui.md#allowed-domains)); the swarm controller
|
||||
([allowed domains](../web-ui/swarm-ui.md#allowed-domains)); the swarm controller
|
||||
keeps them in one value of the `egress-allow` bucket, each for every agent
|
||||
or for one agent. Every 30 seconds `hive-c0re` reads it and writes two files
|
||||
beside the users file, `services.hyperhive.deploy.hive-controller.squid.allowedFile`
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ swarmctl agent inference clear iris
|
|||
- `clear` removes every field; the agent goes back to its own values.
|
||||
|
||||
The full flag reference is [`swarmctl-cli.md`](../../2-handbook/swarm/swarmctl-cli.md). The
|
||||
swarm UI's agents page edits the same settings; see [UI](../../2-handbook/swarm/ui.md). The
|
||||
swarm UI's agents page edits the same settings; see [UI](../web-ui/swarm-ui.md). The
|
||||
swarm is the only place to change an agent's model or effort at runtime:
|
||||
its web UI shows both but has no picker and no `/model` or `/effort`
|
||||
command.
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ check above and reads only what exists: a source event from `issues`,
|
|||
three `pull_request_review_*` events, `workflow_run_failure` or `workflow_run_cancelled`, and condition and recipient fields from the event's field list. The same goes for the `{{ field }}`
|
||||
variables in a todo's key and text, which are Jinja templates (see [`hive-template`](../../../hive-template/README.md)). A `PUT` must carry the `revision` it read, `0` for no
|
||||
document, and gets 409 when the stored revision is another. Swarm UI's
|
||||
[notification router card on `/swarm`](../../2-handbook/swarm/ui.md#notification-flows) shows the document and
|
||||
[notification router card on `/swarm`](../web-ui/swarm-ui.md#notification-flows) shows the document and
|
||||
switches built-ins.
|
||||
|
||||
**The schema.** `GET /api/notify/flows` also returns a `schema` object, built
|
||||
|
|
@ -300,7 +300,7 @@ serves them next to `GET /api/notify/flows`:
|
|||
The dry-run request carries a whole document. The `GET` sends the saved one;
|
||||
the `POST` takes a `PUT` body (it ignores a `revision`), answers 400
|
||||
with the `PUT` error for a document that fails the check, and forwards a valid one.
|
||||
[notification router card on `/swarm`](../../2-handbook/swarm/ui.md#notification-flows) shows both: the recent deliveries,
|
||||
[notification router card on `/swarm`](../web-ui/swarm-ui.md#notification-flows) shows both: the recent deliveries,
|
||||
and the counts beside each node.
|
||||
|
||||
**Deploying in any order.** A router that predates these subjects doesn't
|
||||
|
|
|
|||
|
|
@ -510,7 +510,7 @@ subscription login), comes later.
|
|||
|
||||
## Swarm UI
|
||||
|
||||
Two pages in the [swarm UI](../../2-handbook/swarm/ui.md), `admins` only like the rest of it.
|
||||
Two pages in the [swarm UI](../web-ui/swarm-ui.md), `admins` only like the rest of it.
|
||||
|
||||
### Recent runs
|
||||
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@ controller derives only from an operator's save, never from text it finds in the
|
|||
store, so an environment saved before this existed needs one more save. An
|
||||
agent that has just the file gets no entry, and an operator adds its
|
||||
provider's host in the swarm UI (see
|
||||
[allowed domains](../../2-handbook/swarm/ui.md#allowed-domains)).
|
||||
[allowed domains](../web-ui/swarm-ui.md#allowed-domains)).
|
||||
|
||||
Provision the file once, out of band (never through nix — an API key in
|
||||
the store is world-readable and travels with the flake closure):
|
||||
|
|
|
|||
1044
docs/4-implementation/web-ui/swarm-ui.md
Normal file
1044
docs/4-implementation/web-ui/swarm-ui.md
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -36,7 +36,8 @@ The services that exist once per swarm. Start at
|
|||
matrix and SSO login answering the internet?** → [`2-handbook/swarm/semi-spread-deploy.md`](2-handbook/swarm/semi-spread-deploy.md)
|
||||
(worked example: machines, WireGuard, DNS).
|
||||
- **What does the swarm UI show, and what does `swarmctl` do?** →
|
||||
[`2-handbook/swarm/ui.md`](2-handbook/swarm/ui.md) and
|
||||
[`2-handbook/swarm/ui.md`](2-handbook/swarm/ui.md) (the full page reference is
|
||||
[`4-implementation/web-ui/swarm-ui.md`](4-implementation/web-ui/swarm-ui.md)) and
|
||||
[`2-handbook/swarm/swarmctl-cli.md`](2-handbook/swarm/swarmctl-cli.md) (the
|
||||
generated flag reference).
|
||||
- **How do per-agent forge accounts work? What does `forge_notify` poll,
|
||||
|
|
|
|||
Loading…
Reference in a new issue