apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
spec:
  template:
    spec:
      tolerations:
        - key: "public"
          operator: "Equal"
          value: "true"
          effect: "NoSchedule"
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
            - weight: 100
              preference:
                matchExpressions:
                  - key: public
                    operator: In
                    values:
                      - "true"
      containers:
        - name: healthchecks
          image: healthchecks/healthchecks:v3.9
          imagePullPolicy: IfNotPresent
          envFrom:
            - configMapRef:
                name: healthchecks-config
          env:
            - name: SECRET_KEY
              valueFrom:
                secretKeyRef:
                  name: healthchecks-secrets
                  key: HC_SECRET_KEY
            - name: DB_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: healthchecks-secrets
                  key: HC_DB_PASSWORD
            - name: EMAIL_HOST_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: smtp-secrets
                  key: SMTP_PASSWORD
          ports:
            - containerPort: 8000
              name: healthchecks