--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: caddy name: caddy spec: replicas: 1 selector: matchLabels: app: caddy template: metadata: labels: app: caddy spec: containers: - image: caddy:latest name: argentumcation-website ports: - containerPort: 80 protocol: TCP #- containerPort: 443 # protocol: TCP - containerPort: 2019 protocol: TCP volumeMounts: - mountPath: /etc/caddy name: caddy-config-volume - mountPath: /data name: caddy-data-volume restartPolicy: Always volumes: - name: caddy-config-volume persistentVolumeClaim: claimName: caddy-config-pvc - name: caddy-data-volume persistentVolumeClaim: claimName: caddy-data-pvc --- apiVersion: v1 kind: Service metadata: name: caddy-svc spec: ports: - name: "caddy-http" port: 80 targetPort: 80 nodePort: 31180 # - name: "caddy-https" # port: 443 # targetPort: 443 - name: "caddy-admin" port: 2019 targetPort: 2019 nodePort: 32019 type: NodePort selector: app: caddy --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: caddy-http annotations: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - host: reticulum.lan http: paths: - path: / pathType: Prefix backend: service: name: caddy-svc port: number: 80 - host: argentumcation.com http: paths: - path: / pathType: Prefix backend: service: name: caddy-svc port: number: 80 - host: xn--2dkua.xn--tckwe http: paths: - path: / pathType: Prefix backend: service: name: caddy-svc port: number: 80 --- apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: smb.csi.k8s.io name: caddy-data-pv spec: capacity: storage: 100Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain storageClassName: smb mountOptions: - dir_mode=0777 - file_mode=0777 # - vers=3.0 csi: driver: smb.csi.k8s.io # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} # make sure this value is unique for every share in the cluster volumeHandle: lipotropin.lan#meta/services/caddy#raid# volumeAttributes: source: //192.168.1.146/raid subDir: 00_meta/02_services/caddy nodeStageSecretRef: name: smbcreds namespace: default --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: caddy-data-pvc spec: accessModes: - ReadOnlyMany resources: requests: storage: 100Gi volumeName: caddy-data-pv storageClassName: smb --- apiVersion: v1 kind: PersistentVolume metadata: annotations: pv.kubernetes.io/provisioned-by: smb.csi.k8s.io name: caddy-config-pv spec: capacity: storage: 100Gi accessModes: - ReadOnlyMany persistentVolumeReclaimPolicy: Retain storageClassName: smb mountOptions: - dir_mode=0777 - file_mode=0777 # - vers=3.0 csi: driver: smb.csi.k8s.io # volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name} # make sure this value is unique for every share in the cluster volumeHandle: lipotropin.lan#meta/services_config/caddy#raid# volumeAttributes: source: //192.168.1.146/raid subDir: 00_meta/05_service_config/caddy nodeStageSecretRef: name: smbcreds namespace: default --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: caddy-config-pvc spec: accessModes: - ReadOnlyMany resources: requests: storage: 100Gi volumeName: caddy-config-pv storageClassName: smb