apiVersion: apps/v1 kind: Deployment metadata: name: session-keeper namespace: edu-master labels: app: edu-master-session-keeper spec: replicas: 1 selector: matchLabels: app: edu-master-session-keeper template: metadata: labels: app: edu-master-session-keeper spec: initContainers: - name: wait-redis image: redis:alpine command: - /bin/sh - -ec - | i=0 until redis-cli -h redis ping | grep -q PONG; do i=$((i+1)) [ "$i" -ge 300 ] && echo "TIMEOUT: redis not ready" && exit 1 sleep 2 done echo "redis is ready" containers: - name: session-keeper image: gcr.forust.xyz/forust/session-keeper:latest imagePullPolicy: Always envFrom: - secretRef: name: edu-master-secrets resources: requests: cpu: 25m memory: 96Mi limits: cpu: 250m memory: 256Mi readinessProbe: exec: command: ["/bin/sh", "-ec", "redis-cli -h redis EXISTS EDU_PHPSESSID | grep -q 1"] initialDelaySeconds: 15 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 10