Files
buzz-sheet/k8s/base/mirror-deployment.yaml
T
gunshiz 801386a8ed
CI / Verify application and manifests (push) Successful in 1m27s
CI / Build immutable images and deploy (push) Failing after 5m58s
feat : overwite buzz.sudloh.com/guide
2026-09-17 21:55:16 +07:00

101 lines
2.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: buzz-sheet-mirror
labels:
app.kubernetes.io/name: buzz-sheet
app.kubernetes.io/component: public-mirror
spec:
replicas: 2
revisionHistoryLimit: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app.kubernetes.io/name: buzz-sheet
app.kubernetes.io/component: public-mirror
template:
metadata:
labels:
app.kubernetes.io/name: buzz-sheet
app.kubernetes.io/component: public-mirror
spec:
automountServiceAccountToken: false
terminationGracePeriodSeconds: 30
nodeSelector:
kubernetes.io/arch: arm64
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
seccompProfile:
type: RuntimeDefault
containers:
- name: app
image: buzz-sheet-mirror
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 3000
protocol: TCP
envFrom:
- configMapRef:
name: buzz-sheet-config
- secretRef:
name: buzz-sheet-env
env:
- name: NEXT_DEPLOYMENT_ID
valueFrom:
configMapKeyRef:
name: buzz-sheet-config
key: NEXT_DEPLOYMENT_ID
- name: PUBLIC_MIRROR
value: "true"
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: "1"
memory: 2Gi
startupProbe:
httpGet:
path: /guide/api/health
port: http
failureThreshold: 30
periodSeconds: 2
readinessProbe:
httpGet:
path: /guide/api/health?ready=1
port: http
failureThreshold: 3
periodSeconds: 10
timeoutSeconds: 4
livenessProbe:
httpGet:
path: /guide/api/health
port: http
failureThreshold: 3
periodSeconds: 20
timeoutSeconds: 3
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
readOnlyRootFilesystem: true
volumeMounts:
- name: next-cache
mountPath: /app/.next/cache
- name: temporary
mountPath: /tmp
volumes:
- name: next-cache
emptyDir: {}
- name: temporary
emptyDir: {}