apiVersion: v1 kind: Namespace metadata: name: photoframesvc labels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc app.kubernetes.io/part-of: photoframesvc --- apiVersion: v1 kind: Service metadata: name: photoframesvc namespace: photoframesvc labels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc app.kubernetes.io/part-of: photoframesvc spec: type: ClusterIP selector: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc ports: - name: http port: 8000 --- apiVersion: apps/v1 kind: Deployment metadata: name: photoframesvc namespace: photoframesvc labels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc app.kubernetes.io/part-of: photoframesvc spec: selector: matchLabels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc template: metadata: labels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc spec: containers: - name: photoframesvc image: git.pyrocufflink.net/containerimages/photoframesvc env: - name: PHOTOFRAME_NEXTCLOUD_URL value: https://nextcloud.pyrocufflink.net - name: PHOTOFRAME_NEXTCLOUD_USERNAME value: photoframe - name: PHOTOFRAME_NEXTCLOUD_PASSWORD valueFrom: secretKeyRef: name: nextcloud key: password ports: - containerPort: 8000 name: http volumeMounts: - name: data mountPath: /run/photoframesvc securityContext: fsGroup: 1000 volumes: - name: data emptyDir: {} --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: photoframesvc namespace: photoframesvc labels: app.kubernetes.io/name: photoframesvc app.kubernetes.io/component: photoframesvc app.kubernetes.io/instance: photoframesvc app.kubernetes.io/part-of: photoframesvc annotations: nginx.ingress.kubernetes.io/proxy-read-timeout: '600' spec: ingressClassName: nginx rules: - host: photos.pyrocufflink.blue http: paths: - path: / pathType: Prefix backend: service: name: photoframesvc port: name: http tls: - hosts: - photos.pyrocufflink.blue