Files
bootnode/infra/k8s/lux/operator-deployment.yaml
zeekay 9d0957c774 ci: bootnode images go to ghcr.io/bootnode/bootnode (own org, not hanzoai)
bootnode is its own GitHub org — its images belong in its own GHCR namespace,
per the never-mix-registries rule. This also removes cross-org friction: the
repo's own GITHUB_TOKEN pushes to ghcr.io/bootnode/* (same org), so once the
arcd App is on the bootnode org, build+push needs no cross-org token.
2026-06-19 21:14:50 +00:00

94 lines
2.0 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bootnode-operator
namespace: bootnode-system
labels:
app: bootnode-operator
spec:
replicas: 1
selector:
matchLabels:
app: bootnode-operator
template:
metadata:
labels:
app: bootnode-operator
spec:
serviceAccountName: bootnode-operator
containers:
- name: operator
image: ghcr.io/bootnode/bootnode:operator-latest
args:
- "--namespace"
- "" # watch all namespaces
- "--log-level"
- "info"
ports:
- name: metrics
containerPort: 8080
protocol: TCP
- name: api
containerPort: 8081
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: api
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /readyz
port: api
initialDelaySeconds: 5
periodSeconds: 10
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
env:
- name: RUST_LOG
value: "info,bootnode_operator=debug"
---
apiVersion: v1
kind: Service
metadata:
name: bootnode-operator
namespace: bootnode-system
labels:
app: bootnode-operator
spec:
selector:
app: bootnode-operator
ports:
- name: metrics
port: 8080
targetPort: metrics
- name: api
port: 8081
targetPort: api
---
apiVersion: v1
kind: Service
metadata:
name: bootnode-operator-metrics
namespace: bootnode-system
labels:
app: bootnode-operator
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
spec:
selector:
app: bootnode-operator
ports:
- name: metrics
port: 8080
targetPort: metrics