questions.yaml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531
  1. groups:
  2. - name: Vikunja Configuration
  3. description: Configure Vikunja
  4. - name: Network Configuration
  5. description: Configure Network for Vikunja
  6. - name: Storage Configuration
  7. description: Configure Storage for Vikunja
  8. - name: Resources Configuration
  9. description: Configure Resources for Vikunja
  10. portals:
  11. web_portal:
  12. protocols:
  13. - "$kubernetes-resource_configmap_portal_protocol"
  14. host:
  15. - "$kubernetes-resource_configmap_portal_host"
  16. ports:
  17. - "$kubernetes-resource_configmap_portal_port"
  18. path: "$kubernetes-resource_configmap_portal_path"
  19. questions:
  20. - variable: TZ
  21. group: Vikunja Configuration
  22. label: Timezone
  23. schema:
  24. type: string
  25. default: Etc/UTC
  26. required: true
  27. $ref:
  28. - definitions/timezone
  29. - variable: vikunjaConfig
  30. label: ""
  31. group: Vikunja Configuration
  32. schema:
  33. type: dict
  34. attrs:
  35. - variable: url
  36. label: URL
  37. description: |
  38. The URL that Vikunja will be accessible from.</br>
  39. Example: </br>
  40. http://server.ip:30080</br>
  41. https://Vikunja.example.com
  42. schema:
  43. type: uri
  44. default: ""
  45. required: true
  46. - variable: maxFileSize
  47. label: Max File Size (in MB)
  48. description: The maximum file size for attachments in MB.
  49. schema:
  50. type: int
  51. default: 20
  52. required: true
  53. min: 1
  54. - variable: additionalEnvs
  55. label: Additional Environment Variables
  56. description: Configure additional environment variables for Vikunja.
  57. schema:
  58. type: list
  59. default: []
  60. items:
  61. - variable: env
  62. label: Environment Variable
  63. schema:
  64. type: dict
  65. attrs:
  66. - variable: name
  67. label: Name
  68. schema:
  69. type: string
  70. required: true
  71. - variable: value
  72. label: Value
  73. schema:
  74. type: string
  75. required: true
  76. - variable: vikunjaNetwork
  77. label: ""
  78. group: Network Configuration
  79. schema:
  80. type: dict
  81. attrs:
  82. - variable: webPort
  83. label: Web Port
  84. description: The port for the Vikunja Web UI.
  85. schema:
  86. type: int
  87. default: 31002
  88. min: 9000
  89. max: 65535
  90. required: true
  91. - variable: hostNetwork
  92. label: Host Network
  93. description: |
  94. Bind to the host network. It's recommended to keep this disabled.</br>
  95. schema:
  96. type: boolean
  97. default: false
  98. - variable: vikunjaStorage
  99. label: ""
  100. group: Storage Configuration
  101. schema:
  102. type: dict
  103. attrs:
  104. - variable: data
  105. label: Vikunja Data Storage
  106. description: The path to store Vikunja Data.
  107. schema:
  108. type: dict
  109. attrs:
  110. - variable: type
  111. label: Type
  112. description: |
  113. ixVolume: Is dataset created automatically by the system.</br>
  114. Host Path: Is a path that already exists on the system.
  115. schema:
  116. type: string
  117. required: true
  118. immutable: true
  119. default: "ixVolume"
  120. enum:
  121. - value: "hostPath"
  122. description: Host Path (Path that already exists on the system)
  123. - value: "ixVolume"
  124. description: ixVolume (Dataset created automatically by the system)
  125. - variable: ixVolumeConfig
  126. label: ixVolume Configuration
  127. description: The configuration for the ixVolume dataset.
  128. schema:
  129. type: dict
  130. show_if: [["type", "=", "ixVolume"]]
  131. $ref:
  132. - "normalize/ixVolume"
  133. attrs:
  134. - variable: aclEnable
  135. label: Enable ACL
  136. description: Enable ACL for the dataset.
  137. schema:
  138. type: boolean
  139. default: false
  140. - variable: datasetName
  141. label: Dataset Name
  142. description: The name of the dataset to use for storage.
  143. schema:
  144. type: string
  145. required: true
  146. immutable: true
  147. hidden: true
  148. default: "config"
  149. - variable: aclEntries
  150. label: ACL Configuration
  151. schema:
  152. type: dict
  153. show_if: [["aclEnable", "=", true]]
  154. attrs: []
  155. - variable: hostPathConfig
  156. label: hostPathConfig
  157. schema:
  158. type: dict
  159. show_if: [["type", "=", "hostPath"]]
  160. attrs:
  161. - variable: aclEnable
  162. label: Enable ACL
  163. description: Enable ACL for the dataset.
  164. schema:
  165. type: boolean
  166. default: false
  167. - variable: acl
  168. label: ACL Configuration
  169. schema:
  170. type: dict
  171. show_if: [["aclEnable", "=", true]]
  172. attrs: []
  173. $ref:
  174. - "normalize/acl"
  175. - variable: hostPath
  176. label: Host Path
  177. description: The host path to use for storage.
  178. schema:
  179. type: hostpath
  180. show_if: [["aclEnable", "=", false]]
  181. required: true
  182. - variable: pgData
  183. label: Postgres Data Storage
  184. description: The path to store Postgres Data.
  185. schema:
  186. type: dict
  187. attrs:
  188. - variable: type
  189. label: Type
  190. description: |
  191. ixVolume: Is dataset created automatically by the system.</br>
  192. Host Path: Is a path that already exists on the system.
  193. schema:
  194. type: string
  195. required: true
  196. immutable: true
  197. default: "ixVolume"
  198. enum:
  199. - value: "hostPath"
  200. description: Host Path (Path that already exists on the system)
  201. - value: "ixVolume"
  202. description: ixVolume (Dataset created automatically by the system)
  203. - variable: ixVolumeConfig
  204. label: ixVolume Configuration
  205. description: The configuration for the ixVolume dataset.
  206. schema:
  207. type: dict
  208. show_if: [["type", "=", "ixVolume"]]
  209. $ref:
  210. - "normalize/ixVolume"
  211. attrs:
  212. - variable: aclEnable
  213. label: Enable ACL
  214. description: Enable ACL for the dataset.
  215. schema:
  216. type: boolean
  217. hidden: true
  218. default: false
  219. - variable: datasetName
  220. label: Dataset Name
  221. description: The name of the dataset to use for storage.
  222. schema:
  223. type: string
  224. required: true
  225. immutable: true
  226. hidden: true
  227. default: "pgData"
  228. - variable: aclEntries
  229. label: ACL Configuration
  230. schema:
  231. type: dict
  232. show_if: [["aclEnable", "=", true]]
  233. attrs: []
  234. - variable: hostPathConfig
  235. label: hostPathConfig
  236. schema:
  237. type: dict
  238. show_if: [["type", "=", "hostPath"]]
  239. attrs:
  240. - variable: aclEnable
  241. label: Enable ACL
  242. description: Enable ACL for the dataset.
  243. schema:
  244. type: boolean
  245. default: false
  246. - variable: acl
  247. label: ACL Configuration
  248. schema:
  249. type: dict
  250. hidden: true
  251. show_if: [["aclEnable", "=", true]]
  252. attrs: []
  253. $ref:
  254. - "normalize/acl"
  255. - variable: hostPath
  256. label: Host Path
  257. description: The host path to use for storage.
  258. schema:
  259. type: hostpath
  260. show_if: [["aclEnable", "=", false]]
  261. required: true
  262. - variable: pgBackup
  263. label: Postgres Backup Storage
  264. description: The path to store Postgres Backup.
  265. schema:
  266. type: dict
  267. attrs:
  268. - variable: type
  269. label: Type
  270. description: |
  271. ixVolume: Is dataset created automatically by the system.</br>
  272. Host Path: Is a path that already exists on the system.
  273. schema:
  274. type: string
  275. required: true
  276. immutable: true
  277. default: "ixVolume"
  278. enum:
  279. - value: "hostPath"
  280. description: Host Path (Path that already exists on the system)
  281. - value: "ixVolume"
  282. description: ixVolume (Dataset created automatically by the system)
  283. - variable: ixVolumeConfig
  284. label: ixVolume Configuration
  285. description: The configuration for the ixVolume dataset.
  286. schema:
  287. type: dict
  288. show_if: [["type", "=", "ixVolume"]]
  289. $ref:
  290. - "normalize/ixVolume"
  291. attrs:
  292. - variable: aclEnable
  293. label: Enable ACL
  294. description: Enable ACL for the dataset.
  295. schema:
  296. type: boolean
  297. hidden: true
  298. default: false
  299. - variable: datasetName
  300. label: Dataset Name
  301. description: The name of the dataset to use for storage.
  302. schema:
  303. type: string
  304. required: true
  305. immutable: true
  306. hidden: true
  307. default: "pgBackup"
  308. - variable: aclEntries
  309. label: ACL Configuration
  310. schema:
  311. type: dict
  312. show_if: [["aclEnable", "=", true]]
  313. attrs: []
  314. - variable: hostPathConfig
  315. label: hostPathConfig
  316. schema:
  317. type: dict
  318. show_if: [["type", "=", "hostPath"]]
  319. attrs:
  320. - variable: aclEnable
  321. label: Enable ACL
  322. description: Enable ACL for the dataset.
  323. schema:
  324. type: boolean
  325. default: false
  326. - variable: acl
  327. label: ACL Configuration
  328. schema:
  329. type: dict
  330. hidden: true
  331. show_if: [["aclEnable", "=", true]]
  332. attrs: []
  333. $ref:
  334. - "normalize/acl"
  335. - variable: hostPath
  336. label: Host Path
  337. description: The host path to use for storage.
  338. schema:
  339. type: hostpath
  340. show_if: [["aclEnable", "=", false]]
  341. required: true
  342. - variable: additionalStorages
  343. label: Additional Storage
  344. description: Additional storage for Vikunja.
  345. schema:
  346. type: list
  347. default: []
  348. items:
  349. - variable: storageEntry
  350. label: Storage Entry
  351. schema:
  352. type: dict
  353. attrs:
  354. - variable: type
  355. label: Type
  356. description: |
  357. ixVolume: Is dataset created automatically by the system.</br>
  358. Host Path: Is a path that already exists on the system.</br>
  359. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  360. schema:
  361. type: string
  362. required: true
  363. default: "ixVolume"
  364. immutable: true
  365. enum:
  366. - value: "hostPath"
  367. description: Host Path (Path that already exists on the system)
  368. - value: "ixVolume"
  369. description: ixVolume (Dataset created automatically by the system)
  370. - value: "smb-pv-pvc"
  371. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  372. - variable: readOnly
  373. label: Read Only
  374. description: Mount the volume as read only.
  375. schema:
  376. type: boolean
  377. default: false
  378. - variable: mountPath
  379. label: Mount Path
  380. description: The path inside the container to mount the storage.
  381. schema:
  382. type: path
  383. required: true
  384. - variable: hostPathConfig
  385. label: hostPathConfig
  386. schema:
  387. type: dict
  388. show_if: [["type", "=", "hostPath"]]
  389. attrs:
  390. - variable: aclEnable
  391. label: Enable ACL
  392. description: Enable ACL for the dataset.
  393. schema:
  394. type: boolean
  395. default: false
  396. - variable: acl
  397. label: ACL Configuration
  398. schema:
  399. type: dict
  400. show_if: [["aclEnable", "=", true]]
  401. attrs: []
  402. $ref:
  403. - "normalize/acl"
  404. - variable: hostPath
  405. label: Host Path
  406. description: The host path to use for storage.
  407. schema:
  408. type: hostpath
  409. show_if: [["aclEnable", "=", false]]
  410. required: true
  411. - variable: ixVolumeConfig
  412. label: ixVolume Configuration
  413. description: The configuration for the ixVolume dataset.
  414. schema:
  415. type: dict
  416. show_if: [["type", "=", "ixVolume"]]
  417. $ref:
  418. - "normalize/ixVolume"
  419. attrs:
  420. - variable: aclEnable
  421. label: Enable ACL
  422. description: Enable ACL for the dataset.
  423. schema:
  424. type: boolean
  425. default: false
  426. - variable: datasetName
  427. label: Dataset Name
  428. description: The name of the dataset to use for storage.
  429. schema:
  430. type: string
  431. required: true
  432. immutable: true
  433. default: "storage_entry"
  434. - variable: aclEntries
  435. label: ACL Configuration
  436. schema:
  437. type: dict
  438. show_if: [["aclEnable", "=", true]]
  439. attrs: []
  440. - variable: smbConfig
  441. label: SMB Share Configuration
  442. description: The configuration for the SMB Share.
  443. schema:
  444. type: dict
  445. show_if: [["type", "=", "smb-pv-pvc"]]
  446. attrs:
  447. - variable: server
  448. label: Server
  449. description: The server for the SMB share.
  450. schema:
  451. type: string
  452. required: true
  453. - variable: share
  454. label: Share
  455. description: The share name for the SMB share.
  456. schema:
  457. type: string
  458. required: true
  459. - variable: domain
  460. label: Domain (Optional)
  461. description: The domain for the SMB share.
  462. schema:
  463. type: string
  464. - variable: username
  465. label: Username
  466. description: The username for the SMB share.
  467. schema:
  468. type: string
  469. required: true
  470. - variable: password
  471. label: Password
  472. description: The password for the SMB share.
  473. schema:
  474. type: string
  475. required: true
  476. private: true
  477. - variable: size
  478. label: Size (in Gi)
  479. description: The size of the volume quota.
  480. schema:
  481. type: int
  482. required: true
  483. min: 1
  484. default: 1
  485. - variable: resources
  486. group: Resources Configuration
  487. label: ""
  488. schema:
  489. type: dict
  490. attrs:
  491. - variable: limits
  492. label: Limits
  493. schema:
  494. type: dict
  495. attrs:
  496. - variable: cpu
  497. label: CPU
  498. description: CPU limit for Vikunja.
  499. schema:
  500. type: string
  501. max_length: 6
  502. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  503. valid_chars_error: |
  504. Valid CPU limit formats are</br>
  505. - Plain Integer - eg. 1</br>
  506. - Float - eg. 0.5</br>
  507. - Milicpu - eg. 500m
  508. default: "4000m"
  509. required: true
  510. - variable: memory
  511. label: Memory
  512. description: Memory limit for Vikunja.
  513. schema:
  514. type: string
  515. max_length: 12
  516. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  517. valid_chars_error: |
  518. Valid Memory limit formats are</br>
  519. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  520. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  521. - Plain Integer in bytes - eg. 1024</br>
  522. - Exponent - eg. 134e6
  523. default: "8Gi"
  524. required: true