pod.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. name: guix-builder
  5. annotations:
  6. # Setting spec.force to true will make Flux recreate the Pod when any
  7. # immutable field is changed, forcing the Pod to run every time the
  8. # container image tag changes.
  9. kustomize.toolkit.fluxcd.io/force: enabled
  10. labels:
  11. app.kubernetes.io/name: guix-builder
  12. spec:
  13. restartPolicy: Never
  14. automountServiceAccountToken: false
  15. terminationGracePeriodSeconds: 600
  16. containers:
  17. - image: harbor.home.wugi.info/library/guix-image-workstation:latest
  18. name: guix-builder
  19. securityContext:
  20. capabilities:
  21. add:
  22. # - CHOWN
  23. # - DAC_OVERRIDE
  24. # - DAC_READ_SEARCH
  25. # - FOWNER
  26. # - FSETID
  27. # - KILL
  28. # - SETGID
  29. # - SETUID
  30. # - SETPCAP
  31. # - LINUX_IMMUTABLE
  32. # - NET_BIND_SERVICE
  33. # - NET_BROADCAST
  34. # - NET_ADMIN
  35. # - NET_RAW
  36. # - IPC_LOCK
  37. # - IPC_OWNER
  38. # - SYS_MODULE
  39. # - SYS_RAWIO
  40. # - SYS_CHROOT
  41. # - SYS_PTRACE
  42. # - SYS_PACCT
  43. - SYS_ADMIN
  44. # - SYS_BOOT
  45. # - SYS_NICE
  46. # - SYS_RESOURCE
  47. # - SYS_TIME
  48. # - SYS_TTY_CONFIG
  49. # - MKNOD
  50. # - LEASE
  51. # - AUDIT_WRITE
  52. # - AUDIT_CONTROL
  53. # - SETFCAP
  54. # - MAC_OVERRIDE
  55. # - MAC_ADMIN
  56. # - SYSLOG
  57. # - WAKE_ALARM
  58. # - BLOCK_SUSPEND
  59. # - AUDIT_READ
  60. # - PERFMON
  61. # - BPF
  62. # - CHECKPOINT_RESTORE
  63. privileged: true
  64. # allowPrivilegeEscalation: true
  65. tty: true
  66. volumeMounts:
  67. - mountPath: /dev/fuse
  68. name: dev-fuse
  69. - mountPath: /etc/nsswitch.conf
  70. name: nsswitch
  71. readOnly: true
  72. - mountPath: /etc/services
  73. name: services
  74. readOnly: true
  75. - mountPath: /dev/shm
  76. name: shm
  77. lifecycle:
  78. preStop:
  79. exec:
  80. command:
  81. - halt
  82. volumes:
  83. - name: dev-fuse
  84. hostPath:
  85. path: /dev/fuse
  86. type: CharDevice
  87. - name: nsswitch
  88. hostPath:
  89. path: /etc/nsswitch.conf
  90. type: File
  91. - name: services
  92. hostPath:
  93. path: /etc/services
  94. type: File
  95. - name: shm
  96. emptyDir:
  97. medium: Memory
  98. sizeLimit: 1Gi