questions.yaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. groups:
  2. - name: Zerotier Configuration
  3. description: Configure Zerotier
  4. - name: Network Configuration
  5. description: Configure Network for Zerotier
  6. - name: Storage Configuration
  7. description: Configure Storage for Zerotier
  8. - name: Labels Configuration
  9. description: Configure Labels for Zerotier
  10. - name: Resources Configuration
  11. description: Configure Resources for Zerotier
  12. questions:
  13. - variable: zerotier
  14. label: ""
  15. group: Zerotier Configuration
  16. schema:
  17. type: dict
  18. attrs:
  19. - variable: auth_token
  20. label: Auth Token
  21. description: |
  22. (Optional) The auth token for Zerotier.</br>
  23. Same as authtoken.secret.
  24. schema:
  25. type: string
  26. default: ""
  27. private: true
  28. - variable: identity_public
  29. label: Identity Public
  30. description: |
  31. (Optional) The identity public for Zerotier.</br>
  32. Same as identity.public.
  33. schema:
  34. type: string
  35. default: ""
  36. private: true
  37. - variable: identity_secret
  38. label: Identity Secret
  39. description: |
  40. (Optional) The identity secret for Zerotier.</br>
  41. Same as identity.secret.
  42. schema:
  43. type: string
  44. default: ""
  45. private: true
  46. - variable: networks
  47. label: Networks
  48. description: The networks for Zerotier.
  49. schema:
  50. type: list
  51. required: true
  52. min: 1
  53. default: []
  54. items:
  55. - variable: net_id
  56. label: Network ID
  57. schema:
  58. type: string
  59. required: true
  60. - variable: additional_envs
  61. label: Additional Environment Variables
  62. schema:
  63. type: list
  64. default: []
  65. items:
  66. - variable: env
  67. label: Environment Variable
  68. schema:
  69. type: dict
  70. attrs:
  71. - variable: name
  72. label: Name
  73. schema:
  74. type: string
  75. required: true
  76. - variable: value
  77. label: Value
  78. schema:
  79. type: string
  80. - variable: network
  81. label: ""
  82. group: Network Configuration
  83. schema:
  84. type: dict
  85. attrs:
  86. - variable: host_network
  87. label: Host Network
  88. description: |
  89. Bind to the host network. It's recommended to keep this disabled.
  90. schema:
  91. type: boolean
  92. default: true
  93. - variable: storage
  94. label: ""
  95. group: Storage Configuration
  96. schema:
  97. type: dict
  98. attrs:
  99. - variable: config
  100. label: Zerotier Config Storage
  101. description: The path to store Zerotier Config.
  102. schema:
  103. type: dict
  104. attrs:
  105. - variable: type
  106. label: Type
  107. description: |
  108. ixVolume: Is dataset created automatically by the system.</br>
  109. Host Path: Is a path that already exists on the system.
  110. tmpfs: Is a temporary directory that will be created on the RAM.
  111. schema:
  112. type: string
  113. required: true
  114. default: "ix_volume"
  115. enum:
  116. - value: "host_path"
  117. description: Host Path (Path that already exists on the system)
  118. - value: "ix_volume"
  119. description: ixVolume (Dataset created automatically by the system)
  120. - value: "tmpfs"
  121. description: tmpfs (Temporary directory created on the RAM)
  122. - variable: tmpfs_config
  123. label: tmpfs Configuration
  124. description: The configuration for the tmpfs dataset.
  125. schema:
  126. type: dict
  127. show_if: [["type", "=", "tmpfs"]]
  128. attrs:
  129. - variable: size
  130. label: Tmpfs Size Limit (in Mi)
  131. description: |
  132. The maximum size (in Mi) of the temporary directory.</br>
  133. For example: 500
  134. schema:
  135. type: int
  136. default: 500
  137. required: true
  138. - variable: ix_volume_config
  139. label: ixVolume Configuration
  140. description: The configuration for the ixVolume dataset.
  141. schema:
  142. type: dict
  143. show_if: [["type", "=", "ix_volume"]]
  144. $ref:
  145. - "normalize/ix_volume"
  146. attrs:
  147. - variable: acl_enable
  148. label: Enable ACL
  149. description: Enable ACL for the storage.
  150. schema:
  151. type: boolean
  152. default: false
  153. - variable: dataset_name
  154. label: Dataset Name
  155. description: The name of the dataset to use for storage.
  156. schema:
  157. type: string
  158. required: true
  159. hidden: true
  160. default: "config"
  161. - variable: acl_entries
  162. label: ACL Configuration
  163. schema:
  164. type: dict
  165. show_if: [["acl_enable", "=", true]]
  166. attrs: []
  167. - variable: host_path_config
  168. label: Host Path Configuration
  169. schema:
  170. type: dict
  171. show_if: [["type", "=", "host_path"]]
  172. attrs:
  173. - variable: acl_enable
  174. label: Enable ACL
  175. description: Enable ACL for the storage.
  176. schema:
  177. type: boolean
  178. default: false
  179. - variable: acl
  180. label: ACL Configuration
  181. schema:
  182. type: dict
  183. show_if: [["acl_enable", "=", true]]
  184. attrs: []
  185. $ref:
  186. - "normalize/acl"
  187. - variable: path
  188. label: Host Path
  189. description: The host path to use for storage.
  190. schema:
  191. type: hostpath
  192. show_if: [["acl_enable", "=", false]]
  193. required: true
  194. - variable: additional_storage
  195. label: Additional Storage
  196. schema:
  197. type: list
  198. default: []
  199. items:
  200. - variable: storageEntry
  201. label: Storage Entry
  202. schema:
  203. type: dict
  204. attrs:
  205. - variable: type
  206. label: Type
  207. description: |
  208. ixVolume: Is dataset created automatically by the system.</br>
  209. Host Path: Is a path that already exists on the system.</br>
  210. SMB Share: Is a SMB share that is mounted to as a volume.
  211. schema:
  212. type: string
  213. required: true
  214. default: "ix_volume"
  215. enum:
  216. - value: "host_path"
  217. description: Host Path (Path that already exists on the system)
  218. - value: "ix_volume"
  219. description: ixVolume (Dataset created automatically by the system)
  220. - value: "cifs"
  221. description: SMB/CIFS Share (Mounts a volume to a SMB share)
  222. - variable: read_only
  223. label: Read Only
  224. description: Mount the volume as read only.
  225. schema:
  226. type: boolean
  227. default: false
  228. - variable: mount_path
  229. label: Mount Path
  230. description: The path inside the container to mount the storage.
  231. schema:
  232. type: path
  233. required: true
  234. - variable: host_path_config
  235. label: Host Path Configuration
  236. schema:
  237. type: dict
  238. show_if: [["type", "=", "host_path"]]
  239. attrs:
  240. - variable: acl_enable
  241. label: Enable ACL
  242. description: Enable ACL for the storage.
  243. schema:
  244. type: boolean
  245. default: false
  246. - variable: acl
  247. label: ACL Configuration
  248. schema:
  249. type: dict
  250. show_if: [["acl_enable", "=", true]]
  251. attrs: []
  252. $ref:
  253. - "normalize/acl"
  254. - variable: path
  255. label: Host Path
  256. description: The host path to use for storage.
  257. schema:
  258. type: hostpath
  259. show_if: [["acl_enable", "=", false]]
  260. required: true
  261. - variable: ix_volume_config
  262. label: ixVolume Configuration
  263. description: The configuration for the ixVolume dataset.
  264. schema:
  265. type: dict
  266. show_if: [["type", "=", "ix_volume"]]
  267. $ref:
  268. - "normalize/ix_volume"
  269. attrs:
  270. - variable: acl_enable
  271. label: Enable ACL
  272. description: Enable ACL for the storage.
  273. schema:
  274. type: boolean
  275. default: false
  276. - variable: dataset_name
  277. label: Dataset Name
  278. description: The name of the dataset to use for storage.
  279. schema:
  280. type: string
  281. required: true
  282. default: "storage_entry"
  283. - variable: acl_entries
  284. label: ACL Configuration
  285. schema:
  286. type: dict
  287. show_if: [["acl_enable", "=", true]]
  288. attrs: []
  289. - variable: cifs_config
  290. label: SMB Configuration
  291. description: The configuration for the SMB dataset.
  292. schema:
  293. type: dict
  294. show_if: [["type", "=", "cifs"]]
  295. attrs:
  296. - variable: server
  297. label: Server
  298. description: The server to mount the SMB share.
  299. schema:
  300. type: string
  301. required: true
  302. - variable: path
  303. label: Path
  304. description: The path to mount the SMB share.
  305. schema:
  306. type: string
  307. required: true
  308. - variable: username
  309. label: Username
  310. description: The username to use for the SMB share.
  311. schema:
  312. type: string
  313. required: true
  314. - variable: password
  315. label: Password
  316. description: The password to use for the SMB share.
  317. schema:
  318. type: string
  319. required: true
  320. private: true
  321. - variable: domain
  322. label: Domain
  323. description: The domain to use for the SMB share.
  324. schema:
  325. type: string
  326. - variable: labels
  327. label: ""
  328. group: Labels Configuration
  329. schema:
  330. type: list
  331. default: []
  332. items:
  333. - variable: label
  334. label: Label
  335. schema:
  336. type: dict
  337. attrs:
  338. - variable: key
  339. label: Key
  340. schema:
  341. type: string
  342. required: true
  343. - variable: value
  344. label: Value
  345. schema:
  346. type: string
  347. required: true
  348. - variable: containers
  349. label: Containers
  350. description: Containers where the label should be applied
  351. schema:
  352. type: list
  353. items:
  354. - variable: container
  355. label: Container
  356. schema:
  357. type: string
  358. required: true
  359. enum:
  360. - value: zerotier
  361. description: zerotier
  362. - variable: resources
  363. label: ""
  364. group: Resources Configuration
  365. schema:
  366. type: dict
  367. attrs:
  368. - variable: limits
  369. label: Limits
  370. schema:
  371. type: dict
  372. attrs:
  373. - variable: cpus
  374. label: CPUs
  375. description: CPUs limit for Zerotier.
  376. schema:
  377. type: int
  378. default: 2
  379. required: true
  380. - variable: memory
  381. label: Memory (in MB)
  382. description: Memory limit for Zerotier.
  383. schema:
  384. type: int
  385. default: 4096
  386. required: true