questions.yaml 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623
  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. immutable: true
  256. required: true
  257. - variable: pgData
  258. label: Postgres Data Storage
  259. description: The path to store Postgres Data.
  260. schema:
  261. type: dict
  262. attrs:
  263. - variable: type
  264. label: Type
  265. description: |
  266. ixVolume: Is dataset created automatically by the system.</br>
  267. Host Path: Is a path that already exists on the system.
  268. schema:
  269. type: string
  270. required: true
  271. immutable: true
  272. default: "ixVolume"
  273. enum:
  274. - value: "hostPath"
  275. description: Host Path (Path that already exists on the system)
  276. - value: "ixVolume"
  277. description: ixVolume (Dataset created automatically by the system)
  278. - variable: ixVolumeConfig
  279. label: ixVolume Configuration
  280. description: The configuration for the ixVolume dataset.
  281. schema:
  282. type: dict
  283. # Nothing to show for the user
  284. hidden: true
  285. show_if: [["type", "=", "ixVolume"]]
  286. $ref:
  287. - "normalize/ixVolume"
  288. attrs:
  289. - variable: aclEnable
  290. label: Enable ACL
  291. description: Enable ACL for the dataset.
  292. schema:
  293. type: boolean
  294. # Postgres does a CHMOD at startup
  295. # Which fails with ACL
  296. hidden: true
  297. default: false
  298. - variable: datasetName
  299. label: Dataset Name
  300. description: The name of the dataset to use for storage.
  301. schema:
  302. type: string
  303. required: true
  304. immutable: true
  305. hidden: true
  306. default: pgData
  307. - variable: aclEntries
  308. label: ACL Configuration
  309. schema:
  310. type: dict
  311. show_if: [["aclEnable", "=", true]]
  312. attrs: []
  313. - variable: hostPathConfig
  314. label: Host Path Configuration
  315. schema:
  316. type: dict
  317. show_if: [["type", "=", "hostPath"]]
  318. attrs:
  319. - variable: aclEnable
  320. label: Enable ACL
  321. description: Enable ACL for the dataset.
  322. schema:
  323. type: boolean
  324. # Postgres does a CHMOD at startup
  325. # Which fails with ACL
  326. hidden: true
  327. default: false
  328. - variable: acl
  329. label: ACL Configuration
  330. schema:
  331. type: dict
  332. show_if: [["aclEnable", "=", true]]
  333. attrs: []
  334. $ref:
  335. - "normalize/acl"
  336. - variable: hostPath
  337. label: Host Path
  338. description: The host path to use for storage.
  339. schema:
  340. type: hostpath
  341. show_if: [["aclEnable", "=", false]]
  342. immutable: true
  343. required: true
  344. - variable: pgBackup
  345. label: Postgres Backup Storage
  346. description: The path to store Postgres Backup.
  347. schema:
  348. type: dict
  349. attrs:
  350. - variable: type
  351. label: Type
  352. description: |
  353. ixVolume: Is dataset created automatically by the system.</br>
  354. Host Path: Is a path that already exists on the system.
  355. schema:
  356. type: string
  357. required: true
  358. immutable: true
  359. default: "ixVolume"
  360. enum:
  361. - value: "hostPath"
  362. description: Host Path (Path that already exists on the system)
  363. - value: "ixVolume"
  364. description: ixVolume (Dataset created automatically by the system)
  365. - variable: ixVolumeConfig
  366. label: ixVolume Configuration
  367. description: The configuration for the ixVolume dataset.
  368. schema:
  369. type: dict
  370. # Nothing to show for the user
  371. hidden: true
  372. show_if: [["type", "=", "ixVolume"]]
  373. $ref:
  374. - "normalize/ixVolume"
  375. attrs:
  376. - variable: aclEnable
  377. label: Enable ACL
  378. description: Enable ACL for the dataset.
  379. schema:
  380. type: boolean
  381. # Postgres does a CHMOD at startup
  382. # Which fails with ACL
  383. hidden: true
  384. default: false
  385. - variable: datasetName
  386. label: Dataset Name
  387. description: The name of the dataset to use for storage.
  388. schema:
  389. type: string
  390. required: true
  391. immutable: true
  392. hidden: true
  393. default: pgBackup
  394. - variable: aclEntries
  395. label: ACL Configuration
  396. schema:
  397. type: dict
  398. show_if: [["aclEnable", "=", true]]
  399. attrs: []
  400. - variable: hostPathConfig
  401. label: Host Path Configuration
  402. schema:
  403. type: dict
  404. show_if: [["type", "=", "hostPath"]]
  405. attrs:
  406. - variable: aclEnable
  407. label: Enable ACL
  408. description: Enable ACL for the dataset.
  409. schema:
  410. type: boolean
  411. # Postgres does a CHMOD at startup
  412. # Which fails with ACL
  413. hidden: true
  414. default: false
  415. - variable: acl
  416. label: ACL Configuration
  417. schema:
  418. type: dict
  419. show_if: [["aclEnable", "=", true]]
  420. attrs: []
  421. $ref:
  422. - "normalize/acl"
  423. - variable: hostPath
  424. label: Host Path
  425. description: The host path to use for storage.
  426. schema:
  427. type: hostpath
  428. show_if: [["aclEnable", "=", false]]
  429. immutable: true
  430. required: true
  431. - variable: additionalStorages
  432. label: Additional Storage
  433. description: Additional storage for Linkding.
  434. schema:
  435. type: list
  436. default: []
  437. items:
  438. - variable: storageEntry
  439. label: Storage Entry
  440. schema:
  441. type: dict
  442. attrs:
  443. - variable: type
  444. label: Type
  445. description: |
  446. ixVolume: Is dataset created automatically by the system.</br>
  447. Host Path: Is a path that already exists on the system.</br>
  448. SMB Share: Is a SMB share that is mounted to a persistent volume claim.
  449. schema:
  450. type: string
  451. required: true
  452. default: "ixVolume"
  453. immutable: true
  454. enum:
  455. - value: "hostPath"
  456. description: Host Path (Path that already exists on the system)
  457. - value: "ixVolume"
  458. description: ixVolume (Dataset created automatically by the system)
  459. - value: "smb-pv-pvc"
  460. description: SMB Share (Mounts a persistent volume claim to a SMB share)
  461. - variable: readOnly
  462. label: Read Only
  463. description: Mount the volume as read only.
  464. schema:
  465. type: boolean
  466. default: false
  467. - variable: mountPath
  468. label: Mount Path
  469. description: The path inside the container to mount the storage.
  470. schema:
  471. type: path
  472. required: true
  473. - variable: hostPathConfig
  474. label: Host Path Configuration
  475. schema:
  476. type: dict
  477. show_if: [["type", "=", "hostPath"]]
  478. attrs:
  479. - variable: aclEnable
  480. label: Enable ACL
  481. description: Enable ACL for the dataset.
  482. schema:
  483. type: boolean
  484. default: false
  485. - variable: acl
  486. label: ACL Configuration
  487. schema:
  488. type: dict
  489. show_if: [["aclEnable", "=", true]]
  490. attrs: []
  491. $ref:
  492. - "normalize/acl"
  493. - variable: hostPath
  494. label: Host Path
  495. description: The host path to use for storage.
  496. schema:
  497. type: hostpath
  498. show_if: [["aclEnable", "=", false]]
  499. immutable: true
  500. required: true
  501. - variable: ixVolumeConfig
  502. label: ixVolume Configuration
  503. description: The configuration for the ixVolume dataset.
  504. schema:
  505. type: dict
  506. show_if: [["type", "=", "ixVolume"]]
  507. $ref:
  508. - "normalize/ixVolume"
  509. attrs:
  510. - variable: aclEnable
  511. label: Enable ACL
  512. description: Enable ACL for the dataset.
  513. schema:
  514. type: boolean
  515. default: false
  516. - variable: datasetName
  517. label: Dataset Name
  518. description: The name of the dataset to use for storage.
  519. schema:
  520. type: string
  521. required: true
  522. immutable: true
  523. default: "storage_entry"
  524. - variable: aclEntries
  525. label: ACL Configuration
  526. schema:
  527. type: dict
  528. show_if: [["aclEnable", "=", true]]
  529. attrs: []
  530. - variable: smbConfig
  531. label: SMB Share Configuration
  532. description: The configuration for the SMB Share.
  533. schema:
  534. type: dict
  535. show_if: [["type", "=", "smb-pv-pvc"]]
  536. attrs:
  537. - variable: server
  538. label: Server
  539. description: The server for the SMB share.
  540. schema:
  541. type: string
  542. required: true
  543. - variable: share
  544. label: Share
  545. description: The share name for the SMB share.
  546. schema:
  547. type: string
  548. required: true
  549. - variable: domain
  550. label: Domain (Optional)
  551. description: The domain for the SMB share.
  552. schema:
  553. type: string
  554. - variable: username
  555. label: Username
  556. description: The username for the SMB share.
  557. schema:
  558. type: string
  559. required: true
  560. - variable: password
  561. label: Password
  562. description: The password for the SMB share.
  563. schema:
  564. type: string
  565. required: true
  566. private: true
  567. - variable: size
  568. label: Size (in Gi)
  569. description: The size of the volume quota.
  570. schema:
  571. type: int
  572. required: true
  573. min: 1
  574. default: 1
  575. - variable: resources
  576. group: Resources Configuration
  577. label: ""
  578. schema:
  579. type: dict
  580. attrs:
  581. - variable: limits
  582. label: Limits
  583. schema:
  584. type: dict
  585. attrs:
  586. - variable: cpu
  587. label: CPU
  588. description: CPU limit for Linkding.
  589. schema:
  590. type: string
  591. max_length: 6
  592. valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
  593. valid_chars_error: |
  594. Valid CPU limit formats are</br>
  595. - Plain Integer - eg. 1</br>
  596. - Float - eg. 0.5</br>
  597. - Milicpu - eg. 500m
  598. default: "4000m"
  599. required: true
  600. - variable: memory
  601. label: Memory
  602. description: Memory limit for Linkding.
  603. schema:
  604. type: string
  605. max_length: 12
  606. valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
  607. valid_chars_error: |
  608. Valid Memory limit formats are</br>
  609. - Suffixed with E/P/T/G/M/K - eg. 1G</br>
  610. - Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
  611. - Plain Integer in bytes - eg. 1024</br>
  612. - Exponent - eg. 134e6
  613. default: "8Gi"
  614. required: true