From e80c84488a0e06d2c41a3d7bb7e9d7e0b39b45d5 Mon Sep 17 00:00:00 2001 From: Mahmoud Afify Date: Mon, 1 Oct 2018 15:21:03 +0200 Subject: [PATCH] v2 include the deployment and fix folders paths --- .../.env-example | 0 .../deployment/deploy.yml | 130 ++++++++++++++++++ .../deployment/ingress.yml | 14 ++ .../newrelic-customizer.py | 0 .../newrelic.ini | 0 5 files changed, 144 insertions(+) rename .env-example => {{cookiecutter.project_slug}}/.env-example (100%) create mode 100644 {{cookiecutter.project_slug}}/deployment/deploy.yml create mode 100644 {{cookiecutter.project_slug}}/deployment/ingress.yml rename newrelic-customizer.py => {{cookiecutter.project_slug}}/newrelic-customizer.py (100%) rename newrelic.ini => {{cookiecutter.project_slug}}/newrelic.ini (100%) diff --git a/.env-example b/{{cookiecutter.project_slug}}/.env-example similarity index 100% rename from .env-example rename to {{cookiecutter.project_slug}}/.env-example diff --git a/{{cookiecutter.project_slug}}/deployment/deploy.yml b/{{cookiecutter.project_slug}}/deployment/deploy.yml new file mode 100644 index 000000000..766f8220e --- /dev/null +++ b/{{cookiecutter.project_slug}}/deployment/deploy.yml @@ -0,0 +1,130 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: {{cookiecutter.project_slug}} + labels: + app: {{cookiecutter.project_slug}} +spec: + ports: + - port: 80 + targetPort: 8000 + selector: + app: {{cookiecutter.project_slug}} + +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{cookiecutter.project_slug}} +spec: + replicas: 2 + template: + metadata: + labels: + app: {{cookiecutter.project_slug}} + fleet: production + + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: app + operator: In + values: + - {{cookiecutter.project_slug}} + topologyKey: kubernetes.io/hostname + imagePullSecrets: + - name: myregistrykey + containers: + - name: {{cookiecutter.project_slug}} + image: menacommere-docker-registry.bintray.io/{{cookiecutter.project_slug}} + imagePullPolicy: Always + env: + - name: "DEPLOY_ENV" + value: "{{cookiecutter.project_slug}}" + - name: "CONSUL_TOKEN" + valueFrom: + secretKeyRef: + key: accesstoken + name: consul-token + - name: DB_HOST + valueFrom: + secretKeyRef: + key: hostname + name: mysql-prod + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mysql-prod + - name: DB_USER + valueFrom: + secretKeyRef: + key: username + name: mysql-prod + volumeMounts: + - name: tz-config + mountPath: /etc/localtime + volumes: + - name: tz-config + hostPath: + path: /usr/share/zoneinfo/Africa/Cairo + nodeSelector: + environment: production + +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{cookiecutter.project_slug}}-worker +spec: + replicas: 1 + template: + metadata: + labels: + app: {{cookiecutter.project_slug}}-worker + fleet: production + + spec: + imagePullSecrets: + - name: myregistrykey + containers: + - name: {{cookiecutter.project_slug}} + image: menacommere-docker-registry.bintray.io/{{cookiecutter.project_slug}} + args: ["./run.sh", "worker"] + imagePullPolicy: Always + env: + - name: "DEPLOY_ENV" + value: "{{cookiecutter.project_slug}}" + - name: "CONSUL_TOKEN" + valueFrom: + secretKeyRef: + key: accesstoken + name: consul-token + - name: DB_HOST + valueFrom: + secretKeyRef: + key: hostname + name: mysql-prod + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mysql-prod + - name: DB_USER + valueFrom: + secretKeyRef: + key: username + name: mysql-prod + volumeMounts: + - name: tz-config + mountPath: /etc/localtime + volumes: + - name: tz-config + hostPath: + path: /usr/share/zoneinfo/Africa/Cairo + nodeSelector: + environment: production diff --git a/{{cookiecutter.project_slug}}/deployment/ingress.yml b/{{cookiecutter.project_slug}}/deployment/ingress.yml new file mode 100644 index 000000000..7d3240d80 --- /dev/null +++ b/{{cookiecutter.project_slug}}/deployment/ingress.yml @@ -0,0 +1,14 @@ +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{cookiecutter.project_slug}} +spec: + rules: + - host: {{cookiecutter.domain_name}} + http: + paths: + - path: / + backend: + serviceName: {{cookiecutter.project_slug}} + servicePort: 80 diff --git a/newrelic-customizer.py b/{{cookiecutter.project_slug}}/newrelic-customizer.py similarity index 100% rename from newrelic-customizer.py rename to {{cookiecutter.project_slug}}/newrelic-customizer.py diff --git a/newrelic.ini b/{{cookiecutter.project_slug}}/newrelic.ini similarity index 100% rename from newrelic.ini rename to {{cookiecutter.project_slug}}/newrelic.ini