app_versions.json 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030
  1. {
  2. "1.1.3": {
  3. "healthy": true,
  4. "supported": true,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/briefkasten/1.1.3",
  7. "last_update": "2023-11-23 22:47:30",
  8. "required_features": [
  9. "normalize/ixVolume"
  10. ],
  11. "human_version": "latest_1.1.3",
  12. "version": "1.1.3",
  13. "chart_metadata": {
  14. "name": "briefkasten",
  15. "description": "Briefkasten is a self hosted bookmarking app",
  16. "annotations": {
  17. "title": "Briefkasten"
  18. },
  19. "type": "application",
  20. "version": "1.1.3",
  21. "apiVersion": "v2",
  22. "appVersion": "latest",
  23. "kubeVersion": ">=1.16.0-0",
  24. "maintainers": [
  25. {
  26. "name": "truenas",
  27. "url": "https://www.truenas.com/",
  28. "email": "dev@ixsystems.com"
  29. }
  30. ],
  31. "dependencies": [
  32. {
  33. "name": "common",
  34. "repository": "file://../../../common",
  35. "version": "1.2.2"
  36. }
  37. ],
  38. "home": "https://github.com/ndom91/briefkasten",
  39. "icon": "https://media.sys.truenas.net/apps/briefkasten/icons/icon.svg",
  40. "sources": [
  41. "https://github.com/truenas/charts/tree/master/library/ix-dev/community/briefkasten",
  42. "https://github.com/ndom91/briefkasten",
  43. "https://docs.briefkastenhq.com/"
  44. ],
  45. "keywords": [
  46. "bookmark"
  47. ]
  48. },
  49. "app_metadata": {
  50. "runAsContext": [
  51. {
  52. "userName": "briefkasten",
  53. "groupName": "briefkasten",
  54. "gid": 1001,
  55. "uid": 1001,
  56. "description": "Briefkasten can runs as a non-root user."
  57. },
  58. {
  59. "userName": "postgres",
  60. "groupName": "postgres",
  61. "gid": 999,
  62. "uid": 999,
  63. "description": "Postgres runs as a non-root user."
  64. }
  65. ],
  66. "capabilities": [],
  67. "hostMounts": []
  68. },
  69. "schema": {
  70. "groups": [
  71. {
  72. "name": "Briefkasten Configuration",
  73. "description": "Configure Briefkasten"
  74. },
  75. {
  76. "name": "Network Configuration",
  77. "description": "Configure Network for Briefkasten"
  78. },
  79. {
  80. "name": "Storage Configuration",
  81. "description": "Configure Storage for Briefkasten"
  82. },
  83. {
  84. "name": "Resources Configuration",
  85. "description": "Configure Resources for Briefkasten"
  86. }
  87. ],
  88. "portals": {
  89. "web_portal": {
  90. "protocols": [
  91. "$kubernetes-resource_configmap_portal_protocol"
  92. ],
  93. "host": [
  94. "$kubernetes-resource_configmap_portal_host"
  95. ],
  96. "ports": [
  97. "$kubernetes-resource_configmap_portal_port"
  98. ],
  99. "path": "$kubernetes-resource_configmap_portal_path"
  100. }
  101. },
  102. "questions": [
  103. {
  104. "variable": "briefkastenConfig",
  105. "label": "",
  106. "group": "Briefkasten Configuration",
  107. "schema": {
  108. "type": "dict",
  109. "attrs": [
  110. {
  111. "variable": "url",
  112. "label": "BaseURL",
  113. "description": "The URL that Briefkasten will be accessible from.</br>\nExample: </br>\nhttp://server.ip:30080</br>\nhttps://Briefkasten.example.com\n",
  114. "schema": {
  115. "type": "uri",
  116. "default": "",
  117. "required": true
  118. }
  119. },
  120. {
  121. "variable": "smtp",
  122. "label": "SMTP Auth Provider",
  123. "description": "Configure SMTP for Briefkasten.",
  124. "schema": {
  125. "type": "dict",
  126. "attrs": [
  127. {
  128. "variable": "enabled",
  129. "label": "Enabled",
  130. "description": "Enable SMTP for auth.",
  131. "schema": {
  132. "type": "boolean",
  133. "default": false,
  134. "show_subquestions_if": true,
  135. "subquestions": [
  136. {
  137. "variable": "server",
  138. "label": "SMTP Server",
  139. "description": "The SMTP server to use.",
  140. "schema": {
  141. "type": "string",
  142. "default": "",
  143. "required": true
  144. }
  145. },
  146. {
  147. "variable": "from",
  148. "label": "SMTP From",
  149. "description": "The SMTP from address to use.",
  150. "schema": {
  151. "type": "string",
  152. "default": "",
  153. "required": true
  154. }
  155. }
  156. ]
  157. }
  158. }
  159. ]
  160. }
  161. },
  162. {
  163. "variable": "github",
  164. "label": "GitHub Auth Provider",
  165. "description": "Configure GitHub for Briefkasten.",
  166. "schema": {
  167. "type": "dict",
  168. "attrs": [
  169. {
  170. "variable": "enabled",
  171. "label": "Enabled",
  172. "description": "Enable GitHub for auth.",
  173. "schema": {
  174. "type": "boolean",
  175. "default": false,
  176. "show_subquestions_if": true,
  177. "subquestions": [
  178. {
  179. "variable": "id",
  180. "label": "GitHub Client ID",
  181. "description": "The GitHub Client ID.",
  182. "schema": {
  183. "type": "string",
  184. "default": "",
  185. "required": true
  186. }
  187. },
  188. {
  189. "variable": "secret",
  190. "label": "GitHub Client Secret",
  191. "description": "The GitHub Client Secret.",
  192. "schema": {
  193. "type": "string",
  194. "default": "",
  195. "required": true
  196. }
  197. }
  198. ]
  199. }
  200. }
  201. ]
  202. }
  203. },
  204. {
  205. "variable": "google",
  206. "label": "Google Auth Provider",
  207. "description": "Configure Google for Briefkasten.",
  208. "schema": {
  209. "type": "dict",
  210. "attrs": [
  211. {
  212. "variable": "enabled",
  213. "label": "Enabled",
  214. "description": "Enable Google for auth.",
  215. "schema": {
  216. "type": "boolean",
  217. "default": false,
  218. "show_subquestions_if": true,
  219. "subquestions": [
  220. {
  221. "variable": "id",
  222. "label": "Google Client ID",
  223. "description": "The Google Client ID.",
  224. "schema": {
  225. "type": "string",
  226. "default": "",
  227. "required": true
  228. }
  229. },
  230. {
  231. "variable": "secret",
  232. "label": "Google Client Secret",
  233. "description": "The Google Client Secret.",
  234. "schema": {
  235. "type": "string",
  236. "default": "",
  237. "required": true
  238. }
  239. }
  240. ]
  241. }
  242. }
  243. ]
  244. }
  245. },
  246. {
  247. "variable": "keycloak",
  248. "label": "Keycloak Auth Provider",
  249. "description": "Configure Keycloak for Briefkasten.",
  250. "schema": {
  251. "type": "dict",
  252. "attrs": [
  253. {
  254. "variable": "enabled",
  255. "label": "Enabled",
  256. "description": "Enable Keycloak for auth.",
  257. "schema": {
  258. "type": "boolean",
  259. "default": false,
  260. "show_subquestions_if": true,
  261. "subquestions": [
  262. {
  263. "variable": "name",
  264. "label": "Keycloak Name",
  265. "description": "The Keycloak Name.",
  266. "schema": {
  267. "type": "string",
  268. "default": "",
  269. "required": true
  270. }
  271. },
  272. {
  273. "variable": "id",
  274. "label": "Keycloak Client ID",
  275. "description": "The Keycloak Client ID.",
  276. "schema": {
  277. "type": "string",
  278. "default": "",
  279. "required": true
  280. }
  281. },
  282. {
  283. "variable": "secret",
  284. "label": "Keycloak Client Secret",
  285. "description": "The Keycloak Client Secret.",
  286. "schema": {
  287. "type": "string",
  288. "default": "",
  289. "required": true
  290. }
  291. },
  292. {
  293. "variable": "issuer",
  294. "label": "Keycloak Issuer",
  295. "description": "The Keycloak Issuer.",
  296. "schema": {
  297. "type": "string",
  298. "default": "",
  299. "required": true
  300. }
  301. }
  302. ]
  303. }
  304. }
  305. ]
  306. }
  307. },
  308. {
  309. "variable": "authentik",
  310. "label": "Authentik Auth Provider",
  311. "description": "Configure Authentik for Briefkasten.",
  312. "schema": {
  313. "type": "dict",
  314. "attrs": [
  315. {
  316. "variable": "enabled",
  317. "label": "Enabled",
  318. "description": "Enable Authentik for auth.",
  319. "schema": {
  320. "type": "boolean",
  321. "default": false,
  322. "show_subquestions_if": true,
  323. "subquestions": [
  324. {
  325. "variable": "name",
  326. "label": "Authentik Name",
  327. "description": "The Authentik Name.",
  328. "schema": {
  329. "type": "string",
  330. "default": "",
  331. "required": true
  332. }
  333. },
  334. {
  335. "variable": "id",
  336. "label": "Authentik Client ID",
  337. "description": "The Authentik Client ID.",
  338. "schema": {
  339. "type": "string",
  340. "default": "",
  341. "required": true
  342. }
  343. },
  344. {
  345. "variable": "secret",
  346. "label": "Authentik Client Secret",
  347. "description": "The Authentik Client Secret.",
  348. "schema": {
  349. "type": "string",
  350. "default": "",
  351. "required": true
  352. }
  353. },
  354. {
  355. "variable": "issuer",
  356. "label": "Authentik Issuer",
  357. "description": "The Authentik Issuer.",
  358. "schema": {
  359. "type": "string",
  360. "default": "",
  361. "required": true
  362. }
  363. }
  364. ]
  365. }
  366. }
  367. ]
  368. }
  369. },
  370. {
  371. "variable": "additionalEnvs",
  372. "label": "Additional Environment Variables",
  373. "description": "Configure additional environment variables for Briefkasten.",
  374. "schema": {
  375. "type": "list",
  376. "default": [],
  377. "items": [
  378. {
  379. "variable": "env",
  380. "label": "Environment Variable",
  381. "schema": {
  382. "type": "dict",
  383. "attrs": [
  384. {
  385. "variable": "name",
  386. "label": "Name",
  387. "schema": {
  388. "type": "string",
  389. "required": true
  390. }
  391. },
  392. {
  393. "variable": "value",
  394. "label": "Value",
  395. "schema": {
  396. "type": "string",
  397. "required": true
  398. }
  399. }
  400. ]
  401. }
  402. }
  403. ]
  404. }
  405. }
  406. ]
  407. }
  408. },
  409. {
  410. "variable": "briefkastenNetwork",
  411. "label": "",
  412. "group": "Network Configuration",
  413. "schema": {
  414. "type": "dict",
  415. "attrs": [
  416. {
  417. "variable": "webPort",
  418. "label": "Web Port",
  419. "description": "The port for the Briefkasten Web UI.",
  420. "schema": {
  421. "type": "int",
  422. "default": 30080,
  423. "min": 9000,
  424. "max": 65535,
  425. "required": true
  426. }
  427. },
  428. {
  429. "variable": "hostNetwork",
  430. "label": "Host Network",
  431. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  432. "schema": {
  433. "type": "boolean",
  434. "default": false
  435. }
  436. }
  437. ]
  438. }
  439. },
  440. {
  441. "variable": "briefkastenStorage",
  442. "label": "",
  443. "group": "Storage Configuration",
  444. "schema": {
  445. "type": "dict",
  446. "attrs": [
  447. {
  448. "variable": "avatars",
  449. "label": "Briefkasten Avatars Storage",
  450. "description": "The path to store Briefkasten Avatars.",
  451. "schema": {
  452. "type": "dict",
  453. "attrs": [
  454. {
  455. "variable": "type",
  456. "label": "Type",
  457. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  458. "schema": {
  459. "type": "string",
  460. "required": true,
  461. "immutable": true,
  462. "default": "ixVolume",
  463. "enum": [
  464. {
  465. "value": "hostPath",
  466. "description": "Host Path (Path that already exists on the system)"
  467. },
  468. {
  469. "value": "ixVolume",
  470. "description": "ixVolume (Dataset created automatically by the system)"
  471. }
  472. ]
  473. }
  474. },
  475. {
  476. "variable": "datasetName",
  477. "label": "Dataset Name",
  478. "schema": {
  479. "type": "string",
  480. "show_if": [
  481. [
  482. "type",
  483. "=",
  484. "ixVolume"
  485. ]
  486. ],
  487. "required": true,
  488. "hidden": true,
  489. "immutable": true,
  490. "default": "avatars",
  491. "$ref": [
  492. "normalize/ixVolume"
  493. ]
  494. }
  495. },
  496. {
  497. "variable": "hostPath",
  498. "label": "Host Path",
  499. "schema": {
  500. "type": "hostpath",
  501. "show_if": [
  502. [
  503. "type",
  504. "=",
  505. "hostPath"
  506. ]
  507. ],
  508. "immutable": true,
  509. "required": true
  510. }
  511. }
  512. ]
  513. }
  514. },
  515. {
  516. "variable": "backgroundImages",
  517. "label": "Briefkasten Background Images Storage",
  518. "description": "The path to store Briefkasten Background Images.",
  519. "schema": {
  520. "type": "dict",
  521. "attrs": [
  522. {
  523. "variable": "type",
  524. "label": "Type",
  525. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  526. "schema": {
  527. "type": "string",
  528. "required": true,
  529. "immutable": true,
  530. "default": "ixVolume",
  531. "enum": [
  532. {
  533. "value": "hostPath",
  534. "description": "Host Path (Path that already exists on the system)"
  535. },
  536. {
  537. "value": "ixVolume",
  538. "description": "ixVolume (Dataset created automatically by the system)"
  539. }
  540. ]
  541. }
  542. },
  543. {
  544. "variable": "datasetName",
  545. "label": "Dataset Name",
  546. "schema": {
  547. "type": "string",
  548. "show_if": [
  549. [
  550. "type",
  551. "=",
  552. "ixVolume"
  553. ]
  554. ],
  555. "required": true,
  556. "hidden": true,
  557. "immutable": true,
  558. "default": "bg-img",
  559. "$ref": [
  560. "normalize/ixVolume"
  561. ]
  562. }
  563. },
  564. {
  565. "variable": "hostPath",
  566. "label": "Host Path",
  567. "schema": {
  568. "type": "hostpath",
  569. "show_if": [
  570. [
  571. "type",
  572. "=",
  573. "hostPath"
  574. ]
  575. ],
  576. "immutable": true,
  577. "required": true
  578. }
  579. }
  580. ]
  581. }
  582. },
  583. {
  584. "variable": "attachments",
  585. "label": "Briefkasten Attachments Storage",
  586. "description": "The path to store Briefkasten Attachments.",
  587. "schema": {
  588. "type": "dict",
  589. "attrs": [
  590. {
  591. "variable": "type",
  592. "label": "Type",
  593. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  594. "schema": {
  595. "type": "string",
  596. "required": true,
  597. "immutable": true,
  598. "default": "ixVolume",
  599. "enum": [
  600. {
  601. "value": "hostPath",
  602. "description": "Host Path (Path that already exists on the system)"
  603. },
  604. {
  605. "value": "ixVolume",
  606. "description": "ixVolume (Dataset created automatically by the system)"
  607. }
  608. ]
  609. }
  610. },
  611. {
  612. "variable": "datasetName",
  613. "label": "Dataset Name",
  614. "schema": {
  615. "type": "string",
  616. "show_if": [
  617. [
  618. "type",
  619. "=",
  620. "ixVolume"
  621. ]
  622. ],
  623. "required": true,
  624. "hidden": true,
  625. "immutable": true,
  626. "default": "attachments",
  627. "$ref": [
  628. "normalize/ixVolume"
  629. ]
  630. }
  631. },
  632. {
  633. "variable": "hostPath",
  634. "label": "Host Path",
  635. "schema": {
  636. "type": "hostpath",
  637. "show_if": [
  638. [
  639. "type",
  640. "=",
  641. "hostPath"
  642. ]
  643. ],
  644. "immutable": true,
  645. "required": true
  646. }
  647. }
  648. ]
  649. }
  650. },
  651. {
  652. "variable": "pgData",
  653. "label": "Postgres Data Storage",
  654. "description": "The path to store Postgres Data.",
  655. "schema": {
  656. "type": "dict",
  657. "attrs": [
  658. {
  659. "variable": "type",
  660. "label": "Type",
  661. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  662. "schema": {
  663. "type": "string",
  664. "required": true,
  665. "immutable": true,
  666. "default": "ixVolume",
  667. "enum": [
  668. {
  669. "value": "hostPath",
  670. "description": "Host Path (Path that already exists on the system)"
  671. },
  672. {
  673. "value": "ixVolume",
  674. "description": "ixVolume (Dataset created automatically by the system)"
  675. }
  676. ]
  677. }
  678. },
  679. {
  680. "variable": "datasetName",
  681. "label": "Dataset Name",
  682. "schema": {
  683. "type": "string",
  684. "show_if": [
  685. [
  686. "type",
  687. "=",
  688. "ixVolume"
  689. ]
  690. ],
  691. "required": true,
  692. "hidden": true,
  693. "immutable": true,
  694. "default": "pgData",
  695. "$ref": [
  696. "normalize/ixVolume"
  697. ]
  698. }
  699. },
  700. {
  701. "variable": "hostPath",
  702. "label": "Host Path",
  703. "schema": {
  704. "type": "hostpath",
  705. "show_if": [
  706. [
  707. "type",
  708. "=",
  709. "hostPath"
  710. ]
  711. ],
  712. "immutable": true,
  713. "required": true
  714. }
  715. }
  716. ]
  717. }
  718. },
  719. {
  720. "variable": "pgBackup",
  721. "label": "Postgres Backup Storage",
  722. "description": "The path to store Postgres Backup.",
  723. "schema": {
  724. "type": "dict",
  725. "attrs": [
  726. {
  727. "variable": "type",
  728. "label": "Type",
  729. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  730. "schema": {
  731. "type": "string",
  732. "required": true,
  733. "immutable": true,
  734. "default": "ixVolume",
  735. "enum": [
  736. {
  737. "value": "hostPath",
  738. "description": "Host Path (Path that already exists on the system)"
  739. },
  740. {
  741. "value": "ixVolume",
  742. "description": "ixVolume (Dataset created automatically by the system)"
  743. }
  744. ]
  745. }
  746. },
  747. {
  748. "variable": "datasetName",
  749. "label": "Dataset Name",
  750. "schema": {
  751. "type": "string",
  752. "show_if": [
  753. [
  754. "type",
  755. "=",
  756. "ixVolume"
  757. ]
  758. ],
  759. "required": true,
  760. "hidden": true,
  761. "immutable": true,
  762. "default": "pgBackup",
  763. "$ref": [
  764. "normalize/ixVolume"
  765. ]
  766. }
  767. },
  768. {
  769. "variable": "hostPath",
  770. "label": "Host Path",
  771. "schema": {
  772. "type": "hostpath",
  773. "show_if": [
  774. [
  775. "type",
  776. "=",
  777. "hostPath"
  778. ]
  779. ],
  780. "immutable": true,
  781. "required": true
  782. }
  783. }
  784. ]
  785. }
  786. },
  787. {
  788. "variable": "additionalStorages",
  789. "label": "Additional Storage",
  790. "description": "Additional storage for Briefkasten.",
  791. "schema": {
  792. "type": "list",
  793. "default": [],
  794. "items": [
  795. {
  796. "variable": "storageEntry",
  797. "label": "Storage Entry",
  798. "schema": {
  799. "type": "dict",
  800. "attrs": [
  801. {
  802. "variable": "type",
  803. "label": "Type",
  804. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to a persistent volume claim.\n",
  805. "schema": {
  806. "type": "string",
  807. "required": true,
  808. "default": "ixVolume",
  809. "immutable": true,
  810. "enum": [
  811. {
  812. "value": "hostPath",
  813. "description": "Host Path (Path that already exists on the system)"
  814. },
  815. {
  816. "value": "ixVolume",
  817. "description": "ixVolume (Dataset created automatically by the system)"
  818. },
  819. {
  820. "value": "smb-pv-pvc",
  821. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  822. }
  823. ]
  824. }
  825. },
  826. {
  827. "variable": "mountPath",
  828. "label": "Mount Path",
  829. "description": "The path inside the container to mount the storage.",
  830. "schema": {
  831. "type": "path",
  832. "required": true
  833. }
  834. },
  835. {
  836. "variable": "hostPath",
  837. "label": "Host Path",
  838. "description": "The host path to use for storage.",
  839. "schema": {
  840. "type": "hostpath",
  841. "show_if": [
  842. [
  843. "type",
  844. "=",
  845. "hostPath"
  846. ]
  847. ],
  848. "required": true
  849. }
  850. },
  851. {
  852. "variable": "datasetName",
  853. "label": "Dataset Name",
  854. "description": "The name of the dataset to use for storage.",
  855. "schema": {
  856. "type": "string",
  857. "show_if": [
  858. [
  859. "type",
  860. "=",
  861. "ixVolume"
  862. ]
  863. ],
  864. "required": true,
  865. "immutable": true,
  866. "default": "storage_entry",
  867. "$ref": [
  868. "normalize/ixVolume"
  869. ]
  870. }
  871. },
  872. {
  873. "variable": "server",
  874. "label": "Server",
  875. "description": "The server for the SMB share.",
  876. "schema": {
  877. "type": "string",
  878. "show_if": [
  879. [
  880. "type",
  881. "=",
  882. "smb-pv-pvc"
  883. ]
  884. ],
  885. "required": true
  886. }
  887. },
  888. {
  889. "variable": "share",
  890. "label": "Share",
  891. "description": "The share name for the SMB share.",
  892. "schema": {
  893. "type": "string",
  894. "show_if": [
  895. [
  896. "type",
  897. "=",
  898. "smb-pv-pvc"
  899. ]
  900. ],
  901. "required": true
  902. }
  903. },
  904. {
  905. "variable": "domain",
  906. "label": "Domain (Optional)",
  907. "description": "The domain for the SMB share.",
  908. "schema": {
  909. "type": "string",
  910. "show_if": [
  911. [
  912. "type",
  913. "=",
  914. "smb-pv-pvc"
  915. ]
  916. ]
  917. }
  918. },
  919. {
  920. "variable": "username",
  921. "label": "Username",
  922. "description": "The username for the SMB share.",
  923. "schema": {
  924. "type": "string",
  925. "show_if": [
  926. [
  927. "type",
  928. "=",
  929. "smb-pv-pvc"
  930. ]
  931. ],
  932. "required": true
  933. }
  934. },
  935. {
  936. "variable": "password",
  937. "label": "Password",
  938. "description": "The password for the SMB share.",
  939. "schema": {
  940. "type": "string",
  941. "show_if": [
  942. [
  943. "type",
  944. "=",
  945. "smb-pv-pvc"
  946. ]
  947. ],
  948. "required": true,
  949. "private": true
  950. }
  951. },
  952. {
  953. "variable": "size",
  954. "label": "Size (in Gi)",
  955. "description": "The size of the volume quota.",
  956. "schema": {
  957. "type": "int",
  958. "show_if": [
  959. [
  960. "type",
  961. "=",
  962. "smb-pv-pvc"
  963. ]
  964. ],
  965. "required": true,
  966. "min": 1,
  967. "default": 1
  968. }
  969. }
  970. ]
  971. }
  972. }
  973. ]
  974. }
  975. }
  976. ]
  977. }
  978. },
  979. {
  980. "variable": "resources",
  981. "group": "Resources Configuration",
  982. "label": "",
  983. "schema": {
  984. "type": "dict",
  985. "attrs": [
  986. {
  987. "variable": "limits",
  988. "label": "Limits",
  989. "schema": {
  990. "type": "dict",
  991. "attrs": [
  992. {
  993. "variable": "cpu",
  994. "label": "CPU",
  995. "description": "CPU limit for Briefkasten.",
  996. "schema": {
  997. "type": "string",
  998. "max_length": 6,
  999. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  1000. "valid_chars_error": "Valid CPU limit formats are</br>\n- Plain Integer - eg. 1</br>\n- Float - eg. 0.5</br>\n- Milicpu - eg. 500m\n",
  1001. "default": "4000m",
  1002. "required": true
  1003. }
  1004. },
  1005. {
  1006. "variable": "memory",
  1007. "label": "Memory",
  1008. "description": "Memory limit for Briefkasten.",
  1009. "schema": {
  1010. "type": "string",
  1011. "max_length": 12,
  1012. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  1013. "valid_chars_error": "Valid Memory limit formats are</br>\n- Suffixed with E/P/T/G/M/K - eg. 1G</br>\n- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>\n- Plain Integer in bytes - eg. 1024</br>\n- Exponent - eg. 134e6\n",
  1014. "default": "8Gi",
  1015. "required": true
  1016. }
  1017. }
  1018. ]
  1019. }
  1020. }
  1021. ]
  1022. }
  1023. }
  1024. ]
  1025. },
  1026. "app_readme": "<h1>Briefkasten</h1>\n<p><a href=\"https://github.com/ndom91/briefkasten\">Briefkasten</a> is a self hosted bookmarking app</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>postgres</code> directories.\nAfterward, the <code>postgres</code> container will run as a <strong>non</strong>-root user (<code>999</code>).\nOn each upgrade, a container will be launched with <strong>root</strong> privileges in order to apply the correct\npermissions to the <code>postgres</code> <strong>backups</strong> directory. Container that performs the backup will run as a <strong>non</strong>-root user (<code>999</code>) afterwards.\nKeep in mind the permissions on the backup directory will be changed to <code>999:999</code> on <strong>every</strong> update.\nBut will only be changed once for the <code>postgres</code> data directories.</p>\n</blockquote>",
  1027. "detailed_readme": "<h1>Briefkasten</h1>\n<p><a href=\"https://github.com/ndom91/briefkasten\">Briefkasten</a> is a self hosted bookmarking app</p>\n<blockquote>\n<p>When application is installed, a container will be launched with <strong>root</strong> privileges.\nThis is required in order to apply the correct permissions to the <code>postgres</code> directories.\nAfterward, the <code>postgres</code> container will run as a <strong>non</strong>-root user (<code>999</code>).\nOn each upgrade, a container will be launched with <strong>root</strong> privileges in order to apply the correct\npermissions to the <code>postgres</code> <strong>backups</strong> directory. Container that performs the backup will run as a <strong>non</strong>-root user (<code>999</code>) afterwards.\nKeep in mind the permissions on the backup directory will be changed to <code>999:999</code> on <strong>every</strong> update.\nBut will only be changed once for the <code>postgres</code> data directories.</p>\n</blockquote>",
  1028. "changelog": null
  1029. }
  1030. }