apiVersion: v1 kind: Namespace metadata: name: caddy --- apiVersion: apps/v1 kind: StatefulSet metadata: name: caddy namespace: caddy spec: serviceName: caddy replicas: 1 selector: matchLabels: app: caddy template: metadata: labels: app: caddy spec: containers: - name: caddy image: git.hydrar.de/hydra/caddy-cloudflare:latest imagePullPolicy: IfNotPresent ports: - containerPort: 80 name: http - containerPort: 443 name: https volumeMounts: - name: caddyfile mountPath: /etc/caddy/Caddyfile - name: caddy-data mountPath: /data - name: caddy-config mountPath: /config - name: caddy-logs mountPath: /var/log - name: caddy-static mountPath: /static volumes: - name: caddyfile hostPath: path: /nvme/docker/system/caddy/Caddyfile type: File - name: caddy-data hostPath: path: /nvme/docker/system/caddy/data type: Directory - name: caddy-config hostPath: path: /nvme/docker/system/caddy/config type: Directory - name: caddy-logs hostPath: path: /nvme/docker/system/caddy/logs type: Directory - name: caddy-static hostPath: path: /nvme/docker/system/caddy/static type: Directory --- apiVersion: v1 kind: Service metadata: name: caddy namespace: caddy spec: type: LoadBalancer selector: app: caddy ports: - name: http port: 80 targetPort: 80 - name: https port: 443 targetPort: 443