4468 Commits

Author SHA1 Message Date
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
10ccf2e520 docs(comms): resync runbook mirror
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 18:53:37 -03:00
jenkins
9d34a9aa16 docs(hermes-triage): investigative-triage demonstration record + measured runbook timings
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 18:51:58 -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
jenkins
9a264f981a fix(hermes-triage-demo): restore groovy escape depths lost in ConfigMap rewrite
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:45:40 -03:00
jenkins
6462561d02 refactor(hermes-triage-demo): ConfigMap fixture replaces Longhorn PVC
- Pipeline ensures the fixture ConfigMap and seeds unhealthy via patch-file
- Test-runner mounts the ConfigMap read-only; no storage attach involved
- New hermes-demo-repair SA + Role scoped to patching only the fixture CM
- Removes the fixture PVC (Flux prunes it)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:42:10 -03:00
jenkins
78d173126a fix(hermes-triage-demo): archive junit xml as artifact; junit plugin absent
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:32:32 -03: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
561edf41ef fix(hermes-triage-demo): pin test-runner to Longhorn-ready workers; add demo runbook
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:18:17 -03:00
flux-bot
63e1d8a957 chore(cassandra): automated image update 2026-08-05 20:05:00 +00:00
flux-bot
82d9d4f5f9 chore(cassandra): automated image update 2026-08-05 20:02:00 +00:00
jenkins
158c12317d fix(hermes-triage-demo): correct groovy escape depth for newline join and shell JSON quotes
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:59:32 -03:00
flux-bot
b03f61977f chore(cassandra): automated image update 2026-08-05 19:57:05 +00:00
flux-bot
4da247475b chore(cassandra): automated image update 2026-08-05 19:56:58 +00:00
jenkins
3aeb172477 fix(hermes-triage-demo): JCasC substitutes ${} at load; use concatenation-only pipeline
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:56:06 -03: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
d8fec759b2 fix(hermes-triage-demo): agent pod securityContext must match jnlp uid 1000
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:47:48 -03:00
jenkins
11063daaaa feat(hermes-triage-demo): isolated demo surface + Jenkins job + Hermes key seeding
- New hermes-triage-demo namespace with fixture PVC and RBAC scoped to
  Jenkins agent Job creation only
- JCasC pipelineJob hermes-triage-demo: SEED_FAILURE-parameterized fixture
  check running as a Kubernetes Job in the demo namespace, emitting the
  incident ID to pod stdout (Fluent Bit -> OpenSearch kube-*) and JUnit to
  Jenkins
- Hermes init container can seed API_SERVER_KEY in the persistent .env
  from an optional hermes-api-server-key Secret (no-op until it exists)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 16:42:37 -03:00
flux-bot
229875a6d4 chore(cassandra): automated image update 2026-08-05 19:27:31 +00: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
d37a8095ed chore(cassandra): automated image update 2026-08-05 18:08:35 +00:00
flux-bot
0d5948267f chore(cassandra): automated image update 2026-08-05 18:04:39 +00:00
flux-bot
628ddc22a2 chore(cassandra): automated image update 2026-08-05 18:00:33 +00:00
jenkins
fa41b9145a security(portal): disable outbound SMTP 2026-08-05 15:00:10 -03:00
flux-bot
9c35ae167a chore(cassandra): automated image update 2026-08-05 17:59:36 +00:00
flux-bot
dd3f877d0e chore(maintenance): automated image update 2026-08-05 17:15:26 +00:00
flux-bot
309fda0def chore(cassandra): automated image update 2026-08-05 15:33:40 +00:00
flux-bot
61770a1f00 chore(cassandra): automated image update 2026-08-05 15:29:39 +00:00
flux-bot
d17fc2b27b chore(cassandra): automated image update 2026-08-05 15:25:40 +00:00
flux-bot
3d6931813e chore(cassandra): automated image update 2026-08-05 15:24:41 +00:00
jenkins
d2ccd1a837 security(portal): disable public access requests 2026-08-05 12:12:49 -03:00
jenkins
798e3fee84 Revert "monitoring(network): organize Traefik traffic lanes"
This reverts commit eeec8b72dc885950dd116d6dc2ad6574c1cbe6b1.
2026-08-05 12:06:23 -03:00
jenkins
48253cdaf0 monitoring(network): organize Traefik traffic lanes 2026-08-05 12:02:51 -03:00
flux-bot
3b2cb7edda chore(cassandra): automated image update 2026-08-05 13:54:23 +00:00
flux-bot
d6c57f2435 chore(cassandra): automated image update 2026-08-05 13:51:22 +00:00
flux-bot
d7fdf2b49a chore(cassandra): automated image update 2026-08-05 13:47:21 +00:00
flux-bot
4ffda423bb chore(cassandra): automated image update 2026-08-05 13:46:22 +00:00
flux-bot
2835424ef0 chore(cassandra): automated image update 2026-08-05 11:10:58 +00:00
flux-bot
99767c20eb chore(cassandra): automated image update 2026-08-05 11:06:59 +00:00
flux-bot
40cdfd9558 chore(cassandra): automated image update 2026-08-05 11:03:08 +00:00
flux-bot
03b70eff3a chore(cassandra): automated image update 2026-08-05 11:02:54 +00:00
flux-bot
29dd63b92e chore(cassandra): automated image update 2026-08-05 10:22:51 +00:00
flux-bot
2647af306b chore(cassandra): automated image update 2026-08-05 10:09:49 +00:00