From 3cd099f666c3a55b2ffa99ea92e5255657878d39 Mon Sep 17 00:00:00 2001 From: TrueCharts-Bot Date: Mon, 18 Dec 2023 00:58:45 +0000 Subject: [PATCH] Commit new Chart releases for TrueCharts Signed-off-by: TrueCharts-Bot --- enterprise/prometheus/13.1.0/CHANGELOG.md | 99 + enterprise/prometheus/13.1.0/Chart.yaml | 55 + enterprise/prometheus/13.1.0/LICENSE | 106 + enterprise/prometheus/13.1.0/README.md | 27 + enterprise/prometheus/13.1.0/app-changelog.md | 9 + enterprise/prometheus/13.1.0/app-readme.md | 8 + .../13.1.0/charts/common-14.5.0.tgz | Bin 0 -> 74411 bytes .../charts/kube-state-metrics-3.0.41.tgz | Bin 0 -> 79099 bytes .../13.1.0/charts/node-exporter-3.0.43.tgz | Bin 0 -> 78871 bytes enterprise/prometheus/13.1.0/ix_values.yaml | 1343 ++++++ enterprise/prometheus/13.1.0/questions.yaml | 1667 ++++++++ .../prometheus/13.1.0/templates/NOTES.txt | 1 + .../prometheus/13.1.0/templates/_helpers.tpl | 210 + .../templates/alertmanager/_alertmanager.tpl | 174 + .../templates/alertmanager/secrets.yaml | 13 + .../alertmanager/serviceaccount.yaml | 12 + .../alertmanager/servicemonitor.yaml | 26 + .../prometheus/13.1.0/templates/common.yaml | 13 + .../templates/exporters/core-dns/service.yaml | 22 + .../exporters/core-dns/servicemonitor.yaml | 29 + .../kube-apiserver/servicemonitor.yaml | 35 + .../kube-controller-manager/endpoints.yaml | 18 + .../kube-controller-manager/service.yaml | 25 + .../servicemonitor.yaml | 40 + .../exporters/kube-scheduler/endpoints.yaml | 18 + .../exporters/kube-scheduler/service.yaml | 25 + .../kube-scheduler/servicemonitor.yaml | 40 + .../exporters/kubelet/servicemonitor.yaml | 85 + .../prometheus/_additionalPrometheusRules.tpl | 15 + .../prometheus/_additionalScrapeJobs.tpl | 13 + .../templates/prometheus/_prometheus.tpl | 363 ++ .../templates/prometheus/_servicemonitor.tpl | 29 + .../templates/prometheus/clusterrole.yaml | 41 + .../prometheus/clusterrolebinding.yaml | 15 + .../templates/prometheus/serviceaccount.yaml | 12 + enterprise/prometheus/13.1.0/values.yaml | 0 stable/joplin-server/14.1.0/CHANGELOG.md | 99 + stable/joplin-server/14.1.0/Chart.yaml | 38 + stable/joplin-server/14.1.0/README.md | 27 + stable/joplin-server/14.1.0/app-changelog.md | 9 + stable/joplin-server/14.1.0/app-readme.md | 8 + .../14.1.0/charts/common-14.5.0.tgz | Bin 0 -> 74411 bytes stable/joplin-server/14.1.0/ix_values.yaml | 69 + stable/joplin-server/14.1.0/questions.yaml | 2711 ++++++++++++ .../joplin-server/14.1.0/templates/NOTES.txt | 1 + .../14.1.0/templates/common.yaml | 1 + stable/joplin-server/14.1.0/values.yaml | 0 stable/wekan/10.6.0/CHANGELOG.md | 99 + stable/wekan/10.6.0/Chart.yaml | 45 + stable/wekan/10.6.0/README.md | 27 + stable/wekan/10.6.0/app-changelog.md | 9 + stable/wekan/10.6.0/app-readme.md | 8 + stable/wekan/10.6.0/charts/common-14.5.0.tgz | Bin 0 -> 74411 bytes stable/wekan/10.6.0/charts/mongodb-6.0.67.tgz | Bin 0 -> 137243 bytes stable/wekan/10.6.0/ix_values.yaml | 159 + stable/wekan/10.6.0/questions.yaml | 3639 +++++++++++++++++ stable/wekan/10.6.0/templates/NOTES.txt | 1 + stable/wekan/10.6.0/templates/common.yaml | 1 + stable/wekan/10.6.0/values.yaml | 0 59 files changed, 11539 insertions(+) create mode 100644 enterprise/prometheus/13.1.0/CHANGELOG.md create mode 100644 enterprise/prometheus/13.1.0/Chart.yaml create mode 100644 enterprise/prometheus/13.1.0/LICENSE create mode 100644 enterprise/prometheus/13.1.0/README.md create mode 100644 enterprise/prometheus/13.1.0/app-changelog.md create mode 100644 enterprise/prometheus/13.1.0/app-readme.md create mode 100644 enterprise/prometheus/13.1.0/charts/common-14.5.0.tgz create mode 100644 enterprise/prometheus/13.1.0/charts/kube-state-metrics-3.0.41.tgz create mode 100644 enterprise/prometheus/13.1.0/charts/node-exporter-3.0.43.tgz create mode 100644 enterprise/prometheus/13.1.0/ix_values.yaml create mode 100644 enterprise/prometheus/13.1.0/questions.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/NOTES.txt create mode 100644 enterprise/prometheus/13.1.0/templates/_helpers.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/alertmanager/_alertmanager.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/alertmanager/secrets.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/alertmanager/serviceaccount.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/alertmanager/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/common.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/core-dns/service.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/core-dns/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-apiserver/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/endpoints.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/service.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/endpoints.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/service.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/exporters/kubelet/servicemonitor.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/_additionalPrometheusRules.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/_additionalScrapeJobs.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/_prometheus.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/_servicemonitor.tpl create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/clusterrole.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/clusterrolebinding.yaml create mode 100644 enterprise/prometheus/13.1.0/templates/prometheus/serviceaccount.yaml create mode 100644 enterprise/prometheus/13.1.0/values.yaml create mode 100644 stable/joplin-server/14.1.0/CHANGELOG.md create mode 100644 stable/joplin-server/14.1.0/Chart.yaml create mode 100644 stable/joplin-server/14.1.0/README.md create mode 100644 stable/joplin-server/14.1.0/app-changelog.md create mode 100644 stable/joplin-server/14.1.0/app-readme.md create mode 100644 stable/joplin-server/14.1.0/charts/common-14.5.0.tgz create mode 100644 stable/joplin-server/14.1.0/ix_values.yaml create mode 100644 stable/joplin-server/14.1.0/questions.yaml create mode 100644 stable/joplin-server/14.1.0/templates/NOTES.txt create mode 100644 stable/joplin-server/14.1.0/templates/common.yaml create mode 100644 stable/joplin-server/14.1.0/values.yaml create mode 100644 stable/wekan/10.6.0/CHANGELOG.md create mode 100644 stable/wekan/10.6.0/Chart.yaml create mode 100644 stable/wekan/10.6.0/README.md create mode 100644 stable/wekan/10.6.0/app-changelog.md create mode 100644 stable/wekan/10.6.0/app-readme.md create mode 100644 stable/wekan/10.6.0/charts/common-14.5.0.tgz create mode 100644 stable/wekan/10.6.0/charts/mongodb-6.0.67.tgz create mode 100644 stable/wekan/10.6.0/ix_values.yaml create mode 100644 stable/wekan/10.6.0/questions.yaml create mode 100644 stable/wekan/10.6.0/templates/NOTES.txt create mode 100644 stable/wekan/10.6.0/templates/common.yaml create mode 100644 stable/wekan/10.6.0/values.yaml diff --git a/enterprise/prometheus/13.1.0/CHANGELOG.md b/enterprise/prometheus/13.1.0/CHANGELOG.md new file mode 100644 index 0000000000..bed4340659 --- /dev/null +++ b/enterprise/prometheus/13.1.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [prometheus-13.1.0](https://github.com/truecharts/charts/compare/prometheus-13.0.27...prometheus-13.1.0) (2023-12-18) + +### Chore + +- update container image quay.io/thanos/thanos to v0.33.0[@f7177ed](https://github.com/f7177ed) by renovate ([#16285](https://github.com/truecharts/charts/issues/16285)) + + + + +## [prometheus-13.0.27](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.27) (2023-12-16) + +### Chore + +- update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + - update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.27](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.27) (2023-12-16) + +### Chore + +- update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + - update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-16) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-15) + +### Chore + +- update container image bitnami/prometheus to v2.48.1[@9ee5354](https://github.com/9ee5354) ([#16004](https://github.com/truecharts/charts/issues/16004)) + + + + +## [prometheus-13.0.26](https://github.com/truecharts/charts/compare/prometheus-13.0.25...prometheus-13.0.26) (2023-12-15) diff --git a/enterprise/prometheus/13.1.0/Chart.yaml b/enterprise/prometheus/13.1.0/Chart.yaml new file mode 100644 index 0000000000..5e671e6d97 --- /dev/null +++ b/enterprise/prometheus/13.1.0/Chart.yaml @@ -0,0 +1,55 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: prometheus +version: 13.1.0 +appVersion: 2.48.1 +description: + kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, + and Prometheus rules combined with documentation and scripts to provide easy to + operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus + Operator. +home: https://truecharts.org/charts/enterprise/prometheus +icon: https://truecharts.org/img/hotlink-ok/chart-icons/prometheus.png +deprecated: false +sources: + - https://github.com/prometheus-community/helm-charts + - https://github.com/prometheus-operator/kube-prometheus + - https://github.com/truecharts/charts/tree/master/charts/enterprise/prometheus + - https://quay.io/thanos/thanos +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - metrics +dependencies: + - name: common + version: 14.5.0 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: node-exporter + version: 3.0.43 + repository: https://deps.truecharts.org + condition: exporters.enabled,exporters.node-exporter.enabled + alias: "" + tags: [] + import-values: [] + - name: kube-state-metrics + version: 3.0.41 + repository: https://deps.truecharts.org + condition: exporters.enabled,exporters.kube-state-metrics.enabled + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.1 + min_scale_version: 22.12.4 + truecharts.org/SCALE-support: "true" + truecharts.org/category: metrics + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: enterprise +type: application diff --git a/enterprise/prometheus/13.1.0/LICENSE b/enterprise/prometheus/13.1.0/LICENSE new file mode 100644 index 0000000000..c30fceb4a5 --- /dev/null +++ b/enterprise/prometheus/13.1.0/LICENSE @@ -0,0 +1,106 @@ +Business Source License 1.1 + +Parameters + +Licensor: The TrueCharts Project, it's owner and it's contributors +Licensed Work: The TrueCharts "Prometheus" Helm Chart +Additional Use Grant: You may use the licensed work in production, as long + as it is directly sourced from a TrueCharts provided + official repository, catalog or source. You may also make private + modification to the directly sourced licenced work, + when used in production. + + The following cases are, due to their nature, also + defined as 'production use' and explicitly prohibited: + - Bundling, including or displaying the licensed work + with(in) another work intended for production use, + with the apparent intend of facilitating and/or + promoting production use by third parties in + violation of this license. + +Change Date: 2050-01-01 + +Change License: 3-clause BSD license + +For information about alternative licensing arrangements for the Software, +please contact: legal@truecharts.org + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/enterprise/prometheus/13.1.0/README.md b/enterprise/prometheus/13.1.0/README.md new file mode 100644 index 0000000000..da5be0a605 --- /dev/null +++ b/enterprise/prometheus/13.1.0/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/enterprise/prometheus) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/enterprise/prometheus/13.1.0/app-changelog.md b/enterprise/prometheus/13.1.0/app-changelog.md new file mode 100644 index 0000000000..fbe7ee1e51 --- /dev/null +++ b/enterprise/prometheus/13.1.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [prometheus-13.1.0](https://github.com/truecharts/charts/compare/prometheus-13.0.27...prometheus-13.1.0) (2023-12-18) + +### Chore + +- update container image quay.io/thanos/thanos to v0.33.0[@f7177ed](https://github.com/f7177ed) by renovate ([#16285](https://github.com/truecharts/charts/issues/16285)) + + \ No newline at end of file diff --git a/enterprise/prometheus/13.1.0/app-readme.md b/enterprise/prometheus/13.1.0/app-readme.md new file mode 100644 index 0000000000..93f59634ea --- /dev/null +++ b/enterprise/prometheus/13.1.0/app-readme.md @@ -0,0 +1,8 @@ +kube-prometheus-stack collects Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/enterprise/prometheus](https://truecharts.org/charts/enterprise/prometheus) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/enterprise/prometheus/13.1.0/charts/common-14.5.0.tgz b/enterprise/prometheus/13.1.0/charts/common-14.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..724185dc7b80b952cd847d355da36fc6d9a5b4e6 GIT binary patch literal 74411 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

E% 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 literal 0 HcmV?d00001 diff --git a/enterprise/prometheus/13.1.0/charts/node-exporter-3.0.43.tgz b/enterprise/prometheus/13.1.0/charts/node-exporter-3.0.43.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c878a492ff981ec7cdb3f5d8d5f24bba5aac84ff GIT binary patch literal 78871 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

AoU9OHM?hSvpByh2qQ5`%@7wX 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 + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. + ## + storageClass: "" + ## @param prometheus.persistence.accessModes Persistent Volume Access Modes + ## + accessModes: + - ReadWriteOnce + ## @param prometheus.persistence.size Persistent Volume Size + ## + size: 999Gi + ## @param prometheus.priorityClassName Priority class assigned to the Pods + ## + priorityClassName: "" + ## @param prometheus.containers Containers allows injecting additional containers + ## + containers: [] + ## @param prometheus.volumes Volumes allows configuration of additional volumes + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec + ## + volumes: [] + ## @param prometheus.volumeMounts VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#prometheusspec + ## + volumeMounts: [] + ## @param prometheus.additionalPrometheusRules PrometheusRule defines recording and alerting rules for a Prometheus instance. + additionalPrometheusRules: [] + ## - name: custom-recording-rules + ## groups: + ## - name: sum_node_by_job + ## rules: + ## - record: job:kube_node_labels:sum + ## expr: sum(kube_node_labels) by (job) + ## - name: sum_prometheus_config_reload_by_pod + ## rules: + ## - record: job:prometheus_config_last_reload_successful:sum + ## expr: sum(prometheus_config_last_reload_successful) by (pod) + ## - name: custom-alerting-rules + ## groups: + ## - name: prometheus-config + ## rules: + ## - alert: PrometheusConfigurationReload + ## expr: prometheus_config_last_reload_successful > 0 + ## for: 1m + ## labels: + ## severity: error + ## annotations: + ## summary: "Prometheus configuration reload (instance {{ $labels.instance }})" + ## description: "Prometheus configuration reload error\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## - name: custom-node-exporter-alerting-rules + ## rules: + ## - alert: PhysicalComponentTooHot + ## expr: node_hwmon_temp_celsius > 75 + ## for: 5m + ## labels: + ## severity: warning + ## annotations: + ## summary: "Physical component too hot (instance {{ $labels.instance }})" + ## description: "Physical hardware component too hot\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## - alert: NodeOvertemperatureAlarm + ## expr: node_hwmon_temp_alarm == 1 + ## for: 5m + ## labels: + ## severity: critical + ## annotations: + ## summary: "Node overtemperature alarm (instance {{ $labels.instance }})" + ## description: "Physical node temperature alarm triggered\n VALUE = {{ $value }}\n LABELS: {{ $labels }}" + ## + ## Note that the prometheus will fail to provision if the correct secret does not exist. + ## @param prometheus.additionalScrapeConfigs.enabled Enable additional scrape configs + ## @param prometheus.additionalScrapeConfigs.type Indicates if the cart should use external additional scrape configs or internal configs + ## @param prometheus.additionalScrapeConfigs.external.name Name of the secret that Prometheus should use for the additional external scrape configuration + ## @param prometheus.additionalScrapeConfigs.external.key Name of the key inside the secret to be used for the additional external scrape configuration + ## @param prometheus.additionalScrapeConfigs.internal.jobList A list of Prometheus scrape jobs + ## + additionalScrapeConfigs: + enabled: false + type: external + external: + ## Name of the secret that Prometheus should use for the additional scrape configuration + ## + name: "" + ## Name of the key inside the secret to be used for the additional scrape configuration. + ## + key: "" + internal: + jobList: [] + ## @param prometheus.additionalScrapeConfigsExternal.enabled Deprecated: Enable additional scrape configs that are managed externally to this chart + ## @param prometheus.additionalScrapeConfigsExternal.name Deprecated: Name of the secret that Prometheus should use for the additional scrape configuration + ## @param prometheus.additionalScrapeConfigsExternal.key Deprecated: Name of the key inside the secret to be used for the additional scrape configuration + ## + additionalScrapeConfigsExternal: + enabled: false + name: "" + key: "" + ## Enable additional Prometheus alert relabel configs that are managed externally to this chart + ## Note that the prometheus will fail to provision if the correct secret does not exist. + ## @param prometheus.additionalAlertRelabelConfigsExternal.enabled Enable additional Prometheus alert relabel configs that are managed externally to this chart + ## @param prometheus.additionalAlertRelabelConfigsExternal.name Name of the secret that Prometheus should use for the additional Prometheus alert relabel configuration + ## @param prometheus.additionalAlertRelabelConfigsExternal.key Name of the key inside the secret to be used for the additional Prometheus alert relabel configuration + ## + additionalAlertRelabelConfigsExternal: + enabled: false + name: "" + key: "" + ## Thanos sidecar container configuration + ## + thanos: + ## @param prometheus.thanos.create Create a Thanos sidecar container + ## + create: false + ## Bitnami Thanos image + ## ref: https://hub.docker.com/r/tccr.io/truecharts/thanos/tags/ + ## @param prometheus.thanos.image.registry Thanos image registry + ## @param prometheus.thanos.image.repository Thanos image name + ## @param prometheus.thanos.image.tag Thanos image tag + ## @param prometheus.thanos.image.pullPolicy Thanos image pull policy + ## @param prometheus.thanos.image.pullSecrets Specify docker-registry secret names as an array + ## + ## Thanos Sidecar container's securityContext + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container + ## @param prometheus.thanos.containerSecurityContext.enabled Enable container security context + ## @param prometheus.thanos.containerSecurityContext.readOnlyRootFilesystem mount / (root) as a readonly filesystem + ## @param prometheus.thanos.containerSecurityContext.allowPrivilegeEscalation Switch privilegeEscalation possibility on or off + ## @param prometheus.thanos.containerSecurityContext.runAsNonRoot Force the container to run as a non root user + ## @param prometheus.thanos.containerSecurityContext.capabilities.drop [array] Linux Kernel capabilities which should be dropped + ## + containerSecurityContext: + enabled: true + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + capabilities: + drop: + - ALL + ## @param prometheus.thanos.prometheusUrl Override default prometheus url "http://localhost:9090" + ## + prometheusUrl: "" + ## @param prometheus.thanos.extraArgs Additional arguments passed to the thanos sidecar container + ## extraArgs: + ## - --log.level=debug + ## - --tsdb.path=/data/ + ## + extraArgs: [] + ## @param prometheus.thanos.objectStorageConfig Support mounting a Secret for the objectStorageConfig of the sideCar container. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/thanos.md + ## objectStorageConfig: + ## secretName: thanos-objstore-config + ## secretKey: thanos.yaml + ## + objectStorageConfig: {} + ## ref: https://github.com/thanos-io/thanos/blob/main/docs/components/sidecar.md + ## @param prometheus.thanos.extraVolumeMounts Additional volumeMounts from `prometheus.volumes` for thanos sidecar container + ## extraVolumeMounts: + ## - name: my-secret-volume + ## mountPath: /etc/thanos/secrets/my-secret + ## + extraVolumeMounts: [] + ## Thanos sidecar container resource requests and limits. + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## We usually recommend not to specify default resources and to leave this as a conscious + ## choice for the user. This also increases chances charts run on environments with little + ## resources, such as Minikube. If you do want to specify resources, uncomment the following + ## lines, adjust them as necessary, and remove the curly braces after 'resources:'. + ## @param prometheus.thanos.resources.limits The resources limits for the Thanos sidecar container + ## @param prometheus.thanos.resources.requests The resources requests for the Thanos sidecar container + ## + resources: + ## Example: + ## limits: + ## cpu: 100m + ## memory: 128Mi + limits: {} + ## Examples: + ## requests: + ## cpu: 100m + ## memory: 128Mi + requests: {} + ## Configure extra options for liveness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param prometheus.thanos.livenessProbe.enabled Turn on and off liveness probe + ## @param prometheus.thanos.livenessProbe.path Path of the HTTP service for checking the healthy state + ## @param prometheus.thanos.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated + ## @param prometheus.thanos.livenessProbe.periodSeconds How often to perform the probe + ## @param prometheus.thanos.livenessProbe.timeoutSeconds When the probe times out + ## @param prometheus.thanos.livenessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param prometheus.thanos.livenessProbe.successThreshold Minimum consecutive successes for the probe + ## + livenessProbe: + enabled: true + path: /-/healthy + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Configure extra options for readiness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param prometheus.thanos.readinessProbe.enabled Turn on and off readiness probe + ## @param prometheus.thanos.readinessProbe.path Path of the HTTP service for checking the ready state + ## @param prometheus.thanos.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated + ## @param prometheus.thanos.readinessProbe.periodSeconds How often to perform the probe + ## @param prometheus.thanos.readinessProbe.timeoutSeconds When the probe times out + ## @param prometheus.thanos.readinessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param prometheus.thanos.readinessProbe.successThreshold Minimum consecutive successes for the probe + ## + readinessProbe: + enabled: true + path: /-/ready + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Thanos Sidecar Service + ## + service: + ## @param prometheus.thanos.service.type Kubernetes service type + ## + type: ClusterIP + ## @param prometheus.thanos.service.port Thanos service port + ## + port: 10901 + ## @param prometheus.thanos.service.clusterIP Specific cluster IP when service type is cluster IP. Use `None` to create headless service by default. + ## Use a "headless" service by default so it returns every pod's IP instead of loadbalancing requests. + ## + clusterIP: None + ## @param prometheus.thanos.service.nodePort Specify the nodePort value for the LoadBalancer and NodePort service types. + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport + ## e.g: + ## nodePort: 30901 + ## + nodePort: "" + ## @param prometheus.thanos.service.loadBalancerIP `loadBalancerIP` if service type is `LoadBalancer` + ## Set the LoadBalancer service type to internal only + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer + ## + loadBalancerIP: "" + ## @param prometheus.thanos.service.loadBalancerSourceRanges Address that are allowed when svc is `LoadBalancer` + ## https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service + ## e.g: + ## loadBalancerSourceRanges: + ## - 10.10.10.0/24 + ## + loadBalancerSourceRanges: [] + ## @param prometheus.thanos.service.annotations Additional annotations for Prometheus service + ## + annotations: {} + ## @param prometheus.thanos.service.extraPorts Additional ports to expose from the Thanos sidecar container + ## extraPorts: + ## - name: http + ## port: 10902 + ## targetPort: http + ## protocol: tcp + ## + extraPorts: [] + ## @param prometheus.portName Port name used for the pods and governing service. This defaults to web + ## + portName: main +#### +## Alert Manager Config +#### + +## @section Alertmanager Parameters + +## Configuration for alertmanager +## ref: https://prometheus.io/docs/alerting/alertmanager/ +## +alertmanager: + ## @param alertmanager.enabled Deploy Alertmanager to the cluster + ## + enabled: true + ## Service account for Alertmanager to use. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ + ## + serviceAccount: + ## @param alertmanager.serviceAccount.create Specify whether to create a ServiceAccount for Alertmanager + ## + create: true + ## @param alertmanager.serviceAccount.name The name of the ServiceAccount to create + ## If not set and create is true, a name is generated using the kube-prometheus.alertmanager.fullname template + name: "" + ## Prometheus Alertmanager pods' Security Context + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod + ## @param alertmanager.podSecurityContext.enabled Enable security context + ## @param alertmanager.podSecurityContext.runAsUser User ID for the container + ## @param alertmanager.podSecurityContext.fsGroup Group ID for the container filesystem + ## + podSecurityContext: + enabled: true + runAsUser: 1001 + fsGroup: 1001 + ## Prometheus Alertmanager container's securityContext + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container + ## @param alertmanager.containerSecurityContext.enabled Enable container security context + ## @param alertmanager.containerSecurityContext.readOnlyRootFilesystem mount / (root) as a readonly filesystem + ## @param alertmanager.containerSecurityContext.allowPrivilegeEscalation Switch privilegeEscalation possibility on or off + ## @param alertmanager.containerSecurityContext.runAsNonRoot Force the container to run as a non root user + ## @param alertmanager.containerSecurityContext.capabilities.drop [array] Linux Kernel capabilities which should be dropped + ## + containerSecurityContext: + enabled: true + readOnlyRootFilesystem: false + allowPrivilegeEscalation: false + runAsNonRoot: true + capabilities: + drop: + - ALL + ## Configure pod disruption budgets for Alertmanager + ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget + ## @param alertmanager.podDisruptionBudget.enabled Create a pod disruption budget for Alertmanager + ## @param alertmanager.podDisruptionBudget.minAvailable Minimum number / percentage of pods that should remain scheduled + ## @param alertmanager.podDisruptionBudget.maxUnavailable Maximum number / percentage of pods that may be made unavailable + ## + podDisruptionBudget: + enabled: false + minAvailable: 1 + maxUnavailable: "" + ## If true, create a serviceMonitor for alertmanager + ## + serviceMonitor: + ## @param alertmanager.serviceMonitor.enabled Creates a ServiceMonitor to monitor Alertmanager + ## + enabled: true + ## @param alertmanager.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param alertmanager.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param alertmanager.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + ## @param alertmanager.externalUrl External URL used to access Alertmanager + ## e.g: + ## externalUrl: https://alertmanager.example.com + ## + externalUrl: "" + ## @param alertmanager.resources CPU/Memory resource requests/limits for node + ## ref: http://kubernetes.io/docs/user-guide/compute-resources/ + ## + resources: {} + ## @param alertmanager.podAffinityPreset Alertmanager Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAffinityPreset: "" + ## @param alertmanager.podAntiAffinityPreset Alertmanager Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAntiAffinityPreset: soft + ## Node affinity preset + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity + ## + nodeAffinityPreset: + ## @param alertmanager.nodeAffinityPreset.type Alertmanager Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` + ## + type: "" + ## @param alertmanager.nodeAffinityPreset.key Alertmanager Node label key to match Ignored if `affinity` is set. + ## E.g. + ## key: "kubernetes.io/e2e-az-name" + ## + key: "" + ## @param alertmanager.nodeAffinityPreset.values Alertmanager Node label values to match. Ignored if `affinity` is set. + ## E.g. + ## values: + ## - e2e-az1 + ## - e2e-az2 + ## + values: [] + ## @param alertmanager.affinity Alertmanager Affinity for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## Note: alertmanager.podAffinityPreset, alertmanager.podAntiAffinityPreset, and alertmanager.nodeAffinityPreset will be ignored when it's set + ## + affinity: {} + ## @param alertmanager.nodeSelector Alertmanager Node labels for pod assignment + ## ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + ## @param alertmanager.tolerations Alertmanager Tolerations for pod assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + ## Alertmanager configuration + ## ref: https://prometheus.io/docs/alerting/configuration/#configuration-file + ## @param alertmanager.config [object] Alertmanager configuration directive + ## @skip alertmanager.config.route.group_by + ## @skip alertmanager.config.route.routes + ## @skip alertmanager.config.receivers + ## + config: + global: + resolve_timeout: 5m + route: + group_by: + - job + group_wait: 30s + group_interval: 5m + repeat_interval: 12h + receiver: "null" + routes: + - match: + alertname: Watchdog + receiver: "null" + receivers: + - name: "null" + ## @param alertmanager.externalConfig Alertmanager configuration is created externally. If true, `alertmanager.config` is ignored, and a secret will not be created. + ## Alertmanager requires a secret named `alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }}` + ## It must contain: + ## alertmanager.yaml: + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/alerting.md#alerting + ## + externalConfig: false + ## @param alertmanager.replicaCount Number of Alertmanager replicas desired + ## + replicaCount: 1 + ## Configure extra options for liveness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param alertmanager.livenessProbe.enabled Turn on and off liveness probe + ## @param alertmanager.livenessProbe.path Path of the HTTP service for checking the healthy state + ## @param alertmanager.livenessProbe.initialDelaySeconds Delay before liveness probe is initiated + ## @param alertmanager.livenessProbe.periodSeconds How often to perform the probe + ## @param alertmanager.livenessProbe.timeoutSeconds When the probe times out + ## @param alertmanager.livenessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param alertmanager.livenessProbe.successThreshold Minimum consecutive successes for the probe + ## + livenessProbe: + enabled: true + path: /-/healthy + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## Configure extra options for readiness probe + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes + ## @param alertmanager.readinessProbe.enabled Turn on and off readiness probe + ## @param alertmanager.readinessProbe.path Path of the HTTP service for checking the ready state + ## @param alertmanager.readinessProbe.initialDelaySeconds Delay before readiness probe is initiated + ## @param alertmanager.readinessProbe.periodSeconds How often to perform the probe + ## @param alertmanager.readinessProbe.timeoutSeconds When the probe times out + ## @param alertmanager.readinessProbe.failureThreshold Minimum consecutive failures for the probe + ## @param alertmanager.readinessProbe.successThreshold Minimum consecutive successes for the probe + ## + readinessProbe: + enabled: true + path: /-/ready + initialDelaySeconds: 0 + periodSeconds: 5 + timeoutSeconds: 3 + failureThreshold: 120 + successThreshold: 1 + ## @param alertmanager.logLevel Log level for Alertmanager + ## + logLevel: info + ## @param alertmanager.logFormat Log format for Alertmanager + ## + logFormat: logfmt + ## @param alertmanager.podMetadata [object] Standard object's metadata. + ## ref: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata + ## + podMetadata: + labels: {} + annotations: {} + ## @param alertmanager.secrets Secrets that should be mounted into the Alertmanager Pods + ## + secrets: [] + ## @param alertmanager.configMaps ConfigMaps that should be mounted into the Alertmanager Pods + ## + configMaps: [] + ## @param alertmanager.retention Metrics retention days + ## + retention: 240h + ## @param alertmanager.storageSpec Alertmanager StorageSpec for persistent data + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/storage.md + ## + storageSpec: {} + ## Alertmanager persistence parameters + ## + persistence: + ## @param alertmanager.persistence.enabled Use PVCs to persist data. If the storageSpec is provided this will not take effect. + ## If you want to use this configuration make sure the storageSpec is not provided. + ## + enabled: true + ## @param alertmanager.persistence.storageClass Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. + ## + storageClass: "" + ## @param alertmanager.persistence.accessModes Persistent Volume Access Modes + ## + accessModes: + - ReadWriteOnce + ## @param alertmanager.persistence.size Persistent Volume Size + ## + size: 999Gi + ## @param alertmanager.paused If true, the Operator won't process any Alertmanager configuration changes + ## + paused: false + ## @param alertmanager.listenLocal ListenLocal makes the Alertmanager server listen on loopback + ## + listenLocal: false + ## @param alertmanager.containers Containers allows injecting additional containers + ## + containers: [] + ## @param alertmanager.volumes Volumes allows configuration of additional volumes. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#alertmanagerspec + ## + volumes: [] + ## @param alertmanager.volumeMounts VolumeMounts allows configuration of additional VolumeMounts. Evaluated as a template + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/pi.md#alertmanagerspec + ## + volumeMounts: [] + ## @param alertmanager.priorityClassName Priority class assigned to the Pods + ## + priorityClassName: "" + ## @param alertmanager.additionalPeers AdditionalPeers allows injecting a set of additional Alertmanagers to peer with to form a highly available cluster + ## + additionalPeers: [] + ## @param alertmanager.routePrefix Prefix used to register routes, overriding externalUrl route + ## Useful for proxies that rewrite URLs. + ## + routePrefix: / + ## @param alertmanager.portName Port name used for the pods and governing service. This defaults to web + ## + portName: alertmanager + ## @param alertmanager.configNamespaceSelector AlertmanagerConfigs to be selected for to merge and configure Alertmanager with. This defaults to {} + ## + configNamespaceSelector: {} + ## @param alertmanager.configSelector Namespaces to be selected for AlertmanagerConfig discovery. If nil, only check own namespace. This defaults to {} + ## + configSelector: {} +#### +## Exporters +#### + +## @section Exporters + +## Exporters +## +exporters: + node-exporter: + ## @param exporters.node-exporter.enabled Enable node-exporter + ## + enabled: true + kube-state-metrics: + ## @param exporters.kube-state-metrics.enabled Enable kube-state-metrics + ## + enabled: true +## @param kube-state-metrics [object] Node Exporter deployment configuration +## +kube-state-metrics: + serviceMonitor: + enabled: true + honorLabels: true +## Component scraping for kubelet and kubelet hosted cAdvisor +## +kubelet: + ## @param kubelet.enabled Create a ServiceMonitor to scrape kubelet service + ## + enabled: true + ## @param kubelet.namespace Namespace where kubelet service is deployed. Related configuration `operator.kubeletService.namespace` + ## + namespace: kube-system + serviceMonitor: + ## @param kubelet.serviceMonitor.https Enable scraping of the kubelet over HTTPS + ## + https: true + ## @param kubelet.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubelet.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubelet.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] + ## @param kubelet.serviceMonitor.cAdvisorMetricRelabelings Metric relabeling for scraping cAdvisor + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + cAdvisorMetricRelabelings: [] + ## @param kubelet.serviceMonitor.cAdvisorRelabelings Relabel configs for scraping cAdvisor + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + cAdvisorRelabelings: [] +## Component scraping the kube-apiserver +## +kubeApiServer: + ## @param kubeApiServer.enabled Create a ServiceMonitor to scrape kube-apiserver service + ## + enabled: true + serviceMonitor: + ## @param kubeApiServer.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubeApiServer.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubeApiServer.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] +## Component scraping the kube-controller-manager +## +kubeControllerManager: + ## @param kubeControllerManager.enabled Create a ServiceMonitor to scrape kube-controller-manager service + ## + enabled: false + ## @param kubeControllerManager.endpoints If your kube controller manager is not deployed as a pod, specify IPs it can be found on + ## endpoints: + ## - 10.141.4.22 + ## - 10.141.4.23 + ## - 10.141.4.24 + ## + endpoints: [] + ## @param kubeControllerManager.namespace Namespace where kube-controller-manager service is deployed. + ## + namespace: kube-system + ## Service ports and selector information + ## @param kubeControllerManager.service.enabled Whether or not to create a Service object for kube-controller-manager + ## @param kubeControllerManager.service.port Listening port of the kube-controller-manager Service object + ## @param kubeControllerManager.service.targetPort Port to target on the kube-controller-manager Pods. This should be the port that kube-controller-manager is exposing metrics on + ## @param kubeControllerManager.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 10252 + targetPort: 10252 + ## selector: + ## component: kube-controller-manager + ## + selector: {} + serviceMonitor: + ## @param kubeControllerManager.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md#endpoint + ## + interval: "" + ## @param kubeControllerManager.serviceMonitor.https Enable scraping kube-controller-manager over https + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + ## @param kubeControllerManager.serviceMonitor.insecureSkipVerify Skip TLS certificate validation when scraping + ## + insecureSkipVerify: "" + ## @param kubeControllerManager.serviceMonitor.serverName Name of the server to use when validating TLS certificate + serverName: "" + ## @param kubeControllerManager.serviceMonitor.metricRelabelings Metric relabeling + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs + ## + metricRelabelings: [] + ## @param kubeControllerManager.serviceMonitor.relabelings Relabel configs + ## ref: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config + ## + relabelings: [] +## Component scraping kube scheduler +## +kubeScheduler: + ## @param kubeScheduler.enabled Create a ServiceMonitor to scrape kube-scheduler service + ## + enabled: false + ## @param kubeScheduler.endpoints If your kube scheduler is not deployed as a pod, specify IPs it can be found on + ## endpoints: + ## - 10.141.4.22 + ## - 10.141.4.23 + ## - 10.141.4.24 + ## + endpoints: [] + ## @param kubeScheduler.namespace Namespace where kube-scheduler service is deployed. + ## + namespace: kube-system + ## If using kubeScheduler.endpoints only the port and targetPort are used + ## @param kubeScheduler.service.enabled Whether or not to create a Service object for kube-scheduler + ## @param kubeScheduler.service.port Listening port of the kube scheduler Service object + ## @param kubeScheduler.service.targetPort Port to target on the kube scheduler Pods. This should be the port that kube scheduler is exposing metrics on + ## @param kubeScheduler.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 10251 + targetPort: 10251 + ## selector: + ## component: kube-scheduler + ## + selector: {} + serviceMonitor: + ## @param kubeScheduler.serviceMonitor.interval Scrape interval (use by default, falling back to Prometheus' default) + ## + interval: "" + ## @param kubeScheduler.serviceMonitor.https Enable scraping kube-scheduler over https + ## Requires proper certs (not self-signed) and delegated authentication/authorization checks + ## + https: false + ## @param kubeScheduler.serviceMonitor.insecureSkipVerify Skip TLS certificate validation when scraping + ## + insecureSkipVerify: "" + ## @param kubeScheduler.serviceMonitor.serverName Name of the server to use when validating TLS certificate + ## + serverName: "" + ## @param kubeScheduler.serviceMonitor.metricRelabelings Metric relabeling + ## metricRelabelings: + ## - action: keep + ## regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + ## sourceLabels: [__name__] + ## + metricRelabelings: [] + ## @param kubeScheduler.serviceMonitor.relabelings Relabel configs + ## relabelings: + ## - sourceLabels: [__meta_kubernetes_pod_node_name] + ## separator: ; + ## regex: ^(.*)$ + ## targetLabel: nodename + ## replacement: $1 + ## action: replace + ## + relabelings: [] +## Component scraping coreDns +## +coreDns: + ## @param coreDns.enabled Create a ServiceMonitor to scrape coredns service + ## + enabled: true + ## @param coreDns.namespace Namespace where core dns service is deployed. + ## + namespace: kube-system + ## Create a ServiceMonitor to scrape coredns service + ## @param coreDns.service.enabled Whether or not to create a Service object for coredns + ## @param coreDns.service.port Listening port of the coredns Service object + ## @param coreDns.service.targetPort Port to target on the coredns Pods. This should be the port that coredns is exposing metrics on + ## @param coreDns.service.selector Optional PODs Label selector for the service + ## + service: + enabled: true + port: 9153 + targetPort: 9153 + ## selector: + ## component: kube-dns + ## + selector: {} + serviceMonitor: + ## @param coreDns.serviceMonitor.interval Scrape interval. If not set, the Prometheus default scrape interval is used. + ## + interval: "" + ## @param coreDns.serviceMonitor.metricRelabelings Metric relabel configs to apply to samples before ingestion. + ## metricRelabelings: + ## - action: keep + ## regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' + ## sourceLabels: [__name__] + ## + metricRelabelings: [] + ## @param coreDns.serviceMonitor.relabelings Relabel configs to apply to samples before ingestion. + ## relabelings: + ## - sourceLabels: [__meta_kubernetes_pod_node_name] + ## separator: ; + ## regex: ^(.*)$ + ## targetLabel: nodename + ## replacement: $1 + ## action: replace + ## + relabelings: [] +## Component scraping the kube-proxy +## +kubeProxy: + ## @param kubeProxy.enabled Create a ServiceMonitor to scrape the kube-proxy Service + ## + enabled: false +portal: + open: + enabled: true +updated: true diff --git a/enterprise/prometheus/13.1.0/questions.yaml b/enterprise/prometheus/13.1.0/questions.yaml new file mode 100644 index 0000000000..b3169896b6 --- /dev/null +++ b/enterprise/prometheus/13.1.0/questions.yaml @@ -0,0 +1,1667 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: operator + group: "App Configuration" + label: "Operator Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Operator" + schema: + type: string + default: "info" + + - variable: prometheus + group: "App Configuration" + label: "Prometheus Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Prometheus" + schema: + type: string + default: "info" + - variable: retention + label: "Retention" + description: "Metrics retention days" + schema: + type: string + default: "31d" + - variable: retentionSize + label: "Max Retention Size" + description: "Maximum size of metrics" + schema: + type: string + default: "" + - variable: scrapeInterval + label: "Scrape interval" + description: "Interval between consecutive scrapes" + schema: + type: string + default: "15s" + - variable: evaluationInterval + label: "Evaluation interval" + description: "Interval between consecutive evaluations" + schema: + type: string + default: "30s" + - variable: disableCompaction + label: "Disable Compaction" + description: "Disable the compaction of the Prometheus TSDB" + schema: + type: boolean + default: false + - variable: walCompression + label: "WAL Compression" + description: "Enable compression of the write-ahead log using Snappy" + schema: + type: boolean + default: false + - variable: remoteWrite + label: "Remote Write" + schema: + type: list + default: [] + items: + - variable: remoteWriteEntry + label: Remote Write Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: url + label: URL + description: Remote write destination URL + schema: + type: string + required: true + default: "" + - variable: basicAuth + label: Basic Auth + description: Basic authentication for remote write + schema: + type: dict + attrs: + - variable: username + label: Username + description: Basic auth username + schema: + type: string + required: true + default: "" + - variable: password + label: Password + description: Basic auth password + schema: + type: string + required: false + default: "" + + - variable: exporters + group: "App Configuration" + label: "Exporter Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: node-exporter + label: "node-exporter" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + - variable: kube-state-metrics + label: "Kube-State-Metrics" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + + - variable: alertmanager + group: "App Configuration" + label: "Alertmanager Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: "Enable" + schema: + type: boolean + default: true + show_subquestions_if: true + subquestions: + - variable: logLevel + label: "Log Level" + description: "Log level for Alertmanager" + schema: + type: string + default: "info" + - variable: retention + label: "Retention" + description: "Metrics retention days" + schema: + type: string + default: "240h" + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The serving the Prometheus WebUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10086 + required: true + - variable: alertmanager + label: "alertmanager Service" + description: "alertmanager service " + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: alertmanager + label: "alertmanager Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10087 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: certificateIssuer + label: certificateIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP diff --git a/enterprise/prometheus/13.1.0/templates/NOTES.txt b/enterprise/prometheus/13.1.0/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/enterprise/prometheus/13.1.0/templates/_helpers.tpl b/enterprise/prometheus/13.1.0/templates/_helpers.tpl new file mode 100644 index 0000000000..1f44049ac4 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/_helpers.tpl @@ -0,0 +1,210 @@ +{{/* Name suffixed with operator */}} +{{- define "kube-prometheus.fullname" -}} +{{- printf "%s" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Name suffixed with operator */}} +{{- define "kube-prometheus.name" -}} +{{- printf "%s" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Name suffixed with operator */}} +{{- define "kube-prometheus.operator.name" -}} +{{- printf "%s-operator" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Name suffixed with prometheus */}} +{{- define "kube-prometheus.prometheus.name" -}} +{{- printf "%s-prometheus" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Name suffixed with alertmanager */}} +{{- define "kube-prometheus.alertmanager.name" -}} +{{- printf "%s-alertmanager" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Name suffixed with thanos */}} +{{- define "kube-prometheus.thanos.name" -}} +{{- printf "%s-thanos" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Fullname suffixed with operator */}} +{{- define "kube-prometheus.operator.fullname" -}} +{{- printf "%s-operator" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Fullname suffixed with prometheus */}} +{{- define "kube-prometheus.prometheus.fullname" -}} +{{- printf "%s-prometheus" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Fullname suffixed with alertmanager */}} +{{- define "kube-prometheus.alertmanager.fullname" -}} +{{- printf "%s-alertmanager" (include "tc.v1.common.lib.chart.names.fullname" . ) -}} +{{- end }} + +{{/* Fullname suffixed with thanos */}} +{{- define "kube-prometheus.thanos.fullname" -}} +{{- printf "%s-thanos" (include "kube-prometheus.prometheus.fullname" .) -}} +{{- end }} + +{{- define "kube-prometheus.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common Labels +*/}} +{{- define "kube-prometheus.labels" -}} + {{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }} + {{- . | nindent 0 }} + {{- end }} +{{- if .Values.global.labels }} +{{ toYaml .Values.global.labels }} +{{- end }} +{{- end -}} + +{{/* +Labels for operator +*/}} +{{- define "kube-prometheus.operator.labels" -}} + {{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }} + {{- . | nindent 0 }} + {{- end }} +app.kubernetes.io/component: operator +{{- end -}} + +{{/* +Labels for prometheus +*/}} +{{- define "kube-prometheus.prometheus.labels" -}} + {{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }} + {{- . | nindent 0 }} + {{- end }} +app.kubernetes.io/component: prometheus +{{- end -}} + +{{/* +Labels for alertmanager +*/}} +{{- define "kube-prometheus.alertmanager.labels" -}} + {{- $labels := (include "tc.v1.common.lib.metadata.allLabels" $ | fromYaml) -}} + {{- with (include "tc.v1.common.lib.metadata.render" (dict "rootCtx" $ "labels" $labels) | trim) }} + {{- . | nindent 0 }} + {{- end }} +app.kubernetes.io/component: alertmanager +{{- end -}} + +{{/* +matchLabels for operator +*/}} +{{- define "kube-prometheus.operator.matchLabels" -}} +{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}} +app.kubernetes.io/component: operator +{{- end -}} + +{{/* +matchLabels for prometheus +*/}} +{{- define "kube-prometheus.prometheus.matchLabels" -}} +{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}} +app.kubernetes.io/component: prometheus +{{- end -}} + +{{/* +matchLabels for alertmanager +*/}} +{{- define "kube-prometheus.alertmanager.matchLabels" -}} +{{ include "tc.v1.common.lib.metadata.selectorLabels" (dict "rootCtx" $ )}} +app.kubernetes.io/component: alertmanager +{{- end -}} + +{{/* +Return the proper Prometheus Operator image name +*/}} +{{- define "kube-prometheus.image" -}} +{{ printf "%s:%s" .Values.image.repository (default .Chart.AppVersion .Values.image.tag) | quote }} +{{- end -}} + +{{/* +Return the proper Prometheus Operator Reloader image name +*/}} +{{- define "kube-prometheus.prometheusConfigReloader.image" -}} +{{- include "kube-prometheus.image" . -}} +{{- end -}} + +{{/* +Return the proper Prometheus Image name +*/}} +{{- define "kube-prometheus.prometheus.image" -}} +{{ printf "%s:%s" .Values.image.repository (default .Chart.AppVersion .Values.image.tag) | quote }} +{{- end -}} + +{{/* +Return the proper Thanos Image name +*/}} +{{- define "kube-prometheus.prometheus.thanosImage" -}} +{{ printf "%s:%s" .Values.thanosImage.repository (default .Chart.AppVersion .Values.thanosImage.tag) | quote }} +{{- end -}} + +{{/* +Return the proper Alertmanager Image name +*/}} +{{- define "kube-prometheus.alertmanager.image" -}} +{{ printf "%s:%s" .Values.alertmanagerImage.repository (default .Chart.AppVersion .Values.alertmanagerImage.tag) | quote }} +{{- end -}} + +{{/* +Return the proper Docker Image Registry Secret Names +*/}} +{{- define "kube-prometheus.imagePullSecrets" -}} +{{- end -}} + +{{/* +Create the name of the operator service account to use +*/}} +{{- define "kube-prometheus.operator.serviceAccountName" -}} +{{- if .Values.operator.serviceAccount.create -}} + {{ default (include "kube-prometheus.operator.fullname" .) .Values.operator.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.operator.serviceAccount.name }} +{{- end -}} +{{- end -}} + +{{/* +Create the name of the prometheus service account to use +*/}} +{{- define "kube-prometheus.prometheus.serviceAccountName" -}} +{{- if .Values.prometheus.serviceAccount.create -}} + {{ default (include "kube-prometheus.prometheus.fullname" .) .Values.prometheus.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.prometheus.serviceAccount.name }} +{{- end -}} +{{- end -}} + +{{/* +Create the name of the alertmanager service account to use +*/}} +{{- define "kube-prometheus.alertmanager.serviceAccountName" -}} +{{- if .Values.alertmanager.serviceAccount.create -}} + {{ default (include "kube-prometheus.alertmanager.fullname" .) .Values.alertmanager.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.alertmanager.serviceAccount.name }} +{{- end -}} +{{- end -}} + +{{/* +Compile all warnings into a single message, and call fail. +*/}} +{{- define "kube-prometheus.validateValues" -}} +{{- $messages := list -}} +{{- $messages := without $messages "" -}} +{{- $message := join "\n" $messages -}} + +{{- if $message -}} +{{- printf "\nVALUES VALIDATION:\n%s" $message | fail -}} +{{- end -}} +{{- end -}} diff --git a/enterprise/prometheus/13.1.0/templates/alertmanager/_alertmanager.tpl b/enterprise/prometheus/13.1.0/templates/alertmanager/_alertmanager.tpl new file mode 100644 index 0000000000..ed5e24e9da --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/alertmanager/_alertmanager.tpl @@ -0,0 +1,174 @@ +{{- define "prometheus.alertmanager.alertmanager" -}} +{{- if .Values.alertmanager.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: Alertmanager +metadata: + name: {{ template "kube-prometheus.alertmanager.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.alertmanager.replicaCount }} + serviceAccountName: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }} + {{- if .Values.alertmanager.image }} + image: {{ template "kube-prometheus.alertmanager.image" . }} + {{- end }} + listenLocal: {{ .Values.alertmanager.listenLocal }} + {{- if index .Values.alertmanager "externalUrl" }} + externalUrl: "{{ .Values.alertmanager.externalUrl }}" + {{- else if and .Values.ingress.alertmanager.enabled .Values.ingress.alertmanager.hosts }} + externalUrl: {{ if .Values.ingress.alertmanager.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.alertmanager.hosts 0).name }}{{ .Values.alertmanager.routePrefix }} + {{- else }} + externalUrl: http://{{ template "kube-prometheus.alertmanager.fullname" . }}.{{ .Release.Namespace }}:{{ .Values.service.alertmanager.ports.alertmanager.port }}{{ .Values.alertmanager.routePrefix }} + {{- end }} + portName: "{{ .Values.alertmanager.portName }}" + paused: {{ .Values.alertmanager.paused }} + logFormat: {{ .Values.alertmanager.logFormat }} + logLevel: {{ .Values.alertmanager.logLevel }} + retention: {{ .Values.alertmanager.retention }} + {{- if .Values.alertmanager.secrets }} + secrets: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.secrets "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.configMaps }} + configMaps: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configMaps "context" $) | nindent 4 }} + {{- end }} + resources: {{- toYaml .Values.alertmanager.resources | nindent 4 }} + routePrefix: "{{ .Values.alertmanager.routePrefix }}" + {{- if .Values.alertmanager.podSecurityContext.enabled }} + securityContext: {{- omit .Values.alertmanager.podSecurityContext "enabled" | toYaml | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.storageSpec }} + storage: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.storageSpec "context" $) | nindent 4 }} + {{- else }} + {{- if .Values.alertmanager.persistence.enabled }} + storage: + volumeClaimTemplate: + spec: + accessModes: + {{- range .Values.alertmanager.persistence.accessModes }} + - {{ . | quote }} + {{- end }} + resources: + requests: + storage: {{ .Values.alertmanager.persistence.size | quote }} + {{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" . "objectData" .Values.prometheus.persistence )) | trim }} + storageClassName: {{ . }} + {{- end }} + {{- end }} + {{- end }} + {{- if or .Values.alertmanager.podMetadata.labels .Values.alertmanager.podMetadata.annotations (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }} + podMetadata: + labels: + {{- if .Values.alertmanager.podMetadata.labels }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.labels "context" $) | nindent 6 }} + {{- end }} + {{- if or (eq .Values.alertmanager.podAntiAffinityPreset "soft") (eq .Values.alertmanager.podAntiAffinityPreset "hard") }} + {{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }} + {{- end }} + {{- if .Values.alertmanager.podMetadata.annotations }} + annotations: + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.podMetadata.annotations "context" $) | nindent 6 }} + {{- end }} + {{- end }} + {{- if .Values.alertmanager.affinity }} + affinity: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.affinity "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.nodeSelector }} + nodeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.nodeSelector "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.tolerations }} + tolerations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.tolerations "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.volumes }} + volumes: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.volumes "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.volumeMounts }} + volumeMounts: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.volumeMounts "context" $) | nindent 4 }} + {{- end }} +{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }} + {{- if or .Values.alertmanager.containers .Values.alertmanager.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }} + containers: + {{- if or .Values.alertmanager.containerSecurityContext.enabled .Values.alertmanager.livenessProbe.enabled .Values.alertmanager.readinessProbe.enabled }} + ## This monkey patching is needed until the securityContexts are + ## directly patchable via the CRD. + ## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947 + ## currently implemented with strategic merge + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md + - name: alertmanager + {{- if .Values.alertmanager.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.alertmanager.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.alertmanager.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: {{ .Values.alertmanager.livenessProbe.path }} + port: alertmanager + scheme: HTTP + initialDelaySeconds: {{ .Values.alertmanager.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.alertmanager.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.alertmanager.livenessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.alertmanager.livenessProbe.failureThreshold }} + successThreshold: {{ .Values.alertmanager.livenessProbe.successThreshold }} + {{- end }} + {{- if .Values.alertmanager.readinessProbe.enabled }} + readinessProbe: + httpGet: + path: {{ .Values.alertmanager.readinessProbe.path }} + port: alertmanager + scheme: HTTP + initialDelaySeconds: {{ .Values.alertmanager.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.alertmanager.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.alertmanager.readinessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.alertmanager.readinessProbe.failureThreshold }} + successThreshold: {{ .Values.alertmanager.readinessProbe.successThreshold }} + {{- end }} + {{- end }} + {{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }} + ## This monkey patching is needed until the securityContexts are + ## directly patchable via the CRD. + ## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947 + ## currently implemented with strategic merge + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md + - name: config-reloader + {{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }} + livenessProbe: + tcpSocket: + port: reloader-web + initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }} + successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }} + {{- end }} + {{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }} + readinessProbe: + tcpSocket: + port: reloader-web + initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }} + successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }} + {{- end }} + {{- end }} + {{- if .Values.alertmanager.containers }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.containers "context" $) | nindent 4 }} + {{- end }} + {{- end }} + {{- if .Values.alertmanager.priorityClassName }} + priorityClassName: {{ .Values.alertmanager.priorityClassName }} + {{- end }} + {{- if .Values.alertmanager.additionalPeers }} + additionalPeers: {{ .Values.alertmanager.additionalPeers }} + {{- end }} + {{- if .Values.alertmanager.configNamespaceSelector }} + alertmanagerConfigNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configNamespaceSelector "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.alertmanager.configSelector }} + alertmanagerConfigSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.configSelector "context" $) | nindent 4 }} + {{- end }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/alertmanager/secrets.yaml b/enterprise/prometheus/13.1.0/templates/alertmanager/secrets.yaml new file mode 100644 index 0000000000..9a6f518f35 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/alertmanager/secrets.yaml @@ -0,0 +1,13 @@ +{{- if (and .Values.alertmanager.enabled (not .Values.alertmanager.externalConfig) ) }} +apiVersion: v1 +kind: Secret +metadata: + name: alertmanager-{{ template "kube-prometheus.alertmanager.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }} +data: + alertmanager.yaml: {{ toYaml .Values.alertmanager.config | b64enc | quote }} +{{- range $key, $val := .Values.alertmanager.templateFiles }} + {{ $key }}: {{ $val | b64enc | quote }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/alertmanager/serviceaccount.yaml b/enterprise/prometheus/13.1.0/templates/alertmanager/serviceaccount.yaml new file mode 100644 index 0000000000..a6f438889a --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/alertmanager/serviceaccount.yaml @@ -0,0 +1,12 @@ +{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceAccount.create }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "kube-prometheus.alertmanager.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }} + {{- if index .Values.alertmanager.serviceAccount "annotations" }} + annotations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.alertmanager.serviceAccount.annotations "context" $) | nindent 4 }} + {{- end }} +{{- include "kube-prometheus.imagePullSecrets" . }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/alertmanager/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/alertmanager/servicemonitor.yaml new file mode 100644 index 0000000000..ef0e02d387 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/alertmanager/servicemonitor.yaml @@ -0,0 +1,26 @@ +{{- if and .Values.alertmanager.enabled .Values.alertmanager.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.alertmanager.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.alertmanager.labels" . | nindent 4 }} +spec: + selector: + matchLabels: {{- include "kube-prometheus.alertmanager.matchLabels" . | nindent 6 }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + endpoints: + - port: http + {{- if .Values.alertmanager.serviceMonitor.interval }} + interval: {{ .Values.alertmanager.serviceMonitor.interval }} + {{- end }} + path: {{ trimSuffix "/" .Values.alertmanager.routePrefix }}/metrics + {{- if .Values.alertmanager.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.alertmanager.serviceMonitor.metricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.alertmanager.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.alertmanager.serviceMonitor.relabelings | nindent 8 }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/common.yaml b/enterprise/prometheus/13.1.0/templates/common.yaml new file mode 100644 index 0000000000..61364503a7 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/common.yaml @@ -0,0 +1,13 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.v1.common.loader.init" . }} + +{{- include "prometheus.prometheus.prometheus" . }} +{{- include "prometheus.prometheus.additionalprometheusrules" . }} +{{- include "prometheus.prometheus.additionalscrapejobs" . }} +{{- include "prometheus.prometheus.servicemonitor" . }} + +{{- include "prometheus.alertmanager.alertmanager" . }} + + +{{/* Render the templates */}} +{{ include "tc.v1.common.loader.apply" . }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/core-dns/service.yaml b/enterprise/prometheus/13.1.0/templates/exporters/core-dns/service.yaml new file mode 100644 index 0000000000..359c945de4 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/core-dns/service.yaml @@ -0,0 +1,22 @@ +{{- if and .Values.coreDns.enabled .Values.coreDns.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-coredns + namespace: {{ .Values.coreDns.namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.coreDns.service.port }} + protocol: TCP + targetPort: {{ .Values.coreDns.service.targetPort }} + selector: + {{- if .Values.coreDns.service.selector }} +{{ toYaml .Values.coreDns.service.selector | indent 4 }} + {{- else}} + k8s-app: kube-dns + {{- end}} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/core-dns/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/exporters/core-dns/servicemonitor.yaml new file mode 100644 index 0000000000..8906b87f8e --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/core-dns/servicemonitor.yaml @@ -0,0 +1,29 @@ +{{- if .Values.coreDns.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-coredns + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns +spec: + jobLabel: k8s-app + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-coredns + namespaceSelector: + matchNames: + - {{ .Values.coreDns.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.coreDns.serviceMonitor.interval}} + interval: {{ .Values.coreDns.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.coreDns.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.metricRelabelings "context" $) | nindent 6 }} + {{- end }} + {{- if .Values.coreDns.serviceMonitor.relabelings }} + relabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.coreDns.serviceMonitor.relabelings "context" $) | nindent 6 }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-apiserver/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-apiserver/servicemonitor.yaml new file mode 100644 index 0000000000..7cfbb53f37 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-apiserver/servicemonitor.yaml @@ -0,0 +1,35 @@ +{{- if .Values.kubeApiServer.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-apiserver + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: apiserver +spec: + jobLabel: component + selector: + matchLabels: + component: apiserver + provider: kubernetes + namespaceSelector: + matchNames: + - default + endpoints: + - port: https + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + serverName: kubernetes + insecureSkipVerify: true + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.kubeApiServer.serviceMonitor.interval }} + interval: {{ .Values.kubeApiServer.serviceMonitor.interval }} + {{- end }} + {{- if .Values.kubeApiServer.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubeApiServer.serviceMonitor.metricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.kubeApiServer.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.kubeApiServer.serviceMonitor.relabelings | nindent 8 }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/endpoints.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/endpoints.yaml new file mode 100644 index 0000000000..13aa60ebf6 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/endpoints.yaml @@ -0,0 +1,18 @@ +{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.endpoints }} +apiVersion: v1 +kind: Endpoints +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Values.kubeControllerManager.namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: kube-controller-manager +subsets: + - addresses: + {{- range .Values.kubeControllerManager.endpoints }} + - ip: {{ . }} + {{- end }} + ports: + - name: http-metrics + port: {{ .Values.kubeControllerManager.service.port }} + protocol: TCP +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/service.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/service.yaml new file mode 100644 index 0000000000..6a45535983 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/service.yaml @@ -0,0 +1,25 @@ +{{- if and .Values.kubeControllerManager.enabled .Values.kubeControllerManager.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Values.kubeControllerManager.namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.kubeControllerManager.service.port }} + protocol: TCP + targetPort: {{ .Values.kubeControllerManager.service.targetPort }} +{{- if .Values.kubeControllerManager.endpoints }}{{- else }} + selector: + {{- if .Values.kubeControllerManager.service.selector }} +{{ toYaml .Values.kubeControllerManager.service.selector | indent 4 }} + {{- else}} + component: kube-controller-manager + {{- end}} +{{- end }} + type: ClusterIP +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/servicemonitor.yaml new file mode 100644 index 0000000000..d3f56c4991 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-controller-manager/servicemonitor.yaml @@ -0,0 +1,40 @@ +{{- if .Values.kubeControllerManager.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager +spec: + jobLabel: component + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-controller-manager + namespaceSelector: + matchNames: + - {{ .Values.kubeControllerManager.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.kubeControllerManager.serviceMonitor.interval }} + interval: {{ .Values.kubeControllerManager.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.kubeControllerManager.serviceMonitor.https }} + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + {{- if .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }} + insecureSkipVerify: {{ .Values.kubeControllerManager.serviceMonitor.insecureSkipVerify }} + {{- end }} + {{- if .Values.kubeControllerManager.serviceMonitor.serverName }} + serverName: {{ .Values.kubeControllerManager.serviceMonitor.serverName }} + {{- end }} + {{- end }} + {{- if .Values.kubeControllerManager.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.metricRelabelings "context" $) | nindent 6 }} + {{- end }} + {{- if .Values.kubeControllerManager.serviceMonitor.relabelings }} + relabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeControllerManager.serviceMonitor.relabelings "context" $) | nindent 6 }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/endpoints.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/endpoints.yaml new file mode 100644 index 0000000000..dde3d8b911 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/endpoints.yaml @@ -0,0 +1,18 @@ +{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.endpoints }} +apiVersion: v1 +kind: Endpoints +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Values.kubeScheduler.namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: kube-scheduler +subsets: + - addresses: + {{- range .Values.kubeScheduler.endpoints }} + - ip: {{ . }} + {{- end }} + ports: + - name: http-metrics + port: {{ .Values.kubeScheduler.service.port }} + protocol: TCP +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/service.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/service.yaml new file mode 100644 index 0000000000..aad5969f5f --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/service.yaml @@ -0,0 +1,25 @@ +{{- if and .Values.kubeScheduler.enabled .Values.kubeScheduler.service.enabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Values.kubeScheduler.namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler +spec: + clusterIP: None + ports: + - name: http-metrics + port: {{ .Values.kubeScheduler.service.port}} + protocol: TCP + targetPort: {{ .Values.kubeScheduler.service.targetPort}} +{{- if .Values.kubeScheduler.endpoints }}{{- else }} + selector: + {{- if .Values.kubeScheduler.service.selector }} +{{ toYaml .Values.kubeScheduler.service.selector | indent 4 }} + {{- else}} + component: kube-scheduler + {{- end}} +{{- end }} + type: ClusterIP +{{- end -}} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/servicemonitor.yaml new file mode 100644 index 0000000000..7cbe29f86d --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kube-scheduler/servicemonitor.yaml @@ -0,0 +1,40 @@ +{{- if .Values.kubeScheduler.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler +spec: + jobLabel: component + selector: + matchLabels: + app.kubernetes.io/component: {{ template "kube-prometheus.fullname" . }}-kube-scheduler + namespaceSelector: + matchNames: + - {{ .Values.kubeScheduler.namespace }} + endpoints: + - port: http-metrics + {{- if .Values.kubeScheduler.serviceMonitor.interval }} + interval: {{ .Values.kubeScheduler.serviceMonitor.interval }} + {{- end }} + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + {{- if .Values.kubeScheduler.serviceMonitor.https }} + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + {{- if .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }} + insecureSkipVerify: {{ .Values.kubeScheduler.serviceMonitor.insecureSkipVerify }} + {{- end}} + {{- if .Values.kubeScheduler.serviceMonitor.serverName }} + serverName: {{ .Values.kubeScheduler.serviceMonitor.serverName }} + {{- end}} + {{- end}} + {{- if .Values.kubeScheduler.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.metricRelabelings "context" $) | nindent 6 }} + {{- end }} + {{- if .Values.kubeScheduler.serviceMonitor.relabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.kubeScheduler.serviceMonitor.relabelings "context" $) | nindent 6 }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/exporters/kubelet/servicemonitor.yaml b/enterprise/prometheus/13.1.0/templates/exporters/kubelet/servicemonitor.yaml new file mode 100644 index 0000000000..b109d78c45 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/exporters/kubelet/servicemonitor.yaml @@ -0,0 +1,85 @@ +{{- if .Values.kubelet.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.fullname" . }}-kubelet + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.labels" . | nindent 4 }} + app.kubernetes.io/component: kubelet +spec: + jobLabel: k8s-app + selector: + matchLabels: + k8s-app: kubelet + namespaceSelector: + matchNames: + - {{ .Values.kubelet.namespace }} + endpoints: + {{- if .Values.kubelet.serviceMonitor.https }} + - port: https-metrics + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + serverName: kubernetes + insecureSkipVerify: true + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + honorLabels: true + {{- if .Values.kubelet.serviceMonitor.interval }} + interval: {{ .Values.kubelet.serviceMonitor.interval }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }} + {{- end }} + - port: https-metrics + path: /metrics/cadvisor + scheme: https + tlsConfig: + caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + serverName: kubernetes + insecureSkipVerify: true + bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token + honorLabels: true + {{- if .Values.kubelet.serviceMonitor.interval }} + interval: {{ .Values.kubelet.serviceMonitor.interval }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }} + relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }} + {{- end }} + {{- else }} + - port: http-metrics + scheme: http + tlsConfig: + insecureSkipVerify: false + honorLabels: true + {{- if .Values.kubelet.serviceMonitor.interval }} + interval: {{ .Values.kubelet.serviceMonitor.interval }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.metricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.kubelet.serviceMonitor.relabelings | nindent 8 }} + {{- end }} + - port: http-metrics + path: /metrics/cadvisor + scheme: http + tlsConfig: + insecureSkipVerify: false + honorLabels: true + {{- if .Values.kubelet.serviceMonitor.interval }} + interval: {{ .Values.kubelet.serviceMonitor.interval }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.kubelet.serviceMonitor.cAdvisorMetricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.kubelet.serviceMonitor.cAdvisorRelabelings }} + relabelings: {{- toYaml .Values.kubelet.serviceMonitor.cAdvisorRelabelings | nindent 8 }} + {{- end }} + {{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/_additionalPrometheusRules.tpl b/enterprise/prometheus/13.1.0/templates/prometheus/_additionalPrometheusRules.tpl new file mode 100644 index 0000000000..121048d87c --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/_additionalPrometheusRules.tpl @@ -0,0 +1,15 @@ +{{- define "prometheus.prometheus.additionalprometheusrules" -}} +{{- if and .Values.prometheus.enabled .Values.prometheus.additionalPrometheusRules}} + {{- range .Values.prometheus.additionalPrometheusRules }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + name: {{ template "kube-prometheus.name" $ }}-{{ .name }} + namespace: {{ $.Release.Namespace }} + labels: {{ include "kube-prometheus.prometheus.labels" $ | nindent 4 }} +spec: + groups: {{- toYaml .groups | nindent 4 }} + {{- end }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/_additionalScrapeJobs.tpl b/enterprise/prometheus/13.1.0/templates/prometheus/_additionalScrapeJobs.tpl new file mode 100644 index 0000000000..3c5f85140a --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/_additionalScrapeJobs.tpl @@ -0,0 +1,13 @@ +{{- define "prometheus.prometheus.additionalscrapejobs" -}} +{{- if (and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") ) }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} +data: + scrape-jobs.yaml: {{ include "tc.v1.common.tplvalues.render" ( dict "value" .Values.prometheus.additionalScrapeConfigs.internal.jobList "context" $ ) | b64enc | quote }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/_prometheus.tpl b/enterprise/prometheus/13.1.0/templates/prometheus/_prometheus.tpl new file mode 100644 index 0000000000..e4c20bc6eb --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/_prometheus.tpl @@ -0,0 +1,363 @@ +{{- define "prometheus.prometheus.prometheus" -}} +{{- if .Values.prometheus.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: Prometheus +metadata: + name: {{ template "kube-prometheus.prometheus.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.prometheus.replicaCount }} + serviceAccountName: {{ template "kube-prometheus.prometheus.serviceAccountName" . }} + {{- if .Values.prometheus.serviceMonitorSelector }} + serviceMonitorSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorSelector "context" $) | nindent 4 }} + {{- else }} + serviceMonitorSelector: {} + {{- end }} + {{- if .Values.prometheus.podMonitorSelector }} + podMonitorSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorSelector "context" $) | nindent 4 }} + {{- else }} + podMonitorSelector: {} + {{- end }} + {{- if .Values.prometheus.probeSelector }} + probeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.probeSelector "context" $) | nindent 4 }} + {{- else }} + probeSelector: {} + {{- end }} + {{- if .Values.prometheus.scrapeConfigSelector }} + scrapeConfigSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.scrapeConfigSelector "context" $) | nindent 4 }} + {{- else }} + scrapeConfigSelector: {} + {{- end }} + alerting: + alertmanagers: + {{- if .Values.prometheus.alertingEndpoints }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.alertingEndpoints "context" $) | nindent 6 }} + {{- else if .Values.alertmanager.enabled }} + - namespace: {{ .Release.Namespace }} + name: {{ template "kube-prometheus.alertmanager.fullname" . }} + port: http + pathPrefix: "{{ .Values.alertmanager.routePrefix }}" + {{- else }} + [] + {{- end }} + {{- if .Values.prometheus.image }} + image: {{ template "kube-prometheus.prometheus.image" . }} + {{- end }} + {{- if .Values.prometheus.externalLabels }} + externalLabels: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.externalLabels "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.prometheusExternalLabelNameClear }} + prometheusExternalLabelName: "" + {{- else if .Values.prometheus.prometheusExternalLabelName }} + prometheusExternalLabelName: "{{ .Values.prometheus.prometheusExternalLabelName }}" + {{- end }} + {{- if .Values.prometheus.replicaExternalLabelNameClear }} + replicaExternalLabelName: "" + {{- else if .Values.prometheus.replicaExternalLabelName }} + replicaExternalLabelName: "{{ .Values.prometheus.replicaExternalLabelName }}" + {{- end }} + {{- if index .Values.prometheus "externalUrl" }} + externalUrl: "{{ .Values.prometheus.externalUrl }}" + {{- else if and .Values.ingress.main.enabled .Values.ingress.main.hosts }} + externalUrl: {{ if .Values.ingress.main.tls }}https{{else}}http{{ end }}://{{ (index .Values.ingress.main.hosts 0).name }}{{ .Values.prometheus.routePrefix }} + {{- else }} + externalUrl: http://{{ template "kube-prometheus.prometheus.fullname" . }}.{{ .Release.Namespace }}:9090{{ .Values.prometheus.routePrefix }} + {{- end }} + paused: {{ .Values.prometheus.paused }} + logLevel: {{ .Values.prometheus.logLevel }} + logFormat: {{ .Values.prometheus.logFormat }} + listenLocal: {{ .Values.prometheus.listenLocal }} + enableAdminAPI: {{ .Values.prometheus.enableAdminAPI }} + {{- if .Values.prometheus.enableFeatures }} + enableFeatures: + {{- range .Values.prometheus.enableFeatures }} + - {{ . | quote }} + {{- end }} + {{- end }} + {{- if .Values.prometheus.scrapeInterval }} + scrapeInterval: {{ .Values.prometheus.scrapeInterval }} + {{- end }} + {{- if .Values.prometheus.evaluationInterval }} + evaluationInterval: {{ .Values.prometheus.evaluationInterval }} + {{- end }} + {{- if .Values.prometheus.resources }} + resources: {{- toYaml .Values.prometheus.resources | nindent 4 }} + {{- end }} + retention: {{ .Values.prometheus.retention }} + {{- if .Values.prometheus.retentionSize }} + retentionSize: {{ .Values.prometheus.retentionSize }} + {{- end }} + {{- if .Values.prometheus.disableCompaction }} + disableCompaction: {{ .Values.prometheus.disableCompaction }} + {{- end }} + {{- if .Values.prometheus.walCompression }} + walCompression: {{ .Values.prometheus.walCompression }} + {{- end }} + portName: "{{ .Values.prometheus.portName }}" + routePrefix: "{{ .Values.prometheus.routePrefix }}" + {{- if .Values.prometheus.secrets }} + secrets: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.secrets "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.configMaps }} + configMaps: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.configMaps "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.serviceMonitorNamespaceSelector }} + serviceMonitorNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceMonitorNamespaceSelector "context" $) | nindent 4 }} + {{- else }} + serviceMonitorNamespaceSelector: {} + {{- end }} + {{- if .Values.prometheus.podMonitorNamespaceSelector }} + podMonitorNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMonitorNamespaceSelector "context" $) | nindent 4 }} + {{- else }} + podMonitorNamespaceSelector: {} + {{- end }} + {{- if .Values.prometheus.probeNamespaceSelector }} + probeNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.probeNamespaceSelector "context" $) | nindent 4 }} + {{- else }} + probeNamespaceSelector: {} + {{- end }} + {{- if .Values.prometheus.scrapeConfigNamespaceSelector }} + scrapeConfigNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.scrapeConfigNamespaceSelector "context" $) | nindent 4 }} + {{- else }} + scrapeConfigNamespaceSelector: {} + {{- end }} + {{- if .Values.prometheus.remoteRead }} + remoteRead: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.remoteRead "context" $) | nindent 4 }} + {{- end }} + {{- with .Values.prometheus.remoteWrite }} + remoteWrite: + {{- tpl (toYaml .) $ | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.podSecurityContext.enabled }} + securityContext: {{- omit .Values.prometheus.podSecurityContext "enabled" | toYaml | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.ruleNamespaceSelector }} + ruleNamespaceSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.ruleNamespaceSelector "context" $) | nindent 4 }} + {{- else }} + ruleNamespaceSelector: {} + {{- end }} + {{- if .Values.prometheus.ruleSelector }} + ruleSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.ruleSelector "context" $) | nindent 4 }} + {{- else }} + ruleSelector: {} + {{- end }} + {{- if .Values.prometheus.storageSpec }} + storage: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.storageSpec "context" $) | nindent 4 }} + {{- else if .Values.prometheus.persistence.enabled }} + storage: + volumeClaimTemplate: + spec: + accessModes: + {{- range .Values.prometheus.persistence.accessModes }} + - {{ . | quote }} + {{- end }} + resources: + requests: + storage: {{ .Values.prometheus.persistence.size | quote }} + {{- with (include "tc.v1.common.lib.storage.storageClassName" ( dict "rootCtx" . "objectData" .Values.prometheus.persistence )) | trim }} + storageClassName: {{ . }} + {{- end }} + {{- end }} + {{- if or .Values.prometheus.podMetadata.labels .Values.prometheus.podMetadata.annotations (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }} + podMetadata: + labels: + {{- if .Values.prometheus.podMetadata.labels }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.labels "context" $) | nindent 6 }} + {{- end }} + {{- if or (eq .Values.prometheus.podAntiAffinityPreset "soft") (eq .Values.prometheus.podAntiAffinityPreset "hard") }} + {{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }} + {{- end }} + {{- if .Values.prometheus.podMetadata.annotations }} + annotations: + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.podMetadata.annotations "context" $) | nindent 6 }} + {{- end }} + {{- end }} + {{- if .Values.prometheus.querySpec }} + query: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.querySpec "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.affinity }} + affinity: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.affinity "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.nodeSelector }} + nodeSelector: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.nodeSelector "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.tolerations }} + tolerations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.tolerations "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.volumes }} + volumes: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.volumes "context" $) | nindent 4 }} + {{- end }} + {{- if .Values.prometheus.volumeMounts }} + volumeMounts: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.volumeMounts "context" $) | nindent 4 }} + {{- end }} + {{- if or .Values.prometheus.additionalScrapeConfigs.enabled .Values.prometheus.additionalScrapeConfigsExternal.enabled }} + additionalScrapeConfigs: + {{- if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "external") }} + name: {{ .Values.prometheus.additionalScrapeConfigs.external.name }} + key: {{ .Values.prometheus.additionalScrapeConfigs.external.key }} + {{- else if and .Values.prometheus.additionalScrapeConfigs.enabled (eq .Values.prometheus.additionalScrapeConfigs.type "internal") }} + name: additional-scrape-jobs-{{ template "kube-prometheus.prometheus.fullname" . }} + key: scrape-jobs.yaml + {{- else if and (not .Values.prometheus.additionalScrapeConfigs.enabled) .Values.prometheus.additionalScrapeConfigsExternal.enabled }} + name: {{ .Values.prometheus.additionalScrapeConfigsExternal.name }} + key: {{ .Values.prometheus.additionalScrapeConfigsExternal.key }} + {{- end }} + {{- end }} + {{- if .Values.prometheus.additionalAlertRelabelConfigsExternal.enabled }} + additionalAlertRelabelConfigs: + name: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.name }} + key: {{ .Values.prometheus.additionalAlertRelabelConfigsExternal.key }} + {{- end }} +{{- include "kube-prometheus.imagePullSecrets" . | indent 2 }} + {{- if or .Values.prometheus.containers .Values.prometheus.thanos.create .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }} + containers: + {{- if .Values.prometheus.thanos.create }} + - name: thanos-sidecar + image: {{ template "kube-prometheus.prometheus.thanosImage" . }} + imagePullPolicy: {{ .Values.prometheus.thanos.image.pullPolicy }} + args: + - sidecar + - --prometheus.url={{ default "http://localhost:9090" .Values.prometheus.thanos.prometheusUrl }} + - --grpc-address=0.0.0.0:10901 + - --http-address=0.0.0.0:10902 + - --tsdb.path=/prometheus/ + {{- if .Values.prometheus.thanos.objectStorageConfig }} + - --objstore.config=$(OBJSTORE_CONFIG) + {{- end }} + {{- if .Values.prometheus.thanos.extraArgs }} + {{ toYaml .Values.prometheus.thanos.extraArgs | indent 8 | trim }} + {{- end }} + {{- if .Values.prometheus.thanos.objectStorageConfig }} + env: + - name: OBJSTORE_CONFIG + valueFrom: + secretKeyRef: + name: {{ .Values.prometheus.thanos.objectStorageConfig.secretName }} + key: {{ .Values.prometheus.thanos.objectStorageConfig.secretKey | default "thanos.yaml" }} + {{- end }} + {{- if .Values.prometheus.thanos.resources }} + resources: {{- toYaml .Values.prometheus.thanos.resources | nindent 8 }} + {{- end }} + ports: + - name: thanos + containerPort: 10901 + protocol: TCP + - name: http + containerPort: 10902 + protocol: TCP + volumeMounts: + - mountPath: /prometheus + name: prometheus-{{ template "kube-prometheus.prometheus.fullname" . }}-db + {{- if not (.Values.prometheus.storageSpec.disableMountSubPath | default (not .Values.prometheus.persistence.enabled)) }} + subPath: prometheus-db + {{- end }} + {{- if .Values.prometheus.thanos.extraVolumeMounts }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.thanos.extraVolumeMounts "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.prometheus.thanos.containerSecurityContext.enabled }} + # yamllint disable rule:indentation + securityContext: {{- omit .Values.prometheus.thanos.containerSecurityContext "enabled" | toYaml | nindent 8 }} + # yamllint enable rule:indentation + {{- end }} + {{- if .Values.prometheus.thanos.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: {{ .Values.prometheus.thanos.livenessProbe.path }} + port: http + scheme: HTTP + initialDelaySeconds: {{ .Values.prometheus.thanos.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.prometheus.thanos.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.prometheus.thanos.livenessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.prometheus.thanos.livenessProbe.failureThreshold }} + successThreshold: {{ .Values.prometheus.thanos.livenessProbe.successThreshold }} + {{- end }} + {{- if .Values.prometheus.thanos.readinessProbe.enabled }} + readinessProbe: + httpGet: + path: {{ .Values.prometheus.thanos.readinessProbe.path }} + port: http + scheme: HTTP + initialDelaySeconds: {{ .Values.prometheus.thanos.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.prometheus.thanos.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.prometheus.thanos.readinessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.prometheus.thanos.readinessProbe.failureThreshold }} + successThreshold: {{ .Values.prometheus.thanos.readinessProbe.successThreshold }} + {{- end }} + {{- end }} + {{- if or .Values.prometheus.containerSecurityContext.enabled .Values.prometheus.livenessProbe.enabled .Values.prometheus.readinessProbe.enabled }} + ## This monkey patching is needed until the securityContexts are + ## directly patchable via the CRD. + ## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947 + ## currently implemented with strategic merge + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md + - name: prometheus + {{- if .Values.prometheus.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.prometheus.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.prometheus.livenessProbe.enabled }} + livenessProbe: + httpGet: + path: {{ .Values.prometheus.livenessProbe.path }} + port: main + scheme: HTTP + initialDelaySeconds: {{ .Values.prometheus.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.prometheus.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.prometheus.livenessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.prometheus.livenessProbe.failureThreshold }} + successThreshold: {{ .Values.prometheus.livenessProbe.successThreshold }} + {{- end }} + {{- if .Values.prometheus.readinessProbe.enabled }} + readinessProbe: + httpGet: + path: {{ .Values.prometheus.readinessProbe.path }} + port: main + scheme: HTTP + initialDelaySeconds: {{ .Values.prometheus.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.prometheus.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.prometheus.readinessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.prometheus.readinessProbe.failureThreshold }} + successThreshold: {{ .Values.prometheus.readinessProbe.successThreshold }} + {{- end }} + {{- end }} + {{- if or .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled .Values.operator.prometheusConfigReloader.livenessProbe.enabled .Values.operator.prometheusConfigReloader.readinessProbe.enabled }} + ## This monkey patching is needed until the securityContexts are + ## directly patchable via the CRD. + ## ref: https://github.com/prometheus-operator/prometheus-operator/issues/3947 + ## currently implemented with strategic merge + ## ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/strategic-merge-patch.md + - name: config-reloader + {{- if .Values.operator.prometheusConfigReloader.containerSecurityContext.enabled }} + securityContext: {{- omit .Values.operator.prometheusConfigReloader.containerSecurityContext "enabled" | toYaml | nindent 8 }} + {{- end }} + {{- if .Values.operator.prometheusConfigReloader.livenessProbe.enabled }} + livenessProbe: + tcpSocket: + port: reloader-web + initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.livenessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.failureThreshold }} + successThreshold: {{ .Values.operator.prometheusConfigReloader.livenessProbe.successThreshold }} + {{- end }} + {{- if .Values.operator.prometheusConfigReloader.readinessProbe.enabled }} + readinessProbe: + tcpSocket: + port: reloader-web + initialDelaySeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.periodSeconds }} + timeoutSeconds: {{ .Values.operator.prometheusConfigReloader.readinessProbe.timeoutSeconds }} + failureThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.failureThreshold }} + successThreshold: {{ .Values.operator.prometheusConfigReloader.readinessProbe.successThreshold }} + {{- end }} + {{- end }} + {{- if .Values.prometheus.containers }} + {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.containers "context" $) | nindent 4 }} + {{- end }} + {{- end }} + {{- if .Values.prometheus.priorityClassName }} + priorityClassName: {{ .Values.prometheus.priorityClassName }} + {{- end }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/_servicemonitor.tpl b/enterprise/prometheus/13.1.0/templates/prometheus/_servicemonitor.tpl new file mode 100644 index 0000000000..20744f2c92 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/_servicemonitor.tpl @@ -0,0 +1,29 @@ +{{- define "prometheus.prometheus.servicemonitor" -}} +{{- if and .Values.prometheus.enabled .Values.prometheus.serviceMonitor.enabled }} +--- +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "kube-prometheus.prometheus.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} +spec: + selector: + matchLabels: {{- include "kube-prometheus.prometheus.matchLabels" . | nindent 6 }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} + endpoints: + - port: http + {{- if .Values.prometheus.serviceMonitor.interval }} + interval: {{ .Values.prometheus.serviceMonitor.interval }} + {{- end }} + path: {{ trimSuffix "/" .Values.prometheus.routePrefix }}/metrics + {{- if .Values.prometheus.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- include "tc.v1.common.tplvalues.render" ( dict "value" .Values.prometheus.serviceMonitor.metricRelabelings "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.prometheus.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.prometheus.serviceMonitor.relabelings | nindent 8 }} + {{- end }} +{{- end }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/clusterrole.yaml b/enterprise/prometheus/13.1.0/templates/prometheus/clusterrole.yaml new file mode 100644 index 0000000000..ae96e2d45f --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/clusterrole.yaml @@ -0,0 +1,41 @@ +{{- if .Values.prometheus.enabled -}} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ template "kube-prometheus.prometheus.fullname" . }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} +rules: + - apiGroups: + - "" + resources: + - nodes/metrics + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - nodes + - nodes/proxy + - services + - endpoints + - pods + verbs: + - "get" + - "list" + - "watch" + - apiGroups: + - extensions + - "networking.k8s.io" + resources: + - ingresses + verbs: + - get + - list + - watch + - nonResourceURLs: + - "/metrics" + verbs: + - "get" +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/clusterrolebinding.yaml b/enterprise/prometheus/13.1.0/templates/prometheus/clusterrolebinding.yaml new file mode 100644 index 0000000000..7ca10743f4 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/clusterrolebinding.yaml @@ -0,0 +1,15 @@ +{{- if .Values.prometheus.enabled }} +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ template "kube-prometheus.prometheus.fullname" . }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ template "kube-prometheus.prometheus.fullname" . }} +subjects: + - kind: ServiceAccount + name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/templates/prometheus/serviceaccount.yaml b/enterprise/prometheus/13.1.0/templates/prometheus/serviceaccount.yaml new file mode 100644 index 0000000000..39539fc119 --- /dev/null +++ b/enterprise/prometheus/13.1.0/templates/prometheus/serviceaccount.yaml @@ -0,0 +1,12 @@ +{{- if and .Values.prometheus.enabled .Values.prometheus.serviceAccount.create }} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ template "kube-prometheus.prometheus.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} + labels: {{- include "kube-prometheus.prometheus.labels" . | nindent 4 }} + {{- if index .Values.prometheus.serviceAccount "annotations" }} + annotations: {{- include "tc.v1.common.tplvalues.render" (dict "value" .Values.prometheus.serviceAccount.annotations "context" $) | nindent 4 }} + {{- end }} +{{- include "kube-prometheus.imagePullSecrets" . }} +{{- end }} diff --git a/enterprise/prometheus/13.1.0/values.yaml b/enterprise/prometheus/13.1.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/joplin-server/14.1.0/CHANGELOG.md b/stable/joplin-server/14.1.0/CHANGELOG.md new file mode 100644 index 0000000000..7aa4657004 --- /dev/null +++ b/stable/joplin-server/14.1.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [joplin-server-14.1.0](https://github.com/truecharts/charts/compare/joplin-server-14.0.15...joplin-server-14.1.0) (2023-12-18) + +### Chore + +- update container image joplin/server to v2.14.1[@3444fe7](https://github.com/3444fe7) by renovate ([#16280](https://github.com/truecharts/charts/issues/16280)) + + + + +## [joplin-server-14.0.15](https://github.com/truecharts/charts/compare/joplin-server-14.0.13...joplin-server-14.0.15) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [joplin-server-14.0.15](https://github.com/truecharts/charts/compare/joplin-server-14.0.13...joplin-server-14.0.15) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [joplin-server-14.0.14](https://github.com/truecharts/charts/compare/joplin-server-14.0.13...joplin-server-14.0.14) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + + + + +## [joplin-server-14.0.13](https://github.com/truecharts/charts/compare/joplin-server-14.0.12...joplin-server-14.0.13) (2023-12-03) + +### Chore + +- bump everything to ensure catalog has latest versions + - fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + + + + + + + + + + + + +## [joplin-server-14.0.12](https://github.com/truecharts/charts/compare/joplin-server-14.0.11...joplin-server-14.0.12) (2023-11-19) + +### Fix + +- update container image joplin/server to v2.13.5 ([#15106](https://github.com/truecharts/charts/issues/15106)) + + + + +## [joplin-server-14.0.11](https://github.com/truecharts/charts/compare/joplin-server-14.0.10...joplin-server-14.0.11) (2023-11-17) + + + + +## [joplin-server-14.0.10](https://github.com/truecharts/charts/compare/joplin-server-14.0.9...joplin-server-14.0.10) (2023-11-15) + +### Chore + +- update container image tccr.io/truecharts/joplin-server to v2.13.4 ([#14689](https://github.com/truecharts/charts/issues/14689)) + + + + +## [joplin-server-14.0.9](https://github.com/truecharts/charts/compare/joplin-server-14.0.8...joplin-server-14.0.9) (2023-11-08) + +### Chore + +- update helm general non-major ([#14465](https://github.com/truecharts/charts/issues/14465)) + + + + +## [joplin-server-14.0.8](https://github.com/truecharts/charts/compare/joplin-server-14.0.7...joplin-server-14.0.8) (2023-11-08) + +### Chore diff --git a/stable/joplin-server/14.1.0/Chart.yaml b/stable/joplin-server/14.1.0/Chart.yaml new file mode 100644 index 0000000000..02f8ed8460 --- /dev/null +++ b/stable/joplin-server/14.1.0/Chart.yaml @@ -0,0 +1,38 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: joplin-server +version: 14.1.0 +appVersion: 2.14.1 +description: Allows you to sync any Joplin client. +home: https://truecharts.org/charts/stable/joplin-server +icon: https://truecharts.org/img/hotlink-ok/chart-icons/joplin-server.png +deprecated: false +sources: + - https://github.com/laurent22/joplin/tree/dev/packages/server + - https://github.com/laurent22/joplin + - https://github.com/truecharts/charts/tree/master/charts/stable/joplin-server + - https://hub.docker.com/r/joplin/server +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - joplin + - notes +dependencies: + - name: common + version: 14.5.0 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.1 + min_scale_version: 22.12.4 + truecharts.org/SCALE-support: "true" + truecharts.org/category: media + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +type: application diff --git a/stable/joplin-server/14.1.0/README.md b/stable/joplin-server/14.1.0/README.md new file mode 100644 index 0000000000..6dcfc64212 --- /dev/null +++ b/stable/joplin-server/14.1.0/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/joplin-server) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/stable/joplin-server/14.1.0/app-changelog.md b/stable/joplin-server/14.1.0/app-changelog.md new file mode 100644 index 0000000000..37d8019d6a --- /dev/null +++ b/stable/joplin-server/14.1.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [joplin-server-14.1.0](https://github.com/truecharts/charts/compare/joplin-server-14.0.15...joplin-server-14.1.0) (2023-12-18) + +### Chore + +- update container image joplin/server to v2.14.1[@3444fe7](https://github.com/3444fe7) by renovate ([#16280](https://github.com/truecharts/charts/issues/16280)) + + \ No newline at end of file diff --git a/stable/joplin-server/14.1.0/app-readme.md b/stable/joplin-server/14.1.0/app-readme.md new file mode 100644 index 0000000000..54f7320860 --- /dev/null +++ b/stable/joplin-server/14.1.0/app-readme.md @@ -0,0 +1,8 @@ +Allows you to sync any Joplin client. + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/joplin-server](https://truecharts.org/charts/stable/joplin-server) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/stable/joplin-server/14.1.0/charts/common-14.5.0.tgz b/stable/joplin-server/14.1.0/charts/common-14.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..724185dc7b80b952cd847d355da36fc6d9a5b4e6 GIT binary patch literal 74411 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

E% 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 + Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: certificateIssuer + label: certificateIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 0 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 0 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: ingress + label: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - variable: openvpn + label: OpenVPN Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: string + show_if: [["type", "!=", "disabled"]] + default: "" + + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + max_length: 10240 + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/stable/joplin-server/14.1.0/templates/NOTES.txt b/stable/joplin-server/14.1.0/templates/NOTES.txt new file mode 100644 index 0000000000..72e715a3bc --- /dev/null +++ b/stable/joplin-server/14.1.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/joplin-server/14.1.0/templates/common.yaml b/stable/joplin-server/14.1.0/templates/common.yaml new file mode 100644 index 0000000000..9d95f16171 --- /dev/null +++ b/stable/joplin-server/14.1.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/joplin-server/14.1.0/values.yaml b/stable/joplin-server/14.1.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2 diff --git a/stable/wekan/10.6.0/CHANGELOG.md b/stable/wekan/10.6.0/CHANGELOG.md new file mode 100644 index 0000000000..e72dfa5629 --- /dev/null +++ b/stable/wekan/10.6.0/CHANGELOG.md @@ -0,0 +1,99 @@ +**Important:** +*for the complete changelog, please refer to the website* + + + + +## [wekan-10.6.0](https://github.com/truecharts/charts/compare/wekan-10.5.2...wekan-10.6.0) (2023-12-18) + +### Chore + +- update container image wekanteam/wekan to v7.24[@edde3ac](https://github.com/edde3ac) by renovate ([#16287](https://github.com/truecharts/charts/issues/16287)) + + + + +## [wekan-10.5.2](https://github.com/truecharts/charts/compare/wekan-10.5.0...wekan-10.5.2) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [wekan-10.5.2](https://github.com/truecharts/charts/compare/wekan-10.5.0...wekan-10.5.2) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + - update helm general non-major ([#14784](https://github.com/truecharts/charts/issues/14784)) + + + + +## [wekan-10.5.1](https://github.com/truecharts/charts/compare/wekan-10.5.0...wekan-10.5.1) (2023-12-16) + +### Chore + +- fix move mistake and cleanup metadata + + + + +## [wekan-10.5.0](https://github.com/truecharts/charts/compare/wekan-10.4.1...wekan-10.5.0) (2023-12-12) + +### Chore + +- update container image wekanteam/wekan to v7.23[@2396440](https://github.com/2396440) ([#15981](https://github.com/truecharts/charts/issues/15981)) + + + + +## [wekan-10.4.1](https://github.com/truecharts/charts/compare/wekan-10.4.0...wekan-10.4.1) (2023-12-03) + +### Chore + +- bump everything to ensure catalog has latest versions + + + + +## [wekan-10.4.0](https://github.com/truecharts/charts/compare/wekan-10.3.0...wekan-10.4.0) (2023-12-02) + +### Chore + +- fix annotations again + - update annotations + - cleanup chart.yaml and add min-max scale version + - update container image wekanteam/wekan to v7.22[@2331615](https://github.com/2331615) ([#15569](https://github.com/truecharts/charts/issues/15569)) + + + + + + + + + + + + +## [wekan-10.3.0](https://github.com/truecharts/charts/compare/wekan-10.2.0...wekan-10.3.0) (2023-11-27) + +### Chore + +- update container image wekanteam/wekan to v7.21[@d8c16e3](https://github.com/d8c16e3) ([#15419](https://github.com/truecharts/charts/issues/15419)) + + + + +## [wekan-10.2.0](https://github.com/truecharts/charts/compare/wekan-10.1.0...wekan-10.2.0) (2023-11-26) + +### Chore + +- update container image wekanteam/wekan to v7.20[@59089fe](https://github.com/59089fe) ([#15394](https://github.com/truecharts/charts/issues/15394)) + + + diff --git a/stable/wekan/10.6.0/Chart.yaml b/stable/wekan/10.6.0/Chart.yaml new file mode 100644 index 0000000000..def0302dc2 --- /dev/null +++ b/stable/wekan/10.6.0/Chart.yaml @@ -0,0 +1,45 @@ +kubeVersion: ">=1.24.0-0" +apiVersion: v2 +name: wekan +version: 10.6.0 +appVersion: "7.24" +description: WeKan - Open Source kanban +home: https://truecharts.org/charts/stable/wekan +icon: https://truecharts.org/img/hotlink-ok/chart-icons/wekan.png +deprecated: false +sources: + - https://github.com/truecharts/charts/tree/master/charts/stable/wekan + - https://hub.docker.com/r/wekanteam/wekan + - https://wekan.github.io/ + - https://github.com/wekan/wekan +maintainers: + - name: TrueCharts + email: info@truecharts.org + url: https://truecharts.org +keywords: + - wekan + - kanban +dependencies: + - name: common + version: 14.5.0 + repository: https://library-charts.truecharts.org + condition: "" + alias: "" + tags: [] + import-values: [] + - name: mongodb + version: 6.0.67 + repository: https://deps.truecharts.org + condition: mongodb.enabled + alias: "" + tags: [] + import-values: [] +annotations: + max_scale_version: 23.10.1 + min_scale_version: 22.12.4 + truecharts.org/SCALE-support: "true" + truecharts.org/category: productivity + truecharts.org/max_helm_version: "3.13" + truecharts.org/min_helm_version: "3.12" + truecharts.org/train: stable +type: application diff --git a/stable/wekan/10.6.0/README.md b/stable/wekan/10.6.0/README.md new file mode 100644 index 0000000000..5608dfe488 --- /dev/null +++ b/stable/wekan/10.6.0/README.md @@ -0,0 +1,27 @@ +# README + +## General Info + +TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE. +However only installations using the TrueNAS SCALE Apps system are supported. + +For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/wekan) + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)** + + +## Support + +- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro). +- See the [Website](https://truecharts.org) +- Check our [Discord](https://discord.gg/tVsPTHWTtr) +- Open a [issue](https://github.com/truecharts/charts/issues/new/choose) + +--- + +## Sponsor TrueCharts + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! + +*All Rights Reserved - The TrueCharts Project* diff --git a/stable/wekan/10.6.0/app-changelog.md b/stable/wekan/10.6.0/app-changelog.md new file mode 100644 index 0000000000..c6432d2f9f --- /dev/null +++ b/stable/wekan/10.6.0/app-changelog.md @@ -0,0 +1,9 @@ + + +## [wekan-10.6.0](https://github.com/truecharts/charts/compare/wekan-10.5.2...wekan-10.6.0) (2023-12-18) + +### Chore + +- update container image wekanteam/wekan to v7.24[@edde3ac](https://github.com/edde3ac) by renovate ([#16287](https://github.com/truecharts/charts/issues/16287)) + + \ No newline at end of file diff --git a/stable/wekan/10.6.0/app-readme.md b/stable/wekan/10.6.0/app-readme.md new file mode 100644 index 0000000000..e0a07691ef --- /dev/null +++ b/stable/wekan/10.6.0/app-readme.md @@ -0,0 +1,8 @@ +WeKan - Open Source kanban + +This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/wekan](https://truecharts.org/charts/stable/wekan) + +--- + +TrueCharts can only exist due to the incredible effort of our staff. +Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can! diff --git a/stable/wekan/10.6.0/charts/common-14.5.0.tgz b/stable/wekan/10.6.0/charts/common-14.5.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..724185dc7b80b952cd847d355da36fc6d9a5b4e6 GIT binary patch literal 74411 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

E% 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

K^6VsR&&jklFJ#<97Q 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

MCdGah8hKZ08hs7B&M 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 W#^+D_{BHmN0RR6)Q$N`N6cGURPAoG3 literal 0 HcmV?d00001 diff --git a/stable/wekan/10.6.0/ix_values.yaml b/stable/wekan/10.6.0/ix_values.yaml new file mode 100644 index 0000000000..1a645dc5d2 --- /dev/null +++ b/stable/wekan/10.6.0/ix_values.yaml @@ -0,0 +1,159 @@ +image: + repository: wekanteam/wekan + tag: v7.24@sha256:edde3aca99c7680089e486f97c377d7d37f9bad40ccfa85558f81dd7d0e67dad + pullPolicy: IfNotPresent +service: + main: + ports: + main: + port: 10192 + targetPort: 8080 +mongodb: + enabled: true + mongodbUsername: wekan + mongodbDatabase: wekan +persistence: + data: + enabled: true + mountPath: "/data" +portal: + open: + enabled: true +workload: + main: + podSpec: + containers: + main: + env: + WRITABLE_PATH: "/data" + # User Defined + ROOT_URL: "http://localhost:8080" + # BROWSER_POLICY_ENABLED: false + # TRUSTED_URL: "" + # LOGOUT_WITH_TIMER: false + # LOGOUT_IN: 0 + # LOGOUT_ON_HOURS: 0 + # LOGOUT_ON_MINUTES: 0 + # ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS: 90 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE: 3 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD: 60 + # ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW: 15 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE: 3 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD: 60 + # ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW: 15 + # MAX_IMAGE_PIXEL: 1024 + # IMAGE_COMPRESS_RATIO: 80 + # MAIL_URL: "" + # MAIL_SERVICE_USER: "" + # MAIL_SERVICE_PASSWORD: "" + # MAIL_SERVICE: "" + # BIGEVENTS_PATTERN: "NONE" + # NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE: 90 + # EMAIL_NOTIFICATION_TIMEOUT: 30000 + # NOTIFY_DUE_DAYS_BEFORE_AND_AFTER: "2,0" + # NOTIFY_DUE_AT_HOUR_OF_DAY: 8 + # RESULTS_PER_PAGE: 20 + # RICHER_CARD_COMMENT_EDITOR: false + # CARD_OPENED_WEBHOOK_ENABLED: false + # PASSWORD_LOGIN_ENABLED: false + # WAIT_SPINNER: "Bounce" + # WITH_API: true + # WEBHOOKS_ATTRIBUTES: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue" + # CORS: "*" + # CORS_ALLOW_HEADERS: "Authorization,Content-Type" + # CORS_EXPOSE_HEADERS: "*" + # MATOMO_ADDRESS: "" + # MATOMO_SITE_ID: 1 + # MATOMO_DO_NOT_TRACK: true + # MATOMO_WITH_USERNAME: true + # ORACLE_OIM_ENABLED: false + # OAUTH2_ENABLED: false + # OAUTH2_LOGIN_STYLE: "redirect" + # OAUTH2_CLIENT_ID: "" + # OAUTH2_SECRET: "" + # OAUTH2_SERVER_URL: "" + # OAUTH2_AUTH_ENDPOINT: "" + # OAUTH2_USERINFO_ENDPOINT: "" + # OAUTH2_TOKEN_ENDPOINT: "" + # OAUTH2_ID_MAP: "" + # OAUTH2_USERNAME_MAP: "" + # OAUTH2_FULLNAME_MAP: "" + # OAUTH2_EMAIL_MAP: "" + # OAUTH2_ID_TOKEN_WHITELIST_FIELDS: "" + # OAUTH2_REQUEST_PERMISSIONS: "" + # OAUTH2_CA_CERT: "" + # OAUTH2_ADFS_ENABLED: false + # LDAP_ENABLE: false + # DEFAULT_AUTHENTICATION_METHOD: "ldap" + # LDAP_PORT: 389 + # LDAP_HOST: "" + # LDAP_AD_SIMPLE_AUTH: false + # LDAP_USER_AUTHENTICATION: false + # LDAP_USER_AUTHENTICATION_FIELD: "uid" + # LDAP_DEFAULT_DOMAIN: "" + # LDAP_BASEDN: "" + # LDAP_LOGIN_FALLBACK: false + # LDAP_RECONNECT: true + # LDAP_TIMEOUT: 10000 + # LDAP_IDLE_TIMEOUT: 10000 + # LDAP_CONNECT_TIMEOUT: 10000 + # LDAP_AUTHENTIFICATION: true + # LDAP_AUTHENTIFICATION_USERDN: "" + # LDAP_AUTHENTIFICATION_PASSWORD: "" + # LDAP_LOG_ENABLED: true + # LDAP_BACKGROUND_SYNC: true + # LDAP_BACKGROUND_SYNC_INTERVAL: "every 1 hour" + # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED: false + # LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS: false + # LDAP_ENCRYPTION: "false" + # LDAP_CA_CERT: "" + # LDAP_REJECT_UNAUTHORIZED: false + # LDAP_USER_SEARCH_FILTER: "" + # LDAP_USER_SEARCH_SCOPE: "one" + # LDAP_USER_SEARCH_FIELD: "" + # LDAP_SEARCH_PAGE_SIZE: 0 + # LDAP_SEARCH_SIZE_LIMIT: 0 + # LDAP_GROUP_FILTER_ENABLE: false + # LDAP_GROUP_FILTER_OBJECTCLASS: "" + # LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE: "" + # LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE: "" + # LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT: "" + # LDAP_GROUP_FILTER_GROUP_NAME: "" + # LDAP_UNIQUE_IDENTIFIER_FIELD: "" + # LDAP_UTF8_NAMES_SLUGIFY: true + # LDAP_USERNAME_FIELD: "" + # LDAP_FULLNAME_FIELD: "fullname" + # LDAP_MERGE_EXISTING_USERS: false + # LDAP_EMAIL_MATCH_ENABLE: true + # LDAP_EMAIL_MATCH_REQUIRE: true + # LDAP_EMAIL_MATCH_VERIFIED: true + # LDAP_EMAIL_FIELD: "mail" + # LDAP_SYNC_USER_DATA: false + # LDAP_SYNC_USER_DATA_FIELDMAP: "" + # LDAP_SYNC_GROUP_ROLES: "" + # LDAP_SYNC_ADMIN_STATUS: true + # LDAP_SYNC_ADMIN_GROUPS: "" + # HEADER_LOGIN_ID: "" + # HEADER_LOGIN_FIRSTNAME: "" + # HEADER_LOGIN_LASTNAME: "" + # HEADER_LOGIN_EMAIL: "" + # CAS_ENABLED: false + # CAS_BASE_URL: "" + # CAS_LOGIN_URL: "" + # CAS_VALIDATE_URL: "" + # SAML_ENABLED: false + # SAML_PROVIDER: "" + # SAML_ENTRYPOINT: "" + # SAML_ISSUER: "" + # SAML_CERT: "" + # SAML_IDPSLO_REDIRECTURL: "" + # SAML_PRIVATE_KEYFILE: "" + # SAML_PUBLIC_CERTFILE: "" + # SAML_IDENTIFIER_FORMAT: "" + # SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE: "" + # SAML_ATTRIBUTES: "" + MONGO_URL: + secretKeyRef: + expandObjectName: false + name: '{{ printf "%s-%s" .Release.Name "mongodbcreds" }}' + key: url diff --git a/stable/wekan/10.6.0/questions.yaml b/stable/wekan/10.6.0/questions.yaml new file mode 100644 index 0000000000..f07949e0be --- /dev/null +++ b/stable/wekan/10.6.0/questions.yaml @@ -0,0 +1,3639 @@ +groups: + - name: Container Image + description: Image to be used for container + - name: General Settings + description: General Deployment Settings + - name: Workload Settings + description: Workload Settings + - name: App Configuration + description: App Specific Config Options + - name: Networking and Services + description: Configure Network and Services for Container + - name: Storage and Persistence + description: Persist and Share Data that is Separate from the Container + - name: Ingress + description: Ingress Configuration + - name: Security and Permissions + description: Configure Security Context and Permissions + - name: Resources and Devices + description: "Specify Resources/Devices to be Allocated to Workload" + - name: Middlewares + description: Traefik Middlewares + - name: Metrics + description: Metrics + - name: Addons + description: Addon Configuration + - name: Advanced + description: Advanced Configuration + - name: Postgresql + description: Postgresql + - name: Documentation + description: Documentation +portals: + open: + protocols: + - "$kubernetes-resource_configmap_tcportal-open_protocol" + host: + - "$kubernetes-resource_configmap_tcportal-open_host" + ports: + - "$kubernetes-resource_configmap_tcportal-open_port" +questions: + - variable: global + group: General Settings + label: "Global Settings" + schema: + additional_attrs: true + type: dict + attrs: + - variable: stopAll + label: Stop All + description: "Stops All Running pods and hibernates cnpg" + schema: + type: boolean + default: false + - variable: workload + group: "Workload Settings" + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type (Advanced) + schema: + type: string + default: Deployment + enum: + - value: Deployment + description: Deployment + - value: DaemonSet + description: DaemonSet + + - variable: replicas + label: Replicas (Advanced) + description: Set the number of Replicas + schema: + type: int + show_if: [["type", "!=", "DaemonSet"]] + default: 1 + - variable: podSpec + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: containers + label: Containers + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: Main Container + schema: + additional_attrs: true + type: dict + attrs: + + + - variable: env + group: "App Configuration" + label: "Image Environment" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ROOT_URL + label: "ROOT_URL" + schema: + type: string + default: "" + required: true + - variable: BROWSER_POLICY_ENABLED + label: "BROWSER_POLICY_ENABLED" + description: "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside." + schema: + type: boolean + default: false + - variable: TRUSTED_URL + label: "TRUSTED_URL" + description: "When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside." + schema: + type: string + default: "" + - variable: logoutenabled + label: "Logout/Login Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: LOGOUT_WITH_TIMER + label: "LOGOUT_WITH_TIMER" + schema: + type: boolean + default: false + - variable: LOGOUT_IN + label: "LOGOUT_IN (Days)" + schema: + type: int + default: 0 + - variable: LOGOUT_ON_HOURS + label: "LOGOUT_ON_HOURS" + schema: + type: int + default: 0 + - variable: LOGOUT_ON_MINUTES + label: "LOGOUT_ON_MINUTES" + schema: + type: int + default: 0 + - variable: ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS + label: "ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS" + schema: + type: int + default: 90 + - variable: passwordnabled + label: "Password Brute Force Protection Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE" + schema: + type: int + default: 3 + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD" + schema: + type: int + default: 60 + - variable: ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW + label: "ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW" + schema: + type: int + default: 15 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE" + schema: + type: int + default: 3 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD" + schema: + type: int + default: 60 + - variable: ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW + label: "ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW" + schema: + type: int + default: 15 + - variable: imagenabled + label: "Image Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MAX_IMAGE_PIXEL + label: "MAX_IMAGE_PIXEL" + schema: + type: int + default: 1024 + - variable: IMAGE_COMPRESS_RATIO + label: "IMAGE_COMPRESS_RATIO" + schema: + type: int + default: 80 + - variable: mailenabled + label: "Mail Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MAIL_URL + label: "MAIL_URL" + schema: + type: string + default: "" + - variable: MAIL_SERVICE_USER + label: "MAIL_SERVICE_USER" + schema: + type: string + default: "" + - variable: MAIL_SERVICE_PASSWORD + label: "MAIL_SERVICE_PASSWORD" + schema: + type: string + private: true + default: "" + - variable: MAIL_SERVICE + label: "MAIL_SERVICE" + schema: + type: string + default: "" + - variable: notificationsenabled + label: "Notifications Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: BIGEVENTS_PATTERN + label: "BIGEVENTS_PATTERN" + schema: + type: string + default: "NONE" + - variable: NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE + label: "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE" + description: "Number of days after a notification is read before we remove it." + schema: + type: int + default: 90 + - variable: EMAIL_NOTIFICATION_TIMEOUT + label: "EMAIL_NOTIFICATION_TIMEOUT" + schema: + type: int + default: 30000 + - variable: NOTIFY_DUE_DAYS_BEFORE_AND_AFTER + label: "NOTIFY_DUE_DAYS_BEFORE_AND_AFTER" + description: "Notify due days, default is None, 2 days before and on the event day" + schema: + type: string + default: "2,0" + - variable: NOTIFY_DUE_AT_HOUR_OF_DAY + label: "NOTIFY_DUE_AT_HOUR_OF_DAY" + description: "Notify due at hour of day." + schema: + type: int + default: 8 + - variable: personalizationenabled + label: "UX Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: RESULTS_PER_PAGE + label: "RESULTS_PER_PAGE" + schema: + type: int + default: 20 + required: true + - variable: RICHER_CARD_COMMENT_EDITOR + label: "RICHER_CARD_COMMENT_EDITOR" + schema: + type: boolean + default: false + - variable: CARD_OPENED_WEBHOOK_ENABLED + label: "CARD_OPENED_WEBHOOK_ENABLED" + schema: + type: boolean + default: false + - variable: PASSWORD_LOGIN_ENABLED + label: "PASSWORD_LOGIN_ENABLED" + schema: + type: boolean + default: false + - variable: WAIT_SPINNER + label: "WAIT_SPINNER" + description: "Sets the Wait Spinner animation" + schema: + type: string + default: "Bounce" + enum: + - value: "Bounce" + description: "Bounce" + - value: "Cube" + description: "Cube" + - value: "Cube-Grid" + description: "Cube-Grid" + - value: "Dot" + description: "Dot" + - value: "Double-Bounce" + description: "Double-Bounce" + - value: "Rotateplane" + description: "Rotateplane" + - value: "Scaleout" + description: "Scaleout" + - value: "Wave" + description: "Wave" + - variable: backendenabled + label: "Backend Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: WITH_API + label: "WITH_API" + schema: + type: boolean + default: true + - variable: WEBHOOKS_ATTRIBUTES + label: "WEBHOOKS_ATTRIBUTES" + description: "What to send to Outgoing Webhook." + schema: + type: string + default: "cardId,listId,oldListId,boardId,comment,user,card,commentId,swimlaneId,customerField,customFieldValue" + - variable: corsenabled + label: "CORS Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: CORS + label: "CORS" + schema: + type: string + default: "*" + - variable: CORS_ALLOW_HEADERS + label: "CORS_ALLOW_HEADERS" + schema: + type: string + default: "Authorization,Content-Type" + - variable: CORS_EXPOSE_HEADERS + label: "CORS_EXPOSE_HEADERS" + schema: + type: string + default: "*" + - variable: matomoenabled + label: "Matomo Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: MATOMO_ADDRESS + label: "MATOMO_ADDRESS" + description: "The address of the server where Matomo is hosted." + schema: + type: string + default: "" + - variable: MATOMO_SITE_ID + label: "MATOMO_SITE_ID" + description: "The value of the site ID given in Matomo server for Wekan." + schema: + type: int + default: 1 + - variable: MATOMO_DO_NOT_TRACK + label: "MATOMO_DO_NOT_TRACK" + description: "The option do not track which enables users to not be tracked by matomo." + schema: + type: boolean + default: true + - variable: MATOMO_WITH_USERNAME + label: "MATOMO_WITH_USERNAME" + description: "The option that allows matomo to retrieve the username." + schema: + type: boolean + default: true + - variable: ORACLE_OIM_ENABLED + label: "ORACLE_OIM_ENABLED" + description: "OAUTH2 ORACLE on premise identity manager OIM" + schema: + type: boolean + default: false + - variable: oatuhncenabled + label: "OAUTH2 Nextcloud Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: oatuhkeycloackenabled + label: "OAUTH2 Keycloack Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: oatuhdoorkeeperenabled + label: "OAUTH2 Doorkeeper Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_TOKEN_WHITELIST_FIELDS + label: "OAUTH2_ID_TOKEN_WHITELIST_FIELDS" + schema: + type: string + default: "" + - variable: OAUTH2_REQUEST_PERMISSIONS + label: "OAUTH2_REQUEST_PERMISSIONS" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: oatuhazureenabled + label: "OAUTH2 Azure Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: OAUTH2_ENABLED + label: "OAUTH2_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_CA_CERT + label: "OAUTH2_CA_CERT" + schema: + type: string + private: true + default: "" + - variable: OAUTH2_ADFS_ENABLED + label: "OAUTH2_ADFS_ENABLED" + schema: + type: boolean + default: false + - variable: OAUTH2_LOGIN_STYLE + label: "OAUTH2_LOGIN_STYLE" + description: "OAuth2 login style: popup or redirect." + schema: + type: string + default: "redirect" + enum: + - value: "redirect" + description: "redirect" + - value: "popup" + description: "popup" + - variable: OAUTH2_CLIENT_ID + label: "OAUTH2_CLIENT_ID" + description: "Application GUID captured during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SECRET + label: "OAUTH2_SECRET" + description: "Secret key generated during app registration" + schema: + type: string + default: "" + - variable: OAUTH2_SERVER_URL + label: "OAUTH2_SERVER_URL" + schema: + type: string + default: "" + - variable: OAUTH2_AUTH_ENDPOINT + label: "OAUTH2_AUTH_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_USERINFO_ENDPOINT + label: "OAUTH2_USERINFO_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_TOKEN_ENDPOINT + label: "OAUTH2_TOKEN_ENDPOINT" + schema: + type: string + default: "" + - variable: OAUTH2_ID_MAP + label: "OAUTH2_ID_MAP" + description: "The claim name you want to map to the unique ID field." + schema: + type: string + default: "" + - variable: OAUTH2_USERNAME_MAP + label: "OAUTH2_USERNAME_MAP" + description: "The claim name you want to map to the username field." + schema: + type: string + default: "" + - variable: OAUTH2_FULLNAME_MAP + label: "OAUTH2_FULLNAME_MAP" + description: "The claim name you want to map to the full name field." + schema: + type: string + default: "" + - variable: OAUTH2_EMAIL_MAP + label: "OAUTH2_EMAIL_MAP" + description: "The claim name you want to map to the email field." + schema: + type: string + default: "" + - variable: ldapenabled + label: "LDAP Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: LDAP_ENABLE + label: "LDAP_ENABLE" + schema: + type: boolean + default: false + - variable: DEFAULT_AUTHENTICATION_METHOD + label: "DEFAULT_AUTHENTICATION_METHOD" + schema: + type: string + default: "ldap" + - variable: LDAP_PORT + label: "LDAP_PORT" + schema: + type: int + default: 389 + - variable: LDAP_HOST + label: "LDAP_HOST" + schema: + type: string + default: "" + - variable: LDAP_AD_SIMPLE_AUTH + label: "LDAP_AD_SIMPLE_AUTH" + schema: + type: boolean + default: false + - variable: LDAP_USER_AUTHENTICATION + label: "LDAP_USER_AUTHENTICATION" + schema: + type: boolean + default: false + - variable: LDAP_USER_AUTHENTICATION_FIELD + label: "LDAP_USER_AUTHENTICATION_FIELD" + schema: + type: string + default: "uid" + - variable: LDAP_DEFAULT_DOMAIN + label: "LDAP_DEFAULT_DOMAIN" + schema: + type: string + default: "" + - variable: LDAP_BASEDN + label: "LDAP_BASEDN" + schema: + type: string + default: "" + - variable: LDAP_LOGIN_FALLBACK + label: "LDAP_LOGIN_FALLBACK" + schema: + type: boolean + default: false + - variable: LDAP_RECONNECT + label: "LDAP_RECONNECT" + schema: + type: boolean + default: true + - variable: LDAP_TIMEOUT + label: "LDAP_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_IDLE_TIMEOUT + label: "LDAP_IDLE_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_CONNECT_TIMEOUT + label: "LDAP_CONNECT_TIMEOUT" + schema: + type: int + default: 10000 + - variable: LDAP_AUTHENTIFICATION + label: "LDAP_AUTHENTIFICATION" + schema: + type: boolean + default: true + - variable: LDAP_AUTHENTIFICATION_USERDN + label: "LDAP_AUTHENTIFICATION_USERDN" + schema: + type: string + default: "" + - variable: LDAP_AUTHENTIFICATION_PASSWORD + label: "LDAP_AUTHENTIFICATION_PASSWORD" + schema: + type: string + private: true + default: "" + - variable: LDAP_LOG_ENABLED + label: "LDAP_LOG_ENABLED" + schema: + type: boolean + default: true + - variable: LDAP_BACKGROUND_SYNC + label: "LDAP_BACKGROUND_SYNC" + schema: + type: boolean + default: true + - variable: LDAP_BACKGROUND_SYNC_INTERVAL + label: "LDAP_BACKGROUND_SYNC_INTERVAL" + schema: + type: string + default: "every 1 hour" + - variable: LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED + label: "LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED" + schema: + type: boolean + default: false + - variable: LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS + label: "LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS" + schema: + type: boolean + default: false + - variable: LDAP_ENCRYPTION + label: "LDAP_ENCRYPTION" + schema: + type: string + default: "false" + - variable: LDAP_CA_CERT + label: "LDAP_CA_CERT" + schema: + type: string + private: true + default: "" + - variable: LDAP_REJECT_UNAUTHORIZED + label: "LDAP_REJECT_UNAUTHORIZED" + schema: + type: boolean + default: false + - variable: LDAP_USER_SEARCH_FILTER + label: "LDAP_USER_SEARCH_FILTER" + schema: + type: string + default: "" + - variable: LDAP_USER_SEARCH_SCOPE + label: "LDAP_USER_SEARCH_SCOPE" + schema: + type: string + default: "one" + enum: + - value: "one" + description: "one" + - value: "base" + description: "base" + - value: "sub" + description: "sub" + - variable: LDAP_USER_SEARCH_FIELD + label: "LDAP_USER_SEARCH_FIELD" + schema: + type: string + default: "" + - variable: LDAP_SEARCH_PAGE_SIZE + label: "LDAP_SEARCH_PAGE_SIZE" + schema: + type: int + default: 0 + - variable: LDAP_SEARCH_SIZE_LIMIT + label: "LDAP_SEARCH_SIZE_LIMIT" + schema: + type: int + default: 0 + - variable: LDAP_GROUP_FILTER_ENABLE + label: "LDAP_GROUP_FILTER_ENABLE" + schema: + type: boolean + default: false + - variable: LDAP_GROUP_FILTER_OBJECTCLASS + label: "LDAP_GROUP_FILTER_OBJECTCLASS" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE + label: "LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE + label: "LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT + label: "LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT" + schema: + type: string + default: "" + - variable: LDAP_GROUP_FILTER_GROUP_NAME + label: "LDAP_GROUP_FILTER_GROUP_NAME" + schema: + type: string + default: "" + - variable: LDAP_UNIQUE_IDENTIFIER_FIELD + label: "LDAP_UNIQUE_IDENTIFIER_FIELD" + schema: + type: string + default: "" + - variable: LDAP_UTF8_NAMES_SLUGIFY + label: "LDAP_UTF8_NAMES_SLUGIFY" + schema: + type: boolean + default: true + - variable: LDAP_USERNAME_FIELD + label: "LDAP_USERNAME_FIELD" + schema: + type: string + default: "" + - variable: LDAP_FULLNAME_FIELD + label: "LDAP_FULLNAME_FIELD" + schema: + type: string + default: "fullname" + - variable: LDAP_MERGE_EXISTING_USERS + label: "LDAP_MERGE_EXISTING_USERS" + schema: + type: boolean + default: false + - variable: LDAP_EMAIL_MATCH_ENABLE + label: "LDAP_EMAIL_MATCH_ENABLE" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_MATCH_REQUIRE + label: "LDAP_EMAIL_MATCH_REQUIRE" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_MATCH_VERIFIED + label: "LDAP_EMAIL_MATCH_VERIFIED" + schema: + type: boolean + default: true + - variable: LDAP_EMAIL_FIELD + label: "LDAP_EMAIL_FIELD" + schema: + type: string + default: "mail" + - variable: LDAP_SYNC_USER_DATA + label: "LDAP_SYNC_USER_DATA" + schema: + type: boolean + default: false + - variable: LDAP_SYNC_USER_DATA_FIELDMAP + label: "LDAP_SYNC_USER_DATA_FIELDMAP" + schema: + type: string + default: "" + - variable: LDAP_SYNC_GROUP_ROLES + label: "LDAP_SYNC_GROUP_ROLES" + schema: + type: string + default: "" + - variable: LDAP_SYNC_ADMIN_STATUS + label: "LDAP_SYNC_ADMIN_STATUS" + schema: + type: boolean + default: true + - variable: LDAP_SYNC_ADMIN_GROUPS + label: "LDAP_SYNC_ADMIN_GROUPS" + schema: + type: string + default: "" + - variable: headerenabled + label: "LDAP Header Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: HEADER_LOGIN_ID + label: "HEADER_LOGIN_ID" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_FIRSTNAME + label: "HEADER_LOGIN_FIRSTNAME" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_LASTNAME + label: "HEADER_LOGIN_LASTNAME" + schema: + type: string + default: "" + - variable: HEADER_LOGIN_EMAIL + label: "HEADER_LOGIN_EMAIL" + schema: + type: string + default: "" + - variable: casenabled + label: "CAS Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: CAS_ENABLED + label: "CAS_ENABLED" + schema: + type: boolean + default: false + - variable: CAS_BASE_URL + label: "CAS_BASE_URL" + schema: + type: string + default: "" + - variable: CAS_LOGIN_URL + label: "CAS_LOGIN_URL" + schema: + type: string + default: "" + - variable: CAS_VALIDATE_URL + label: "CAS_VALIDATE_URL" + schema: + type: string + default: "" + - variable: samlenabled + label: "SAML Settings" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: SAML_ENABLED + label: "SAML_ENABLED" + schema: + type: boolean + default: false + - variable: SAML_PROVIDER + label: "SAML_PROVIDER" + schema: + type: string + default: "" + - variable: SAML_ENTRYPOINT + label: "SAML_ENTRYPOINT" + schema: + type: string + default: "" + - variable: SAML_ISSUER + label: "SAML_ISSUER" + schema: + type: string + default: "" + - variable: SAML_CERT + label: "SAML_CERT" + schema: + type: string + private: true + default: "" + - variable: SAML_IDPSLO_REDIRECTURL + label: "SAML_IDPSLO_REDIRECTURL" + schema: + type: string + default: "" + - variable: SAML_PRIVATE_KEYFILE + label: "SAML_PRIVATE_KEYFILE" + schema: + type: string + default: "" + - variable: SAML_PUBLIC_CERTFILE + label: "SAML_PUBLIC_CERTFILE" + schema: + type: string + default: "" + - variable: SAML_IDENTIFIER_FORMAT + label: "SAML_IDENTIFIER_FORMAT" + schema: + type: string + default: "" + - variable: SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE + label: "SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE" + schema: + type: string + default: "" + - variable: SAML_ATTRIBUTES + label: "SAML_ATTRIBUTES" + schema: + type: string + default: "" + - variable: envList + label: Extra Environment Variables + description: "Please be aware that some variables are set in the background, adding duplicates here might cause issues or prevent the app from starting..." + schema: + type: list + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + - variable: value + label: Value + schema: + type: string + - variable: extraArgs + label: Extra Args + schema: + type: list + default: [] + items: + - variable: arg + label: Arg + schema: + type: string + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: command + label: Command + schema: + type: list + default: [] + items: + - variable: param + label: Param + schema: + type: string + - variable: TZ + label: Timezone + group: "General Settings" + schema: + type: string + default: "Etc/UTC" + $ref: + - "definitions/timezone" + - variable: podOptions + group: "General Settings" + label: "Global Pod Options (Advanced)" + schema: + additional_attrs: true + type: dict + attrs: + - variable: expertPodOpts + label: "Expert - Pod Options" + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hostNetwork + label: "Host Networking" + schema: + type: boolean + default: false + - variable: dnsConfig + label: "DNS Configuration" + schema: + type: dict + additional_attrs: true + attrs: + - variable: options + label: "Options" + schema: + type: list + default: [{"name": "ndots", "value": "1"}] + items: + - variable: optionsEntry + label: "Option Entry" + schema: + type: dict + additional_attrs: true + attrs: + - variable: name + label: "Name" + schema: + type: string + required: true + - variable: value + label: "Value" + schema: + type: string + - variable: nameservers + label: "Nameservers" + schema: + type: list + default: [] + items: + - variable: nsEntry + label: "Nameserver Entry" + schema: + type: string + required: true + - variable: searches + label: "Searches" + schema: + type: list + default: [] + items: + - variable: searchEntry + label: "Search Entry" + schema: + type: string + required: true + + - variable: imagePullSecretList + group: "General Settings" + label: "Image Pull Secrets" + schema: + type: list + default: [] + items: + - variable: pullsecretentry + label: "Pull Secret" + schema: + type: dict + additional_attrs: true + attrs: + - variable: registry + label: "Registry" + schema: + type: string + required: true + default: "https://index.docker.io/v1/" + - variable: username + label: "Username" + schema: + type: string + required: true + default: "" + - variable: password + label: "Password" + schema: + type: string + required: true + default: "" + - variable: email + label: "Email" + schema: + type: string + required: true + default: "" + - variable: service + group: Networking and Services + label: Configure Service(s) + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Service + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "Service's Port(s) Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10192 + required: true + - variable: serviceexpert + group: Networking and Services + label: Show Expert Config + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: scaleExternalInterface + description: Add External Interfaces + label: Add external Interfaces + group: Networking + schema: + type: list + items: + - variable: interfaceConfiguration + description: Interface Configuration + label: Interface Configuration + schema: + additional_attrs: true + type: dict + $ref: + - "normalize/interfaceConfiguration" + attrs: + - variable: hostInterface + description: Please Specify Host Interface + label: Host Interface + schema: + type: string + required: true + $ref: + - "definitions/interface" + - variable: ipam + description: Define how IP Address will be managed + label: IP Address Management + schema: + additional_attrs: true + type: dict + required: true + attrs: + - variable: type + description: Specify type for IPAM + label: IPAM Type + schema: + type: string + required: true + enum: + - value: dhcp + description: Use DHCP + - value: static + description: Use Static IP + - variable: staticIPConfigurations + label: Static IP Addresses + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticIP + label: Static IP + schema: + type: ipaddr + cidr: true + - variable: staticRoutes + label: Static Routes + schema: + type: list + show_if: [["type", "=", "static"]] + items: + - variable: staticRouteConfiguration + label: Static Route Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: destination + label: Destination + schema: + type: ipaddr + cidr: true + required: true + - variable: gateway + label: Gateway + schema: + type: ipaddr + cidr: false + required: true + - variable: serviceList + label: Add Manual Custom Services + group: Networking and Services + schema: + type: list + default: [] + items: + - variable: serviceListEntry + label: Custom Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the service + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: LoadBalancer + description: LoadBalancer (Expose Ports) + - value: ClusterIP + description: ClusterIP (Do Not Expose Ports) + - value: Simple + description: Deprecated CHANGE THIS + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: advancedsvcset + label: Show Advanced Service Settings + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: externalIPs + label: "External IP's" + description: "External IP's" + schema: + type: list + default: [] + items: + - variable: externalIP + label: External IP + schema: + type: string + - variable: ipFamilyPolicy + label: IP Family Policy + description: Specify the IP Policy + schema: + type: string + default: SingleStack + enum: + - value: SingleStack + description: SingleStack + - value: PreferDualStack + description: PreferDualStack + - value: RequireDualStack + description: RequireDualStack + - variable: ipFamilies + label: IP Families + description: (Advanced) The IP Families that should be used + schema: + type: list + default: [] + items: + - variable: ipFamily + label: IP Family + schema: + type: string + - variable: portsList + label: Additional Service Ports + schema: + type: list + default: [] + items: + - variable: portsListEntry + label: Custom ports + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Port + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Port Name + schema: + type: string + default: "" + - variable: protocol + label: Port Type + schema: + type: string + default: tcp + enum: + - value: http + description: HTTP + - value: https + description: HTTPS + - value: tcp + description: TCP + - value: udp + description: UDP + - variable: targetPort + label: Target Port + description: This port exposes the container port on the service + schema: + type: int + required: true + - variable: port + label: Container Port + schema: + type: int + required: true + - variable: persistence + label: Integrated Persistent Storage + description: Integrated Persistent Storage + group: Storage and Persistence + schema: + additional_attrs: true + type: dict + attrs: + - variable: data + label: "App Data Storage" + description: "Stores the Application Data." + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: pvc + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - value: iscsi + description: iSCSI Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size quotum of Storage (Do NOT REDUCE after installation) + description: This value can ONLY be INCREASED after the installation + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: disabled + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: persistenceList + label: Additional App Storage + group: Storage and Persistence + schema: + type: list + default: [] + items: + - variable: persistenceListEntry + label: Custom Storage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the storage + schema: + type: boolean + default: true + hidden: true + - variable: type + label: Type of Storage + description: Sets the persistence type, Anything other than PVC could break rollback! + schema: + type: string + default: hostPath + enum: + - value: pvc + description: PVC + - value: hostPath + description: Host Path + - value: emptyDir + description: emptyDir + - value: nfs + description: NFS Share + - variable: server + label: NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: path + label: Path on NFS Server + schema: + show_if: [["type", "=", "nfs"]] + type: string + default: "" + - variable: iscsi + label: iSCSI Options + schema: + show_if: [["type", "=", "iscsi"]] + type: dict + additional_attrs: true + attrs: + - variable: targetPortal + label: targetPortal + schema: + type: string + required: true + default: "" + - variable: iqn + label: iqn + schema: + type: string + required: true + default: "" + - variable: lun + label: lun + schema: + type: int + default: 0 + - variable: authSession + label: authSession + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: authDiscovery + label: authDiscovery + schema: + type: dict + additional_attrs: true + attrs: + - variable: username + label: username + schema: + type: string + default: "" + - variable: password + label: password + schema: + type: string + default: "" + - variable: usernameInitiator + label: usernameInitiator + schema: + type: string + default: "" + - variable: passwordInitiator + label: passwordInitiator + schema: + type: string + default: "" + - variable: autoPermissions + label: Automatic Permissions Configuration + description: Automatically set permissions + schema: + show_if: [["type", "!=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: chown + label: Run CHOWN + description: | + It will run CHOWN on the path with the given fsGroup + schema: + type: boolean + default: false + - variable: chmod + label: Run CHMOD + description: | + It will run CHMOD on the path with the given value
+ Format should be 3 digits, e.g. 770 + schema: + type: string + valid_chars: '[0-9]{3}' + default: "" + - variable: recursive + label: Recursive + description: | + It will run CHOWN and CHMOD recursively + schema: + type: boolean + default: false + - variable: readOnly + label: Read Only + schema: + type: boolean + default: false + - variable: hostPath + label: Host Path + description: Path inside the container the storage is mounted + schema: + show_if: [["type", "=", "hostPath"]] + type: hostpath + - variable: mountPath + label: Mount Path + description: Path inside the container the storage is mounted + schema: + type: string + default: "" + required: true + valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$' + - variable: medium + label: EmptyDir Medium + schema: + show_if: [["type", "=", "emptyDir"]] + type: string + default: "" + enum: + - value: "" + description: Default + - value: Memory + description: Memory + - variable: size + label: Size Quotum of Storage + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: 256Gi + - variable: storageClass + label: 'storageClass (Advanced)' + description: 'sets the storageClass to something other than iX default. Only for advanced usecases!' + schema: + show_if: [["type", "=", "pvc"]] + type: string + default: "" + - variable: static + label: 'Static Fixed PVC Bindings (Experimental)' + description: Link a PVC to a specific storage location + schema: + show_if: [["type", "=", "pvc"]] + type: dict + additional_attrs: true + attrs: + - variable: mode + label: mode + description: | + disabled: use normal dynamic PVCs + smb: connect to an SMB share + nfs: connect to an NFS share + schema: + type: string + default: "disabled" + enum: + - value: "disabled" + description: disabled + - value: smb + description: smb + - value: nfs + description: nfs + - variable: server + label: Server + description: server to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "myserver" + - variable: share + label: Share + description: share to connect to + schema: + type: string + show_if: [["mode", "!=", "disabled"]] + default: "/myshare" + - variable: user + label: User + description: connecting user + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "myuser" + - variable: domain + label: Domain + description: user domain + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: password + label: Password + description: connecting password + schema: + type: string + show_if: [["mode", "=", "smb"]] + default: "" + - variable: volumeSnapshots + label: 'Volume Snapshots (Experimental)' + description: Add an entry to the list to force creation of a volumeSnapshot of this PVC + schema: + show_if: [["type", "=", "pvc"]] + type: list + default: [] + items: + - variable: volumeSnapshotEntry + label: Custom volumeSnapshot + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + description: 'WARNING: renaming this, means deletion of the snapshot with the old name!' + schema: + type: string + default: "mysnapshot" + required: true + - variable: volumeSnapshotClassName + label: 'volumeSnapshot Class Name (Advanced)' + description: For use with PVCs using a non-default storageClass + schema: + type: string + default: "" + - variable: ingress + label: "" + group: Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: ingressList + label: Add Manual Custom Ingresses + group: Ingress + schema: + type: list + default: [] + items: + - variable: ingressListEntry + label: Custom Ingress + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: true + hidden: true + - variable: name + label: Name + schema: + type: string + default: "" + - variable: ingressClassName + label: IngressClass Name + schema: + type: string + default: "" + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: service + label: Linked Service + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Service Name + schema: + type: string + default: "" + - variable: port + label: Service Port + schema: + type: int + - variable: certificateIssuer + label: certificateIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + default: [] + show_if: [["certificateIssuer", "=", ""]] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your Cert-Manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: scaleCert + label: Use TrueNAS SCALE Certificate (Deprecated) + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: Use Custom Secret (Advanced) + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: integration + label: Integrations + description: Connect ingress with other charts + schema: + additional_attrs: true + type: dict + attrs: + - variable: homepage + label: Homepage + description: Connect ingress with Homepage + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: enabled + schema: + type: boolean + default: false + - variable: name + label: Name + description: defaults to chartname + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: description + label: Description + description: defaults to chart description + schema: + type: string + default: "" + show_if: [["enabled", "=", true]] + - variable: group + label: Group + schema: + type: string + required: true + default: "default" + show_if: [["enabled", "=", true]] + - variable: entrypoint + label: Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + required: true + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: securityContext + group: Security and Permissions + label: Security Context + schema: + additional_attrs: true + type: dict + attrs: + - variable: container + label: Container + schema: + additional_attrs: true + type: dict + attrs: + # Settings from questions.yaml get appended here on a per-app basis + + - variable: runAsUser + label: "runAsUser" + description: "The UserID of the user running the application" + schema: + type: int + default: 568 + - variable: runAsGroup + label: "runAsGroup" + description: "The groupID of the user running the application" + schema: + type: int + default: 568 + # Settings from questions.yaml get appended here on a per-app basis + - variable: PUID + label: Process User ID - PUID + description: When supported by the container, this sets the User ID running the Application Process. Not supported by all Apps + schema: + type: int + show_if: [["runAsUser", "=", 0]] + default: 568 + - variable: UMASK + label: UMASK + description: When supported by the container, this sets the UMASK for the App. Not supported by all Apps + schema: + type: string + default: "0022" + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: privileged + label: "Privileged mode" + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: "ReadOnly Root Filesystem" + schema: + type: boolean + default: true + - variable: pod + label: Pod + schema: + additional_attrs: true + type: dict + attrs: + - variable: fsGroupChangePolicy + label: "When should we take ownership?" + schema: + type: string + default: OnRootMismatch + enum: + - value: OnRootMismatch + description: OnRootMismatch + - value: Always + description: Always + - variable: supplementalGroups + label: Supplemental Groups + schema: + type: list + default: [] + items: + - variable: supplementalGroupsEntry + label: Supplemental Group + schema: + type: int + # Settings from questions.yaml get appended here on a per-app basis + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + + - variable: resources + group: Resources and Devices + label: "Resource Limits" + schema: + additional_attrs: true + type: dict + attrs: + - variable: limits + label: Advanced Limit Resource Consumption + schema: + additional_attrs: true + type: dict + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 4000m + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: RAM + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 8Gi + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: requests + label: "Minimum Resources Required (request)" + schema: + additional_attrs: true + type: dict + hidden: true + attrs: + - variable: cpu + label: CPU + description: "1000m means 1 hyperthread. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 10m + hidden: true + valid_chars: '^(?!^0(\.0|m|)$)([0-9]+)(\.[0-9]|m?)$' + - variable: memory + label: "RAM" + description: "1Gi means 1 Gibibyte RAM. Detailed info: https://truecharts.org/manual/SCALE/validation" + schema: + type: string + default: 50Mi + hidden: true + valid_chars: '^(?!^0(e[0-9]|[EPTGMK]i?|)$)([0-9]+)(|[EPTGMK]i?|e[0-9]+)$' + - variable: deviceList + label: Mount USB Devices + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: deviceListEntry + label: Device + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable the Storage + schema: + type: boolean + default: true + - variable: type + label: (Advanced) Type of Storage + description: Sets the persistence type + schema: + type: string + default: device + hidden: true + - variable: readOnly + label: readOnly + schema: + type: boolean + default: false + - variable: hostPath + label: Host Device Path + description: Path to the device on the host system + schema: + type: path + - variable: mountPath + label: Container Device Path + description: Path inside the container the device is mounted + schema: + type: string + default: "/dev/ttyACM0" + - variable: scaleGPU + label: GPU Configuration + group: Resources and Devices + schema: + type: list + default: [] + items: + - variable: scaleGPUEntry + label: GPU + schema: + additional_attrs: true + type: dict + attrs: + # Specify GPU configuration + - variable: gpu + label: Select GPU + schema: + additional_attrs: true + type: dict + $ref: + - "definitions/gpuConfiguration" + attrs: [] + - variable: workaround + label: "Workaround" + schema: + type: string + default: workaround + hidden: true +# - variable: horizontalPodAutoscaler +# group: Advanced +# label: (Advanced) Horizontal Pod Autoscaler +# schema: +# type: list +# default: [] +# items: +# - variable: hpaEntry +# label: HPA Entry +# schema: +# additional_attrs: true +# type: dict +# attrs: +# - variable: name +# label: Name +# schema: +# type: string +# required: true +# default: "" +# - variable: enabled +# label: Enabled +# schema: +# type: boolean +# default: false +# show_subquestions_if: true +# subquestions: +# - variable: target +# label: Target +# description: Deployment name, Defaults to Main Deployment +# schema: +# type: string +# default: "" +# - variable: minReplicas +# label: Minimum Replicas +# schema: +# type: int +# default: 1 +# - variable: maxReplicas +# label: Maximum Replicas +# schema: +# type: int +# default: 5 +# - variable: targetCPUUtilizationPercentage +# label: Target CPU Utilization Percentage +# schema: +# type: int +# default: 80 +# - variable: targetMemoryUtilizationPercentage +# label: Target Memory Utilization Percentage +# schema: +# type: int +# default: 80 + - variable: networkPolicy + group: Advanced + label: (Advanced) Network Policy + schema: + type: list + default: [] + items: + - variable: netPolicyEntry + label: Network Policy Entry + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + default: "" + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: policyType + label: Policy Type + schema: + type: string + default: "" + enum: + - value: "" + description: Default + - value: ingress + description: Ingress + - value: egress + description: Egress + - value: ingress-egress + description: Ingress and Egress + - variable: egress + label: Egress + schema: + type: list + default: [] + items: + - variable: egressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: to + label: To + schema: + type: list + default: [] + items: + - variable: toEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: ingress + label: Ingress + schema: + type: list + default: [] + items: + - variable: ingressEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: from + label: From + schema: + type: list + default: [] + items: + - variable: fromEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: ipBlock + label: IP Block + schema: + additional_attrs: true + type: dict + attrs: + - variable: cidr + label: CIDR + schema: + type: string + default: "" + - variable: except + label: Except + schema: + type: list + default: [] + items: + - variable: exceptint + label: "" + schema: + type: string + - variable: namespaceSelector + label: Namespace Selector + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: podSelector + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: matchExpressions + label: Match Expressions + schema: + type: list + default: [] + items: + - variable: expressionEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: key + label: Key + schema: + type: string + - variable: operator + label: Operator + schema: + type: string + default: TCP + enum: + - value: In + description: In + - value: NotIn + description: NotIn + - value: Exists + description: Exists + - value: DoesNotExist + description: DoesNotExist + - variable: values + label: Values + schema: + type: list + default: [] + items: + - variable: value + label: "" + schema: + type: string + - variable: ports + label: Ports + schema: + type: list + default: [] + items: + - variable: portsEntry + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + - variable: endPort + label: End Port + schema: + type: int + - variable: protocol + label: Protocol + schema: + type: string + default: TCP + enum: + - value: TCP + description: TCP + - value: UDP + description: UDP + - value: SCTP + description: SCTP + - variable: addons + group: Addons + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: Codeserver + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: service + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Service Type + description: "ClusterIP's are only internally available and Loadbalancer exposes the service using the system loadbalancer" + schema: + type: string + default: LoadBalancer + enum: + - value: NodePort + description: Deprecated CHANGE THIS + - value: ClusterIP + description: ClusterIP + - value: LoadBalancer + description: LoadBalancer + - variable: loadBalancerIP + label: LoadBalancer IP + description: "MetalLB Only: Selects the Loadbalancer IP to expose on. Required when using PortalButton with MetalLB" + schema: + show_if: [["type", "=", "LoadBalancer"]] + type: string + default: "" + - variable: ports + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: codeserver + label: "" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + schema: + type: int + default: 36107 + - variable: ingress + label: "Ingress" + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enable Ingress + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: hosts + label: Hosts + schema: + type: list + default: [] + items: + - variable: hostEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: HostName + schema: + type: string + default: "" + required: true + - variable: paths + label: Paths + schema: + type: list + default: [{path: "/", pathType: "Prefix"}] + items: + - variable: pathEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: path + label: Path + schema: + type: string + required: true + default: "/" + - variable: pathType + label: Path Type + schema: + type: string + required: true + default: Prefix + - variable: certificateIssuer + label: Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates. Cannot be used combined with tls option below' + schema: + type: string + default: "" + - variable: middlewares + label: Traefik Middlewares + description: Add previously created Traefik Middlewares to this Ingress + schema: + type: list + default: [] + items: + - variable: name + label: Name + schema: + type: string + default: "" + required: true + - variable: advanced + label: Show Advanced Settings + description: Advanced settings are not covered by TrueCharts Support + schema: + type: boolean + default: false + - variable: entrypoint + label: (Advanced) Traefik Entrypoint + description: Entrypoint used by Traefik when using Traefik as Ingress Provider + schema: + type: string + default: websecure + show_if: [["advanced", "=", true]] + required: true + - variable: allowCors + label: "Allow Cross Origin Requests" + schema: + type: boolean + show_if: [["advanced", "=", true]] + default: false + - variable: ingressClassName + label: (Advanced/Optional) IngressClass Name + schema: + type: string + show_if: [["advanced", "=", true]] + default: "" + - variable: tls + label: TLS-Settings + schema: + type: list + show_if: [["advanced", "=", true]] + default: [] + items: + - variable: tlsEntry + label: Host + schema: + additional_attrs: true + type: dict + attrs: + - variable: hosts + label: Certificate Hosts + schema: + type: list + default: [] + items: + - variable: host + label: Host + schema: + type: string + default: "" + required: true + - variable: certificateIssuer + label: Use Cert-Manager clusterIssuer + description: 'add the name of your cert-manager clusterIssuer here for automatic tls certificates.' + schema: + type: string + default: "" + - variable: clusterCertificate + label: 'Cluster Certificate (Advanced)' + description: 'Add the name of your cluster-wide certificate, that you set up in the ClusterIssuer chart.' + schema: + type: string + show_if: [["certificateIssuer", "=", ""]] + default: "" + - variable: secretName + label: 'Use Custom Certificate Secret (Advanced)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: string + default: "" + - variable: scaleCert + label: 'Use TrueNAS SCALE Certificate (Deprecated)' + schema: + show_if: [["certificateIssuer", "=", ""]] + type: int + $ref: + - "definitions/certificate" + - variable: envList + label: Codeserver Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: netshoot + label: Netshoot + schema: + additional_attrs: true + type: dict + attrs: + - variable: enabled + label: Enabled + schema: + type: boolean + default: false + show_subquestions_if: true + subquestions: + - variable: envList + label: Netshoot Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + - variable: vpn + label: VPN + schema: + additional_attrs: true + type: dict + attrs: + - variable: type + label: Type + schema: + type: string + default: disabled + enum: + - value: disabled + description: disabled + - value: gluetun + description: Gluetun + - value: tailscale + description: Tailscale + - value: openvpn + description: OpenVPN (Deprecated) + - value: wireguard + description: Wireguard (Deprecated) + - variable: openvpn + label: OpenVPN Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "openvpn"]] + attrs: + - variable: username + label: Authentication Username (Optional) + description: Authentication Username, Optional + schema: + type: string + default: "" + - variable: password + label: Authentication Password + description: Authentication Credentials + schema: + type: string + show_if: [["username", "!=", ""]] + default: "" + required: true + - variable: tailscale + label: Tailscale Settings + schema: + additional_attrs: true + type: dict + show_if: [["type", "=", "tailscale"]] + attrs: + - variable: authkey + label: Authentication Key + description: Provide an auth key to automatically authenticate the node as your user account. + schema: + type: string + private: true + default: "" + - variable: auth_once + label: Auth Once + description: Only attempt to log in if not already logged in. + schema: + type: boolean + default: true + - variable: accept_dns + label: Accept DNS + description: Accept DNS configuration from the admin console. + schema: + type: boolean + default: false + - variable: userspace + label: Userspace + description: Userspace Networking mode allows running Tailscale where you do not have access to create a VPN tunnel device. + schema: + type: boolean + default: false + - variable: routes + label: Routes + description: Expose physical subnet routes to your entire Tailscale network. + schema: + type: string + default: "" + - variable: dest_ip + label: Destination IP + description: Tells the DNAT mechanism which Destination IP to set in the IP header, and where to send packets that are matched. + schema: + type: string + default: "" + - variable: sock5_server + label: Sock5 Server + description: The address on which to listen for SOCKS5 proxying into the tailscale net. + schema: + type: string + default: "" + - variable: outbound_http_proxy_listen + label: Outbound HTTP Proxy Listen + description: The address on which to listen for HTTP proxying into the tailscale net. + schema: + type: string + default: "" + - variable: extra_args + label: Extra Args + description: Extra Args + schema: + type: string + default: "" + - variable: daemon_extra_args + label: Tailscale Daemon Extra Args + description: Tailscale Daemon Extra Args + schema: + type: string + default: "" + - variable: killSwitch + label: Enable Killswitch + schema: + type: boolean + show_if: [["type", "!=", "disabled"]] + default: true + - variable: excludedNetworks_IPv4 + label: Killswitch Excluded IPv4 networks + description: List of Killswitch Excluded IPv4 Addresses + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv4 + label: IPv4 Network + schema: + type: string + required: true + - variable: excludedNetworks_IPv6 + label: Killswitch Excluded IPv6 networks + description: "List of Killswitch Excluded IPv6 Addresses" + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: networkv6 + label: IPv6 Network + schema: + type: string + required: true + - variable: configFile + label: VPN Config File Location + schema: + type: string + show_if: [["type", "!=", "disabled"]] + default: "" + + - variable: envList + label: VPN Environment Variables + schema: + type: list + show_if: [["type", "!=", "disabled"]] + default: [] + items: + - variable: envItem + label: Environment Variable + schema: + additional_attrs: true + type: dict + attrs: + - variable: name + label: Name + schema: + type: string + required: true + - variable: value + label: Value + schema: + type: string + required: true + max_length: 10240 + - variable: docs + group: Documentation + label: Please read the documentation at https://truecharts.org + description: Please read the documentation at +
https://truecharts.org + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDocs + label: I have checked the documentation + schema: + type: boolean + default: true + - variable: donateNag + group: Documentation + label: Please consider supporting TrueCharts, see https://truecharts.org/sponsor + description: Please consider supporting TrueCharts, see +
https://truecharts.org/sponsor + schema: + additional_attrs: true + type: dict + attrs: + - variable: confirmDonate + label: I have considered donating + schema: + type: boolean + default: true + hidden: true diff --git a/stable/wekan/10.6.0/templates/NOTES.txt b/stable/wekan/10.6.0/templates/NOTES.txt new file mode 100644 index 0000000000..efcb74cb77 --- /dev/null +++ b/stable/wekan/10.6.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/stable/wekan/10.6.0/templates/common.yaml b/stable/wekan/10.6.0/templates/common.yaml new file mode 100644 index 0000000000..b51394e00a --- /dev/null +++ b/stable/wekan/10.6.0/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/stable/wekan/10.6.0/values.yaml b/stable/wekan/10.6.0/values.yaml new file mode 100644 index 0000000000..e69de29bb2