dav.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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.3.2.0
  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
  88. ---
  89. apiVersion: cert-manager.io/v1
  90. kind: Certificate
  91. metadata:
  92. name: test.bodicsek.host
  93. spec:
  94. secretName: test.bodicsek.host
  95. issuerRef:
  96. name: letsencrypt-prod
  97. kind: ClusterIssuer
  98. dnsNames:
  99. - test.bodicsek.host
  100. ---
  101. apiVersion: traefik.containo.us/v1alpha1
  102. kind: IngressRoute
  103. metadata:
  104. name: test
  105. namespace: default
  106. spec:
  107. entryPoints:
  108. - websecure
  109. routes:
  110. - kind: Rule
  111. match: Host(`test.bodicsek.host`)
  112. services:
  113. - kind: Service
  114. name: dav
  115. namespace: default
  116. passHostHeader: true
  117. port: 80
  118. tls:
  119. secretName: test.bodicsek.host