88 lines
1.7 KiB
YAML
88 lines
1.7 KiB
YAML
apiVersion: certmanager.k8s.io/v1alpha1
|
|
kind: Certificate
|
|
metadata:
|
|
name: dns.app.keks.cloud
|
|
namespace: dyndns
|
|
spec:
|
|
secretName: dns-app-keks-cloud-tls
|
|
acme:
|
|
config:
|
|
- dns01:
|
|
provider: cf-dns
|
|
domains:
|
|
- 'dns.app.keks.cloud'
|
|
commonName: 'dns.app.keks.cloud'
|
|
dnsNames:
|
|
- dns.app.keks.cloud
|
|
issuerRef:
|
|
kind: ClusterIssuer
|
|
name: letsencrypt-prod
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: env-dns-web
|
|
namespace: dyndns
|
|
data:
|
|
DYNDNS_CONFIG: "file"
|
|
DYNDNS_CONFIG_FILE: "pv/config.json"
|
|
CLOUDFLARE_API_KEY: "b82e4168ec5b30b1a6cbda0679e8827af9481"
|
|
CLOUDFLARE_DOMAIN: "keks.cloud"
|
|
CLOUDFLARE_MAIL: "cloudflare@kekskurse.de"
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: webapi
|
|
namespace: dyndns
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: webapi
|
|
spec:
|
|
containers:
|
|
- name: web
|
|
image: docker.keks.cloud/soeren/dyndns:latest
|
|
ports:
|
|
- containerPort: 80
|
|
envFrom:
|
|
- configMapRef:
|
|
name: env-dns-web
|
|
imagePullSecrets:
|
|
- name: docker-keks-cloud
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
field.cattle.io/targetWorkloadIds: '["deployment:dyndns:webapi"]'
|
|
name: ingress-dyndns
|
|
namespace: dyndns
|
|
spec:
|
|
ports:
|
|
- port: 80
|
|
protocol: TCP
|
|
targetPort: 80
|
|
type: ClusterIP
|
|
status:
|
|
loadBalancer: {}
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: webapi
|
|
namespace: dyndns
|
|
spec:
|
|
rules:
|
|
- host: dns.app.keks.cloud
|
|
http:
|
|
paths:
|
|
- backend:
|
|
serviceName: ingress-dyndns
|
|
servicePort: 80
|
|
path: /
|
|
tls:
|
|
- secretName: dns-app-keks-cloud-tls
|
|
|