hermes: deploy verified release and roll broker code by content
This commit is contained in:
parent
6cfeff74d6
commit
d66af9dbd4
@ -1,19 +0,0 @@
|
|||||||
# clusters/atlas/flux-system/applications/hermes-scm-broker-code/kustomization.yaml
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: hermes-scm-broker-code
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 10m
|
|
||||||
path: ./services/hermes/scm-common
|
|
||||||
targetNamespace: hermes-scm
|
|
||||||
prune: true
|
|
||||||
sourceRef:
|
|
||||||
kind: GitRepository
|
|
||||||
name: flux-system
|
|
||||||
namespace: flux-system
|
|
||||||
wait: true
|
|
||||||
timeout: 5m
|
|
||||||
dependsOn:
|
|
||||||
- name: hermes-scm-namespace
|
|
||||||
@ -24,4 +24,3 @@ spec:
|
|||||||
- name: vault
|
- name: vault
|
||||||
- name: gitea
|
- name: gitea
|
||||||
- name: hermes-scm-namespace
|
- name: hermes-scm-namespace
|
||||||
- name: hermes-scm-broker-code
|
|
||||||
|
|||||||
@ -29,7 +29,6 @@ resources:
|
|||||||
- ai-llm/kustomization.yaml
|
- ai-llm/kustomization.yaml
|
||||||
- openclaw/kustomization.yaml
|
- openclaw/kustomization.yaml
|
||||||
- hermes-scm-namespace/kustomization.yaml
|
- hermes-scm-namespace/kustomization.yaml
|
||||||
- hermes-scm-broker-code/kustomization.yaml
|
|
||||||
- hermes/kustomization.yaml
|
- hermes/kustomization.yaml
|
||||||
- hermes/image-automation.yaml
|
- hermes/image-automation.yaml
|
||||||
- hermes-observer-rbac/kustomization.yaml
|
- hermes-observer-rbac/kustomization.yaml
|
||||||
|
|||||||
@ -5,9 +5,10 @@ namespace: hermes-scm
|
|||||||
resources:
|
resources:
|
||||||
- task-branch-adoptions-configmap.yaml
|
- task-branch-adoptions-configmap.yaml
|
||||||
- task-ledger-pvc.yaml
|
- task-ledger-pvc.yaml
|
||||||
|
- ../hermes/scm-common
|
||||||
- service.yaml
|
- service.yaml
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
- networkpolicy.yaml
|
- networkpolicy.yaml
|
||||||
images:
|
images:
|
||||||
- name: registry.bstein.dev/bstein/hermes-agent
|
- name: registry.bstein.dev/bstein/hermes-agent
|
||||||
digest: sha256:37ebf720c783ae908a602916ffccf88d43d205a157957f5dc4b487867aee45e7
|
digest: sha256:f998627ec39492e5686fb375c661004699374d847deb878e7f06e1c7e0f45946
|
||||||
|
|||||||
@ -2,16 +2,9 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: hermes
|
namespace: hermes
|
||||||
metadata:
|
|
||||||
annotations:
|
|
||||||
hermes.bstein.dev/agent-image-release-hold: "true"
|
|
||||||
hermes.bstein.dev/agent-image-release-hold-digest: "sha256:bebfe9c24cdd877ed2c16335027ccf393892161642756f54e8d12984eefdd903"
|
|
||||||
hermes.bstein.dev/agent-image-release-hold-minimum-source: "106ee8ce14aa67c3825fca6fb537a557b44ecd86"
|
|
||||||
hermes.bstein.dev/agent-image-release-hold-reason: "Hold the verified SQLite 3.51.3 runtime until the normal Hermes release includes it."
|
|
||||||
images:
|
images:
|
||||||
- name: registry.bstein.dev/bstein/hermes-agent
|
- name: registry.bstein.dev/bstein/hermes-agent
|
||||||
# Hold this verified SQLite fix until the normal image release includes it.
|
digest: sha256:f998627ec39492e5686fb375c661004699374d847deb878e7f06e1c7e0f45946 # {"$imagepolicy": "hermes:hermes-agent-release:digest"}
|
||||||
digest: sha256:bebfe9c24cdd877ed2c16335027ccf393892161642756f54e8d12984eefdd903
|
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- image.yaml
|
- image.yaml
|
||||||
|
|||||||
@ -16,5 +16,3 @@ configMapGenerator:
|
|||||||
- scm_task_grants.py=scripts/scm_task_grants.py
|
- scm_task_grants.py=scripts/scm_task_grants.py
|
||||||
- scm_task_drafts.py=scripts/scm_task_drafts.py
|
- scm_task_drafts.py=scripts/scm_task_drafts.py
|
||||||
- scm_task_adoptions.py=scripts/scm_task_adoptions.py
|
- scm_task_adoptions.py=scripts/scm_task_adoptions.py
|
||||||
options:
|
|
||||||
disableNameSuffixHash: true
|
|
||||||
|
|||||||
@ -190,9 +190,11 @@ def test_chat_reasoning_uses_switchyard_without_owner_credentials():
|
|||||||
"atlas/auto/balanced",
|
"atlas/auto/balanced",
|
||||||
"atlas/auto/deep",
|
"atlas/auto/deep",
|
||||||
"atlas/auto/maximum",
|
"atlas/auto/maximum",
|
||||||
|
"atlas/manual/codex/auto",
|
||||||
"atlas/manual/codex/luna",
|
"atlas/manual/codex/luna",
|
||||||
"atlas/manual/codex/terra",
|
"atlas/manual/codex/terra",
|
||||||
"atlas/manual/codex/sol",
|
"atlas/manual/codex/sol",
|
||||||
|
"atlas/manual/claude/auto",
|
||||||
"atlas/manual/claude/haiku",
|
"atlas/manual/claude/haiku",
|
||||||
"atlas/manual/claude/fable",
|
"atlas/manual/claude/fable",
|
||||||
"atlas/manual/claude/sonnet",
|
"atlas/manual/claude/sonnet",
|
||||||
@ -234,7 +236,7 @@ def test_chat_reasoning_uses_switchyard_without_owner_credentials():
|
|||||||
statefulset["spec"]["template"]["metadata"]["annotations"][
|
statefulset["spec"]["template"]["metadata"]["annotations"][
|
||||||
"ai.bstein.dev/config-rev"
|
"ai.bstein.dev/config-rev"
|
||||||
]
|
]
|
||||||
== "20260816-telegram-topics"
|
== "20260913-provider-model-catalog-v2"
|
||||||
)
|
)
|
||||||
pod_spec = statefulset["spec"]["template"]["spec"]
|
pod_spec = statefulset["spec"]["template"]["spec"]
|
||||||
patch_init = next(
|
patch_init = next(
|
||||||
|
|||||||
@ -169,16 +169,24 @@ def test_flux_bootstrap_has_no_agent_namespace_dependency_cycle():
|
|||||||
ROOT / "clusters/atlas/flux-system/applications/kustomization.yaml"
|
ROOT / "clusters/atlas/flux-system/applications/kustomization.yaml"
|
||||||
).read_text(encoding="utf-8")
|
).read_text(encoding="utf-8")
|
||||||
assert "hermes-scm-agent-code" not in applications
|
assert "hermes-scm-agent-code" not in applications
|
||||||
|
assert "hermes-scm-broker-code" not in applications
|
||||||
broker_code = yaml.safe_load(
|
broker_flux = yaml.safe_load(
|
||||||
(
|
(
|
||||||
ROOT
|
ROOT
|
||||||
/ "clusters/atlas/flux-system/applications/hermes-scm-broker-code/kustomization.yaml"
|
/ "clusters/atlas/flux-system/applications/hermes-scm-broker/kustomization.yaml"
|
||||||
).read_text(encoding="utf-8")
|
).read_text(encoding="utf-8")
|
||||||
)
|
)
|
||||||
assert broker_code["spec"]["path"] == "./services/hermes/scm-common"
|
assert {item["name"] for item in broker_flux["spec"]["dependsOn"]} == {
|
||||||
assert broker_code["spec"]["targetNamespace"] == "hermes-scm"
|
"vault", "gitea", "hermes-scm-namespace"
|
||||||
assert broker_code["spec"]["dependsOn"] == [{"name": "hermes-scm-namespace"}]
|
}
|
||||||
|
broker_kustomization = yaml.safe_load(
|
||||||
|
(ROOT / "services/hermes-scm-broker/kustomization.yaml").read_text(encoding="utf-8")
|
||||||
|
)
|
||||||
|
assert "../hermes/scm-common" in broker_kustomization["resources"]
|
||||||
|
scm_common = yaml.safe_load(
|
||||||
|
(ROOT / "services/hermes/scm-common/kustomization.yaml").read_text(encoding="utf-8")
|
||||||
|
)
|
||||||
|
assert "options" not in scm_common["configMapGenerator"][0]
|
||||||
|
|
||||||
|
|
||||||
def test_gitea_bootstrap_enforces_human_review_without_overwriting_drift():
|
def test_gitea_bootstrap_enforces_human_review_without_overwriting_drift():
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user