Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/nix/host-modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas 0f7b403803 agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close
A new swarm service, swarm-notify-router, in its own container on the host
that sets deploy.notify-router.enable (defaulted on by allSwarmServices where
the host has the router's store leaf, like the claude login minter).

- swarm-controller registers instance-wide hooks for `issues` +
  `issue_assign` and `pull_request` + `pull_request_assign`, updates the
  event list of a hook already registered with fewer (leaving its active flag as it is), and keeps each
  verified body unchanged in the SWARM_EVENTS stream on
  $SWARM.events.forge.<X-Forgejo-Event-Type>, deduped by X-Forgejo-Delivery.
  A delivery the stream did not keep answers 503.
- swarm-notify-router drains its durable consumer on that stream, runs its
  flows (source -> match -> todo sink, stored as nodes plus edges and checked
  to be a tree) and queues each op on $SWARM.router.todo.<agent> in the
  work-queue stream ROUTER_TODOS. Built-in flows: assigned, unassigned (same
  key, rewritten) and closed (prefix-clears every holder's router todos). A
  per-issue snapshot in its notify-router-state bucket holds the last
  assignees and the todo holders; only agents in the agent-status bucket get
  ops, and an assignee that was not one is left out of the snapshot so the
  next assign event retries it. After the first event that must be retried,
  the rest of the batch is nakked so redelivery keeps stream order.
- hive-agent creates its own durable consumer todo-<agent> and applies each
  op to its todo store as subsystem `router`, then acks; a refused op stops
  the rest of its batch the same way. The store's (subsystem, key) dedup
  makes a redelivery harmless. New Todos::clear_prefix.
- swarm-nats-auth: a --notify-router-client arm; the controller may publish
  $SWARM.events.forge.*; each agent gets three {agent} templates (extended
  consumer create whose filter the server checks, MSG.NEXT, ACK).
- Credentials: a notify-router store leaf minted by glue-bao-tls, a
  swarm-notify-router bao policy (read on its own queue client secret), an
  authelia machine client, the secret publisher entry, a journal forwarder
  route. No manual step.

hive-forge-notify is unchanged, so agents also still get forge's own
notifications.

Refs #5571
2026-10-22 07:28:53 +02:00
..
hive-c0re claude: say on stderr when the hive's pinned claude-code is missing 2026-10-22 07:11:46 +02:00
hive-forge swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
hive-gateway every hive runs its otel collector, and agents export to it by default 2026-10-19 18:35:17 +02:00
lib tls: a CA root change no longer restarts the store or bounces containers 2026-10-21 22:00:13 +02:00
swarm-grafana/dashboards rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
bao-bootstrap-policy.hcl bao: disable the unused approle auth method, declaratively 2026-09-28 22:58:36 +02:00
default.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
deploy.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
glue-bao-readers-policy-order.nix hive-forge: the controller-token mint writes straight to the store, and the on-disk token goes 2026-10-16 17:48:56 +02:00
glue-bao-readers-store-order.nix every hive runs its otel collector, and agents export to it by default 2026-10-19 18:35:17 +02:00
glue-bao-tls.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
glue-bao-ui-oidc-client.nix bao: OIDC login to the browser UI via authelia, as a metadata-only viewer 2026-09-28 19:56:38 +02:00
glue-builder-oidc-client.nix swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector 2026-10-16 09:10:04 +02:00
glue-ci-metrics-otel-oidc-client.nix push ci run metrics to victoriametrics, with a grafana board 2026-10-16 20:43:11 +02:00
glue-ci-runner-otel-oidc-client.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
glue-claude-login-oidc-client.nix swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector 2026-10-16 09:10:04 +02:00
glue-controller-bao-identity.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-controller-env.nix glue-controller-env: the controller always exports otlp to the swarm's collector 2026-10-17 16:33:52 +02:00
glue-controller-oidc-client.nix swarm-controller: get its otlp pushes past the collector, log failures 2026-10-17 09:44:33 +02:00
glue-forge-controller.nix glue: forge's controller-dependent settings move out of the forge module 2026-10-13 22:14:28 +02:00
glue-forge-oidc-client.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-forge-otel-oidc-client.nix hive-forge, hive-matrix: forward each container's journal to the swarm collector 2026-10-16 13:50:23 +02:00
glue-grafana-oidc-client.nix nix: gate hive-c0re on deploy.hive-controller.enable, drop hyperhive.enable 2026-09-26 01:19:49 +02:00
glue-grafana-otel-oidc-client.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
glue-hive-otel-authelia.nix every hive runs its otel collector, and agents export to it by default 2026-10-19 18:35:17 +02:00
glue-hive-tls-bao-identity.nix hive-tls: the gateway leaf uses the services-issuer identity, not a hive's 2026-10-06 14:54:07 +02:00
glue-hive-tls-controllers.nix agents fetch the hive CA from bao at boot instead of the meta flake embedding it 2026-10-19 20:15:13 +02:00
glue-logs-auth-bao-identity.nix swarm-logs-auth: check agent tokens on the log store's query route 2026-10-13 08:38:05 +02:00
glue-matrix-ctl-bao-identity.nix swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's 2026-10-06 12:04:48 +02:00
glue-matrix-hive-discovery.nix move the hive's vhosts and matrix discovery out of the gateway 2026-10-17 15:07:33 +02:00
glue-matrix-oidc-client.nix swarm: OIDC clients registered wherever authelia runs; nats + matrix secrets from bao 2026-10-05 09:58:02 +02:00
glue-matrix-otel-oidc-client.nix hive-forge, hive-matrix: forward each container's journal to the swarm collector 2026-10-16 13:50:23 +02:00
glue-metrics-auth-bao-identity.nix add swarm-metrics, an agent CLI for the metrics store 2026-10-17 10:10:17 +02:00
glue-nats-auth-bao-identity.nix swarm-nats: the auth responder's store identity path is its own, not the hive's 2026-10-06 10:04:30 +02:00
glue-nats-bao-identity.nix swarm-nats, matrix: the queue's and matrix-ctl's store identity paths are their own, not the hive's 2026-10-06 12:04:48 +02:00
glue-nats-oidc-client.nix swarm-nats: forward the queue container's journal to the swarm collector 2026-10-16 09:08:21 +02:00
glue-nats-wireguard.nix glue: nats firewall on the wireguard interface moves out of the nats module 2026-10-14 10:15:19 +02:00
glue-notify-router-oidc-client.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
glue-queue-agent-credential.nix swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
glue-review-classifier-oidc-client.nix swarm-builder, swarm-claude-login, swarm-review-classifier: forward each container's journal to the swarm collector 2026-10-16 09:10:04 +02:00
glue-secret-publisher-authelia.nix swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
glue-secret-publisher-bao-identity.nix swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
glue-swarm-bao-otel-oidc-client.nix ops: update option pointers after grafana/bao split 2026-10-01 09:53:04 +02:00
glue-swarm-otel-oidc-client.nix ops: update option pointers after otel split 2026-10-01 13:00:40 +02:00
glue-victorialogs-otel-oidc-client.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
glue-victoriametrics-otel-oidc-client.nix swarm-victoriametrics: forward the container's journal to the swarm collector 2026-10-16 14:47:31 +02:00
hive-matrix-service.nix drop option renames and removals older than two weeks 2026-10-16 22:04:57 +02:00
hive-matrix.nix swarm-authelia: run the secret publisher and a journal forwarder inside the container 2026-10-17 00:28:16 +02:00
hive-network.nix every hive runs its otel collector, and agents export to it by default 2026-10-19 18:35:17 +02:00
hive-options-removed.nix publish operators' forge-profile pronouns to kv and list them in the agent prompt 2026-10-17 13:10:05 +02:00
hive-priv.nix hive-priv: lock personality, deny realtime, kernel logs and module loading 2026-10-16 16:06:49 +02:00
hive-tls.nix tls: a CA root change no longer restarts the store or bounces containers 2026-10-21 22:00:13 +02:00
host-ca-removed.nix drop option renames and removals older than two weeks 2026-10-16 22:04:57 +02:00
hyperhive.nix hyperhive: make the values the meta-flake render reads swarm-wide 2026-10-17 13:43:16 +02:00
local-defaults.nix swarm-nats: take the callout issuer and user keys from the store 2026-10-06 14:53:33 +02:00
nats-callout-removed.nix nats-callout-removed: remove the container's OIDC secret copy here, ungated 2026-10-06 15:25:29 +02:00
otel.nix hand agents the dashboard port, pinned claude and otel labels at container start 2026-10-22 07:11:46 +02:00
stylix-theme.nix swarm-ui: apply the operator's stylix theme, same as the dashboard already does 2026-08-24 14:28:25 +02:00
swarm-authelia-service.nix swarm-authelia: run in its own network namespace 2026-10-21 22:10:23 +02:00
swarm-authelia.nix swarm-authelia: run in its own network namespace 2026-10-21 22:10:23 +02:00
swarm-bao-service.nix nix: split swarm-bao into service and deploy-mode files 2026-10-01 09:37:36 +02:00
swarm-bao.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-builder.nix the meta flake takes docs from the pinned hyperhive input 2026-10-18 20:09:14 +02:00
swarm-ci-metrics.nix trust the swarm services ca in swarm-ci-metrics 2026-10-17 23:28:03 +02:00
swarm-ci-runner.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
swarm-claude-login.nix move dashboardPort, claudeCodePackage and extraResourceAttributes to deploy.hive-controller 2026-10-17 13:43:16 +02:00
swarm-controller.nix swarm-controller: chgrp the runtime dir in ExecStartPost, ExecStart's setup undid the ExecStartPre one 2026-10-18 15:32:35 +02:00
swarm-grafana-service.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
swarm-grafana.nix hive-c0re: fix stale banner and gauge-name wording after review 2026-10-21 17:58:09 +02:00
swarm-nats-service.nix swarm-nats: forward the queue container's journal to the swarm collector 2026-10-16 09:08:21 +02:00
swarm-nats.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-notify-router.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-otel-service.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-otel.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-required-services.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-review-classifier.nix every hive runs its otel collector, and agents export to it by default 2026-10-19 18:35:17 +02:00
swarm-secret-publisher.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00
swarm-snapshot-store.nix snapshot store: bound the transfer on both ends 2026-10-16 11:45:58 +02:00
swarm-ui.nix move the hive's vhosts and matrix discovery out of the gateway 2026-10-17 15:07:33 +02:00
swarm-victorialogs-service.nix swarm-ci-runner, swarm-grafana, swarm-victorialogs: forward each container's journal to the swarm collector 2026-10-16 11:22:51 +02:00
swarm-victorialogs.nix victorialogs and victoriametrics: own the package for each auth responder they run 2026-10-17 18:38:25 +02:00
swarm-victoriametrics-service.nix swarm-victoriametrics: forward the container's journal to the swarm collector 2026-10-16 14:47:31 +02:00
swarm-victoriametrics.nix victorialogs and victoriametrics: own the package for each auth responder they run 2026-10-17 18:38:25 +02:00
swarm-wireguard.nix swarm options: no swarm.* value depends on a deploy option or this host's hive 2026-10-04 18:13:47 +02:00
swarm.nix agents get a todo when assigned to an issue or PR, rewritten when unassigned and cleared on close 2026-10-22 07:28:53 +02:00