diff --git a/02_hetzner/01_prod/semapp-wagtail/deployment.yaml b/02_hetzner/01_prod/semapp-wagtail/deployment.yaml new file mode 100644 index 0000000..8cf9ae8 --- /dev/null +++ b/02_hetzner/01_prod/semapp-wagtail/deployment.yaml @@ -0,0 +1,128 @@ +# Deployment description +apiVersion: apps/v1 +kind: Deployment +metadata: + name: semapp-deployment + namespace: prod-environment + labels: + app: semapp-prod +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: semapp-prod + template: + metadata: + labels: + app: semapp-prod + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + containers: + - name: semapp + image: packages.semapp.lan:5000/semapp-wagtail:V0.0.3 + imagePullPolicy: Always + resources: + requests: + memory: "128Mi" + cpu: "100m" + limits: + memory: "256Mi" + cpu: "4" + ports: + - containerPort: 8000 + name: semapp-http + protocol: TCP + envFrom: + - configMapRef: + name: semapp-prod-config + volumeMounts: + - mountPath: /app/media/ + name: semapp-pv-prod + volumes: + - name: semapp-pv-prod + persistentVolumeClaim: + claimName: semapp-pvc-prod +--- +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: prod-environment + name: semapp-prod-config + labels: + app: semapp-prod +data: + DJANGO_DB_ENGINE: "django.db.backends.postgresql_psycopg2" + DJANGO_DB_NAME: "semapp-wagtail" + DJANGO_DB_USER: "semapp-wagtail" + DJANGO_DB_PASSWORD: "3Wt2Ao9GhafYL73wDXzypGGd" + DJANGO_DB_HOST: "psql.semprod.local" + DJANGO_DB_PORT: "5432" + +--- +# Persistent Volume Claim description +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: semapp-pvc-prod + namespace: prod-environment + labels: + app: semapp-prod +spec: + storageClassName: longhorn + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +# semapp Service +apiVersion: v1 +kind: Service +metadata: + name: semapp + namespace: prod-environment +spec: + selector: + app: semapp-prod + ports: + - name: semapp-http + port: 8000 + targetPort: semapp-http + type: NodePort +--- + +# Ingress description +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: semapp-prod-ingress + namespace: prod-environment + annotations: + kubernetes.io/ingress.class: "traefik" +spec: + rules: + - host: semapp.k8s.semprod.local + http: + paths: + - backend: + service: + name: semapp + port: + number: 8000 + path: / + pathType: ImplementationSpecific + - host: www.semantic-applications.de + http: + paths: + - backend: + service: + name: semapp + port: + number: 8000 + path: / + pathType: ImplementationSpecific \ No newline at end of file