1046 Commits

Author SHA1 Message Date
flux-bot
fcd3572236 chore(maintenance): automated image update 2026-08-06 17:17:37 +00:00
flux-bot
5f26eedea0 chore(maintenance): automated image update 2026-08-06 16:18:37 +00:00
jenkins
c05a5e4abb feat(ariadne): widen code and issue coverage, cap open proposals at 64
ananke, pegasus and atlasbot were triaged but mapped to no repository, so
their failures could produce neither an issue nor a pull request. All three
exist on main and are non-empty. data-prepper is deliberately absent: it has
no repository under bstein.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 13:10:20 -03:00
flux-bot
54fe286e46 chore(maintenance): automated image update 2026-08-06 15:51:58 +00:00
flux-bot
87b85a1176 chore(maintenance): automated image update 2026-08-06 15:42:00 +00:00
jenkins
5311b0bef2 feat(ariadne): map bstein-dev-home to its own log namespace
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 12:33:19 -03:00
flux-bot
866dbb92ab chore(maintenance): automated image update 2026-08-06 14:11:41 +00:00
flux-bot
666bf66ee7 chore(maintenance): automated image update 2026-08-06 13:47:28 +00:00
flux-bot
7e11b99b34 chore(maintenance): automated image update 2026-08-06 13:46:29 +00:00
flux-bot
fc45a179f8 chore(maintenance): automated image update 2026-08-06 13:44:28 +00:00
flux-bot
7b7e46e884 chore(maintenance): automated image update 2026-08-06 13:39:24 +00:00
flux-bot
bfc51be7e4 chore(maintenance): automated image update 2026-08-06 10:37:52 +00:00
flux-bot
48694b6f44 chore(maintenance): automated image update 2026-08-06 09:48:13 +00:00
jenkins
aab389499c fix(ariadne): let the pod finish booting before liveness judges it
The earlier probe fix addressed slow /health responses under load, but the
restarts continued with a different signature: connection refused rather than
timeout, meaning the app was not listening yet. Ariadne runs migrations and
builds its cron schedule before binding, which can outlast what liveness
allows from initialDelaySeconds, so the kubelet kept restarting a pod that
was merely still starting.

Add a startupProbe granting up to five minutes to come up, after which
liveness takes over unchanged. This is the case startupProbe exists for.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 06:16:09 -03:00
flux-bot
c23234fffd chore(maintenance): automated image update 2026-08-06 09:11:55 +00:00
flux-bot
c7f670a53c chore(maintenance): automated image update 2026-08-06 08:55:38 +00:00
flux-bot
1611844e69 chore(maintenance): automated image update 2026-08-06 08:22:34 +00:00
jenkins
699d1a5689 fix(ariadne): stop the kubelet killing a healthy triage pod
The liveness probe used the default timeoutSeconds of 1. The auto-triage tick
runs every minute and spends most of it waiting on Jenkins, OpenSearch, Gitea
and Hermes, so against a 500m CPU limit /health occasionally answers in over a
second. Three of those and the container is killed, dropping triage ticks for
the length of a restart. Observed 11 times in 139 minutes, with the pod
sitting 1/2 Ready and restarting repeatedly.

Give both probes a 5s timeout and let liveness tolerate five failures, so a
busy tick is no longer mistaken for a hung process.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 05:20:35 -03:00
flux-bot
426b6db1e7 chore(maintenance): automated image update 2026-08-06 04:47:42 +00:00
flux-bot
384de8652a chore(maintenance): automated image update 2026-08-06 04:33:02 +00:00
flux-bot
62034931e2 chore(maintenance): automated image update 2026-08-06 04:10:10 +00:00
flux-bot
2a75b6174a chore(maintenance): automated image update 2026-08-06 03:11:10 +00:00
flux-bot
a08815fb3f chore(maintenance): automated image update 2026-08-06 03:09:11 +00:00
flux-bot
2a297c962e chore(maintenance): automated image update 2026-08-06 03:07:10 +00:00
flux-bot
4ff140ac45 chore(maintenance): automated image update 2026-08-06 03:02:09 +00:00
flux-bot
2a3b7c3727 chore(maintenance): automated image update 2026-08-06 02:25:00 +00:00
jenkins
97dfb1a844 feat(ariadne): allowlist the transient-infra retry action
The classification->action registry already mapped transient_infra_failure to
retry_transient_infra, but the action allowlist held only repair_demo_fixture,
so that route always died at the action_not_allowlisted gate. Add the action
and state the registry explicitly rather than relying on the code default.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 23:17:32 -03:00
flux-bot
56f5e5a123 chore(maintenance): automated image update 2026-08-06 02:10:50 +00:00
flux-bot
5df98f65f7 chore(maintenance): automated image update 2026-08-06 01:49:38 +00:00
flux-bot
b929e67692 chore(maintenance): automated image update 2026-08-06 00:39:46 +00:00
jenkins
664e436575 feat(hermes-triage): real-repo patch proposals + Alertmanager email escalation
- Ariadne: per-repo code config for metis, lesavka, soteria,
  bstein-dev-home and ariadne, each with its own base branch, source path
  prefixes and file suffixes so a proposal can only touch that repo's
  source tree
