apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/component: hudctrl app.kubernetes.io/name: hudctrl app.kubernetes.io/instance: hudctrl app.kubernetes.io/part-of: hudctrl name: hudctrl spec: selector: matchLabels: app.kubernetes.io/component: hudctrl app.kubernetes.io/name: hudctrl app.kubernetes.io/instance: hudctrl template: metadata: labels: app.kubernetes.io/component: hudctrl app.kubernetes.io/name: hudctrl app.kubernetes.io/instance: hudctrl spec: containers: - image: registry.pyrocufflink.blue/hudctrl:latest name: hudctrl ports: - containerPort: 80 name: http env: - name: HUDCTRL_URLS_FILE value: /run/hudctrl/config/urls.json volumeMounts: - mountPath: /run/hudctrl/config name: config-vol volumes: - name: config-vol configMap: name: hudctrl-urls --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/component: hudctrl app.kubernetes.io/name: hudctrl app.kubernetes.io/instance: hudctrl app.kubernetes.io/part-of: hudctrl name: hudctrl spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: app.kubernetes.io/component: hudctrl app.kubernetes.io/instance: hudctrl app.kubernetes.io/name: hudctrl status: loadBalancer: {} --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: hudctrl annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: ingressClassName: nginx tls: - hosts: - hudctrl.pyrocufflink.blue secretName: pyrocufflink-cert rules: - host: hudctrl.pyrocufflink.blue http: paths: - path: / pathType: Prefix backend: service: name: hudctrl port: number: 80