netclient-daemonset.yaml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. apiVersion: apps/v1
  2. kind: DaemonSet
  3. metadata:
  4. name: netclient
  5. labels:
  6. app: netclient
  7. spec:
  8. selector:
  9. matchLabels:
  10. app: netclient
  11. replicas: 1
  12. template:
  13. metadata:
  14. labels:
  15. app: netclient
  16. spec:
  17. hostNetwork: true
  18. containers:
  19. - name: netclient
  20. image: gravitl/netclient:v0.7.2
  21. command: ['bash', '-c', "netclient checkin -n $NETWORK; sleep $SLEEP"]
  22. env:
  23. - name: ACCESS_TOKEN
  24. value: "XXXX"
  25. - name: NETWORK
  26. value: "YYYY"
  27. - name: SLEEP
  28. value: 30
  29. volumeMounts:
  30. - mountPath: /etc/netclient
  31. name: etc-netclient
  32. - mountPath: /usr/bin/wg
  33. name: wg
  34. securityContext:
  35. privileged: true
  36. initContainers:
  37. - name: netclient-join
  38. image: gravitl/netclient:v0.7.2
  39. command: ['bash', '-c', "netclient join -t $ACCESS_TOKEN --daemon off"]
  40. env:
  41. - name: ACCESS_TOKEN
  42. value: "XXXX"
  43. volumeMounts:
  44. - mountPath: /etc/netclient
  45. name: etc-netclient
  46. - mountPath: /usr/bin/wg
  47. name: wg
  48. securityContext:
  49. privileged: true
  50. volumes:
  51. - hostPath:
  52. path: /etc/netclient
  53. type: DirectoryOrCreate
  54. name: etc-netclient
  55. - hostPath:
  56. path: /usr/bin/wg
  57. type: File
  58. name: wg