apiVersion: apps/v1
kind: Deployment
metadata:
  name: elekto
  namespace: elekto
  labels:
    app: elekto
spec:
  replicas: 1
  selector:
    matchLabels:
      app: elekto
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: elekto
    spec:
      containers:
        - image: ghcr.io/elekto-io/elekto:0.6.8
          imagePullPolicy: Always
          name: elekto
          ports:
            - containerPort: 8080
              protocol: TCP
          readinessProbe:
            failureThreshold: 5
            httpGet:
              path: /health
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 60
            timeoutSeconds: 5
          resources:
            limits:
              memory: 1500M
          securityContext:
            allowPrivilegeEscalation: false
            privileged: false
          envFrom:
            - configMapRef:
                name: elekto-config
            - secretRef:
                name: elekto-secret
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
