The native amd64 hermes-agent image leg builds on titan-24. Worker membership in this cluster is reconciled by the node-prefer-noschedule CronJob (kubectl label), not Ansible, so add titan-24 there: - clear_worker titan-24 amd64 -> node-role.kubernetes.io/worker=true + hardware=amd64 - a soft PreferNoSchedule guard taint (atlas.bstein.dev/sui-validator=true) mirroring titan-22's media guard, so routine pods do not crowd the out-of-cluster Sui validator that co-hosts titan-24. GPU workloads pinned to titan-24 by hostname are unaffected (PreferNoSchedule never blocks a pinned pod), and the amd64 build pod tolerates this taint explicitly. Operator note: this reconciler does not manage cordons (owned by Ananke recovery). titan-24 is on the recovery uncordon denylist, so the operator must ensure titan-24 is uncordoned/schedulable before the first amd64 build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf
titan-iac
Flux-managed Kubernetes desired-state config for bstein.dev.
Canonical source URL:
ssh://git@scm.bstein.dev:2242/atlas/titan-iac.git
Scope
This repo contains cluster configuration consumed by Flux:
- platform/infrastructure manifests
- service manifests and kustomizations
- operational scripts for render/reconcile workflows
Apply model
I use Git + Flux as the source of truth and avoid manual in-cluster edits for durable changes.
Description
Languages
Python
74%
JavaScript
10.2%
Shell
6.2%
TypeScript
3.9%
Go
2.1%
Other
3.4%