mirror of
https://github.com/hanzoai/operator.git
synced 2026-10-30 15:06:11 +00:00
The build path reads git.hanzo.ai and the human-facing home is github.com/hanzo-rs/operator. Without a declaration platform infers the GitHub side from the forge path, which here is hanzoai/operator — the repo this move retires. Every build would then check its sha against a repo that is about to stop receiving pushes, and pass, because a frozen mirror serves a green build indistinguishable from a current one. Named explicitly, the reachability check asks the right repo. Co-authored-by: Hanzo Dev <[email protected]>
35 lines
1.7 KiB
YAML
35 lines
1.7 KiB
YAML
# Platform-native CI/CD — the ONE build path for this repo.
|
|
#
|
|
# A v* git tag push → the platform GitHub App webhook → platform BuildKit builds
|
|
# ghcr.io/hanzoai/operator:<semver> in-cluster on our own pool. No GitHub
|
|
# Actions, no ARC runners, no sha-suffix drift.
|
|
#
|
|
# The image name is deliberately ghcr.io/hanzoai/operator and NOT
|
|
# ghcr.io/hanzo-rs/operator. That package is what the fleet controller runs
|
|
# today — universe pins it by digest in operator/deployment.yaml — and 189
|
|
# versions of history live there. Building into it from here moves the SOURCE to
|
|
# its language home without moving the ARTEFACT out from under a running
|
|
# cluster, which is the one part of this that cannot be rolled back.
|
|
#
|
|
# Deploy is not declared: rolling the operator is a universe change to the
|
|
# pinned tag, reviewed like any other, not something a tag push should do on its
|
|
# own. The thing being rolled is the controller that reconciles the fleet.
|
|
#
|
|
# The build path reads git.hanzo.ai; the human-facing home is
|
|
# github.com/hanzo-rs/operator. Declared rather than inferred because the two
|
|
# names differ: the forge repo is hanzoai/operator, so inference would look for
|
|
# github.com/hanzoai/operator and find the repo this move is retiring. Every
|
|
# build then asks whether its sha is reachable on the side named here, which is
|
|
# what catches a forge that has stopped following and is quietly serving a
|
|
# frozen tree.
|
|
source: hanzo-rs/operator
|
|
|
|
# Schema: hanzoai/platform docs/PLATFORM_CI.md (parsed by platform-config.ts).
|
|
build:
|
|
matrix:
|
|
- { os: linux, arch: amd64 } # amd64-only — DOKS has no arm64 pool yet
|
|
dockerfile: ./Dockerfile
|
|
context: .
|
|
image: ghcr.io/hanzoai/operator
|
|
tag-pattern: "{{git.tag}}" # vX.Y.Z git tag → X.Y.Z image
|