2025-02-25 05:18:45 +00:00
|
|
|
---
|
|
|
|
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
|
2025-02-27 02:33:11 +00:00
|
|
|
image: docker.io/glmdev/p5x-api:latest
|
2025-02-25 05:18:45 +00:00
|
|
|
# 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:
|
2025-02-27 02:33:11 +00:00
|
|
|
- secretRef:
|
2025-02-25 05:18:45 +00:00
|
|
|
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
|