Commit graph

  • 240783dd49 hive-priv: require exactly one nix build output path, don't just trim damocles 2026-08-28 18:07:24 +02:00
  • c3e3753dd0 hive-priv: stream the toplevel build live, and build it for create too damocles 2026-08-28 17:51:32 +02:00
  • c24ae9d714 hive-priv: fix doc comment attribution of nixos-container's flock damocles 2026-08-28 17:39:13 +02:00
  • bfd8a61d19 hive-priv: build the container toplevel ourselves instead of nixos-container's buildFlake damocles 2026-08-28 17:35:26 +02:00
  • 20135962de grafana: rank the by-label panel as bars, and stop calling it open issues atlas 2026-08-27 14:43:15 +02:00
  • 21d2554d32 grafana: stop describing this hive's habits on a board every hive gets atlas 2026-08-27 14:21:25 +02:00
  • 05552e5115 grafana: the by-label panel has data, so drop its empty-panel warning atlas 2026-08-27 12:41:55 +02:00
  • 6f248a12be grafana: a forge board, honest about being an inventory board atlas 2026-08-27 11:45:52 +02:00
  • 638e1ac2c6 swarm-ui: delete StatusChip, migrate its 3 callers to shared Badge iris 2026-08-28 10:46:04 +02:00
  • 62cc0620c8 Add Badge + Dropdown Preact components, demo on swarm-ui /components iris 2026-08-28 01:39:32 +02:00
  • c4a573d91d gateway: move verifiedProxyTo's 42-line rationale comment to docs/gateway.md iris 2026-08-28 10:48:26 +02:00
  • 8a0ecb307b gateway: pin the Host header when dialing swarm services by name müde 2026-08-27 20:04:40 +02:00
  • 27932ec631 types: let nix own the reserved-name blacklist atlas 2026-08-27 15:15:33 +02:00
  • 7bb68fe819 c0re: guard the agent-creation path every hive actually uses atlas 2026-08-27 11:26:26 +02:00
  • 5202e5c5ba types: reserve the protocol names an agent must not be called atlas 2026-08-27 11:02:35 +02:00
  • 43ae164d8b gateway: dial swarm services by name over verified TLS atlas 2026-08-27 11:33:44 +02:00
  • 5a5a4ddd15 ci: let the runner execute what it builds atlas 2026-08-27 14:48:47 +02:00
  • 8b845896e2 forge: name the credential helper the way git resolves it atlas 2026-08-27 12:44:19 +02:00
  • 922f91cb7d swarm-authelia: stop answering machine callers with a 200 error page atlas 2026-08-27 11:15:52 +02:00
  • 1e3347fb46 ci: coverage on manual dispatch, no threshold atlas 2026-08-27 11:39:33 +02:00
  • 1aa35974ee backendEnvironmentFile: use the harness dir, not state, per review damocles 2026-08-26 23:40:49 +02:00
  • 535ba0c11c feat(#493): api-key backend support (useApiKey + backendEnvironmentFile) damocles 2026-08-26 22:22:47 +02:00
  • daea908d69 otel: give host metrics a host identity via resourcedetection atlas 2026-08-27 10:48:46 +02:00
  • ae17e2ce99 hive-forge: enable the per-label and per-repository issue metrics atlas 2026-08-27 00:16:04 +02:00
  • 7630b0993c hive-forge: hoist a PR row's merge state in list --json atlas 2026-08-26 23:39:05 +02:00
  • 8363a459bf docs/jobq.md: drop the core-specific node table, keep only the abstract engine explanation iris 2026-08-26 22:48:17 +02:00
  • dcc50902db docs/jobq.md: add the missing abstract jobq section iris 2026-08-26 22:03:45 +02:00
  • 582aebc5eb docs: add operator-facing jobq page, dedup coordinator.md pointer iris 2026-08-26 21:43:45 +02:00
  • 4152000a3b hive-ci: run the runner credential precondition with full privileges atlas 2026-08-26 22:17:48 +02:00
  • 39a0a313dc hive-priv: delete the runner credentials before restarting the CI runner atlas 2026-08-26 22:10:04 +02:00
  • 8ed4b8c9c3 swarm-grafana: provision log store and metrics store dashboards atlas 2026-08-26 19:05:57 +02:00
  • 399c6f7422 agent: derive the forge git credential scope instead of hand-writing it atlas 2026-08-26 19:39:36 +02:00
  • c2b6bbd23b swarm-grafana: put the queue panels that pair next to each other atlas 2026-08-26 18:51:25 +02:00
  • 8796f4edac swarm-grafana: provision a queue (nats) dashboard atlas 2026-08-26 18:41:12 +02:00
  • d702eeffe1 otel: say which of processes/process is configured atlas 2026-08-26 18:09:24 +02:00
  • d9f09f4a52 otel: collect host metrics on the hive-tier collector atlas 2026-08-26 17:57:26 +02:00
  • 2e6f38dc6c hive-agent: warn + emit an OTEL gauge on a grown CLAUDE.md damocles 2026-08-26 18:17:46 +02:00
  • 4d7af143e3 swarm-otel: request the bearer-authz scope on the metrics scrape atlas 2026-08-26 18:12:08 +02:00
  • a7dbe732fb hive-ci: give the runner daemon the hive CA it needs for TLS atlas 2026-08-26 18:30:24 +02:00
  • ebb4eea691 hive-c0re: re-register the CI runner when the forge address changes atlas 2026-08-26 13:11:15 +02:00
  • a1d6dcd644 swarm-authelia: collect the journal of the unit that actually runs atlas 2026-08-25 23:30:37 +02:00
  • 676f7715fd hive-forge: stop embedding the forge token in clone URLs damocles 2026-08-26 00:20:58 +02:00
  • aad5d3638f swarm-nats: manual callout needs all four keys, not two atlas 2026-08-24 22:28:31 +02:00
  • 792d7f503f forge, matrix: SSO is not optional atlas 2026-08-24 22:12:43 +02:00
  • d65edc5ac0 swarm-controller: push-whitelist the daemon's own account for the config-repo seed commit damocles 2026-08-24 22:16:59 +02:00
  • 4336436457 swarm-otel: collect only the units the swarm's services declare atlas 2026-08-24 21:54:45 +02:00
  • 8879225fa4 docs(swarm): document the log store atlas 2026-08-24 21:30:00 +02:00
  • 923638ab98 fix(swarm-grafana): drop the Loki-only Logs Drilldown app atlas 2026-08-24 21:23:24 +02:00
  • 682dd81af2 docs(observability): document swarm-controller's vcs commit/push metrics damocles 2026-08-24 20:00:14 +02:00
  • 6bb64d8bc2 swarm-controller: emit vcs commit/push otel counters from an instance-wide forge webhook damocles 2026-08-24 19:59:41 +02:00
  • 228842b9d8 feat(swarm-grafana): scrape Grafana's own metrics over a loopback listener atlas 2026-08-24 17:06:07 +02:00
  • 5eca0cc516 feat(hive-c0re): export metrics whose subject is the hive, not an agent atlas 2026-08-24 19:13:09 +02:00
  • f51fa921b4 README: split the diagram into every-hive vs one-host-per-swarm, move forge/matrix into the swarm tier iris 2026-08-24 19:15:41 +02:00
  • e68369b256 README: add the swarm tier to the architecture diagram iris 2026-08-24 19:11:13 +02:00
  • 066a0a02b0 swarm-controller: fix agent-config init on freshly-created empty repos damocles 2026-08-24 19:09:08 +02:00
  • d736be2071 docs(observability): document the new hive-agent turn metrics damocles 2026-08-24 18:36:05 +02:00
  • eb981e7f5d hive-agent: emit harness-only per-turn otel metrics damocles 2026-08-24 18:35:44 +02:00
  • ed95e692e1 swarm: publish an authenticated gateway vhost for VictoriaLogs iris 2026-08-24 18:43:17 +02:00
  • 2e43205fc3 swarm-ui: add 5s refresh interval option iris 2026-08-24 18:34:17 +02:00
  • 6a01850096 swarm-ui: fix inconsistent header icons + body edge gap iris 2026-08-24 18:32:20 +02:00
  • 17288589ef feat(swarm-grafana): provision the log store as a datasource, with logs drilldown atlas 2026-08-24 18:27:44 +02:00
  • 417fdfd449 docs(swarm): the swarm collector's OIDC secret needs a delivery step too atlas 2026-08-24 18:17:41 +02:00
  • 012ab5bb37 fix(swarm-otel): stop re-granting the journal group upstream already grants atlas 2026-08-24 17:27:47 +02:00
  • f46ef39ef3 feat(swarm-otel): fan logs out like metrics, so the local store is optional atlas 2026-08-24 17:21:26 +02:00
  • bfa25c6419 feat(swarm): start the log store with the other required services atlas 2026-08-24 17:00:38 +02:00
  • 1af0138928 fix(swarm-otel): tell the log store which field carries the message atlas 2026-08-24 16:59:01 +02:00
  • 0c755e04c8 feat(swarm-otel): collect the host journal into the swarm's log store atlas 2026-08-24 16:48:41 +02:00
  • 527e07c5e0 feat(swarm-victorialogs): a log store for the swarm atlas 2026-08-24 16:36:18 +02:00
  • 79f4132b4f fix(swarm-nats): the metrics exporter needs a collector flag or it exits atlas 2026-08-24 16:06:22 +02:00
  • 7e253a3421 hive-forge: timestamp-suffix the swarm-controller token name to avoid a re-mint collision damocles 2026-08-24 16:02:42 +02:00
  • 2d0d8c686a feat(swarm-grafana): provision an authelia dashboard atlas 2026-08-24 15:51:41 +02:00
  • 2c8d37d5b8 swarm-ui: animate the three header popovers on open iris 2026-08-24 15:46:44 +02:00
  • 215a747b13 hive-forge: grant the swarm-controller token write:admin for CreateForgeUser damocles 2026-08-24 15:42:59 +02:00
  • d2de3e8a2a docs(swarm-otel): scrapeTargets constrains the target, not the scraper atlas 2026-08-24 14:48:38 +02:00
  • e5c44f835a feat(#3518): expose NATS broker metrics via prometheus-nats-exporter atlas 2026-08-24 14:35:41 +02:00
  • 504123f2c4 docs(ci): actually trim the ci-rerun status section instead of layering more clauses damocles 2026-08-24 14:46:23 +02:00
  • 8f53c223c1 docs(ci): drop the factually wrong 'a new commit doesn't reliably work either' clause damocles 2026-08-24 14:44:53 +02:00
  • 3e0a847e55 docs(ci): reword ci-rerun status guidance away from 'push a commit to unwedge' damocles 2026-08-24 14:39:40 +02:00
  • 62ee57123d hive-forge: document ci-rerun --pr's event-type gap on PR status damocles 2026-08-19 01:59:22 +02:00
  • 30067cbcb2 knowledge: remove the redundant concurrent boot-time pull that races with reset --hard, and clean -fd untracked drift too damocles 2026-08-24 14:30:54 +02:00
  • c93dcff074 knowledge: reset local tree before pulling to avoid ff-only wedge damocles 2026-08-24 13:09:31 +02:00
  • 81adf2b6b4 swarm-nats-auth: grant every hive the shared hive-notices stream subjects damocles 2026-08-24 12:38:21 +02:00
  • 044e4020fa swarm-queue-client: drop notices::PREFIX, reuse STREAM damocles 2026-08-17 09:50:41 +02:00
  • e44ea9d8d4 swarm-queue-based lifecycle notices, replacing push_todo(MANAGER_AGENT) damocles 2026-08-16 15:58:45 +02:00
  • 10a294a2f8 swarm-ui: swap colors.css via a plain nginx location, not a package-copy derivation iris 2026-08-24 12:58:15 +02:00
  • 2ecf842a1b swarm-ui: apply the operator's stylix theme, same as the dashboard already does iris 2026-08-24 12:41:49 +02:00
  • 2e06957b32 feat(swarm-otel): deliver the collector's client secret from authelia atlas 2026-08-24 13:46:48 +02:00
  • 97b104b54f feat(swarm-otel): scrape a published target with an authelia bearer token atlas 2026-08-24 13:42:14 +02:00
  • 94ef8428e0 refactor(swarm-otel): one declaration for a published scrape target atlas 2026-08-24 13:36:32 +02:00
  • 94204ac82b fix(swarm-authelia): guard bearerAuthz against a silent no-op on kind atlas 2026-08-24 13:14:23 +02:00
  • 3895a1e21d feat(#3517): register the swarm collector as an audienced oauth2 client atlas 2026-08-24 12:53:23 +02:00
  • da88d450dd feat(#3517): a named capability for authelia's bearer-authz scope atlas 2026-08-24 12:05:01 +02:00
  • 32c5973956 swarm-controller: provision a forge user account before adding it as a collaborator damocles 2026-08-24 13:23:01 +02:00
  • 4de4878e74 fix(swarm-otel): reserve the swarm tier's component names from hive names atlas 2026-08-24 13:20:31 +02:00
  • 8178b0b55c refactor(swarm-authelia): name the collector option in full at the gate atlas 2026-08-24 12:36:41 +02:00
  • 541dd29820 fix(swarm-authelia): only declare the scrape target where a collector reads it atlas 2026-08-24 12:30:52 +02:00
  • 31fa891a4e feat(swarm-authelia): expose prometheus metrics and declare the scrape target atlas 2026-08-19 21:45:07 +02:00
  • 7aec2e339f swarm-ui: authelia settings link should go to /settings, not the domain root iris 2026-08-24 12:31:07 +02:00
  • ad7a0572cd hive-forge: explain the pr-blocked-by-issue dependency failure instead of a raw 500 damocles 2026-08-24 10:33:59 +02:00
  • b2ee674415 fix(#3517): metrics are not optional, and the endpoint is denied by default atlas 2026-08-24 11:51:52 +02:00