---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: garrettmills-dev
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: garrettmills-dev
  template:
    metadata:
      name: garrettmills-dev-www
      namespace: default
      labels:
        app: garrettmills-dev
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 100
              podAffinityTerm:
                labelSelector:
                  matchExpressions:
                    - key: app
                      operator: In
                      values: ['garrettmills-dev']
                topologyKey: 'kubernetes.io/hostname'
      containers:
        - name: garrettmills-www
          image: registry.millslan.net/garrettmills/www
          env:
            - name: EXTOLLO_LOGGING_LEVEL
              value: '4'
            - name: SERVER_FORCE_SSL
              value: 'true'
            - name: ENABLE_CORS
              value: 'true'
            - name: DATABASE_USERNAME
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: DATABASE_USERNAME
                  optional: false
            - name: DATABASE_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: DATABASE_PASSWORD
                  optional: false
            - name: DATABASE_HOST
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: DATABASE_HOST
                  optional: false
            - name: REDIS_HOST
              value: redis.redis.svc.cluster.local
            - name: REDIS_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: REDIS_PASSWORD
                  optional: false
            - name: DATABASE_NAME
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: DATABASE_NAME
                  optional: false
            - name: GOTIFY_SERVER
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: GOTIFY_SERVER
                  optional: false
            - name: GOTIFY_TOKEN
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: GOTIFY_TOKEN
                  optional: false
            - name: COREID_CLIENT_ID
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: COREID_CLIENT_ID
                  optional: false
            - name: COREID_CLIENT_SECRET
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: COREID_CLIENT_SECRET
                  optional: false
            - name: COREID_BASE
              valueFrom:
                secretKeyRef:
                  name: garrettmills-dev-secrets
                  key: COREID_BASE
                  optional: false
