apiVersion: apps/v1 kind: Deployment metadata: name: radicale labels: app.kubernetes.io/name: radicale spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: radicale template: metadata: labels: app.kubernetes.io/name: radicale spec: volumes: - name: radicale-data persistentVolumeClaim: claimName: radicale-data-pvc # emptyDir: # sizeLimit: 50Mi # medium: Memory - name: radicale-config configMap: name: radicale-config - name: cache-volume emptyDir: sizeLimit: 50Mi medium: Memory containers: - name: radicale image: tomsquest/docker-radicale:3.5.4.0 ports: - containerPort: 5232 name: http volumeMounts: - name: radicale-data mountPath: "/data" - name: radicale-config mountPath: "/config" - name: cache-volume mountPath: "/cache" resources: requests: cpu: 200m memory: 64M limits: cpu: 500m memory: 256M livenessProbe: httpGet: path: / port: 5232 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 3 successThreshold: 1 securityContext: runAsUser: 1000 runAsGroup: 1000 runAsNonRoot: true allowPrivilegeEscalation: false capabilities: drop: - ALL seccompProfile: type: RuntimeDefault