questions.yaml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. groups:
  2. - name: Tailscale Configuration
  3. description: Configure Tailscale
  4. - name: Network Configuration
  5. description: Configure Network for Tailscale
  6. - name: Resources Configuration
  7. description: Configure Resources for Tailscale
  8. questions:
  9. - variable: tailscaleConfig
  10. label: ""
  11. group: Tailscale Configuration
  12. schema:
  13. type: dict
  14. attrs:
  15. - variable: authkey
  16. label: Auth Key
  17. description: |
  18. The auth key for Tailscale.</br>
  19. Same as `--authkey` flag.
  20. schema:
  21. type: string
  22. default: ""
  23. required: true
  24. private: true
  25. - variable: hostname
  26. label: Hostname
  27. description: |
  28. The hostname for Tailscale Node.</br>
  29. Only lowercase letters, numbers, and hyphens are allowed.</br>
  30. Same as `--hostname` flag.
  31. schema:
  32. type: string
  33. default: "truenas-scale"
  34. required: true
  35. - variable: advertiseRoutes
  36. label: Advertise Routes
  37. description: |
  38. The routes to advertise.</br>
  39. Same as `--advertise-routes` flag.
  40. schema:
  41. type: list
  42. default: []
  43. items:
  44. - variable: routeEntry
  45. label: Route
  46. schema:
  47. type: string
  48. required: true
  49. - variable: advertiseExitNode
  50. label: Advertise Exit Node
  51. description: |
  52. Advertise as Exit Node.</br>
  53. Same as `--advertise-exit-node` flag.
  54. schema:
  55. type: boolean
  56. default: false
  57. - variable: userspace
  58. label: Userspace
  59. description: Userspace for Tailscale.
  60. schema:
  61. type: boolean
  62. default: true
  63. - variable: acceptDns
  64. label: Accept DNS
  65. description: |
  66. Accept DNS.</br>
  67. Same as `--accept-dns` flag.
  68. schema:
  69. type: boolean
  70. default: false
  71. - variable: authOnce
  72. label: Auth Once
  73. description: |
  74. Attempt to log in only if not already logged in.</br>
  75. schema:
  76. type: boolean
  77. default: false
  78. - variable: extraArgs
  79. label: Extra Arguments
  80. description: Extra arguments for Tailscale.
  81. schema:
  82. type: list
  83. default: []
  84. items:
  85. - variable: argEntry
  86. label: Argument
  87. schema:
  88. type: string
  89. required: true
  90. - variable: extraDaemonArgs
  91. label: Extra Daemon Arguments
  92. description: Extra arguments for Tailscale daemon.
  93. schema:
  94. type: list
  95. default: []
  96. items:
  97. - variable: DaemonArgEntry
  98. label: Daemon Argument
  99. schema:
  100. type: string
  101. required: true
  102. - variable: additionalEnvs
  103. label: Additional Environment Variables
  104. description: Configure additional environment variables for Tailscale.
  105. schema:
  106. type: list
  107. default: []
  108. items:
  109. - variable: env
  110. label: Environment Variable
  111. schema:
  112. type: dict
  113. attrs:
  114. - variable: name
  115. label: Name
  116. schema:
  117. type: string
  118. required: true
  119. - variable: value
  120. label: Value
  121. schema:
  122. type: string
  123. required: true
  124. - variable: tailscaleNetwork
  125. label: ""
  126. group: Network Configuration
  127. schema:
  128. type: dict
  129. attrs:
  130. - variable: hostNetwork
  131. label: Host Network
  132. description: |
  133. Bind to the host network. It's recommended to keep this disabled.</br>
  134. schema:
  135. type: boolean
  136. default: false
  137. - variable: resources
  138. group: Resources Configuration
  139. label: ""
  140. schema:
  141. type: dict
  142. attrs:
  143. - variable: limits
  144. label: Limits
  145. schema:
  146. type: dict
  147. attrs:
  148. - variable: cpu
  149. label: CPU
  150. description: CPU limit for Tailscale.
  151. schema:
  152. type: string
  153. max_length: 6
  154. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  155. valid_chars_error: |
  156. Valid CPU limit formats are</br>
  157. - Plain Integer - eg. 1</br>
  158. - Float - eg. 0.5</br>
  159. - Milicpu - eg. 500m
  160. default: "4000m"
  161. required: true
  162. - variable: memory
  163. label: Memory
  164. description: Memory limit for Tailscale.
  165. schema:
  166. type: string
  167. max_length: 12
  168. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  169. valid_chars_error: |
  170. Valid Memory limit formats are</br>
  171. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  172. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  173. - Plain Integer in bytes - eg. 1024</br>
  174. - Exponent - eg. 134e6
  175. default: "8Gi"
  176. required: true