apps/radicale/radicale.yaml (view raw)
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: radicale
5 labels:
6 app: radicale
7spec:
8 selector:
9 matchLabels:
10 app: radicale
11 template:
12 metadata:
13 labels:
14 app: radicale
15 spec:
16 nodeSelector:
17 kubernetes.io/hostname: sini
18 containers:
19 - name: radicale
20 image: tomsquest/docker-radicale
21 imagePullPolicy: IfNotPresent
22 volumeMounts:
23 - name: collections
24 mountPath: /data/collections
25 ports:
26 - name: http
27 containerPort: 5232
28 command: ["/venv/bin/radicale", "--config", "/config/config"]
29 volumes:
30 - name: collections
31 persistentVolumeClaim:
32 claimName: radicale-collections
33---
34apiVersion: v1
35kind: Service
36metadata:
37 name: radicale
38spec:
39 selector:
40 app: radicale
41 ports:
42 - name: http
43 port: 80
44 targetPort: 5232
45---
46apiVersion: v1
47kind: PersistentVolumeClaim
48metadata:
49 name: radicale-collections
50spec:
51 storageClassName: local-path
52 accessModes:
53 - ReadWriteOnce
54 resources:
55 requests:
56 storage: 100Mi
57---
58apiVersion: networking.k8s.io/v1
59kind: Ingress
60metadata:
61 annotations:
62 nginx.ingress.kubernetes.io/ssl-redirect: "true"
63 labels:
64 app.kubernetes.io/component: radicale
65 app.kubernetes.io/instance: radicale
66 app.kubernetes.io/name: radicale
67 name: dav.koti.lan
68 namespace: default
69spec:
70 ingressClassName: nginx
71 rules:
72 - host: dav.koti.lan
73 http:
74 paths:
75 - backend:
76 service:
77 name: radicale
78 port:
79 name: http
80 path: /
81 pathType: Prefix
82 tls:
83 - hosts:
84 - dav.koti.lan
85 secretName: dav-koti-lan