apiVersion: v1 kind: ConfigMap metadata: name: urls-map namespace: link labels: app: link data: urls.yaml: | mn: https://marcusnoble.co.uk whites: https://twitter.com/whites11/status/1484053621448785920 --- apiVersion: v1 kind: Service metadata: name: link namespace: link labels: app: link spec: type: ClusterIP ports: - port: 80 targetPort: web name: web selector: app: link --- apiVersion: apps/v1 kind: Deployment metadata: name: link namespace: link labels: app: link spec: replicas: 1 selector: matchLabels: app: link template: metadata: labels: app: link spec: containers: - name: web image: docker.cluster.fun/averagemarcus/link:latest imagePullPolicy: Always ports: - containerPort: 5050 name: web volumeMounts: - name: config mountPath: /config volumes: - name: config configMap: name: urls-map --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: link namespace: link annotations: cert-manager.io/cluster-issuer: letsencrypt nginx.ingress.kubernetes.io/force-ssl-redirect: "true" spec: tls: - hosts: - go-get.link secretName: link-ingress rules: - host: go-get.link http: paths: - path: / pathType: ImplementationSpecific backend: service: name: link port: number: 80