api-server/deploy/40-statefulset.yaml

52 lines
1.4 KiB
YAML

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app.kubernetes.io/component: api-server
app.kubernetes.io/name: p5x-api-server
name: p5x-api-server
namespace: p5x-system
spec:
replicas: 1
selector:
matchLabels:
app: p5x-api-server
serviceName: p5x-api-server
template:
metadata:
labels:
app: p5x-api-server
spec:
priorityClassName: system-cluster-critical
volumes:
- name: p5x-system-data
persistentVolumeClaim:
claimName: system-data
containers:
- name: api-server
image: registry.millslan.net/glmdev/p5x-api:latest
# TODO: (1) add a dedicated /healthz endpoint and (2) prevent that endpoint from writing to the Rocket logs
# livenessProbe:
# failureThreshold: 5
# httpGet:
# path: /system/pubkey
# port: p5x
# initialDelaySeconds: 10
# periodSeconds: 120
# timeoutSeconds: 10
envFrom:
- configMapRef:
name: api-env
env:
- name: P5X_NODE_HOSTNAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
ports:
- containerPort: 3450
name: p5x
volumeMounts:
- mountPath: /p5x/data
name: p5x-system-data