deployment.yaml
1 apiVersion: apps/v1 2 kind: Deployment 3 metadata: 4 labels: 5 app.kubernetes.io/component: paddock 6 name: paddock 7 annotations: 8 image.openshift.io/triggers: '[{"from":{"kind":"ImageStreamTag","name":"paddock:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"paddock\")].image"},{"from":{"kind":"ImageStreamTag","name":"paddock:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"pitcrew\")].image"},{"from":{"kind":"ImageStreamTag","name":"paddock:latest"},"fieldPath":"spec.template.spec.containers[?(@.name==\"migrate\")].image"}]' 9 spec: 10 replicas: 1 11 revisionHistoryLimit: 2 12 selector: 13 matchLabels: 14 app.kubernetes.io/component: paddock 15 template: 16 metadata: 17 annotations: 18 alpha.image.policy.openshift.io/resolve-names: '*' 19 labels: 20 app.kubernetes.io/component: paddock 21 name: paddock 22 spec: 23 containers: 24 - env: 25 - name: DB_HOST 26 valueFrom: 27 secretKeyRef: 28 name: postgresql-app 29 key: host 30 - name: DB_PORT 31 valueFrom: 32 secretKeyRef: 33 name: postgresql-app 34 key: port 35 - name: DB_USER 36 valueFrom: 37 secretKeyRef: 38 name: postgresql-app 39 key: user 40 - name: DB_PASSWORD 41 valueFrom: 42 secretKeyRef: 43 name: postgresql-app 44 key: password 45 - name: DB_NAME 46 valueFrom: 47 secretKeyRef: 48 name: postgresql-app 49 key: dbname 50 - name: PADDOCK_POD_IP 51 valueFrom: 52 fieldRef: 53 apiVersion: v1 54 fieldPath: status.podIP 55 envFrom: 56 - secretRef: 57 name: paddock-settings 58 - secretRef: 59 name: paddock-socialaccounts 60 image: paddock:latest 61 imagePullPolicy: Always 62 name: paddock 63 command: ["/bin/sh", "-c"] 64 args: 65 - python /opt/app-root/src/manage.py collectstatic -i "*.py" -i "*.pyc" --noinput --link; 66 uwsgi --http "0.0.0.0:8000" --module paddock.wsgi:application --master --processes 4 --threads 2 --static-map /static=/opt/app-root/src/static 67 ports: 68 - containerPort: 8000 69 name: django-http 70 protocol: TCP 71 resources: 72 limits: 73 cpu: "1" 74 memory: 1Gi 75 requests: 76 cpu: 0 77 memory: 0 78 terminationMessagePath: /dev/termination-log 79 terminationMessagePolicy: File 80 volumeMounts: 81 - name: django-metrics-dir 82 mountPath: /tmp/django-metrics 83 - env: 84 - name: DB_HOST 85 valueFrom: 86 secretKeyRef: 87 name: postgresql-app 88 key: host 89 - name: DB_PORT 90 valueFrom: 91 secretKeyRef: 92 name: postgresql-app 93 key: port 94 - name: DB_USER 95 valueFrom: 96 secretKeyRef: 97 name: postgresql-app 98 key: user 99 - name: DB_PASSWORD 100 valueFrom: 101 secretKeyRef: 102 name: postgresql-app 103 key: password 104 - name: DB_NAME 105 valueFrom: 106 secretKeyRef: 107 name: postgresql-app 108 key: dbname 109 envFrom: 110 - secretRef: 111 name: paddock-settings 112 image: paddock:latest 113 imagePullPolicy: Always 114 name: pitcrew 115 command: ["/bin/sh", "-c"] 116 args: 117 - python /opt/app-root/src/manage.py pitcrew 118 resources: 119 limits: 120 cpu: "1" 121 memory: 1Gi 122 requests: 123 cpu: 0 124 memory: 0 125 terminationMessagePath: /dev/termination-log 126 terminationMessagePolicy: File 127 livenessProbe: 128 failureThreshold: 3 129 httpGet: 130 path: /healthz/live 131 port: 8080 132 scheme: HTTP 133 initialDelaySeconds: 5 134 periodSeconds: 10 135 successThreshold: 1 136 timeoutSeconds: 1 137 readinessProbe: 138 failureThreshold: 3 139 httpGet: 140 path: /healthz/ready 141 port: 8080 142 scheme: HTTP 143 initialDelaySeconds: 5 144 periodSeconds: 10 145 successThreshold: 1 146 timeoutSeconds: 1 147 serviceAccount: paddock 148 serviceAccountName: paddock 149 initContainers: 150 - name: migrate 151 image: paddock:latest 152 imagePullPolicy: Always 153 env: 154 - name: DB_HOST 155 valueFrom: 156 secretKeyRef: 157 name: postgresql-app 158 key: host 159 - name: DB_PORT 160 valueFrom: 161 secretKeyRef: 162 name: postgresql-app 163 key: port 164 - name: DB_USER 165 valueFrom: 166 secretKeyRef: 167 name: postgresql-app 168 key: user 169 - name: DB_PASSWORD 170 valueFrom: 171 secretKeyRef: 172 name: postgresql-app 173 key: password 174 - name: DB_NAME 175 valueFrom: 176 secretKeyRef: 177 name: postgresql-app 178 key: dbname 179 envFrom: 180 - secretRef: 181 name: paddock-settings 182 command: ["/bin/sh", "-c"] 183 args: 184 - python /opt/app-root/src/manage.py migrate --noinput; 185 python /opt/app-root/src/manage.py createsuperuser --username $DJANGO_SUPERUSER_USERNAME --email $DJANGO_SUPERUSER_EMAIL --noinput || true 186 resources: 187 limits: 188 cpu: 500m 189 memory: 512Mi 190 requests: 191 cpu: 0 192 memory: 0 193 volumes: 194 - name: django-metrics-dir 195 emptyDir: 196 medium: Memory 197 sizeLimit: 256Mi