apiVersion: apps/v1 kind: DaemonSet metadata: name: bunkerized-nginx labels: app: bunkerized-nginx spec: selector: matchLabels: name: bunkerized-nginx template: metadata: labels: name: bunkerized-nginx # this label is mandatory bunkerized-nginx: "yes" spec: containers: - name: bunkerized-nginx image: bunkerity/bunkerized-nginx ports: - containerPort: 8080 hostPort: 80 - containerPort: 8443 hostPort: 443 env: - name: KUBERNETES_MODE value: "yes" - name: DNS_RESOLVERS value: "coredns.kube-system.svc.cluster.local" - name: USE_API value: "yes" - name: API_URI value: "/ChangeMeToSomethingHardToGuess" - name: SERVER_NAME value: "" - name: MULTISITE value: "yes" --- apiVersion: v1 kind: Service metadata: name: bunkerized-nginx-service # this label is mandatory labels: bunkerized-nginx: "yes" # this annotation is mandatory annotations: bunkerized-nginx.AUTOCONF: "yes" spec: clusterIP: None selector: name: bunkerized-nginx --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nginx spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: bunkerized-nginx-ingress-controller labels: app: bunkerized-nginx-autoconf spec: replicas: 1 selector: matchLabels: app: bunkerized-nginx-autoconf template: metadata: labels: app: bunkerized-nginx-autoconf spec: serviceAccountName: bunkerized-nginx-ingress-controller volumes: - name: vol-nginx persistentVolumeClaim: claimName: pvc-nginx initContainers: - name: change-data-dir-permissions command: - chown - -R - 101:101 - /etc/letsencrypt - /cache image: busybox volumeMounts: - name: vol-nginx mountPath: /etc/letsencrypt subPath: letsencrypt - name: vol-nginx mountPath: /cache subPath: cache securityContext: runAsNonRoot: false runAsUser: 0 runAsGroup: 0 containers: - name: bunkerized-nginx-autoconf image: bunkerity/bunkerized-nginx-autoconf env: - name: KUBERNETES_MODE value: "yes" - name: API_URI value: "/ChangeMeToSomethingHardToGuess" volumeMounts: - name: vol-nginx mountPath: /etc/letsencrypt subPath: letsencrypt - name: vol-nginx mountPath: /cache subPath: cache