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 devopsnotts22: https://noti.st/averagemarcus/E8Ldoh/managing-kubernetes-without-losing-your-cool klustered: https://gist.githubusercontent.com/AverageMarcus/e58301ecf3455caa1638c3ffe70ed138/raw/klustered.sh --- 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: rg.fr-par.scw.cloud/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