dav.yaml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: dav-deployment
  6. namespace: default
  7. labels:
  8. app: dav
  9. spec:
  10. replicas: 1
  11. selector:
  12. matchLabels:
  13. app: dav
  14. template:
  15. metadata:
  16. labels:
  17. app: dav
  18. spec:
  19. containers:
  20. - image: tomsquest/docker-radicale:3.1.8.3
  21. name: radicale
  22. imagePullPolicy: IfNotPresent
  23. ports:
  24. - containerPort: 5232
  25. volumeMounts:
  26. - name: radicale-data-vol
  27. mountPath: /data
  28. - name: radicale-config-vol
  29. mountPath: /config
  30. volumes:
  31. - name: radicale-data-vol
  32. hostPath:
  33. path: /mnt/radicale/data
  34. type: Directory
  35. - name: radicale-config-vol
  36. hostPath:
  37. path: /mnt/radicale/config
  38. type: Directory
  39. nodeSelector:
  40. kubernetes.io/arch: arm64
  41. ---
  42. apiVersion: v1
  43. kind: Service
  44. metadata:
  45. name: dav
  46. namespace: default
  47. labels:
  48. app: dav
  49. spec:
  50. type: ClusterIP
  51. selector:
  52. app: dav
  53. ports:
  54. - port: 80
  55. targetPort: 5232
  56. ---
  57. apiVersion: cert-manager.io/v1
  58. kind: Certificate
  59. metadata:
  60. name: dav.bodicsek.host
  61. spec:
  62. secretName: dav.bodicsek.host
  63. issuerRef:
  64. name: letsencrypt-prod
  65. kind: ClusterIssuer
  66. dnsNames:
  67. - dav.bodicsek.host
  68. ---
  69. apiVersion: traefik.containo.us/v1alpha1
  70. kind: IngressRoute
  71. metadata:
  72. name: dav
  73. namespace: default
  74. spec:
  75. entryPoints:
  76. - websecure
  77. routes:
  78. - kind: Rule
  79. match: Host(`dav.bodicsek.host`)
  80. services:
  81. - kind: Service
  82. name: dav
  83. namespace: default
  84. passHostHeader: true
  85. port: 80
  86. tls:
  87. secretName: dav.bodicsek.host