--- apiVersion: apps/v1 kind: Deployment metadata: name: caddy namespace: cultfifthoctet spec: replicas: 3 selector: matchLabels: app: caddy template: metadata: labels: app: caddy spec: containers: - name: caddy image: git.shrug.pw/neil/cultfifthoctet:latest ports: - name: tcp containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: caddy namespace: cultfifthoctet annotations: service.beta.kubernetes.io/aws-load-balancer-ip-address-type: dualstack service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip service.beta.kubernetes.io/aws-load-balancer-scheme: internal service.beta.kubernetes.io/aws-load-balancer-type: external spec: ports: - port: 8080 targetPort: 8080 protocol: TCP type: LoadBalancer selector: app: caddy --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt-prod kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/client-max-body-size: 20m nginx.ingress.kubernetes.io/proxy-body-size: 20m name: caddy namespace: cultfifthoctet spec: rules: - host: cultfifthoctet.org http: paths: - backend: service: name: caddy port: number: 8080 path: / pathType: Prefix tls: - hosts: - cultfifthoctet.org secretName: default-cert