app_versions.json 151 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952
  1. {
  2. "1.1.0": {
  3. "healthy": true,
  4. "supported": false,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/community/freshrss/1.1.0",
  7. "last_update": "2023-11-23 22:47:30",
  8. "required_features": [
  9. "normalize/acl",
  10. "definitions/timezone",
  11. "normalize/ixVolume"
  12. ],
  13. "human_version": "1.22.1_1.1.0",
  14. "version": "1.1.0",
  15. "chart_metadata": {
  16. "name": "freshrss",
  17. "description": "FreshRSS is a free, self-hostable news aggregator",
  18. "annotations": {
  19. "title": "FreshRSS"
  20. },
  21. "type": "application",
  22. "version": "1.1.0",
  23. "apiVersion": "v2",
  24. "appVersion": "1.22.1",
  25. "kubeVersion": ">=1.16.0-0",
  26. "maintainers": [
  27. {
  28. "name": "truenas",
  29. "url": "https://www.truenas.com/",
  30. "email": "dev@ixsystems.com"
  31. }
  32. ],
  33. "dependencies": [
  34. {
  35. "name": "common",
  36. "repository": "file://../../../common",
  37. "version": "1.2.3"
  38. }
  39. ],
  40. "home": "https://freshrss.org/",
  41. "icon": "https://media.sys.truenas.net/apps/freshrss/icons/icon.png",
  42. "sources": [
  43. "https://github.com/FreshRSS/FreshRSS",
  44. "https://github.com/truenas/charts/tree/master/library/ix-dev/community/freshrss",
  45. "https://hub.docker.com/r/freshrss/freshrss"
  46. ],
  47. "keywords": [
  48. "rss",
  49. "news"
  50. ]
  51. },
  52. "app_metadata": {
  53. "runAsContext": [
  54. {
  55. "userName": "root",
  56. "groupName": "root",
  57. "gid": 0,
  58. "uid": 0,
  59. "description": "FreshRSS runs as root user"
  60. }
  61. ],
  62. "capabilities": [
  63. {
  64. "name": "CHOWN",
  65. "description": "FreshRSS is able to chown files."
  66. },
  67. {
  68. "name": "SETGID",
  69. "description": "FreshRSS is able to set group ID for it's sub-processes."
  70. },
  71. {
  72. "name": "SETUID",
  73. "description": "FreshRSS is able to set user ID for it's sub-processes."
  74. }
  75. ],
  76. "hostMounts": []
  77. },
  78. "schema": {
  79. "groups": [
  80. {
  81. "name": "FreshRSS Configuration",
  82. "description": "Configure FreshRSS"
  83. },
  84. {
  85. "name": "Network Configuration",
  86. "description": "Configure Network for FreshRSS"
  87. },
  88. {
  89. "name": "Storage Configuration",
  90. "description": "Configure Storage for FreshRSS"
  91. },
  92. {
  93. "name": "Resources Configuration",
  94. "description": "Configure Resources for FreshRSS"
  95. }
  96. ],
  97. "portals": {
  98. "web_portal": {
  99. "protocols": [
  100. "$kubernetes-resource_configmap_portal_protocol"
  101. ],
  102. "host": [
  103. "$kubernetes-resource_configmap_portal_host"
  104. ],
  105. "ports": [
  106. "$kubernetes-resource_configmap_portal_port"
  107. ],
  108. "path": "$kubernetes-resource_configmap_portal_path"
  109. }
  110. },
  111. "questions": [
  112. {
  113. "variable": "TZ",
  114. "group": "FreshRSS Configuration",
  115. "label": "Timezone",
  116. "schema": {
  117. "type": "string",
  118. "default": "America/Los_Angeles",
  119. "required": true,
  120. "$ref": [
  121. "definitions/timezone"
  122. ],
  123. "enum": [
  124. {
  125. "value": "Asia/Damascus",
  126. "description": "'Asia/Damascus' timezone"
  127. },
  128. {
  129. "value": "Asia/Saigon",
  130. "description": "'Asia/Saigon' timezone"
  131. }
  132. ]
  133. }
  134. },
  135. {
  136. "variable": "freshrssConfig",
  137. "label": "",
  138. "group": "FreshRSS Configuration",
  139. "schema": {
  140. "type": "dict",
  141. "attrs": [
  142. {
  143. "variable": "defaultAdmin",
  144. "label": "Default Admin Username",
  145. "description": "The default admin username for FreshRSS.",
  146. "schema": {
  147. "type": "string",
  148. "default": "",
  149. "required": true,
  150. "immutable": true
  151. }
  152. },
  153. {
  154. "variable": "defaultAdminPass",
  155. "label": "Default Admin Password",
  156. "description": "The default admin password for FreshRSS.",
  157. "schema": {
  158. "type": "string",
  159. "default": "",
  160. "required": true,
  161. "immutable": true,
  162. "private": true
  163. }
  164. },
  165. {
  166. "variable": "enableCron",
  167. "label": "Enable Cron",
  168. "description": "Enable cron for FreshRSS.",
  169. "schema": {
  170. "type": "boolean",
  171. "default": false
  172. }
  173. },
  174. {
  175. "variable": "cronSchedule",
  176. "label": "Cron Schedule",
  177. "description": "The cron schedule for FreshRSS.</br>\nDefault: */20 * * * * (every 20 minutes)\n",
  178. "schema": {
  179. "type": "string",
  180. "default": "*/20 * * * *",
  181. "show_if": [
  182. [
  183. "enableCron",
  184. "=",
  185. true
  186. ]
  187. ],
  188. "required": true
  189. }
  190. },
  191. {
  192. "variable": "additionalEnvs",
  193. "label": "Additional Environment Variables",
  194. "description": "Configure additional environment variables for FreshRSS.",
  195. "schema": {
  196. "type": "list",
  197. "default": [],
  198. "items": [
  199. {
  200. "variable": "env",
  201. "label": "Environment Variable",
  202. "schema": {
  203. "type": "dict",
  204. "attrs": [
  205. {
  206. "variable": "name",
  207. "label": "Name",
  208. "schema": {
  209. "type": "string",
  210. "required": true
  211. }
  212. },
  213. {
  214. "variable": "value",
  215. "label": "Value",
  216. "schema": {
  217. "type": "string",
  218. "required": true
  219. }
  220. }
  221. ]
  222. }
  223. }
  224. ]
  225. }
  226. }
  227. ]
  228. }
  229. },
  230. {
  231. "variable": "freshrssNetwork",
  232. "label": "",
  233. "group": "Network Configuration",
  234. "schema": {
  235. "type": "dict",
  236. "attrs": [
  237. {
  238. "variable": "webPort",
  239. "label": "Web Port",
  240. "description": "The port for the FreshRSS Web UI.",
  241. "schema": {
  242. "type": "int",
  243. "default": 31000,
  244. "min": 9000,
  245. "max": 65535,
  246. "required": true
  247. }
  248. },
  249. {
  250. "variable": "hostNetwork",
  251. "label": "Host Network",
  252. "description": "Bind to the host network. It's recommended to keep this disabled.</br>\n",
  253. "schema": {
  254. "type": "boolean",
  255. "default": false
  256. }
  257. }
  258. ]
  259. }
  260. },
  261. {
  262. "variable": "freshrssStorage",
  263. "label": "",
  264. "group": "Storage Configuration",
  265. "schema": {
  266. "type": "dict",
  267. "attrs": [
  268. {
  269. "variable": "data",
  270. "label": "FreshRSS Data Storage",
  271. "description": "The path to store FreshRSS Data.",
  272. "schema": {
  273. "type": "dict",
  274. "attrs": [
  275. {
  276. "variable": "type",
  277. "label": "Type",
  278. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  279. "schema": {
  280. "type": "string",
  281. "required": true,
  282. "immutable": true,
  283. "default": "ixVolume",
  284. "enum": [
  285. {
  286. "value": "hostPath",
  287. "description": "Host Path (Path that already exists on the system)"
  288. },
  289. {
  290. "value": "ixVolume",
  291. "description": "ixVolume (Dataset created automatically by the system)"
  292. }
  293. ]
  294. }
  295. },
  296. {
  297. "variable": "ixVolumeConfig",
  298. "label": "ixVolume Configuration",
  299. "description": "The configuration for the ixVolume dataset.",
  300. "schema": {
  301. "type": "dict",
  302. "show_if": [
  303. [
  304. "type",
  305. "=",
  306. "ixVolume"
  307. ]
  308. ],
  309. "$ref": [
  310. "normalize/ixVolume"
  311. ],
  312. "attrs": [
  313. {
  314. "variable": "aclEnable",
  315. "label": "Enable ACL",
  316. "description": "Enable ACL for the dataset.",
  317. "schema": {
  318. "type": "boolean",
  319. "default": false
  320. }
  321. },
  322. {
  323. "variable": "datasetName",
  324. "label": "Dataset Name",
  325. "description": "The name of the dataset to use for storage.",
  326. "schema": {
  327. "type": "string",
  328. "required": true,
  329. "immutable": true,
  330. "hidden": true,
  331. "default": "data"
  332. }
  333. },
  334. {
  335. "variable": "aclEntries",
  336. "label": "ACL Configuration",
  337. "schema": {
  338. "type": "dict",
  339. "show_if": [
  340. [
  341. "aclEnable",
  342. "=",
  343. true
  344. ]
  345. ],
  346. "attrs": [
  347. {
  348. "variable": "path",
  349. "label": "Path",
  350. "description": "Path to perform ACL",
  351. "schema": {
  352. "type": "string",
  353. "hidden": true
  354. }
  355. },
  356. {
  357. "variable": "entries",
  358. "label": "ACL Entries",
  359. "description": "ACL Entries",
  360. "schema": {
  361. "type": "list",
  362. "items": [
  363. {
  364. "variable": "aclEntry",
  365. "label": "ACL Entry",
  366. "schema": {
  367. "type": "dict",
  368. "attrs": [
  369. {
  370. "variable": "id_type",
  371. "label": "ID Type",
  372. "schema": {
  373. "type": "string",
  374. "enum": [
  375. {
  376. "value": "USER",
  377. "description": "Entry is for a USER"
  378. },
  379. {
  380. "value": "GROUP",
  381. "description": "Entry is for a GROUP"
  382. }
  383. ],
  384. "default": "USER"
  385. }
  386. },
  387. {
  388. "variable": "id",
  389. "label": "ID",
  390. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  391. "schema": {
  392. "type": "int",
  393. "required": true,
  394. "min": 0
  395. }
  396. },
  397. {
  398. "variable": "access",
  399. "label": "Access",
  400. "schema": {
  401. "type": "string",
  402. "enum": [
  403. {
  404. "value": "READ",
  405. "description": "Read Access"
  406. },
  407. {
  408. "value": "MODIFY",
  409. "description": "Modify Access"
  410. },
  411. {
  412. "value": "FULL_CONTROL",
  413. "description": "FULL_CONTROL Access"
  414. }
  415. ]
  416. }
  417. }
  418. ]
  419. }
  420. }
  421. ]
  422. }
  423. }
  424. ]
  425. }
  426. }
  427. ]
  428. }
  429. },
  430. {
  431. "variable": "hostPathConfig",
  432. "label": "hostPathConfig",
  433. "schema": {
  434. "type": "dict",
  435. "show_if": [
  436. [
  437. "type",
  438. "=",
  439. "hostPath"
  440. ]
  441. ],
  442. "attrs": [
  443. {
  444. "variable": "aclEnable",
  445. "label": "Enable ACL",
  446. "description": "Enable ACL for the dataset.",
  447. "schema": {
  448. "type": "boolean",
  449. "default": false
  450. }
  451. },
  452. {
  453. "variable": "acl",
  454. "label": "ACL Configuration",
  455. "schema": {
  456. "type": "dict",
  457. "show_if": [
  458. [
  459. "aclEnable",
  460. "=",
  461. true
  462. ]
  463. ],
  464. "attrs": [
  465. {
  466. "variable": "path",
  467. "label": "Host Path",
  468. "description": "Host Path to perform ACL",
  469. "schema": {
  470. "type": "hostpath",
  471. "required": true,
  472. "empty": false
  473. }
  474. },
  475. {
  476. "variable": "entries",
  477. "label": "ACL Entries",
  478. "description": "ACL Entries",
  479. "schema": {
  480. "type": "list",
  481. "items": [
  482. {
  483. "variable": "aclEntry",
  484. "label": "ACL Entry",
  485. "schema": {
  486. "type": "dict",
  487. "attrs": [
  488. {
  489. "variable": "id_type",
  490. "label": "ID Type",
  491. "schema": {
  492. "type": "string",
  493. "enum": [
  494. {
  495. "value": "USER",
  496. "description": "Entry is for a USER"
  497. },
  498. {
  499. "value": "GROUP",
  500. "description": "Entry is for a GROUP"
  501. }
  502. ],
  503. "default": "USER"
  504. }
  505. },
  506. {
  507. "variable": "id",
  508. "label": "ID",
  509. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  510. "schema": {
  511. "type": "int",
  512. "required": true,
  513. "min": 0
  514. }
  515. },
  516. {
  517. "variable": "access",
  518. "label": "Access",
  519. "schema": {
  520. "type": "string",
  521. "enum": [
  522. {
  523. "value": "READ",
  524. "description": "Read Access"
  525. },
  526. {
  527. "value": "MODIFY",
  528. "description": "Modify Access"
  529. },
  530. {
  531. "value": "FULL_CONTROL",
  532. "description": "FULL_CONTROL Access"
  533. }
  534. ]
  535. }
  536. }
  537. ]
  538. }
  539. }
  540. ]
  541. }
  542. }
  543. ],
  544. "$ref": [
  545. "normalize/acl"
  546. ]
  547. }
  548. },
  549. {
  550. "variable": "hostPath",
  551. "label": "Host Path",
  552. "description": "The host path to use for storage.",
  553. "schema": {
  554. "type": "hostpath",
  555. "show_if": [
  556. [
  557. "aclEnable",
  558. "=",
  559. false
  560. ]
  561. ],
  562. "immutable": true,
  563. "required": true
  564. }
  565. }
  566. ]
  567. }
  568. }
  569. ]
  570. }
  571. },
  572. {
  573. "variable": "extensions",
  574. "label": "FreshRSS Extensions Storage",
  575. "description": "The path to store FreshRSS Extensions.",
  576. "schema": {
  577. "type": "dict",
  578. "attrs": [
  579. {
  580. "variable": "type",
  581. "label": "Type",
  582. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  583. "schema": {
  584. "type": "string",
  585. "required": true,
  586. "immutable": true,
  587. "default": "ixVolume",
  588. "enum": [
  589. {
  590. "value": "hostPath",
  591. "description": "Host Path (Path that already exists on the system)"
  592. },
  593. {
  594. "value": "ixVolume",
  595. "description": "ixVolume (Dataset created automatically by the system)"
  596. }
  597. ]
  598. }
  599. },
  600. {
  601. "variable": "ixVolumeConfig",
  602. "label": "ixVolume Configuration",
  603. "description": "The configuration for the ixVolume dataset.",
  604. "schema": {
  605. "type": "dict",
  606. "show_if": [
  607. [
  608. "type",
  609. "=",
  610. "ixVolume"
  611. ]
  612. ],
  613. "$ref": [
  614. "normalize/ixVolume"
  615. ],
  616. "attrs": [
  617. {
  618. "variable": "aclEnable",
  619. "label": "Enable ACL",
  620. "description": "Enable ACL for the dataset.",
  621. "schema": {
  622. "type": "boolean",
  623. "default": false
  624. }
  625. },
  626. {
  627. "variable": "datasetName",
  628. "label": "Dataset Name",
  629. "description": "The name of the dataset to use for storage.",
  630. "schema": {
  631. "type": "string",
  632. "required": true,
  633. "immutable": true,
  634. "hidden": true,
  635. "default": "extensions"
  636. }
  637. },
  638. {
  639. "variable": "aclEntries",
  640. "label": "ACL Configuration",
  641. "schema": {
  642. "type": "dict",
  643. "show_if": [
  644. [
  645. "aclEnable",
  646. "=",
  647. true
  648. ]
  649. ],
  650. "attrs": [
  651. {
  652. "variable": "path",
  653. "label": "Path",
  654. "description": "Path to perform ACL",
  655. "schema": {
  656. "type": "string",
  657. "hidden": true
  658. }
  659. },
  660. {
  661. "variable": "entries",
  662. "label": "ACL Entries",
  663. "description": "ACL Entries",
  664. "schema": {
  665. "type": "list",
  666. "items": [
  667. {
  668. "variable": "aclEntry",
  669. "label": "ACL Entry",
  670. "schema": {
  671. "type": "dict",
  672. "attrs": [
  673. {
  674. "variable": "id_type",
  675. "label": "ID Type",
  676. "schema": {
  677. "type": "string",
  678. "enum": [
  679. {
  680. "value": "USER",
  681. "description": "Entry is for a USER"
  682. },
  683. {
  684. "value": "GROUP",
  685. "description": "Entry is for a GROUP"
  686. }
  687. ],
  688. "default": "USER"
  689. }
  690. },
  691. {
  692. "variable": "id",
  693. "label": "ID",
  694. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  695. "schema": {
  696. "type": "int",
  697. "required": true,
  698. "min": 0
  699. }
  700. },
  701. {
  702. "variable": "access",
  703. "label": "Access",
  704. "schema": {
  705. "type": "string",
  706. "enum": [
  707. {
  708. "value": "READ",
  709. "description": "Read Access"
  710. },
  711. {
  712. "value": "MODIFY",
  713. "description": "Modify Access"
  714. },
  715. {
  716. "value": "FULL_CONTROL",
  717. "description": "FULL_CONTROL Access"
  718. }
  719. ]
  720. }
  721. }
  722. ]
  723. }
  724. }
  725. ]
  726. }
  727. }
  728. ]
  729. }
  730. }
  731. ]
  732. }
  733. },
  734. {
  735. "variable": "hostPathConfig",
  736. "label": "hostPathConfig",
  737. "schema": {
  738. "type": "dict",
  739. "show_if": [
  740. [
  741. "type",
  742. "=",
  743. "hostPath"
  744. ]
  745. ],
  746. "attrs": [
  747. {
  748. "variable": "aclEnable",
  749. "label": "Enable ACL",
  750. "description": "Enable ACL for the dataset.",
  751. "schema": {
  752. "type": "boolean",
  753. "default": false
  754. }
  755. },
  756. {
  757. "variable": "acl",
  758. "label": "ACL Configuration",
  759. "schema": {
  760. "type": "dict",
  761. "show_if": [
  762. [
  763. "aclEnable",
  764. "=",
  765. true
  766. ]
  767. ],
  768. "attrs": [
  769. {
  770. "variable": "path",
  771. "label": "Host Path",
  772. "description": "Host Path to perform ACL",
  773. "schema": {
  774. "type": "hostpath",
  775. "required": true,
  776. "empty": false
  777. }
  778. },
  779. {
  780. "variable": "entries",
  781. "label": "ACL Entries",
  782. "description": "ACL Entries",
  783. "schema": {
  784. "type": "list",
  785. "items": [
  786. {
  787. "variable": "aclEntry",
  788. "label": "ACL Entry",
  789. "schema": {
  790. "type": "dict",
  791. "attrs": [
  792. {
  793. "variable": "id_type",
  794. "label": "ID Type",
  795. "schema": {
  796. "type": "string",
  797. "enum": [
  798. {
  799. "value": "USER",
  800. "description": "Entry is for a USER"
  801. },
  802. {
  803. "value": "GROUP",
  804. "description": "Entry is for a GROUP"
  805. }
  806. ],
  807. "default": "USER"
  808. }
  809. },
  810. {
  811. "variable": "id",
  812. "label": "ID",
  813. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  814. "schema": {
  815. "type": "int",
  816. "required": true,
  817. "min": 0
  818. }
  819. },
  820. {
  821. "variable": "access",
  822. "label": "Access",
  823. "schema": {
  824. "type": "string",
  825. "enum": [
  826. {
  827. "value": "READ",
  828. "description": "Read Access"
  829. },
  830. {
  831. "value": "MODIFY",
  832. "description": "Modify Access"
  833. },
  834. {
  835. "value": "FULL_CONTROL",
  836. "description": "FULL_CONTROL Access"
  837. }
  838. ]
  839. }
  840. }
  841. ]
  842. }
  843. }
  844. ]
  845. }
  846. }
  847. ],
  848. "$ref": [
  849. "normalize/acl"
  850. ]
  851. }
  852. },
  853. {
  854. "variable": "hostPath",
  855. "label": "Host Path",
  856. "description": "The host path to use for storage.",
  857. "schema": {
  858. "type": "hostpath",
  859. "show_if": [
  860. [
  861. "aclEnable",
  862. "=",
  863. false
  864. ]
  865. ],
  866. "immutable": true,
  867. "required": true
  868. }
  869. }
  870. ]
  871. }
  872. }
  873. ]
  874. }
  875. },
  876. {
  877. "variable": "pgData",
  878. "label": "Postgres Data Storage",
  879. "description": "The path to store Postgres Data.",
  880. "schema": {
  881. "type": "dict",
  882. "attrs": [
  883. {
  884. "variable": "type",
  885. "label": "Type",
  886. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  887. "schema": {
  888. "type": "string",
  889. "required": true,
  890. "immutable": true,
  891. "default": "ixVolume",
  892. "enum": [
  893. {
  894. "value": "hostPath",
  895. "description": "Host Path (Path that already exists on the system)"
  896. },
  897. {
  898. "value": "ixVolume",
  899. "description": "ixVolume (Dataset created automatically by the system)"
  900. }
  901. ]
  902. }
  903. },
  904. {
  905. "variable": "ixVolumeConfig",
  906. "label": "ixVolume Configuration",
  907. "description": "The configuration for the ixVolume dataset.",
  908. "schema": {
  909. "type": "dict",
  910. "hidden": true,
  911. "show_if": [
  912. [
  913. "type",
  914. "=",
  915. "ixVolume"
  916. ]
  917. ],
  918. "$ref": [
  919. "normalize/ixVolume"
  920. ],
  921. "attrs": [
  922. {
  923. "variable": "aclEnable",
  924. "label": "Enable ACL",
  925. "description": "Enable ACL for the dataset.",
  926. "schema": {
  927. "type": "boolean",
  928. "hidden": true,
  929. "default": false
  930. }
  931. },
  932. {
  933. "variable": "datasetName",
  934. "label": "Dataset Name",
  935. "description": "The name of the dataset to use for storage.",
  936. "schema": {
  937. "type": "string",
  938. "required": true,
  939. "immutable": true,
  940. "hidden": true,
  941. "default": "pgData"
  942. }
  943. },
  944. {
  945. "variable": "aclEntries",
  946. "label": "ACL Configuration",
  947. "schema": {
  948. "type": "dict",
  949. "show_if": [
  950. [
  951. "aclEnable",
  952. "=",
  953. true
  954. ]
  955. ],
  956. "attrs": [
  957. {
  958. "variable": "path",
  959. "label": "Path",
  960. "description": "Path to perform ACL",
  961. "schema": {
  962. "type": "string",
  963. "hidden": true
  964. }
  965. },
  966. {
  967. "variable": "entries",
  968. "label": "ACL Entries",
  969. "description": "ACL Entries",
  970. "schema": {
  971. "type": "list",
  972. "items": [
  973. {
  974. "variable": "aclEntry",
  975. "label": "ACL Entry",
  976. "schema": {
  977. "type": "dict",
  978. "attrs": [
  979. {
  980. "variable": "id_type",
  981. "label": "ID Type",
  982. "schema": {
  983. "type": "string",
  984. "enum": [
  985. {
  986. "value": "USER",
  987. "description": "Entry is for a USER"
  988. },
  989. {
  990. "value": "GROUP",
  991. "description": "Entry is for a GROUP"
  992. }
  993. ],
  994. "default": "USER"
  995. }
  996. },
  997. {
  998. "variable": "id",
  999. "label": "ID",
  1000. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1001. "schema": {
  1002. "type": "int",
  1003. "required": true,
  1004. "min": 0
  1005. }
  1006. },
  1007. {
  1008. "variable": "access",
  1009. "label": "Access",
  1010. "schema": {
  1011. "type": "string",
  1012. "enum": [
  1013. {
  1014. "value": "READ",
  1015. "description": "Read Access"
  1016. },
  1017. {
  1018. "value": "MODIFY",
  1019. "description": "Modify Access"
  1020. },
  1021. {
  1022. "value": "FULL_CONTROL",
  1023. "description": "FULL_CONTROL Access"
  1024. }
  1025. ]
  1026. }
  1027. }
  1028. ]
  1029. }
  1030. }
  1031. ]
  1032. }
  1033. }
  1034. ]
  1035. }
  1036. }
  1037. ]
  1038. }
  1039. },
  1040. {
  1041. "variable": "hostPathConfig",
  1042. "label": "hostPathConfig",
  1043. "schema": {
  1044. "type": "dict",
  1045. "show_if": [
  1046. [
  1047. "type",
  1048. "=",
  1049. "hostPath"
  1050. ]
  1051. ],
  1052. "attrs": [
  1053. {
  1054. "variable": "aclEnable",
  1055. "label": "Enable ACL",
  1056. "description": "Enable ACL for the dataset.",
  1057. "schema": {
  1058. "type": "boolean",
  1059. "hidden": true,
  1060. "default": false
  1061. }
  1062. },
  1063. {
  1064. "variable": "acl",
  1065. "label": "ACL Configuration",
  1066. "schema": {
  1067. "type": "dict",
  1068. "show_if": [
  1069. [
  1070. "aclEnable",
  1071. "=",
  1072. true
  1073. ]
  1074. ],
  1075. "attrs": [
  1076. {
  1077. "variable": "path",
  1078. "label": "Host Path",
  1079. "description": "Host Path to perform ACL",
  1080. "schema": {
  1081. "type": "hostpath",
  1082. "required": true,
  1083. "empty": false
  1084. }
  1085. },
  1086. {
  1087. "variable": "entries",
  1088. "label": "ACL Entries",
  1089. "description": "ACL Entries",
  1090. "schema": {
  1091. "type": "list",
  1092. "items": [
  1093. {
  1094. "variable": "aclEntry",
  1095. "label": "ACL Entry",
  1096. "schema": {
  1097. "type": "dict",
  1098. "attrs": [
  1099. {
  1100. "variable": "id_type",
  1101. "label": "ID Type",
  1102. "schema": {
  1103. "type": "string",
  1104. "enum": [
  1105. {
  1106. "value": "USER",
  1107. "description": "Entry is for a USER"
  1108. },
  1109. {
  1110. "value": "GROUP",
  1111. "description": "Entry is for a GROUP"
  1112. }
  1113. ],
  1114. "default": "USER"
  1115. }
  1116. },
  1117. {
  1118. "variable": "id",
  1119. "label": "ID",
  1120. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1121. "schema": {
  1122. "type": "int",
  1123. "required": true,
  1124. "min": 0
  1125. }
  1126. },
  1127. {
  1128. "variable": "access",
  1129. "label": "Access",
  1130. "schema": {
  1131. "type": "string",
  1132. "enum": [
  1133. {
  1134. "value": "READ",
  1135. "description": "Read Access"
  1136. },
  1137. {
  1138. "value": "MODIFY",
  1139. "description": "Modify Access"
  1140. },
  1141. {
  1142. "value": "FULL_CONTROL",
  1143. "description": "FULL_CONTROL Access"
  1144. }
  1145. ]
  1146. }
  1147. }
  1148. ]
  1149. }
  1150. }
  1151. ]
  1152. }
  1153. }
  1154. ],
  1155. "$ref": [
  1156. "normalize/acl"
  1157. ]
  1158. }
  1159. },
  1160. {
  1161. "variable": "hostPath",
  1162. "label": "Host Path",
  1163. "description": "The host path to use for storage.",
  1164. "schema": {
  1165. "type": "hostpath",
  1166. "show_if": [
  1167. [
  1168. "aclEnable",
  1169. "=",
  1170. false
  1171. ]
  1172. ],
  1173. "immutable": true,
  1174. "required": true
  1175. }
  1176. }
  1177. ]
  1178. }
  1179. }
  1180. ]
  1181. }
  1182. },
  1183. {
  1184. "variable": "pgBackup",
  1185. "label": "Postgres Backup Storage",
  1186. "description": "The path to store Postgres Backup.",
  1187. "schema": {
  1188. "type": "dict",
  1189. "attrs": [
  1190. {
  1191. "variable": "type",
  1192. "label": "Type",
  1193. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  1194. "schema": {
  1195. "type": "string",
  1196. "required": true,
  1197. "immutable": true,
  1198. "default": "ixVolume",
  1199. "enum": [
  1200. {
  1201. "value": "hostPath",
  1202. "description": "Host Path (Path that already exists on the system)"
  1203. },
  1204. {
  1205. "value": "ixVolume",
  1206. "description": "ixVolume (Dataset created automatically by the system)"
  1207. }
  1208. ]
  1209. }
  1210. },
  1211. {
  1212. "variable": "ixVolumeConfig",
  1213. "label": "ixVolume Configuration",
  1214. "description": "The configuration for the ixVolume dataset.",
  1215. "schema": {
  1216. "type": "dict",
  1217. "hidden": true,
  1218. "show_if": [
  1219. [
  1220. "type",
  1221. "=",
  1222. "ixVolume"
  1223. ]
  1224. ],
  1225. "$ref": [
  1226. "normalize/ixVolume"
  1227. ],
  1228. "attrs": [
  1229. {
  1230. "variable": "aclEnable",
  1231. "label": "Enable ACL",
  1232. "description": "Enable ACL for the dataset.",
  1233. "schema": {
  1234. "type": "boolean",
  1235. "hidden": true,
  1236. "default": false
  1237. }
  1238. },
  1239. {
  1240. "variable": "datasetName",
  1241. "label": "Dataset Name",
  1242. "description": "The name of the dataset to use for storage.",
  1243. "schema": {
  1244. "type": "string",
  1245. "required": true,
  1246. "immutable": true,
  1247. "hidden": true,
  1248. "default": "pgBackup"
  1249. }
  1250. },
  1251. {
  1252. "variable": "aclEntries",
  1253. "label": "ACL Configuration",
  1254. "schema": {
  1255. "type": "dict",
  1256. "show_if": [
  1257. [
  1258. "aclEnable",
  1259. "=",
  1260. true
  1261. ]
  1262. ],
  1263. "attrs": [
  1264. {
  1265. "variable": "path",
  1266. "label": "Path",
  1267. "description": "Path to perform ACL",
  1268. "schema": {
  1269. "type": "string",
  1270. "hidden": true
  1271. }
  1272. },
  1273. {
  1274. "variable": "entries",
  1275. "label": "ACL Entries",
  1276. "description": "ACL Entries",
  1277. "schema": {
  1278. "type": "list",
  1279. "items": [
  1280. {
  1281. "variable": "aclEntry",
  1282. "label": "ACL Entry",
  1283. "schema": {
  1284. "type": "dict",
  1285. "attrs": [
  1286. {
  1287. "variable": "id_type",
  1288. "label": "ID Type",
  1289. "schema": {
  1290. "type": "string",
  1291. "enum": [
  1292. {
  1293. "value": "USER",
  1294. "description": "Entry is for a USER"
  1295. },
  1296. {
  1297. "value": "GROUP",
  1298. "description": "Entry is for a GROUP"
  1299. }
  1300. ],
  1301. "default": "USER"
  1302. }
  1303. },
  1304. {
  1305. "variable": "id",
  1306. "label": "ID",
  1307. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1308. "schema": {
  1309. "type": "int",
  1310. "required": true,
  1311. "min": 0
  1312. }
  1313. },
  1314. {
  1315. "variable": "access",
  1316. "label": "Access",
  1317. "schema": {
  1318. "type": "string",
  1319. "enum": [
  1320. {
  1321. "value": "READ",
  1322. "description": "Read Access"
  1323. },
  1324. {
  1325. "value": "MODIFY",
  1326. "description": "Modify Access"
  1327. },
  1328. {
  1329. "value": "FULL_CONTROL",
  1330. "description": "FULL_CONTROL Access"
  1331. }
  1332. ]
  1333. }
  1334. }
  1335. ]
  1336. }
  1337. }
  1338. ]
  1339. }
  1340. }
  1341. ]
  1342. }
  1343. }
  1344. ]
  1345. }
  1346. },
  1347. {
  1348. "variable": "hostPathConfig",
  1349. "label": "hostPathConfig",
  1350. "schema": {
  1351. "type": "dict",
  1352. "show_if": [
  1353. [
  1354. "type",
  1355. "=",
  1356. "hostPath"
  1357. ]
  1358. ],
  1359. "attrs": [
  1360. {
  1361. "variable": "aclEnable",
  1362. "label": "Enable ACL",
  1363. "description": "Enable ACL for the dataset.",
  1364. "schema": {
  1365. "type": "boolean",
  1366. "hidden": true,
  1367. "default": false
  1368. }
  1369. },
  1370. {
  1371. "variable": "acl",
  1372. "label": "ACL Configuration",
  1373. "schema": {
  1374. "type": "dict",
  1375. "show_if": [
  1376. [
  1377. "aclEnable",
  1378. "=",
  1379. true
  1380. ]
  1381. ],
  1382. "attrs": [
  1383. {
  1384. "variable": "path",
  1385. "label": "Host Path",
  1386. "description": "Host Path to perform ACL",
  1387. "schema": {
  1388. "type": "hostpath",
  1389. "required": true,
  1390. "empty": false
  1391. }
  1392. },
  1393. {
  1394. "variable": "entries",
  1395. "label": "ACL Entries",
  1396. "description": "ACL Entries",
  1397. "schema": {
  1398. "type": "list",
  1399. "items": [
  1400. {
  1401. "variable": "aclEntry",
  1402. "label": "ACL Entry",
  1403. "schema": {
  1404. "type": "dict",
  1405. "attrs": [
  1406. {
  1407. "variable": "id_type",
  1408. "label": "ID Type",
  1409. "schema": {
  1410. "type": "string",
  1411. "enum": [
  1412. {
  1413. "value": "USER",
  1414. "description": "Entry is for a USER"
  1415. },
  1416. {
  1417. "value": "GROUP",
  1418. "description": "Entry is for a GROUP"
  1419. }
  1420. ],
  1421. "default": "USER"
  1422. }
  1423. },
  1424. {
  1425. "variable": "id",
  1426. "label": "ID",
  1427. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1428. "schema": {
  1429. "type": "int",
  1430. "required": true,
  1431. "min": 0
  1432. }
  1433. },
  1434. {
  1435. "variable": "access",
  1436. "label": "Access",
  1437. "schema": {
  1438. "type": "string",
  1439. "enum": [
  1440. {
  1441. "value": "READ",
  1442. "description": "Read Access"
  1443. },
  1444. {
  1445. "value": "MODIFY",
  1446. "description": "Modify Access"
  1447. },
  1448. {
  1449. "value": "FULL_CONTROL",
  1450. "description": "FULL_CONTROL Access"
  1451. }
  1452. ]
  1453. }
  1454. }
  1455. ]
  1456. }
  1457. }
  1458. ]
  1459. }
  1460. }
  1461. ],
  1462. "$ref": [
  1463. "normalize/acl"
  1464. ]
  1465. }
  1466. },
  1467. {
  1468. "variable": "hostPath",
  1469. "label": "Host Path",
  1470. "description": "The host path to use for storage.",
  1471. "schema": {
  1472. "type": "hostpath",
  1473. "show_if": [
  1474. [
  1475. "aclEnable",
  1476. "=",
  1477. false
  1478. ]
  1479. ],
  1480. "immutable": true,
  1481. "required": true
  1482. }
  1483. }
  1484. ]
  1485. }
  1486. }
  1487. ]
  1488. }
  1489. },
  1490. {
  1491. "variable": "additionalStorages",
  1492. "label": "Additional Storage",
  1493. "description": "Additional storage for FreshRSS.",
  1494. "schema": {
  1495. "type": "list",
  1496. "default": [],
  1497. "items": [
  1498. {
  1499. "variable": "storageEntry",
  1500. "label": "Storage Entry",
  1501. "schema": {
  1502. "type": "dict",
  1503. "attrs": [
  1504. {
  1505. "variable": "type",
  1506. "label": "Type",
  1507. "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",
  1508. "schema": {
  1509. "type": "string",
  1510. "required": true,
  1511. "immutable": true,
  1512. "default": "ixVolume",
  1513. "enum": [
  1514. {
  1515. "value": "hostPath",
  1516. "description": "Host Path (Path that already exists on the system)"
  1517. },
  1518. {
  1519. "value": "ixVolume",
  1520. "description": "ixVolume (Dataset created automatically by the system)"
  1521. },
  1522. {
  1523. "value": "smb-pv-pvc",
  1524. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  1525. }
  1526. ]
  1527. }
  1528. },
  1529. {
  1530. "variable": "readOnly",
  1531. "label": "Read Only",
  1532. "description": "Mount the volume as read only.",
  1533. "schema": {
  1534. "type": "boolean",
  1535. "default": false
  1536. }
  1537. },
  1538. {
  1539. "variable": "mountPath",
  1540. "label": "Mount Path",
  1541. "description": "The path inside the container to mount the storage.",
  1542. "schema": {
  1543. "type": "path",
  1544. "required": true
  1545. }
  1546. },
  1547. {
  1548. "variable": "hostPathConfig",
  1549. "label": "hostPathConfig",
  1550. "schema": {
  1551. "type": "dict",
  1552. "show_if": [
  1553. [
  1554. "type",
  1555. "=",
  1556. "hostPath"
  1557. ]
  1558. ],
  1559. "attrs": [
  1560. {
  1561. "variable": "aclEnable",
  1562. "label": "Enable ACL",
  1563. "description": "Enable ACL for the dataset.",
  1564. "schema": {
  1565. "type": "boolean",
  1566. "default": false
  1567. }
  1568. },
  1569. {
  1570. "variable": "acl",
  1571. "label": "ACL Configuration",
  1572. "schema": {
  1573. "type": "dict",
  1574. "show_if": [
  1575. [
  1576. "aclEnable",
  1577. "=",
  1578. true
  1579. ]
  1580. ],
  1581. "attrs": [
  1582. {
  1583. "variable": "path",
  1584. "label": "Host Path",
  1585. "description": "Host Path to perform ACL",
  1586. "schema": {
  1587. "type": "hostpath",
  1588. "required": true,
  1589. "empty": false
  1590. }
  1591. },
  1592. {
  1593. "variable": "entries",
  1594. "label": "ACL Entries",
  1595. "description": "ACL Entries",
  1596. "schema": {
  1597. "type": "list",
  1598. "items": [
  1599. {
  1600. "variable": "aclEntry",
  1601. "label": "ACL Entry",
  1602. "schema": {
  1603. "type": "dict",
  1604. "attrs": [
  1605. {
  1606. "variable": "id_type",
  1607. "label": "ID Type",
  1608. "schema": {
  1609. "type": "string",
  1610. "enum": [
  1611. {
  1612. "value": "USER",
  1613. "description": "Entry is for a USER"
  1614. },
  1615. {
  1616. "value": "GROUP",
  1617. "description": "Entry is for a GROUP"
  1618. }
  1619. ],
  1620. "default": "USER"
  1621. }
  1622. },
  1623. {
  1624. "variable": "id",
  1625. "label": "ID",
  1626. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1627. "schema": {
  1628. "type": "int",
  1629. "required": true,
  1630. "min": 0
  1631. }
  1632. },
  1633. {
  1634. "variable": "access",
  1635. "label": "Access",
  1636. "schema": {
  1637. "type": "string",
  1638. "enum": [
  1639. {
  1640. "value": "READ",
  1641. "description": "Read Access"
  1642. },
  1643. {
  1644. "value": "MODIFY",
  1645. "description": "Modify Access"
  1646. },
  1647. {
  1648. "value": "FULL_CONTROL",
  1649. "description": "FULL_CONTROL Access"
  1650. }
  1651. ]
  1652. }
  1653. }
  1654. ]
  1655. }
  1656. }
  1657. ]
  1658. }
  1659. }
  1660. ],
  1661. "$ref": [
  1662. "normalize/acl"
  1663. ]
  1664. }
  1665. },
  1666. {
  1667. "variable": "hostPath",
  1668. "label": "Host Path",
  1669. "description": "The host path to use for storage.",
  1670. "schema": {
  1671. "type": "hostpath",
  1672. "show_if": [
  1673. [
  1674. "aclEnable",
  1675. "=",
  1676. false
  1677. ]
  1678. ],
  1679. "immutable": true,
  1680. "required": true
  1681. }
  1682. }
  1683. ]
  1684. }
  1685. },
  1686. {
  1687. "variable": "ixVolumeConfig",
  1688. "label": "ixVolume Configuration",
  1689. "description": "The configuration for the ixVolume dataset.",
  1690. "schema": {
  1691. "type": "dict",
  1692. "show_if": [
  1693. [
  1694. "type",
  1695. "=",
  1696. "ixVolume"
  1697. ]
  1698. ],
  1699. "$ref": [
  1700. "normalize/ixVolume"
  1701. ],
  1702. "attrs": [
  1703. {
  1704. "variable": "aclEnable",
  1705. "label": "Enable ACL",
  1706. "description": "Enable ACL for the dataset.",
  1707. "schema": {
  1708. "type": "boolean",
  1709. "default": false
  1710. }
  1711. },
  1712. {
  1713. "variable": "datasetName",
  1714. "label": "Dataset Name",
  1715. "description": "The name of the dataset to use for storage.",
  1716. "schema": {
  1717. "type": "string",
  1718. "required": true,
  1719. "immutable": true,
  1720. "default": "storage_entry"
  1721. }
  1722. },
  1723. {
  1724. "variable": "aclEntries",
  1725. "label": "ACL Configuration",
  1726. "schema": {
  1727. "type": "dict",
  1728. "show_if": [
  1729. [
  1730. "aclEnable",
  1731. "=",
  1732. true
  1733. ]
  1734. ],
  1735. "attrs": [
  1736. {
  1737. "variable": "path",
  1738. "label": "Path",
  1739. "description": "Path to perform ACL",
  1740. "schema": {
  1741. "type": "string",
  1742. "hidden": true
  1743. }
  1744. },
  1745. {
  1746. "variable": "entries",
  1747. "label": "ACL Entries",
  1748. "description": "ACL Entries",
  1749. "schema": {
  1750. "type": "list",
  1751. "items": [
  1752. {
  1753. "variable": "aclEntry",
  1754. "label": "ACL Entry",
  1755. "schema": {
  1756. "type": "dict",
  1757. "attrs": [
  1758. {
  1759. "variable": "id_type",
  1760. "label": "ID Type",
  1761. "schema": {
  1762. "type": "string",
  1763. "enum": [
  1764. {
  1765. "value": "USER",
  1766. "description": "Entry is for a USER"
  1767. },
  1768. {
  1769. "value": "GROUP",
  1770. "description": "Entry is for a GROUP"
  1771. }
  1772. ],
  1773. "default": "USER"
  1774. }
  1775. },
  1776. {
  1777. "variable": "id",
  1778. "label": "ID",
  1779. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1780. "schema": {
  1781. "type": "int",
  1782. "required": true,
  1783. "min": 0
  1784. }
  1785. },
  1786. {
  1787. "variable": "access",
  1788. "label": "Access",
  1789. "schema": {
  1790. "type": "string",
  1791. "enum": [
  1792. {
  1793. "value": "READ",
  1794. "description": "Read Access"
  1795. },
  1796. {
  1797. "value": "MODIFY",
  1798. "description": "Modify Access"
  1799. },
  1800. {
  1801. "value": "FULL_CONTROL",
  1802. "description": "FULL_CONTROL Access"
  1803. }
  1804. ]
  1805. }
  1806. }
  1807. ]
  1808. }
  1809. }
  1810. ]
  1811. }
  1812. }
  1813. ]
  1814. }
  1815. }
  1816. ]
  1817. }
  1818. },
  1819. {
  1820. "variable": "smbConfig",
  1821. "label": "SMB Share Configuration",
  1822. "description": "The configuration for the SMB Share.",
  1823. "schema": {
  1824. "type": "dict",
  1825. "show_if": [
  1826. [
  1827. "type",
  1828. "=",
  1829. "smb-pv-pvc"
  1830. ]
  1831. ],
  1832. "attrs": [
  1833. {
  1834. "variable": "server",
  1835. "label": "Server",
  1836. "description": "The server for the SMB share.",
  1837. "schema": {
  1838. "type": "string",
  1839. "required": true
  1840. }
  1841. },
  1842. {
  1843. "variable": "share",
  1844. "label": "Share",
  1845. "description": "The share name for the SMB share.",
  1846. "schema": {
  1847. "type": "string",
  1848. "required": true
  1849. }
  1850. },
  1851. {
  1852. "variable": "domain",
  1853. "label": "Domain (Optional)",
  1854. "description": "The domain for the SMB share.",
  1855. "schema": {
  1856. "type": "string"
  1857. }
  1858. },
  1859. {
  1860. "variable": "username",
  1861. "label": "Username",
  1862. "description": "The username for the SMB share.",
  1863. "schema": {
  1864. "type": "string",
  1865. "required": true
  1866. }
  1867. },
  1868. {
  1869. "variable": "password",
  1870. "label": "Password",
  1871. "description": "The password for the SMB share.",
  1872. "schema": {
  1873. "type": "string",
  1874. "required": true,
  1875. "private": true
  1876. }
  1877. },
  1878. {
  1879. "variable": "size",
  1880. "label": "Size (in Gi)",
  1881. "description": "The size of the volume quota.",
  1882. "schema": {
  1883. "type": "int",
  1884. "required": true,
  1885. "min": 1,
  1886. "default": 1
  1887. }
  1888. }
  1889. ]
  1890. }
  1891. }
  1892. ]
  1893. }
  1894. }
  1895. ]
  1896. }
  1897. }
  1898. ]
  1899. }
  1900. },
  1901. {
  1902. "variable": "resources",
  1903. "group": "Resources Configuration",
  1904. "label": "",
  1905. "schema": {
  1906. "type": "dict",
  1907. "attrs": [
  1908. {
  1909. "variable": "limits",
  1910. "label": "Limits",
  1911. "schema": {
  1912. "type": "dict",
  1913. "attrs": [
  1914. {
  1915. "variable": "cpu",
  1916. "label": "CPU",
  1917. "description": "CPU limit for FreshRSS.",
  1918. "schema": {
  1919. "type": "string",
  1920. "max_length": 6,
  1921. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  1922. "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",
  1923. "default": "4000m",
  1924. "required": true
  1925. }
  1926. },
  1927. {
  1928. "variable": "memory",
  1929. "label": "Memory",
  1930. "description": "Memory limit for FreshRSS.",
  1931. "schema": {
  1932. "type": "string",
  1933. "max_length": 12,
  1934. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  1935. "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",
  1936. "default": "8Gi",
  1937. "required": true
  1938. }
  1939. }
  1940. ]
  1941. }
  1942. }
  1943. ]
  1944. }
  1945. }
  1946. ]
  1947. },
  1948. "app_readme": "<h1>FreshRSS</h1>\n<p><a href=\"https://freshrss.org/\">FreshRSS</a> is a free, self-hostable news aggregator</p>",
  1949. "detailed_readme": "<h1>FreshRSS</h1>\n<p><a href=\"https://freshrss.org/\">FreshRSS</a> is a free, self-hostable news aggregator</p>",
  1950. "changelog": null
  1951. }
  1952. }