app_versions.json 107 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387
  1. {
  2. "1.1.26": {
  3. "healthy": true,
  4. "supported": false,
  5. "healthy_error": null,
  6. "location": "/__w/charts/charts/charts/prometheus/1.1.26",
  7. "last_update": "2025-03-06 08:26:26",
  8. "required_features": [
  9. "normalize/ixVolume",
  10. "normalize/acl"
  11. ],
  12. "human_version": "v3.2.1_1.1.26",
  13. "version": "1.1.26",
  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.26",
  22. "apiVersion": "v2",
  23. "appVersion": "v3.2.1",
  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.9"
  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. "required": true
  579. }
  580. }
  581. ]
  582. }
  583. }
  584. ]
  585. }
  586. },
  587. {
  588. "variable": "config",
  589. "label": "Prometheus Config Storage",
  590. "description": "The path to store Prometheus config storage.",
  591. "schema": {
  592. "type": "dict",
  593. "attrs": [
  594. {
  595. "variable": "type",
  596. "label": "Type",
  597. "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
  598. "schema": {
  599. "type": "string",
  600. "required": true,
  601. "immutable": true,
  602. "default": "ixVolume",
  603. "enum": [
  604. {
  605. "value": "hostPath",
  606. "description": "Host Path (Path that already exists on the system)"
  607. },
  608. {
  609. "value": "ixVolume",
  610. "description": "ixVolume (Dataset created automatically by the system)"
  611. }
  612. ]
  613. }
  614. },
  615. {
  616. "variable": "ixVolumeConfig",
  617. "label": "ixVolume Configuration",
  618. "description": "The configuration for the ixVolume dataset.",
  619. "schema": {
  620. "type": "dict",
  621. "show_if": [
  622. [
  623. "type",
  624. "=",
  625. "ixVolume"
  626. ]
  627. ],
  628. "$ref": [
  629. "normalize/ixVolume"
  630. ],
  631. "attrs": [
  632. {
  633. "variable": "aclEnable",
  634. "label": "Enable ACL",
  635. "description": "Enable ACL for the dataset.",
  636. "schema": {
  637. "type": "boolean",
  638. "default": false
  639. }
  640. },
  641. {
  642. "variable": "datasetName",
  643. "label": "Dataset Name",
  644. "description": "The name of the dataset to use for storage.",
  645. "schema": {
  646. "type": "string",
  647. "required": true,
  648. "immutable": true,
  649. "hidden": true,
  650. "default": "config"
  651. }
  652. },
  653. {
  654. "variable": "aclEntries",
  655. "label": "ACL Configuration",
  656. "schema": {
  657. "type": "dict",
  658. "show_if": [
  659. [
  660. "aclEnable",
  661. "=",
  662. true
  663. ]
  664. ],
  665. "attrs": [
  666. {
  667. "variable": "path",
  668. "label": "Path",
  669. "description": "Path to perform ACL",
  670. "schema": {
  671. "type": "string",
  672. "hidden": true
  673. }
  674. },
  675. {
  676. "variable": "entries",
  677. "label": "ACL Entries",
  678. "description": "ACL Entries",
  679. "schema": {
  680. "type": "list",
  681. "items": [
  682. {
  683. "variable": "aclEntry",
  684. "label": "ACL Entry",
  685. "schema": {
  686. "type": "dict",
  687. "attrs": [
  688. {
  689. "variable": "id_type",
  690. "label": "ID Type",
  691. "schema": {
  692. "type": "string",
  693. "enum": [
  694. {
  695. "value": "USER",
  696. "description": "Entry is for a USER"
  697. },
  698. {
  699. "value": "GROUP",
  700. "description": "Entry is for a GROUP"
  701. }
  702. ],
  703. "default": "USER"
  704. }
  705. },
  706. {
  707. "variable": "id",
  708. "label": "ID",
  709. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  710. "schema": {
  711. "type": "int",
  712. "required": true,
  713. "min": 0
  714. }
  715. },
  716. {
  717. "variable": "access",
  718. "label": "Access",
  719. "schema": {
  720. "type": "string",
  721. "enum": [
  722. {
  723. "value": "READ",
  724. "description": "Read Access"
  725. },
  726. {
  727. "value": "MODIFY",
  728. "description": "Modify Access"
  729. },
  730. {
  731. "value": "FULL_CONTROL",
  732. "description": "FULL_CONTROL Access"
  733. }
  734. ]
  735. }
  736. }
  737. ]
  738. }
  739. }
  740. ]
  741. }
  742. }
  743. ]
  744. }
  745. }
  746. ]
  747. }
  748. },
  749. {
  750. "variable": "hostPathConfig",
  751. "label": "Host Path Configuration",
  752. "schema": {
  753. "type": "dict",
  754. "show_if": [
  755. [
  756. "type",
  757. "=",
  758. "hostPath"
  759. ]
  760. ],
  761. "attrs": [
  762. {
  763. "variable": "aclEnable",
  764. "label": "Enable ACL",
  765. "description": "Enable ACL for the dataset.",
  766. "schema": {
  767. "type": "boolean",
  768. "default": false
  769. }
  770. },
  771. {
  772. "variable": "acl",
  773. "label": "ACL Configuration",
  774. "schema": {
  775. "type": "dict",
  776. "show_if": [
  777. [
  778. "aclEnable",
  779. "=",
  780. true
  781. ]
  782. ],
  783. "attrs": [
  784. {
  785. "variable": "path",
  786. "label": "Host Path",
  787. "description": "Host Path to perform ACL",
  788. "schema": {
  789. "type": "hostpath",
  790. "required": true,
  791. "empty": false
  792. }
  793. },
  794. {
  795. "variable": "entries",
  796. "label": "ACL Entries",
  797. "description": "ACL Entries",
  798. "schema": {
  799. "type": "list",
  800. "items": [
  801. {
  802. "variable": "aclEntry",
  803. "label": "ACL Entry",
  804. "schema": {
  805. "type": "dict",
  806. "attrs": [
  807. {
  808. "variable": "id_type",
  809. "label": "ID Type",
  810. "schema": {
  811. "type": "string",
  812. "enum": [
  813. {
  814. "value": "USER",
  815. "description": "Entry is for a USER"
  816. },
  817. {
  818. "value": "GROUP",
  819. "description": "Entry is for a GROUP"
  820. }
  821. ],
  822. "default": "USER"
  823. }
  824. },
  825. {
  826. "variable": "id",
  827. "label": "ID",
  828. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  829. "schema": {
  830. "type": "int",
  831. "required": true,
  832. "min": 0
  833. }
  834. },
  835. {
  836. "variable": "access",
  837. "label": "Access",
  838. "schema": {
  839. "type": "string",
  840. "enum": [
  841. {
  842. "value": "READ",
  843. "description": "Read Access"
  844. },
  845. {
  846. "value": "MODIFY",
  847. "description": "Modify Access"
  848. },
  849. {
  850. "value": "FULL_CONTROL",
  851. "description": "FULL_CONTROL Access"
  852. }
  853. ]
  854. }
  855. }
  856. ]
  857. }
  858. }
  859. ]
  860. }
  861. },
  862. {
  863. "variable": "options",
  864. "label": "ACL Options",
  865. "schema": {
  866. "type": "dict",
  867. "attrs": [
  868. {
  869. "variable": "force",
  870. "label": "Force Flag",
  871. "description": "Enabling `Force` applies ACL even if the path has existing data",
  872. "schema": {
  873. "type": "boolean",
  874. "default": false
  875. }
  876. }
  877. ]
  878. }
  879. }
  880. ],
  881. "$ref": [
  882. "normalize/acl"
  883. ]
  884. }
  885. },
  886. {
  887. "variable": "hostPath",
  888. "label": "Host Path",
  889. "description": "The host path to use for storage.",
  890. "schema": {
  891. "type": "hostpath",
  892. "show_if": [
  893. [
  894. "aclEnable",
  895. "=",
  896. false
  897. ]
  898. ],
  899. "required": true
  900. }
  901. }
  902. ]
  903. }
  904. }
  905. ]
  906. }
  907. },
  908. {
  909. "variable": "additionalStorages",
  910. "label": "Additional Storage",
  911. "description": "Additional storage for Prometheus.",
  912. "schema": {
  913. "type": "list",
  914. "default": [],
  915. "items": [
  916. {
  917. "variable": "storageEntry",
  918. "label": "Storage Entry",
  919. "schema": {
  920. "type": "dict",
  921. "attrs": [
  922. {
  923. "variable": "type",
  924. "label": "Type",
  925. "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",
  926. "schema": {
  927. "type": "string",
  928. "required": true,
  929. "default": "ixVolume",
  930. "immutable": true,
  931. "enum": [
  932. {
  933. "value": "hostPath",
  934. "description": "Host Path (Path that already exists on the system)"
  935. },
  936. {
  937. "value": "ixVolume",
  938. "description": "ixVolume (Dataset created automatically by the system)"
  939. },
  940. {
  941. "value": "smb-pv-pvc",
  942. "description": "SMB Share (Mounts a persistent volume claim to a SMB share)"
  943. }
  944. ]
  945. }
  946. },
  947. {
  948. "variable": "readOnly",
  949. "label": "Read Only",
  950. "description": "Mount the volume as read only.",
  951. "schema": {
  952. "type": "boolean",
  953. "default": false
  954. }
  955. },
  956. {
  957. "variable": "mountPath",
  958. "label": "Mount Path",
  959. "description": "The path inside the container to mount the storage.",
  960. "schema": {
  961. "type": "path",
  962. "required": true
  963. }
  964. },
  965. {
  966. "variable": "hostPathConfig",
  967. "label": "Host Path Configuration",
  968. "schema": {
  969. "type": "dict",
  970. "show_if": [
  971. [
  972. "type",
  973. "=",
  974. "hostPath"
  975. ]
  976. ],
  977. "attrs": [
  978. {
  979. "variable": "aclEnable",
  980. "label": "Enable ACL",
  981. "description": "Enable ACL for the dataset.",
  982. "schema": {
  983. "type": "boolean",
  984. "default": false
  985. }
  986. },
  987. {
  988. "variable": "acl",
  989. "label": "ACL Configuration",
  990. "schema": {
  991. "type": "dict",
  992. "show_if": [
  993. [
  994. "aclEnable",
  995. "=",
  996. true
  997. ]
  998. ],
  999. "attrs": [
  1000. {
  1001. "variable": "path",
  1002. "label": "Host Path",
  1003. "description": "Host Path to perform ACL",
  1004. "schema": {
  1005. "type": "hostpath",
  1006. "required": true,
  1007. "empty": false
  1008. }
  1009. },
  1010. {
  1011. "variable": "entries",
  1012. "label": "ACL Entries",
  1013. "description": "ACL Entries",
  1014. "schema": {
  1015. "type": "list",
  1016. "items": [
  1017. {
  1018. "variable": "aclEntry",
  1019. "label": "ACL Entry",
  1020. "schema": {
  1021. "type": "dict",
  1022. "attrs": [
  1023. {
  1024. "variable": "id_type",
  1025. "label": "ID Type",
  1026. "schema": {
  1027. "type": "string",
  1028. "enum": [
  1029. {
  1030. "value": "USER",
  1031. "description": "Entry is for a USER"
  1032. },
  1033. {
  1034. "value": "GROUP",
  1035. "description": "Entry is for a GROUP"
  1036. }
  1037. ],
  1038. "default": "USER"
  1039. }
  1040. },
  1041. {
  1042. "variable": "id",
  1043. "label": "ID",
  1044. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1045. "schema": {
  1046. "type": "int",
  1047. "required": true,
  1048. "min": 0
  1049. }
  1050. },
  1051. {
  1052. "variable": "access",
  1053. "label": "Access",
  1054. "schema": {
  1055. "type": "string",
  1056. "enum": [
  1057. {
  1058. "value": "READ",
  1059. "description": "Read Access"
  1060. },
  1061. {
  1062. "value": "MODIFY",
  1063. "description": "Modify Access"
  1064. },
  1065. {
  1066. "value": "FULL_CONTROL",
  1067. "description": "FULL_CONTROL Access"
  1068. }
  1069. ]
  1070. }
  1071. }
  1072. ]
  1073. }
  1074. }
  1075. ]
  1076. }
  1077. },
  1078. {
  1079. "variable": "options",
  1080. "label": "ACL Options",
  1081. "schema": {
  1082. "type": "dict",
  1083. "attrs": [
  1084. {
  1085. "variable": "force",
  1086. "label": "Force Flag",
  1087. "description": "Enabling `Force` applies ACL even if the path has existing data",
  1088. "schema": {
  1089. "type": "boolean",
  1090. "default": false
  1091. }
  1092. }
  1093. ]
  1094. }
  1095. }
  1096. ],
  1097. "$ref": [
  1098. "normalize/acl"
  1099. ]
  1100. }
  1101. },
  1102. {
  1103. "variable": "hostPath",
  1104. "label": "Host Path",
  1105. "description": "The host path to use for storage.",
  1106. "schema": {
  1107. "type": "hostpath",
  1108. "show_if": [
  1109. [
  1110. "aclEnable",
  1111. "=",
  1112. false
  1113. ]
  1114. ],
  1115. "required": true
  1116. }
  1117. }
  1118. ]
  1119. }
  1120. },
  1121. {
  1122. "variable": "ixVolumeConfig",
  1123. "label": "ixVolume Configuration",
  1124. "description": "The configuration for the ixVolume dataset.",
  1125. "schema": {
  1126. "type": "dict",
  1127. "show_if": [
  1128. [
  1129. "type",
  1130. "=",
  1131. "ixVolume"
  1132. ]
  1133. ],
  1134. "$ref": [
  1135. "normalize/ixVolume"
  1136. ],
  1137. "attrs": [
  1138. {
  1139. "variable": "aclEnable",
  1140. "label": "Enable ACL",
  1141. "description": "Enable ACL for the dataset.",
  1142. "schema": {
  1143. "type": "boolean",
  1144. "default": false
  1145. }
  1146. },
  1147. {
  1148. "variable": "datasetName",
  1149. "label": "Dataset Name",
  1150. "description": "The name of the dataset to use for storage.",
  1151. "schema": {
  1152. "type": "string",
  1153. "required": true,
  1154. "immutable": true,
  1155. "default": "storage_entry"
  1156. }
  1157. },
  1158. {
  1159. "variable": "aclEntries",
  1160. "label": "ACL Configuration",
  1161. "schema": {
  1162. "type": "dict",
  1163. "show_if": [
  1164. [
  1165. "aclEnable",
  1166. "=",
  1167. true
  1168. ]
  1169. ],
  1170. "attrs": [
  1171. {
  1172. "variable": "path",
  1173. "label": "Path",
  1174. "description": "Path to perform ACL",
  1175. "schema": {
  1176. "type": "string",
  1177. "hidden": true
  1178. }
  1179. },
  1180. {
  1181. "variable": "entries",
  1182. "label": "ACL Entries",
  1183. "description": "ACL Entries",
  1184. "schema": {
  1185. "type": "list",
  1186. "items": [
  1187. {
  1188. "variable": "aclEntry",
  1189. "label": "ACL Entry",
  1190. "schema": {
  1191. "type": "dict",
  1192. "attrs": [
  1193. {
  1194. "variable": "id_type",
  1195. "label": "ID Type",
  1196. "schema": {
  1197. "type": "string",
  1198. "enum": [
  1199. {
  1200. "value": "USER",
  1201. "description": "Entry is for a USER"
  1202. },
  1203. {
  1204. "value": "GROUP",
  1205. "description": "Entry is for a GROUP"
  1206. }
  1207. ],
  1208. "default": "USER"
  1209. }
  1210. },
  1211. {
  1212. "variable": "id",
  1213. "label": "ID",
  1214. "description": "Make sure to check the ID value is correct and aligns with RunAs user context of the application",
  1215. "schema": {
  1216. "type": "int",
  1217. "required": true,
  1218. "min": 0
  1219. }
  1220. },
  1221. {
  1222. "variable": "access",
  1223. "label": "Access",
  1224. "schema": {
  1225. "type": "string",
  1226. "enum": [
  1227. {
  1228. "value": "READ",
  1229. "description": "Read Access"
  1230. },
  1231. {
  1232. "value": "MODIFY",
  1233. "description": "Modify Access"
  1234. },
  1235. {
  1236. "value": "FULL_CONTROL",
  1237. "description": "FULL_CONTROL Access"
  1238. }
  1239. ]
  1240. }
  1241. }
  1242. ]
  1243. }
  1244. }
  1245. ]
  1246. }
  1247. }
  1248. ]
  1249. }
  1250. }
  1251. ]
  1252. }
  1253. },
  1254. {
  1255. "variable": "smbConfig",
  1256. "label": "SMB Share Configuration",
  1257. "description": "The configuration for the SMB Share.",
  1258. "schema": {
  1259. "type": "dict",
  1260. "show_if": [
  1261. [
  1262. "type",
  1263. "=",
  1264. "smb-pv-pvc"
  1265. ]
  1266. ],
  1267. "attrs": [
  1268. {
  1269. "variable": "server",
  1270. "label": "Server",
  1271. "description": "The server for the SMB share.",
  1272. "schema": {
  1273. "type": "string",
  1274. "required": true
  1275. }
  1276. },
  1277. {
  1278. "variable": "share",
  1279. "label": "Share",
  1280. "description": "The share name for the SMB share.",
  1281. "schema": {
  1282. "type": "string",
  1283. "required": true
  1284. }
  1285. },
  1286. {
  1287. "variable": "domain",
  1288. "label": "Domain (Optional)",
  1289. "description": "The domain for the SMB share.",
  1290. "schema": {
  1291. "type": "string"
  1292. }
  1293. },
  1294. {
  1295. "variable": "username",
  1296. "label": "Username",
  1297. "description": "The username for the SMB share.",
  1298. "schema": {
  1299. "type": "string",
  1300. "required": true
  1301. }
  1302. },
  1303. {
  1304. "variable": "password",
  1305. "label": "Password",
  1306. "description": "The password for the SMB share.",
  1307. "schema": {
  1308. "type": "string",
  1309. "required": true,
  1310. "private": true
  1311. }
  1312. },
  1313. {
  1314. "variable": "size",
  1315. "label": "Size (in Gi)",
  1316. "description": "The size of the volume quota.",
  1317. "schema": {
  1318. "type": "int",
  1319. "required": true,
  1320. "min": 1,
  1321. "default": 1
  1322. }
  1323. }
  1324. ]
  1325. }
  1326. }
  1327. ]
  1328. }
  1329. }
  1330. ]
  1331. }
  1332. }
  1333. ]
  1334. }
  1335. },
  1336. {
  1337. "variable": "resources",
  1338. "label": "",
  1339. "group": "Resources Configuration",
  1340. "schema": {
  1341. "type": "dict",
  1342. "attrs": [
  1343. {
  1344. "variable": "limits",
  1345. "label": "Limits",
  1346. "schema": {
  1347. "type": "dict",
  1348. "attrs": [
  1349. {
  1350. "variable": "cpu",
  1351. "label": "CPU",
  1352. "description": "CPU limit for Prometheus.",
  1353. "schema": {
  1354. "type": "string",
  1355. "max_length": 6,
  1356. "valid_chars": "^(0\\.[1-9]|[1-9][0-9]*)(\\.[0-9]|m?)$",
  1357. "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",
  1358. "default": "4000m",
  1359. "required": true
  1360. }
  1361. },
  1362. {
  1363. "variable": "memory",
  1364. "label": "Memory",
  1365. "description": "Memory limit for Prometheus.",
  1366. "schema": {
  1367. "type": "string",
  1368. "max_length": 12,
  1369. "valid_chars": "^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$",
  1370. "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",
  1371. "default": "8Gi",
  1372. "required": true
  1373. }
  1374. }
  1375. ]
  1376. }
  1377. }
  1378. ]
  1379. }
  1380. }
  1381. ]
  1382. },
  1383. "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>",
  1384. "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>",
  1385. "changelog": null
  1386. }
  1387. }