apiVersion: apps/v1 kind: Deployment metadata: name: radicale labels: app: radicale spec: selector: matchLabels: app: radicale template: metadata: labels: app: radicale spec: nodeSelector: kubernetes.io/hostname: sini containers: - name: radicale image: tomsquest/docker-radicale imagePullPolicy: IfNotPresent volumeMounts: - name: collections mountPath: /data/collections - name: tls mountPath: /tls ports: - name: http containerPort: 5232 command: ["/venv/bin/radicale", "--config", "/config/config"] args: - --ssl - "true" - -c - /tls/tls.crt - -k - /tls/tls.key volumes: - name: collections persistentVolumeClaim: claimName: radicale-collections - name: tls projected: sources: - secret: name: dav-koti-lan items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key --- apiVersion: v1 kind: Service metadata: name: radicale spec: selector: app: radicale ports: - name: https port: 443 targetPort: 5232 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: radicale-collections spec: storageClassName: local-path accessModes: - ReadWriteOnce resources: requests: storage: 100Mi