- Alertmanager: the only receiver was an empty "default", so every alert
  fired into a void. HermesTriageHumanRequired now routes to an email
  receiver via Mailu's in-cluster local-domain relay, with resolved
  notices; scoped to service=hermes-triage so nothing else mails yet.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 21:30:34 -03:00
flux-bot
72fc09783b chore(maintenance): automated image update 2026-08-06 00:15:26 +00:00
jenkins
46bd4daf88 docs(hermes-triage): delivery record + enable Gitea issue filing config
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 21:01:50 -03:00
flux-bot
e9f9daf782 chore(maintenance): automated image update 2026-08-05 23:52:50 +00:00
jenkins
639b43673e feat(hermes-triage): enable real-service triage across homegrown Jenkins jobs
Adds ariadne, lesavka, soteria, metis, ananke, pegasus, atlasbot,
bstein-dev-home and data-prepper to the autotriage allowlist. These get
detection, evidence, Hermes diagnosis and human-required escalation only:
no allowlisted repair action applies to them, so nothing is mutated.

Verified on lesavka #582 with the new console failure-region evidence:
classification coverage_quality_gate_failure, confidence 0.93, first
failed gate coverage (previously undetermined).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 20:31:44 -03:00
flux-bot
95317b5e9e chore(maintenance): automated image update 2026-08-05 23:28:21 +00:00
flux-bot
fdf8a4f543 chore(maintenance): automated image update 2026-08-05 22:29:05 +00:00
jenkins
71e6357887 feat(hermes-code): demo repo Jenkins job + Ariadne code-path configuration
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 19:19:05 -03:00
jenkins
161834904f revert(hermes-triage): restore action allowlist after alert rehearsal
Rehearsal confirmed: emptied allowlist -> incident 14 human_required
(action_not_allowlisted) -> HermesTriageHumanRequired FIRING in vmalert and
active in Alertmanager.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 19:03:28 -03:00
jenkins
d23ee3f448 test(hermes-triage): temporarily empty action allowlist for alert-lifecycle rehearsal
Reverted immediately after the rehearsal confirms HermesTriageHumanRequired
fires and self-clears.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 18:51:58 -03:00
flux-bot
7f4797f24e chore(maintenance): automated image update 2026-08-05 21:31:02 +00:00
jenkins
2b8829b056 feat(hermes-triage): enable autoremediation for the demo loop
Observe-mode rehearsal passed: incident hermes-triage-demo/9 diagnosed
correctly (0.99 confidence, known_demo_fixture_failure) and stopped only
at this kill switch. Scope stays: allowlisted job, one allowlisted
action, one action per incident, isolated namespace.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:56:46 -03:00
flux-bot
14f66030ac chore(maintenance): automated image update 2026-08-05 20:52:22 +00:00
flux-bot
9b30b9cc66 chore(maintenance): automated image update 2026-08-05 20:32:12 +00:00
flux-bot
65b44f8b44 chore(maintenance): automated image update 2026-08-05 20:19:10 +00:00
jenkins
f4e2da317c feat(hermes-triage): human-required alert rule + Ariadne autotriage config
- vmalert: hermes-triage.yaml alert group (HermesTriageHumanRequired on
  ariadne_hermes_triage_incident{status="human_required"}, 1m interval),
  wire Alertmanager notifier into vmalert-atlas-availability
- Ariadne deployment: hermes autotriage env (observe mode: autotriage on,
  autoremediation OFF), 1m schedule, allowlist hermes-triage-demo only,
  HERMES_API_KEY from optional hermes-api-server-key Secret
2026-08-05 16:51:48 -03:00
jenkins
c4b4e8a404 Merge origin/main into layout migration
Reconciles the services layout migration with ~991 upstream commits:
- Remote content wins for cassandra/cassandra-auth, monitoring dashboards,
  vmalert availability rules, veles, vault auth script, dashboard render
  script and tests (request-v4 availability definition)
- Layout paths win for structure: keycloak/bstein-dev-home job dirs use
  bootstrap-jobs/validation-jobs; cassandra realm jobs live in
  cassandra-auth (removed keycloak duplicates)
- Union: applications CR list gains hermes-chat and cassandra
  image-automation
- Fixed post-migration paths in dashboard test module loader and
  hermes-access job header

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:26:36 -03:00
jenkins
8f45f47e60 refactor: restructure services layout, retire oceanus, add aether scaffolding
- Move flat service manifests into structured subdirs (apps/, bootstrap-jobs/,
  repair-jobs/, migration-jobs/, validation-jobs/, node-ops/, networking/)
- Retire oneoffs/ directories across services
- Remove oceanus cluster and its host roles; add aether cluster + terraform scaffolding
- Reorganize scripts/ into ops/, render/, sync/, manual-tests/
- Add Makefile with render/validate/test/flux targets and repo-structure tests
- Update flux-system application CRs to the new paths
- Add hermes-automated-triage-24h-plan knowledge doc (+ comms mirror)
- Refresh knowledge catalogs, dashboards, vmalert rules, quality contract

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:21:36 -03:00
flux-bot
dd3f877d0e chore(maintenance): automated image update 2026-08-05 17:15:26 +00:00
flux-bot
8846b41f3c chore(maintenance): automated image update 2026-08-05 05:15:46 +00:00