Files
deploy/manifests/base/commit-server/hanzocd-commit-server-deployment.yaml
zeekayandHanzo Dev 1ab6e799c1 cd: the module is github.com/hanzoai/cd, where it is actually hosted
go.mod still declared `module github.com/hanzoai/deploy` after the repo was
renamed. A Go module path is not cosmetic — it is the resolvable location. So
`go get github.com/hanzoai/cd` could not work, and anything importing this
module had to spell a name that no longer exists at that address. The build log
of v3.6.0 is where it surfaced: the compiler was still emitting
github.com/hanzoai/deploy/cmd/cd/commands.

3541 import paths across 690 .go, 19 .proto, 4 .yaml, 3 .sh, 2 .mod, Procfile
and Makefile. Plus the 62 ghcr.io/hanzoai/deploy image references, moved to
ghcr.io/hanzoai/cd to match hanzo.yml's build target — a distinct string from
the module path, replaced separately so neither could clobber the other.

go mod tidy clean, CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./... clean.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 21:16:24 -07:00

141 lines
4.3 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: hanzocd-commit-server
app.kubernetes.io/part-of: hanzocd
app.kubernetes.io/component: commit-server
name: hanzocd-commit-server
spec:
selector:
matchLabels:
app.kubernetes.io/name: hanzocd-commit-server
template:
metadata:
labels:
app.kubernetes.io/name: hanzocd-commit-server
spec:
serviceAccountName: hanzocd-commit-server
automountServiceAccountToken: false
containers:
- name: hanzocd-commit-server
image: ghcr.io/hanzoai/cd:latest
imagePullPolicy: Always
args:
- /usr/local/bin/hanzocd-commit-server
env:
- name: GRPC_ENABLE_TXT_SERVICE_CONFIG
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: commitserver.grpc.enable.txt.service.config
optional: true
- name: CD_COMMIT_SERVER_LISTEN_ADDRESS
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: commitserver.listen.address
optional: true
- name: CD_COMMIT_SERVER_METRICS_LISTEN_ADDRESS
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: commitserver.metrics.listen.address
optional: true
- name: CD_COMMIT_SERVER_LOGFORMAT
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: commitserver.log.format
optional: true
- name: CD_COMMIT_SERVER_LOGLEVEL
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: commitserver.log.level
optional: true
- name: CD_LOG_FORMAT_TIMESTAMP
valueFrom:
configMapKeyRef:
name: hanzocd-cmd-params-cm
key: log.format.timestamp
optional: true
ports:
- containerPort: 8086
- containerPort: 8087
livenessProbe:
httpGet:
path: /healthz?full=true
port: 8087
initialDelaySeconds: 30
periodSeconds: 30
failureThreshold: 3
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /healthz
port: 8087
initialDelaySeconds: 5
periodSeconds: 10
securityContext:
runAsNonRoot: true
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
volumeMounts:
- name: ssh-known-hosts
mountPath: /app/config/ssh
- name: tls-certs
mountPath: /app/config/tls
- name: gpg-keys
mountPath: /app/config/gpg/source
- name: gpg-keyring
mountPath: /app/config/gpg/keys
# We need a writeable temp directory for the askpass socket file.
- name: tmp
mountPath: /tmp
volumes:
- name: ssh-known-hosts
configMap:
name: hanzocd-ssh-known-hosts-cm
- name: tls-certs
configMap:
name: hanzocd-tls-certs-cm
- name: gpg-keys
configMap:
name: hanzocd-gpg-keys-cm
- name: gpg-keyring
emptyDir: {}
- name: tmp
emptyDir: {}
- name: hanzocd-commit-server-tls
secret:
secretName: hanzocd-commit-server-tls
optional: true
items:
- key: tls.crt
path: tls.crt
- key: tls.key
path: tls.key
- key: ca.crt
path: ca.crt
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: hanzocd-commit-server
topologyKey: kubernetes.io/hostname
- weight: 5
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/part-of: hanzocd
topologyKey: kubernetes.io/hostname