questions.yaml 24 KB

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