codeserver.yaml 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. ---
  2. kind: Deployment
  3. apiVersion: apps/v1
  4. metadata:
  5. name: codeserver
  6. labels:
  7. app: codeserver
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: codeserver
  13. template:
  14. metadata:
  15. labels:
  16. app: codeserver
  17. spec:
  18. containers:
  19. - name: codeserver
  20. image: docker.dezendorf.net/code-server:latest
  21. ports:
  22. - name: web
  23. containerPort: 8080
  24. volumeMounts:
  25. - name: code-data-volume
  26. mountPath: "/home/coder"
  27. volumes:
  28. - name: code-data-volume
  29. persistentVolumeClaim:
  30. claimName: code-data-pvc
  31. ---
  32. apiVersion: v1
  33. kind: PersistentVolumeClaim
  34. metadata:
  35. name: code-data-pvc
  36. spec:
  37. accessModes:
  38. - ReadWriteOnce
  39. storageClassName: nfs
  40. resources:
  41. requests:
  42. storage: 100M
  43. ---
  44. apiVersion: v1
  45. kind: Service
  46. metadata:
  47. name: codeserver
  48. spec:
  49. type: ClusterIP
  50. ports:
  51. - name: web
  52. port: 8080
  53. selector:
  54. app: codeserver
  55. ---
  56. apiVersion: traefik.containo.us/v1alpha1
  57. kind: IngressRoute
  58. metadata:
  59. name: codeserver-ingress-route
  60. namespace: default
  61. spec:
  62. entryPoints:
  63. - web
  64. routes:
  65. - match: Host(`codeserver.dezendorf.net`)
  66. kind: Rule
  67. middlewares:
  68. - name: redirecthttps
  69. services:
  70. - name: codeserver
  71. port: 8080
  72. ---
  73. apiVersion: traefik.containo.us/v1alpha1
  74. kind: IngressRoute
  75. metadata:
  76. name: codeserver-websecure-route
  77. namespace: default
  78. spec:
  79. entryPoints:
  80. - websecure
  81. routes:
  82. - match: Host(`codeserver.dezendorf.net`)
  83. kind: Rule
  84. middlewares:
  85. - name: authelia
  86. services:
  87. - name: codeserver
  88. port: 8080
  89. tls:
  90. certResolver: myresolver