Hermes Agent
f997171b55
jenkins: rank the controller above its own build agents
...
The Jenkins controller and the ephemeral build agents it schedules both ran
at priority 0. Because the controller Deployment uses the Recreate strategy,
any JCasC change tears the controller down before its replacement is
scheduled, and while the eligible node pool is saturated that freed slot can
be taken by one of the controller's own pending agents.
That is what happened on 2026-08-23. Merging #48 changed
services/jenkins/configmap-jcasc.yaml, which rolled the hashed
jenkins-jcasc-revision ConfigMap and so rolled the Deployment. At 12:19:57Z
the old controller pod was deleted; at 12:19:59Z the build agent
typhon-133-1pmgb, pending since 11:42:15Z, took the freed capacity on
titan-11, and the new controller pod has been Pending ever since. The
scheduler cannot resolve it because every candidate victim is also priority
0: "No preemption victims found for incoming pod". The agent cannot exit on
its own either, since its jnlp container just loops on "Connection refused"
against the controller that cannot start. It is a self-deadlock, not a
transient capacity dip.
Give the controller a jenkins-core class (500) so it outranks its agents and
can preempt one when it has nowhere else to go, and mark the JCasC default
agent template jenkins-agent (50, preemptionPolicy: Never) so agents never
preempt anything themselves. Values follow the existing *-core/*-sim classes.
The controller-side class is what breaks the deadlock: agents declared inline
by a Jenkinsfile podTemplate, like typhon-133, do not inherit the JCasC
default template, so only the controller's own priority covers every agent.
PriorityClasses ship in infrastructure/modules/base via the core
Kustomization, so jenkins now dependsOn core, matching cassandra and veles.
Verified no dependency cycle: core itself has no dependsOn.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 13:12:40 +00:00
jenkins
a019ecd556
monitoring(ai): compare provider quota windows
2026-08-23 09:48:25 -03:00
ced9a24cd9
Merge pull request 'Hermes WebUI release lane v2' ( #48 ) from feature/t_8cbe6a55-hermes-webui-release-v2 into main
...
Reviewed-on: atlas/titan-iac#48
Reviewed-by: bstein <bstein@noreply.scm.bstein.dev>
2026-08-23 12:19:10 +00:00
58e1a29b2b
Merge branch 'main' into feature/t_8cbe6a55-hermes-webui-release-v2
Tests / Declarative: Post Actions failed: 39, skipped: 19, passed: 2782
2026-08-23 12:18:58 +00:00
flux-bot
51515932fc
chore(bstein-dev-home): automated image update
2026-08-23 09:58:39 +00:00
flux-bot
1eaaf57abd
chore(bstein-dev-home): automated image update
2026-08-23 09:57:02 +00:00
jenkins
fe7832efaf
hermes: retain dual-provider quota health
Tests / Declarative: Post Actions failed: 39, skipped: 19, passed: 2757
2026-08-23 02:52:42 -03:00
Hermes Agent
083005e44f
fix: verify served Hermes PWA identity
2026-08-23 04:42:08 +00:00
Hermes Agent
99a9de936b
fix: verify WebUI OCI source revision
2026-08-23 03:52:03 +00:00
Hermes Agent
735a2b240d
Add reviewed Hermes WebUI release lane
2026-08-23 03:52:03 +00:00
jenkins
81b3e6b992
hermes: expose Claude remaining quota
2026-08-23 00:42:39 -03:00
jenkins
d036062519
hermes: stabilize AI quota collection
2026-08-23 00:14:58 -03:00
jenkins
3da6a10174
hermes: remove provider-biased auto fallbacks
2026-08-22 23:54:40 -03:00
jenkins
a7e09f9719
monitoring(ai): measure Claude routed usage
2026-08-22 23:38:40 -03:00
jenkins
69ad76bebc
hermes: keep distributed workers on Claude
2026-08-22 23:02:15 -03:00
flux-bot
5136a0026e
chore(maintenance): automated image update
2026-08-23 01:59:50 +00:00
flux-bot
42a86687c4
chore(maintenance): automated image update
2026-08-23 01:58:38 +00:00
flux-bot
049c39b339
chore(maintenance): automated image update
2026-08-23 01:54:50 +00:00
jenkins
8acb99d100
hermes: make Claude setup-token access durable
2026-08-22 22:52:28 -03:00
flux-bot
5e0b0d9cd6
chore(maintenance): automated image update
2026-08-23 01:49:36 +00:00
jenkins
b8294f8e90
longhorn: reduce Jellyfin policy churn
2026-08-22 22:18:03 -03:00
jenkins
eec373dd56
jellyfin: run media service on titan-22
2026-08-22 22:10:46 -03:00
jenkins
5430c9ac01
jellyfin: prepare titan-22 media host
2026-08-22 22:06:39 -03:00
jenkins
76fe550871
node(titan-22): remove completed canaries
2026-08-22 21:22:33 -03:00
jenkins
21264a71c8
node(titan-22): return worker to service
2026-08-22 21:21:03 -03:00
jenkins
091a787fc7
node(titan-22): persist Realtek firmware
2026-08-22 20:55:47 -03:00
jenkins
074f988731
node(titan-22): migrate k3s to USB ethernet
2026-08-22 20:42:51 -03:00
jenkins
db0cb86ca6
hermes: stabilize Claude access health probes
2026-08-22 18:07:58 -03:00
jenkins
9bffc077e8
hermes: avoid recursive home ownership rollout
Tests / Declarative: Post Actions failed: 40, skipped: 19, passed: 2746
2026-08-22 17:38:42 -03:00
jenkins
bd50a7e4ad
hermes: persist Claude subscription access
2026-08-22 17:32:30 -03:00
jenkins
9bf41dc0de
hermes: decouple node maintenance health
2026-08-22 16:39:44 -03:00
jenkins
fd42e892f7
hermes: avoid flapping worker node
2026-08-22 16:17:33 -03:00
jenkins
fdf53b264b
hermes: fit owner pod on healthy workers
2026-08-22 15:55:30 -03:00
jenkins
45a7a4dded
platform: right-size Vault sidecar requests
2026-08-22 15:48:41 -03:00
jenkins
46a44241c1
hermes: reclaim healthy worker capacity
2026-08-22 15:42:56 -03:00
jenkins
8a8df5ee4f
hermes: add stateful accelerator fallback
2026-08-22 15:32:21 -03:00
jenkins
9b7adc3826
mailu: allow Dovecot storage failover
2026-08-22 15:09:54 -03:00
jenkins
41658393a4
mailu: remount Dovecot storage after lock failure
2026-08-22 14:50:16 -03:00
flux-bot
a48322c5ee
chore(maintenance): automated image update
2026-08-22 14:00:17 +00:00
flux-bot
821e27e845
chore(maintenance): automated image update
2026-08-22 13:54:16 +00:00
flux-bot
121daf9145
chore(maintenance): automated image update
Tests / Declarative: Post Actions failed: 45, skipped: 19, passed: 2738
2026-08-22 01:54:06 +00:00
flux-bot
c19e9d77bf
chore(maintenance): automated image update
2026-08-22 01:54:00 +00:00
flux-bot
5826c6054d
chore(maintenance): automated image update
2026-08-22 01:49:59 +00:00
flux-bot
69f9ec99f2
chore(maintenance): automated image update
2026-08-22 01:43:57 +00:00
66c1c11d06
Merge pull request 'Rename the owner agent host to worker.bstein.dev (supersedes #41 )' ( #42 ) from feature/hermes-domain-rename-agent-worker-v2 into main
...
Reviewed-on: atlas/titan-iac#42
Reviewed-by: bstein <bstein@noreply.scm.bstein.dev>
2026-08-21 23:16:04 +00:00
ed98278981
Merge branch 'main' into feature/hermes-domain-rename-agent-worker-v2
Tests / Declarative: Post Actions failed: 40, skipped: 19, passed: 2743
2026-08-21 23:15:16 +00:00
4c9f48cbbc
Merge pull request 'docs(hermes): add multi-user chat capacity assessment' ( #45 ) from hermes/t_65356568-multiuser-capacity-assessment into main
...
Reviewed-on: atlas/titan-iac#45
Reviewed-by: bstein <bstein@noreply.scm.bstein.dev>
2026-08-21 23:14:47 +00:00
8ce45159de
Merge branch 'main' into hermes/t_65356568-multiuser-capacity-assessment
Tests / Declarative: Post Actions failed: 41, skipped: 19, passed: 2740
2026-08-21 23:14:33 +00:00
0841681a06
Merge pull request 'fix(hermes): cli-auto capacity failover uses automatic Switchyard reclassification' ( #32 ) from fix/cli-auto-failover-effort into main
...
Reviewed-on: atlas/titan-iac#32
Reviewed-by: bstein <bstein@noreply.scm.bstein.dev>
2026-08-21 23:13:08 +00:00
77905ff1db
Merge branch 'main' into fix/cli-auto-failover-effort
Tests / Declarative: Post Actions failed: 40, skipped: 19, passed: 2737
2026-08-21 23:12:12 +00:00