titan-iac/services/health/sparkyfitness-frontend-deployment.yaml

82 lines
2.2 KiB
YAML
Raw Normal View History

# services/health/sparkyfitness-frontend-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: sparkyfitness-frontend
namespace: health
labels:
app: sparkyfitness-frontend
spec:
replicas: 1
selector:
matchLabels:
app: sparkyfitness-frontend
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
template:
metadata:
labels:
app: sparkyfitness-frontend
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: hardware
operator: In
values: ["rpi5", "rpi4"]
- key: node-role.kubernetes.io/worker
operator: Exists
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 90
preference:
matchExpressions:
- key: hardware
operator: In
values: ["rpi5"]
- weight: 70
preference:
matchExpressions:
- key: hardware
operator: In
values: ["rpi4"]
containers:
- name: sparkyfitness-frontend
image: codewithcj/sparkyfitness:0.16.3.3
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
env:
- name: SPARKY_FITNESS_SERVER_HOST
value: sparkyfitness-server
- name: SPARKY_FITNESS_SERVER_PORT
value: "3010"
readinessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 3
failureThreshold: 6
livenessProbe:
httpGet:
path: /
port: http
initialDelaySeconds: 30
periodSeconds: 20
timeoutSeconds: 3
failureThreshold: 6
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi