app_versions.json 107 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390
  1. {
  2. "1.1.0": {
  3. "healthy": true,
  4. "supported": false,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/charts/prometheus/1.1.0",
  7. "last_update": "2023-12-09 10:56:55",
  8. "required_features": [
  9. "normalize/ixVolume",
  10. "normalize/acl"
  11. ],
  12. "human_version": "v2.48.0_1.1.0",
  13. "version": "1.1.0",
  14. "chart_metadata": {
  15. "name": "prometheus",
  16. "description": "The Prometheus monitoring system and time series database.",
  17. "annotations": {
  18. "title": "Prometheus"
  19. },
  20. "type": "application",
  21. "version": "1.1.0",
  22. "apiVersion": "v2",
  23. "appVersion": "v2.48.0",
  24. "kubeVersion": ">=1.16.0-0",
  25. "maintainers": [
  26. {
  27. "name": "truenas",
  28. "url": "https://www.truenas.com/",
  29. "email": "dev@ixsystems.com"
  30. }
  31. ],
  32. "dependencies": [
  33. {
  34. "name": "common",
  35. "repository": "file://../../../common",
  36. "version": "1.2.3"
  37. }
  38. ],
  39. "home": "https://prometheus.io",
  40. "icon": "https://media.sys.truenas.net/apps/prometheus/icons/icon.png",
  41. "sources": [
  42. "https://github.com/prometheus/prometheus",
  43. "https://github.com/truenas/charts/tree/master/charts/prometheus",
  44. "https://prometheus.io"
  45. ],
  46. "keywords": [
  47. "metrics",
  48. "prometheus"
  49. ]
  50. },
  51. "app_metadata": {
  52. "runAsContext": [
  53. {
  54. "userName": "prometheus",
  55. "groupName": "prometheus",
  56. "gid": 568,
  57. "uid": 568,
  58. "description": "Prometheus can run as any non-root user."
  59. }
  60. ],
  61. "capabilities": [],
  62. "hostMounts": []
  63. },
  64. "schema": {
  65. "groups": [
  66. {
  67. "name": "Prometheus Configuration",
  68. "description": "Configure Prometheus"
  69. },
  70. {
  71. "name": "User and Group Configuration",
  72. "description": "Configure User and Group for Prometheus"
  73. },
  74. {
  75. "name": "Network Configuration",
  76. "description": "Configure Network for Prometheus"
  77. },
  78. {
  79. "name": "Storage Configuration",
  80. "description": "Configure Storage for Prometheus"
  81. },
  82. {
  83. "name": "Resources Configuration",
  84. "description": "Configure Resources for Prometheus"
  85. }
  86. ],
  87. "portals": {
  88. "web_portal": {
  89. "protocols": [
  90. "$kubernetes-resource_configmap_portal_protocol"
  91. ],
  92. "host": [
  93. "$kubernetes-resource_configmap_portal_host"
  94. ],
  95. "ports": [
  96. "$kubernetes-resource_configmap_portal_port"
  97. ],
  98. "path": "$kubernetes-resource_configmap_portal_path"
  99. }
  100. },
  101. "questions": [
  102. {
  103. "variable": "prometheusConfig",
  104. "label": "",
  105. "group": "Prometheus Configuration",
  106. "schema": {
  107. "type": "dict",
  108. "attrs": [
  109. {
  110. "variable": "retentionTime",
  111. "label": "Retention Time",
  112. "description": "The time to retain data for. Use the format 15d, 6w, 10y, etc.",
  113. "schema": {
  114. "type": "string",
  115. "default": "15d",
  116. "required": true
  117. }
  118. },
  119. {
  120. "variable": "retentionSize",
  121. "label": "Retention Size",
  122. "description": "The size to retain data for. Use the format 100MB, 10GB, etc.",
  123. "schema": {
  124. "type": "string",
  125. "default": ""
  126. }
  127. },
  128. {
  129. "variable": "walCompression",
  130. "label": "WAL Compression",
  131. "description": "Compress the time series database write-ahead log.",
  132. "schema": {
  133. "type": "boolean",
  134. "default": true
  135. }
  136. },
  137. {
  138. "variable": "additionalArgs",
  139. "label": "Additional Arguments",
  140. "description": "Configure additional arguments for Prometheus.",
  141. "schema": {
  142. "type": "list",
  143. "default": [],
  144. "items": [
  145. {
  146. "variable": "arg",
  147. "label": "Argument",
  148. "schema": {
  149. "type": "string",
  150. "required": true,
  151. "default": ""
  152. }
  153. }
  154. ]
  155. }
  156. },
  157. {
  158. "variable": "additionalEnvs",
  159. "label": "Additional Environment Variables",
  160. "description": "Configure additional environment variables for Prometheus.",
  161. "schema": {
  162. "type": "list",
  163. "default": [],
  164. "items": [
  165. {
  166. "variable": "env",
  167. "label": "Environment Variable",
  168. "schema": {
  169. "type": "dict",
  170. "attrs": [
  171. {
  172. "variable": "name",
  173. "label": "Name",
  174. "schema": {
  175. "type": "string",
  176. "required": true
  177. }
  178. },
  179. {
  180. "variable": "value",
  181. "label": "Value",
  182. "schema": {
  183. "type": "string",
  184. "required": true
  185. }
  186. }
  187. ]
  188. }
  189. }
  190. ]
  191. }
  192. }
  193. ]
  194. }
  195. },
  196. {
  197. "variable": "prometheusRunAs",
  198. "label": "",
  199. "group": "User and Group Configuration",
  200. "schema": {
  201. "type": "dict",
  202. "attrs": [
  203. {
  204. "variable": "user",
  205. "label": "User ID",
  206. "description": "The user id that Prometheus will run as.",
  207. "schema": {
  208. "type": "int",
  209. "min": 568,
  210. "default": 568,
  211. "required": true
  212. }
  213. },
  214. {
  215. "variable": "group",
  216. "label": "Group ID",
  217. "description": "The group id that Prometheus will run as.",
  218. "schema": {
  219. "type": "int",
  220. "min": 568,
  221. "default": 568,
  222. "required": true
  223. }
  224. }
  225. ]
  226. }
  227. },
  228. {
  229. "variable": "prometheusNetwork",
  230. "label": "",
  231. "group": "Network Configuration",
  232. "schema": {
  233. "type": "dict",
  234. "attrs": [
  235. {
  236. "variable": "apiPort",
  237. "label": "API Port",
  238. "description": "The port for the Prometheus API (And WebUI).",
  239. "schema": {
  240. "type": "int",
  241. "default": 30002,
  242. "min": 9000,
  243. "max": 65535,
  244. "required": true
  245. }
  246. },
  247. {
  248. "variable": "hostNetwork",
  249. "label": "Host Network",
  250. "description": "Bind to the host network. It's recommended to keep this disabled.\n",
  251. "schema": {
  252. "type": "boolean",
  253. "default": false
  254. }
  255. }
  256. ]
  257. }
  258. },
  259. {
  260. "variable": "prometheusStorage",
  261. "label": "",
  262. "group": "Storage Configuration",
  263. "schema": {
  264. "type": "dict",
  265. "attrs": [
  266. {
  267. "variable": "data",
  268. "label": "Prometheus Data Storage",
  269. "description": "The path to store Prometheus data/metrics.",
  270. "schema": {
  271. "type": "dict",
  272. "attrs": [
  273. {
  274. "variable": "type",
  275. "label": "Type",
  276. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  277. "schema": {
  278. "type": "string",
  279. "required": true,
  280. "immutable": true,
  281. "default": "ixVolume",
  282. "enum": [
  283. {
  284. "value": "hostPath",
  285. "description": "Host Path (Path that already exists on the system)"
  286. },
  287. {
  288. "value": "ixVolume",
  289. "description": "ixVolume (Dataset created automatically by the system)"
  290. }
  291. ]
  292. }
  293. },
  294. {
  295. "variable": "ixVolumeConfig",
  296. "label": "ixVolume Configuration",
  297. "description": "The configuration for the ixVolume dataset.",
  298. "schema": {
  299. "type": "dict",
  300. "show_if": [
  301. [
  302. "type",
  303. "=",
  304. "ixVolume"
  305. ]
  306. ],
  307. "$ref": [
  308. "normalize/ixVolume"
  309. ],
  310. "attrs": [
  311. {
  312. "variable": "aclEnable",
  313. "label": "Enable ACL",
  314. "description": "Enable ACL for the dataset.",
  315. "schema": {
  316. "type": "boolean",
  317. "default": false
  318. }
  319. },
  320. {
  321. "variable": "datasetName",
  322. "label": "Dataset Name",
  323. "description": "The name of the dataset to use for storage.",
  324. "schema": {
  325. "type": "string",
  326. "required": true,
  327. "immutable": true,
  328. "hidden": true,
  329. "default": "data"
  330. }
  331. },
  332. {
  333. "variable": "aclEntries",
  334. "label": "ACL Configuration",
  335. "schema": {
  336. "type": "dict",
  337. "show_if": [
  338. [
  339. "aclEnable",
  340. "=",
  341. true
  342. ]
  343. ],
  344. "attrs": [
  345. {
  346. "variable": "path",
  347. "label": "Path",
  348. "description": "Path to perform ACL",
  349. "schema": {
  350. "type": "string",
  351. "hidden": true
  352. }
  353. },
  354. {
  355. "variable": "entries",
  356. "label": "ACL Entries",
  357. "description": "ACL Entries",
  358. "schema": {
  359. "type": "list",
  360. "items": [
  361. {
  362. "variable": "aclEntry",
  363. "label": "ACL Entry",
  364. "schema": {
  365. "type": "dict",
  366. "attrs": [
  367. {
  368. "variable": "id_type",
  369. "label": "ID Type",
  370. "schema": {
  371. "type": "string",
  372. "enum": [
  373. {
  374. "value": "USER",
  375. "description": "Entry is for a USER"
  376. },
  377. {
  378. "value": "GROUP",
  379. "description": "Entry is for a GROUP"
  380. }
  381. ],
  382. "default": "USER"
  383. }
  384. },
  385. {
  386. "variable": "id",
  387. "label": "ID",
  388. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  389. "schema": {
  390. "type": "int",
  391. "required": true,
  392. "min": 0
  393. }
  394. },
  395. {
  396. "variable": "access",
  397. "label": "Access",
  398. "schema": {
  399. "type": "string",
  400. "enum": [
  401. {
  402. "value": "READ",
  403. "description": "Read Access"
  404. },
  405. {
  406. "value": "MODIFY",
  407. "description": "Modify Access"
  408. },
  409. {
  410. "value": "FULL_CONTROL",
  411. "description": "FULL_CONTROL Access"
  412. }
  413. ]
  414. }
  415. }
  416. ]
  417. }
  418. }
  419. ]
  420. }
  421. }
  422. ]
  423. }
  424. }
  425. ]
  426. }
  427. },
  428. {
  429. "variable": "hostPathConfig",
  430. "label": "Host Path Configuration",
  431. "schema": {
  432. "type": "dict",
  433. "show_if": [
  434. [
  435. "type",
  436. "=",
  437. "hostPath"
  438. ]
  439. ],
  440. "attrs": [
  441. {
  442. "variable": "aclEnable",
  443. "label": "Enable ACL",
  444. "description": "Enable ACL for the dataset.",
  445. "schema": {
  446. "type": "boolean",
  447. "default": false
  448. }
  449. },
  450. {
  451. "variable": "acl",
  452. "label": "ACL Configuration",
  453. "schema": {
  454. "type": "dict",
  455. "show_if": [
  456. [
  457. "aclEnable",
  458. "=",
  459. true
  460. ]
  461. ],
  462. "attrs": [
  463. {
  464. "variable": "path",
  465. "label": "Host Path",
  466. "description": "Host Path to perform ACL",
  467. "schema": {
  468. "type": "hostpath",
  469. "required": true,
  470. "empty": false
  471. }
  472. },
  473. {
  474. "variable": "entries",
  475. "label": "ACL Entries",
  476. "description": "ACL Entries",
  477. "schema": {
  478. "type": "list",
  479. "items": [
  480. {
  481. "variable": "aclEntry",
  482. "label": "ACL Entry",
  483. "schema": {
  484. "type": "dict",
  485. "attrs": [
  486. {
  487. "variable": "id_type",
  488. "label": "ID Type",
  489. "schema": {
  490. "type": "string",
  491. "enum": [
  492. {
  493. "value": "USER",
  494. "description": "Entry is for a USER"
  495. },
  496. {
  497. "value": "GROUP",
  498. "description": "Entry is for a GROUP"
  499. }
  500. ],
  501. "default": "USER"
  502. }
  503. },
  504. {
  505. "variable": "id",
  506. "label": "ID",
  507. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  508. "schema": {
  509. "type": "int",
  510. "required": true,
  511. "min": 0
  512. }
  513. },
  514. {
  515. "variable": "access",
  516. "label": "Access",
  517. "schema": {
  518. "type": "string",
  519. "enum": [
  520. {
  521. "value": "READ",
  522. "description": "Read Access"
  523. },
  524. {
  525. "value": "MODIFY",
  526. "description": "Modify Access"
  527. },
  528. {
  529. "value": "FULL_CONTROL",
  530. "description": "FULL_CONTROL Access"
  531. }
  532. ]
  533. }
  534. }
  535. ]
  536. }
  537. }
  538. ]
  539. }
  540. },
  541. {
  542. "variable": "options",
  543. "label": "ACL Options",
  544. "schema": {
  545. "type": "dict",
  546. "attrs": [
  547. {
  548. "variable": "force",
  549. "label": "Force Flag",
  550. "description": "Enabling `Force` applies ACL even if the path has existing data",
  551. "schema": {
  552. "type": "boolean",
  553. "default": false
  554. }
  555. }
  556. ]
  557. }
  558. }
  559. ],
  560. "$ref": [
  561. "normalize/acl"
  562. ]
  563. }
  564. },
  565. {
  566. "variable": "hostPath",
  567. "label": "Host Path",
  568. "description": "The host path to use for storage.",
  569. "schema": {
  570. "type": "hostpath",
  571. "show_if": [
  572. [
  573. "aclEnable",
  574. "=",
  575. false
  576. ]
  577. ],
  578. "immutable": true,
  579. "required": true
  580. }
  581. }
  582. ]
  583. }
  584. }
  585. ]
  586. }
  587. },
  588. {
  589. "variable": "config",
  590. "label": "Prometheus Config Storage",
  591. "description": "The path to store Prometheus config storage.",
  592. "schema": {
  593. "type": "dict",
  594. "attrs": [
  595. {
  596. "variable": "type",
  597. "label": "Type",
  598. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  599. "schema": {
  600. "type": "string",
  601. "required": true,
  602. "immutable": true,
  603. "default": "ixVolume",
  604. "enum": [
  605. {
  606. "value": "hostPath",
  607. "description": "Host Path (Path that already exists on the system)"
  608. },
  609. {
  610. "value": "ixVolume",
  611. "description": "ixVolume (Dataset created automatically by the system)"
  612. }
  613. ]
  614. }
  615. },
  616. {
  617. "variable": "ixVolumeConfig",
  618. "label": "ixVolume Configuration",
  619. "description": "The configuration for the ixVolume dataset.",
  620. "schema": {
  621. "type": "dict",
  622. "show_if": [
  623. [
  624. "type",
  625. "=",
  626. "ixVolume"
  627. ]
  628. ],
  629. "$ref": [
  630. "normalize/ixVolume"
  631. ],
  632. "attrs": [
  633. {
  634. "variable": "aclEnable",
  635. "label": "Enable ACL",
  636. "description": "Enable ACL for the dataset.",
  637. "schema": {
  638. "type": "boolean",
  639. "default": false
  640. }
  641. },
  642. {
  643. "variable": "datasetName",
  644. "label": "Dataset Name",
  645. "description": "The name of the dataset to use for storage.",
  646. "schema": {
  647. "type": "string",
  648. "required": true,
  649. "immutable": true,
  650. "hidden": true,
  651. "default": "config"
  652. }
  653. },
  654. {
  655. "variable": "aclEntries",
  656. "label": "ACL Configuration",
  657. "schema": {
  658. "type": "dict",
  659. "show_if": [
  660. [
  661. "aclEnable",
  662. "=",
  663. true
  664. ]
  665. ],
  666. "attrs": [
  667. {
  668. "variable": "path",
  669. "label": "Path",
  670. "description": "Path to perform ACL",
  671. "schema": {
  672. "type": "string",
  673. "hidden": true
  674. }
  675. },
  676. {
  677. "variable": "entries",
  678. "label": "ACL Entries",
  679. "description": "ACL Entries",
  680. "schema": {
  681. "type": "list",
  682. "items": [
  683. {
  684. "variable": "aclEntry",
  685. "label": "ACL Entry",
  686. "schema": {
  687. "type": "dict",
  688. "attrs": [
  689. {
  690. "variable": "id_type",
  691. "label": "ID Type",
  692. "schema": {
  693. "type": "string",
  694. "enum": [
  695. {
  696. "value": "USER",
  697. "description": "Entry is for a USER"
  698. },
  699. {
  700. "value": "GROUP",
  701. "description": "Entry is for a GROUP"
  702. }
  703. ],
  704. "default": "USER"
  705. }
  706. },
  707. {
  708. "variable": "id",
  709. "label": "ID",
  710. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  711. "schema": {
  712. "type": "int",
  713. "required": true,
  714. "min": 0
  715. }
  716. },
  717. {
  718. "variable": "access",
  719. "label": "Access",
  720. "schema": {
  721. "type": "string",
  722. "enum": [
  723. {
  724. "value": "READ",
  725. "description": "Read Access"
  726. },
  727. {
  728. "value": "MODIFY",
  729. "description": "Modify Access"
  730. },
  731. {
  732. "value": "FULL_CONTROL",
  733. "description": "FULL_CONTROL Access"
  734. }
  735. ]
  736. }
  737. }
  738. ]
  739. }
  740. }
  741. ]
  742. }
  743. }
  744. ]
  745. }
  746. }
  747. ]
  748. }
  749. },
  750. {
  751. "variable": "hostPathConfig",
  752. "label": "Host Path Configuration",
  753. "schema": {
  754. "type": "dict",
  755. "show_if": [
  756. [
  757. "type",
  758. "=",
  759. "hostPath"
  760. ]
  761. ],
  762. "attrs": [
  763. {
  764. "variable": "aclEnable",
  765. "label": "Enable ACL",
  766. "description": "Enable ACL for the dataset.",
  767. "schema": {
  768. "type": "boolean",
  769. "default": false
  770. }
  771. },
  772. {
  773. "variable": "acl",
  774. "label": "ACL Configuration",
  775. "schema": {
  776. "type": "dict",
  777. "show_if": [
  778. [
  779. "aclEnable",
  780. "=",
  781. true
  782. ]
  783. ],
  784. "attrs": [
  785. {
  786. "variable": "path",
  787. "label": "Host Path",
  788. "description": "Host Path to perform ACL",
  789. "schema": {
  790. "type": "hostpath",
  791. "required": true,
  792. "empty": false
  793. }
  794. },
  795. {
  796. "variable": "entries",
  797. "label": "ACL Entries",
  798. "description": "ACL Entries",
  799. "schema": {
  800. "type": "list",
  801. "items": [
  802. {
  803. "variable": "aclEntry",
  804. "label": "ACL Entry",
  805. "schema": {
  806. "type": "dict",
  807. "attrs": [
  808. {
  809. "variable": "id_type",
  810. "label": "ID Type",
  811. "schema": {
  812. "type": "string",
  813. "enum": [
  814. {
  815. "value": "USER",
  816. "description": "Entry is for a USER"
  817. },
  818. {
  819. "value": "GROUP",
  820. "description": "Entry is for a GROUP"
  821. }
  822. ],
  823. "default": "USER"
  824. }
  825. },
  826. {
  827. "variable": "id",
  828. "label": "ID",
  829. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  830. "schema": {
  831. "type": "int",
  832. "required": true,
  833. "min": 0
  834. }
  835. },
  836. {
  837. "variable": "access",
  838. "label": "Access",
  839. "schema": {
  840. "type": "string",
  841. "enum": [
  842. {
  843. "value": "READ",
  844. "description": "Read Access"
  845. },
  846. {
  847. "value": "MODIFY",
  848. "description": "Modify Access"
  849. },
  850. {
  851. "value": "FULL_CONTROL",
  852. "description": "FULL_CONTROL Access"
  853. }
  854. ]
  855. }
  856. }
  857. ]
  858. }
  859. }
  860. ]
  861. }
  862. },
  863. {
  864. "variable": "options",
  865. "label": "ACL Options",
  866. "schema": {
  867. "type": "dict",
  868. "attrs": [
  869. {
  870. "variable": "force",
  871. "label": "Force Flag",
  872. "description": "Enabling `Force` applies ACL even if the path has existing data",
  873. "schema": {
  874. "type": "boolean",
  875. "default": false
  876. }
  877. }
  878. ]
  879. }
  880. }
  881. ],
  882. "$ref": [
  883. "normalize/acl"
  884. ]
  885. }
  886. },
  887. {
  888. "variable": "hostPath",
  889. "label": "Host Path",
  890. "description": "The host path to use for storage.",
  891. "schema": {
  892. "type": "hostpath",
  893. "show_if": [
  894. [
  895. "aclEnable",
  896. "=",
  897. false
  898. ]
  899. ],
  900. "immutable": true,
  901. "required": true
  902. }
  903. }
  904. ]
  905. }
  906. }
  907. ]
  908. }
  909. },
  910. {
  911. "variable": "additionalStorages",
  912. "label": "Additional Storage",
  913. "description": "Additional storage for Prometheus.",
  914. "schema": {
  915. "type": "list",
  916. "default": [],
  917. "items": [
  918. {
  919. "variable": "storageEntry",
  920. "label": "Storage Entry",
  921. "schema": {
  922. "type": "dict",
  923. "attrs": [
  924. {
  925. "variable": "type",
  926. "label": "Type",
  927. "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",
  928. "schema": {
  929. "type": "string",
  930. "required": true,
  931. "default": "ixVolume",
  932. "immutable": true,
  933. "enum": [
  934. {
  935. "value": "hostPath",
  936. "description": "Host Path (Path that already exists on the system)"
  937. },
  938. {
  939. "value": "ixVolume",
  940. "description": "ixVolume (Dataset created automatically by the system)"
  941. },
  942. {
  943. "value": "smb-pv-pvc",
  944. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  945. }
  946. ]
  947. }
  948. },
  949. {
  950. "variable": "readOnly",
  951. "label": "Read Only",
  952. "description": "Mount the volume as read only.",
  953. "schema": {
  954. "type": "boolean",
  955. "default": false
  956. }
  957. },
  958. {
  959. "variable": "mountPath",
  960. "label": "Mount Path",
  961. "description": "The path inside the container to mount the storage.",
  962. "schema": {
  963. "type": "path",
  964. "required": true
  965. }
  966. },
  967. {
  968. "variable": "hostPathConfig",
  969. "label": "Host Path Configuration",
  970. "schema": {
  971. "type": "dict",
  972. "show_if": [
  973. [
  974. "type",
  975. "=",
  976. "hostPath"
  977. ]
  978. ],
  979. "attrs": [
  980. {
  981. "variable": "aclEnable",
  982. "label": "Enable ACL",
  983. "description": "Enable ACL for the dataset.",
  984. "schema": {
  985. "type": "boolean",
  986. "default": false
  987. }
  988. },
  989. {
  990. "variable": "acl",
  991. "label": "ACL Configuration",
  992. "schema": {
  993. "type": "dict",
  994. "show_if": [
  995. [
  996. "aclEnable",
  997. "=",
  998. true
  999. ]
  1000. ],
  1001. "attrs": [
  1002. {
  1003. "variable": "path",
  1004. "label": "Host Path",
  1005. "description": "Host Path to perform ACL",
  1006. "schema": {
  1007. "type": "hostpath",
  1008. "required": true,
  1009. "empty": false
  1010. }
  1011. },
  1012. {
  1013. "variable": "entries",
  1014. "label": "ACL Entries",
  1015. "description": "ACL Entries",
  1016. "schema": {
  1017. "type": "list",
  1018. "items": [
  1019. {
  1020. "variable": "aclEntry",
  1021. "label": "ACL Entry",
  1022. "schema": {
  1023. "type": "dict",
  1024. "attrs": [
  1025. {
  1026. "variable": "id_type",
  1027. "label": "ID Type",
  1028. "schema": {
  1029. "type": "string",
  1030. "enum": [
  1031. {
  1032. "value": "USER",
  1033. "description": "Entry is for a USER"
  1034. },
  1035. {
  1036. "value": "GROUP",
  1037. "description": "Entry is for a GROUP"
  1038. }
  1039. ],
  1040. "default": "USER"
  1041. }
  1042. },
  1043. {
  1044. "variable": "id",
  1045. "label": "ID",
  1046. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1047. "schema": {
  1048. "type": "int",
  1049. "required": true,
  1050. "min": 0
  1051. }
  1052. },
  1053. {
  1054. "variable": "access",
  1055. "label": "Access",
  1056. "schema": {
  1057. "type": "string",
  1058. "enum": [
  1059. {
  1060. "value": "READ",
  1061. "description": "Read Access"
  1062. },
  1063. {
  1064. "value": "MODIFY",
  1065. "description": "Modify Access"
  1066. },
  1067. {
  1068. "value": "FULL_CONTROL",
  1069. "description": "FULL_CONTROL Access"
  1070. }
  1071. ]
  1072. }
  1073. }
  1074. ]
  1075. }
  1076. }
  1077. ]
  1078. }
  1079. },
  1080. {
  1081. "variable": "options",
  1082. "label": "ACL Options",
  1083. "schema": {
  1084. "type": "dict",
  1085. "attrs": [
  1086. {
  1087. "variable": "force",
  1088. "label": "Force Flag",
  1089. "description": "Enabling `Force` applies ACL even if the path has existing data",
  1090. "schema": {
  1091. "type": "boolean",
  1092. "default": false
  1093. }
  1094. }
  1095. ]
  1096. }
  1097. }
  1098. ],
  1099. "$ref": [
  1100. "normalize/acl"
  1101. ]
  1102. }
  1103. },
  1104. {
  1105. "variable": "hostPath",
  1106. "label": "Host Path",
  1107. "description": "The host path to use for storage.",
  1108. "schema": {
  1109. "type": "hostpath",
  1110. "show_if": [
  1111. [
  1112. "aclEnable",
  1113. "=",
  1114. false
  1115. ]
  1116. ],
  1117. "immutable": true,
  1118. "required": true
  1119. }
  1120. }
  1121. ]
  1122. }
  1123. },
  1124. {
  1125. "variable": "ixVolumeConfig",
  1126. "label": "ixVolume Configuration",
  1127. "description": "The configuration for the ixVolume dataset.",
  1128. "schema": {
  1129. "type": "dict",
  1130. "show_if": [
  1131. [
  1132. "type",
  1133. "=",
  1134. "ixVolume"
  1135. ]
  1136. ],
  1137. "$ref": [
  1138. "normalize/ixVolume"
  1139. ],
  1140. "attrs": [
  1141. {
  1142. "variable": "aclEnable",
  1143. "label": "Enable ACL",
  1144. "description": "Enable ACL for the dataset.",
  1145. "schema": {
  1146. "type": "boolean",
  1147. "default": false
  1148. }
  1149. },
  1150. {
  1151. "variable": "datasetName",
  1152. "label": "Dataset Name",
  1153. "description": "The name of the dataset to use for storage.",
  1154. "schema": {
  1155. "type": "string",
  1156. "required": true,
  1157. "immutable": true,
  1158. "default": "storage_entry"
  1159. }
  1160. },
  1161. {
  1162. "variable": "aclEntries",
  1163. "label": "ACL Configuration",
  1164. "schema": {
  1165. "type": "dict",
  1166. "show_if": [
  1167. [
  1168. "aclEnable",
  1169. "=",
  1170. true
  1171. ]
  1172. ],
  1173. "attrs": [
  1174. {
  1175. "variable": "path",
  1176. "label": "Path",
  1177. "description": "Path to perform ACL",
  1178. "schema": {
  1179. "type": "string",
  1180. "hidden": true
  1181. }
  1182. },
  1183. {
  1184. "variable": "entries",
  1185. "label": "ACL Entries",
  1186. "description": "ACL Entries",
  1187. "schema": {
  1188. "type": "list",
  1189. "items": [
  1190. {
  1191. "variable": "aclEntry",
  1192. "label": "ACL Entry",
  1193. "schema": {
  1194. "type": "dict",
  1195. "attrs": [
  1196. {
  1197. "variable": "id_type",
  1198. "label": "ID Type",
  1199. "schema": {
  1200. "type": "string",
  1201. "enum": [
  1202. {
  1203. "value": "USER",
  1204. "description": "Entry is for a USER"
  1205. },
  1206. {
  1207. "value": "GROUP",
  1208. "description": "Entry is for a GROUP"
  1209. }
  1210. ],
  1211. "default": "USER"
  1212. }
  1213. },
  1214. {
  1215. "variable": "id",
  1216. "label": "ID",
  1217. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1218. "schema": {
  1219. "type": "int",
  1220. "required": true,
  1221. "min": 0
  1222. }
  1223. },
  1224. {
  1225. "variable": "access",
  1226. "label": "Access",
  1227. "schema": {
  1228. "type": "string",
  1229. "enum": [
  1230. {
  1231. "value": "READ",
  1232. "description": "Read Access"
  1233. },
  1234. {
  1235. "value": "MODIFY",
  1236. "description": "Modify Access"
  1237. },
  1238. {
  1239. "value": "FULL_CONTROL",
  1240. "description": "FULL_CONTROL Access"
  1241. }
  1242. ]
  1243. }
  1244. }
  1245. ]
  1246. }
  1247. }
  1248. ]
  1249. }
  1250. }
  1251. ]
  1252. }
  1253. }
  1254. ]
  1255. }
  1256. },
  1257. {
  1258. "variable": "smbConfig",
  1259. "label": "SMB Share Configuration",
  1260. "description": "The configuration for the SMB Share.",
  1261. "schema": {
  1262. "type": "dict",
  1263. "show_if": [
  1264. [
  1265. "type",
  1266. "=",
  1267. "smb-pv-pvc"
  1268. ]
  1269. ],
  1270. "attrs": [
  1271. {
  1272. "variable": "server",
  1273. "label": "Server",
  1274. "description": "The server for the SMB share.",
  1275. "schema": {
  1276. "type": "string",
  1277. "required": true
  1278. }
  1279. },
  1280. {
  1281. "variable": "share",
  1282. "label": "Share",
  1283. "description": "The share name for the SMB share.",
  1284. "schema": {
  1285. "type": "string",
  1286. "required": true
  1287. }
  1288. },
  1289. {
  1290. "variable": "domain",
  1291. "label": "Domain (Optional)",
  1292. "description": "The domain for the SMB share.",
  1293. "schema": {
  1294. "type": "string"
  1295. }
  1296. },
  1297. {
  1298. "variable": "username",
  1299. "label": "Username",
  1300. "description": "The username for the SMB share.",
  1301. "schema": {
  1302. "type": "string",
  1303. "required": true
  1304. }
  1305. },
  1306. {
  1307. "variable": "password",
  1308. "label": "Password",
  1309. "description": "The password for the SMB share.",
  1310. "schema": {
  1311. "type": "string",
  1312. "required": true,
  1313. "private": true
  1314. }
  1315. },
  1316. {
  1317. "variable": "size",
  1318. "label": "Size (in Gi)",
  1319. "description": "The size of the volume quota.",
  1320. "schema": {
  1321. "type": "int",
  1322. "required": true,
  1323. "min": 1,
  1324. "default": 1
  1325. }
  1326. }
  1327. ]
  1328. }
  1329. }
  1330. ]
  1331. }
  1332. }
  1333. ]
  1334. }
  1335. }
  1336. ]
  1337. }
  1338. },
  1339. {
  1340. "variable": "resources",
  1341. "label": "",
  1342. "group": "Resources Configuration",
  1343. "schema": {
  1344. "type": "dict",
  1345. "attrs": [
  1346. {
  1347. "variable": "limits",
  1348. "label": "Limits",
  1349. "schema": {
  1350. "type": "dict",
  1351. "attrs": [
  1352. {
  1353. "variable": "cpu",
  1354. "label": "CPU",
  1355. "description": "CPU limit for Prometheus.",
  1356. "schema": {
  1357. "type": "string",
  1358. "max_length": 6,
  1359. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  1360. "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",
  1361. "default": "4000m",
  1362. "required": true
  1363. }
  1364. },
  1365. {
  1366. "variable": "memory",
  1367. "label": "Memory",
  1368. "description": "Memory limit for Prometheus.",
  1369. "schema": {
  1370. "type": "string",
  1371. "max_length": 12,
  1372. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  1373. "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",
  1374. "default": "8Gi",
  1375. "required": true
  1376. }
  1377. }
  1378. ]
  1379. }
  1380. }
  1381. ]
  1382. }
  1383. }
  1384. ]
  1385. },
  1386. "app_readme": "<h1>Prometheus</h1>\n<p><a href=\"https://prometheus.io/\">Prometheus</a> - Monitoring system and time series database.</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>prometheus</code> directories.\nAfterward, the <code>prometheus</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAlso an empty configuration file will be created.</p>\n</blockquote>\n<p>The configuration file is located at <code>/config/prometheus.yml</code> inside the container.\nData is stored at <code>/data</code> inside the container.</p>",
  1387. "detailed_readme": "<h1>Prometheus</h1>\n<p><a href=\"https://prometheus.io/\">Prometheus</a> - Monitoring system and time series database.</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>prometheus</code> directories.\nAfterward, the <code>prometheus</code> container will run as a <strong>non</strong>-root user (Default: <code>568</code>).\nAlso an empty configuration file will be created.</p>\n</blockquote>\n<p>The configuration file is located at <code>/config/prometheus.yml</code> inside the container.\nData is stored at <code>/data</code> inside the container.</p>",
  1388. "changelog": null
  1389. }
  1390. }