www-jmbit-de/deployment.yml

107 lines
2.0 KiB
YAML

---
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