apiVersion: apps/v1 kind: Deployment metadata: name: api namespace: homea2 labels: app: api component: home-automation spec: replicas: 1 selector: matchLabels: app: api template: metadata: annotations: reloader.stakater.com/auto: "true" configmap.reloader.stakater.com/reload: "home-automation-environment,home-automation-config" labels: app: api component: home-automation spec: containers: - name: api image: %IMAGE% ports: - containerPort: 8001 name: http env: - name: MQTT_BROKER valueFrom: configMapKeyRef: name: home-automation-environment key: SHARED_MQTT_BROKER - name: MQTT_PORT valueFrom: configMapKeyRef: name: home-automation-environment key: SHARED_MQTT_PORT - name: REDIS_HOST valueFrom: configMapKeyRef: name: home-automation-environment key: SHARED_REDIS_HOST - name: REDIS_PORT valueFrom: configMapKeyRef: name: home-automation-environment key: SHARED_REDIS_PORT - name: REDIS_DB valueFrom: configMapKeyRef: name: home-automation-environment key: SHARED_REDIS_DB - name: REDIS_CHANNEL valueFrom: configMapKeyRef: name: home-automation-environment key: API_REDIS_CHANNEL volumeMounts: - name: config-volume mountPath: /app/config readOnly: true livenessProbe: httpGet: path: /health port: 8001 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8001 initialDelaySeconds: 5 periodSeconds: 5 resources: limits: cpu: 1000m memory: 1Gi requests: cpu: 200m memory: 256Mi volumes: - name: config-volume configMap: name: home-automation-config --- apiVersion: v1 kind: Service metadata: name: api labels: app: api component: home-automation spec: selector: app: api ports: - port: 80 targetPort: 8001 name: http type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: api-ingress annotations: cert-manager.io/cluster-issuer: letsencrypt-production-http spec: tls: - hosts: - homea2-api.hottis.de secretName: homea2-api-cert rules: - host: homea2-api.hottis.de http: paths: - path: / pathType: Prefix backend: service: name: api port: number: 80