questions.yaml 24 KB

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