--- apiVersion: apps/v1 kind: Deployment metadata: name: www-jmbit-de namespace: jmbit-web labels: app: nginx-jmbit-www spec: replicas: 1 selector: matchLabels: app: nginx-jmbit-www template: metadata: labels: app: nginx-jmbit-www spec: containers: - name: www-jmbit-de image: docker.io/jmbitci/www-jmbit-de ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: www-jmbit-de-service namespace: jmbit-web spec: ports: - port: 80 targetPort: 80 name: tcp selector: app: nginx-jmbit-www --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: letsencrypt-web-staging namespace: jmbit-web spec: acme: email: webmaster@jmbit.de # replace this privateKeySecretRef: name: letsencrypt-web-staging server: https://acme-staging-v02.api.letsencrypt.org/directory solvers: - http01: ingress: class: traefik --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: letsencrypt-web-prod namespace: jmbit-web spec: acme: email: webmaster@jmbit.de # replace this privateKeySecretRef: name: letsencrypt-web-prod server: https://acme-v02.api.letsencrypt.org/directory solvers: - http01: ingress: class: traefik --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jmbit-web-ingress namespace: jmbit-web annotations: kubernetes.io/ingress.class: "traefik" cert-manager.io/issuer: letsencrypt-web-prod spec: tls: - secretName: jmbit-web-cert-prod hosts: - www.jmbit.de - jmbit.de rules: - host: www.jmbit.de http: paths: - path: / pathType: Prefix backend: service: name: www-jmbit-de-service port: number: 80 - host: jmbit.de http: paths: - path: / pathType: Prefix backend: service: name: www-jmbit-de-service port: number: 80