questions.yaml 23 KB

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