Files
bootnode/infra/k8s/docs-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

77 lines
1.6 KiB
YAML

# Bootnode docs — static Next.js export served by lightweight container
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bootnode-docs
namespace: bootnode
labels:
app: bootnode-docs
component: docs
spec:
replicas: 2
selector:
matchLabels:
app: bootnode-docs
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app: bootnode-docs
component: docs
spec:
containers:
- name: docs
image: ghcr.io/bootnode/bootnode-docs:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 3005
protocol: TCP
env:
- name: NODE_ENV
value: "production"
resources:
requests:
cpu: "50m"
memory: "64Mi"
limits:
cpu: "200m"
memory: "256Mi"
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 10
periodSeconds: 30
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 5
periodSeconds: 10
securityContext:
runAsNonRoot: true
runAsUser: 1001
allowPrivilegeEscalation: false
imagePullSecrets:
- name: ghcr-secret
---
apiVersion: v1
kind: Service
metadata:
name: bootnode-docs
namespace: bootnode
spec:
type: ClusterIP
ports:
- name: http
port: 3005
targetPort: http
selector:
app: bootnode-docs