52 lines
1.4 KiB
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
|