diff --git a/polls.yaml b/polls.yaml new file mode 100644 index 0000000000000000000000000000000000000000..db534cf9c798d30319df913c27bc845c131d0818 --- /dev/null +++ b/polls.yaml @@ -0,0 +1,86 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: polls + labels: + app: polls +spec: + replicas: 1 + selector: + matchLabels: + app: polls + template: + metadata: + labels: + app: polls + spec: + containers: + - name: polls-app + image: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME/polls:${CI_COMMIT_SHORT_SHA} + imagePullPolicy: Always + env: + - name: DATABASE_HOST + value: postgresql + - name: DATABASE_NAME + valueFrom: + secretKeyRef: + name: postgresql-credentials + key: database + - name: DATABASE_USER + valueFrom: + secretKeyRef: + name: postgresql-credentials + key: username + - name: DATABASE_PASSWORD + valueFrom: + secretKeyRef: + name: postgresql-credentials + key: password + - name: PORT + value: "8080" + ports: + - containerPort: 8080 + resources: + requests: + memory: "64Mi" + cpu: "50m" + limits: + memory: "128Mi" + cpu: "100m" + imagePullSecrets: + - name: registry-gitlab + volumes: + - name: postgresql-credentials + secret: + secretName: postgresql-credentials +--- +apiVersion: v1 +kind: Service +metadata: + name: polls + labels: + app: polls +spec: + type: ClusterIP + ports: + - port: 8080 + selector: + app: polls +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + annotations: + kubernetes.io/ingress.class: traefik + labels: + app: polls + name: polls +spec: + rules: + - host: ${GITLAB_USER_LOGIN}-${CI_PROJECT_NAME}.k8s-dev.pasteur.fr + http: + paths: + - backend: + serviceName: polls + servicePort: 8080 + path: /