# Deployment description apiVersion: apps/v1 kind: Deployment metadata: name: semapp-deployment namespace: dev-environment labels: app: semapp-dev spec: strategy: type: Recreate replicas: 1 selector: matchLabels: app: semapp-dev template: metadata: labels: app: semapp-dev spec: securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 containers: - name: semapp image: packages.semapp.lan:5000/semapp-wagtail:develop 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-dev-config-dev volumeMounts: - mountPath: /app/media/ name: semapp-pv-dev volumes: - name: semapp-pv-dev persistentVolumeClaim: claimName: semapp-pvc-dev --- apiVersion: v1 kind: ConfigMap metadata: namespace: dev-environment name: semapp-dev-config-dev labels: app: semapp-dev data: DJANGO_DB_ENGINE: "django.db.backends.postgresql_psycopg2" DJANGO_DB_NAME: "semapp-wagtail" DJANGO_DB_USER: "semapp-wagtail" DJANGO_DB_PASSWORD: "semapp-wagtail" DJANGO_DB_HOST: "postgres-lb" DJANGO_DB_PORT: "5432" --- # Persistent Volume Claim description apiVersion: v1 kind: PersistentVolumeClaim metadata: name: semapp-pvc-dev namespace: dev-environment labels: app: semapp-dev spec: storageClassName: longhorn accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- # semapp Service apiVersion: v1 kind: Service metadata: name: semapp namespace: dev-environment spec: selector: app: semapp-dev ports: - name: semapp-http port: 8000 targetPort: semapp-http type: NodePort --- # Ingress description apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: semapp-dev-ingress namespace: dev-environment annotations: kubernetes.io/ingress.class: "traefik" spec: rules: - host: semapp-dev.k3s.semapp.lan http: paths: - backend: service: name: semapp port: number: 8000 path: / pathType: ImplementationSpecific