app_versions.json 161 KB

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