Files
zeekay 92ce9c81bf universe is the one writer of the registry Deployment
Two movers declared this workload and disagreed. Live is universe's: the
Deployment carries apps.hanzo.ai/installation-id=hanzo-cd and managed-by=Helm,
CD Application hanzo-registry is Synced/Healthy, and its env matches
charts/app/values/hanzo/registry.yaml exactly — oci.hanzo.ai, S3 storage,
config from the registry-config ConfigMap.

The k8s/ lane could not have won even if it fired. `kubectl apply -f
k8s/deployment.yaml --dry-run=server` is rejected outright:

    spec.selector: Invalid value: ... field is immutable

and the PVC it mounts, registry-data, does not exist in the cluster. It also
declared filesystem storage and a token service the live registry refuses.
So k8s/, the deploy workflow that applied it, and `make deploy` are gone.

Dockerfile and config.yml go with them: nothing builds that image and no pod
runs it — the live config is the registry-config ConfigMap. Keeping a second
copy of the config meant one live value and one that only looked live.

Fixes make status/logs, which selected app=registry — a label from the deleted
manifest that no running pod carries, so both returned nothing.
2026-08-21 09:22:06 -07:00

19 lines
780 B
YAML

# Canonical CI/CD config for hanzoai/registry — read by the hanzoai/ci reusable
# (.hanzo/workflows/cicd.yml) and by platform.hanzo.ai.
#
# No `images:`. oci.hanzo.ai runs UPSTREAM registry:2, configured entirely
# through REGISTRY_* env in hanzoai/universe. There is no image of ours here, so
# declaring one would publish a version series standing for something we do not
# run.
#
# No `deploy:`. The workload is declared in universe
# (charts/app/values/hanzo/registry.yaml) and applied by Hanzo CD. One writer.
#
# The repo is YAML, so "does it parse" is the whole check. `make lint` owns the
# file list — it reads git rather than a literal, so the gate fails on a parse
# error and not on a file that moved.
test:
- name: every tracked YAML parses
run: make lint