diff --git a/charts/dependency/kube-state-metrics/.helmignore b/charts/dependency/kube-state-metrics/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/dependency/kube-state-metrics/.helmignore @@ -0,0 +1,30 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/dependency/kube-state-metrics/Chart.yaml b/charts/dependency/kube-state-metrics/Chart.yaml new file mode 100644 index 00000000000..af967f1371d --- /dev/null +++ b/charts/dependency/kube-state-metrics/Chart.yaml @@ -0,0 +1,29 @@ +apiVersion: v2 +appVersion: "2.8.2" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 12.8.2 +deprecated: false +description: kube-state-metrics is a simple service that listens to the Kubernetes API server and generates metrics about the state of the objects. +home: https://truecharts.org/charts/dependency/kube-state-metrics +icon: https://truecharts.org/img/hotlink-ok/chart-icons/kube-state-metrics.png +keywords: + - prometheus + - kube-state-metrics + - monitoring +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: kube-state-metrics +sources: + - https://github.com/truecharts/charts/tree/master/charts/dependency/kube-state-metrics +type: application +version: 1.0.0 +annotations: + truecharts.org/catagories: | + - metrics + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/dependency/kube-state-metrics/LICENSE b/charts/dependency/kube-state-metrics/LICENSE new file mode 100644 index 00000000000..93c3f61c61e --- /dev/null +++ b/charts/dependency/kube-state-metrics/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 "Grafana" 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/charts/dependency/kube-state-metrics/README.md b/charts/dependency/kube-state-metrics/README.md new file mode 100644 index 00000000000..de60b9ed65c --- /dev/null +++ b/charts/dependency/kube-state-metrics/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/) + +**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%20Apps/Important-MUST-READ). +- 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/charts/dependency/kube-state-metrics/icon.png b/charts/dependency/kube-state-metrics/icon.png new file mode 100644 index 00000000000..11183a8f12a Binary files /dev/null and b/charts/dependency/kube-state-metrics/icon.png differ diff --git a/charts/dependency/kube-state-metrics/questions.yaml b/charts/dependency/kube-state-metrics/questions.yaml new file mode 100644 index 00000000000..719846d2416 --- /dev/null +++ b/charts/dependency/kube-state-metrics/questions.yaml @@ -0,0 +1,109 @@ +# Include{groups} +questions: +# Include{global} +# Include{workload} +# Include{workloadDeployment} + +# Include{replicas1} +# Include{podSpec} +# Include{containerMain} +# Include{containerBasic} +# Include{containerAdvanced} + + +# Include{containerConfig} +# Include{podOptions} +# Include{serviceRoot} + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - 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: 8080 + required: true +# Include{serviceRoot} + - variable: selfmonitor + label: "selfmonitor Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorLoadBalancer} +# Include{serviceSelectorExtras} + - variable: selfmonitor + label: "selfmonitor 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: 8081 + required: true +# Include{serviceExpertRoot} +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressList} +# Include{securityContextRoot} + + - 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 +# Include{securityContextContainer} +# Include{securityContextAdvanced} +# Include{securityContextPod} + - variable: fsGroup + label: "fsGroup" + description: "The group that should own ALL storage." + schema: + type: int + default: 568 + +# Include{resources} +# Include{metrics} +# Include{prometheusRule} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{netshoot} +# Include{vpn} +# Include{documentation} diff --git a/charts/dependency/kube-state-metrics/templates/NOTES.txt b/charts/dependency/kube-state-metrics/templates/NOTES.txt new file mode 100644 index 00000000000..efcb74cb772 --- /dev/null +++ b/charts/dependency/kube-state-metrics/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "tc.v1.common.lib.chart.notes" $ -}} diff --git a/charts/dependency/kube-state-metrics/templates/common.yaml b/charts/dependency/kube-state-metrics/templates/common.yaml new file mode 100644 index 00000000000..b51394e00a4 --- /dev/null +++ b/charts/dependency/kube-state-metrics/templates/common.yaml @@ -0,0 +1 @@ +{{ include "tc.v1.common.loader.all" . }} diff --git a/charts/dependency/kube-state-metrics/values.yaml b/charts/dependency/kube-state-metrics/values.yaml new file mode 100644 index 00000000000..f376854cb58 --- /dev/null +++ b/charts/dependency/kube-state-metrics/values.yaml @@ -0,0 +1,225 @@ +image: + repository: tccr.io/truecharts/kube-state-metrics + pullPolicy: IfNotPresent + tag: v2.8.2@sha256:e7b9fbc67f29bb72043238ebaa397d5161f9e3d5cdb16ac888e2ffe152015700 + +service: + main: + ports: + main: + protocol: http + port: 8080 + selfmonitor: + enabled: true + ports: + selfmonitor: + enabled: true + protocol: http + port: 8081 + +workload: + main: + podSpec: + containers: + main: + args: + - --resources=certificatesigningrequests + - --resources=configmaps + - --resources=cronjobs + - --resources=daemonsets + - --resources=deployments + - --resources=endpoints + - --resources=horizontalpodautoscalers + - --resources=ingresses + - --resources=jobs + - --resources=limitranges + - --resources=mutatingwebhookconfigurations + - --resources=namespaces + - --resources=networkpolicies + - --resources=nodes + - --resources=persistentvolumeclaims + - --resources=persistentvolumes + - --resources=poddisruptionbudgets + - --resources=pods + - --resources=replicasets + - --resources=replicationcontrollers + - --resources=resourcequotas + - --resources=secrets + - --resources=services + - --resources=statefulsets + - --resources=storageclasses + - --resources=verticalpodautoscalers + - --resources=validatingwebhookconfigurations + - --resources=volumeattachments + + probes: + liveness: + path: /healthz + port: main + + readiness: + path: /healthz + port: main + + startup: + type: tcp + port: main + +podOptions: + automountServiceAccountToken: true + +serviceAccount: + main: + enabled: true + primary: true + +rbac: + main: + enabled: true + primary: true + clusterWide: true + rules: + - apiGroups: ["certificates.k8s.io"] + resources: + - certificatesigningrequests + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - configmaps + verbs: ["list", "watch"] + - apiGroups: ["batch"] + resources: + - cronjobs + verbs: ["list", "watch"] + - apiGroups: ["extensions", "apps"] + resources: + - daemonsets + verbs: ["list", "watch"] + - apiGroups: ["extensions", "apps"] + resources: + - deployments + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - endpoints + verbs: ["list", "watch"] + - apiGroups: ["autoscaling"] + resources: + - horizontalpodautoscalers + verbs: ["list", "watch"] + - apiGroups: ["extensions", "networking.k8s.io"] + resources: + - ingresses + verbs: ["list", "watch"] + - apiGroups: ["batch"] + resources: + - jobs + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - limitranges + verbs: ["list", "watch"] + - apiGroups: ["admissionregistration.k8s.io"] + resources: + - mutatingwebhookconfigurations + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - namespaces + verbs: ["list", "watch"] + - apiGroups: ["networking.k8s.io"] + resources: + - networkpolicies + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - nodes + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - persistentvolumeclaims + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - persistentvolumes + verbs: ["list", "watch"] + - apiGroups: ["policy"] + resources: + - poddisruptionbudgets + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - pods + verbs: ["list", "watch"] + - apiGroups: ["extensions", "apps"] + resources: + - replicasets + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - replicationcontrollers + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - resourcequotas + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - secrets + verbs: ["list", "watch"] + - apiGroups: [""] + resources: + - services + verbs: ["list", "watch"] + - apiGroups: ["apps"] + resources: + - statefulsets + verbs: ["list", "watch"] + - apiGroups: ["storage.k8s.io"] + resources: + - storageclasses + verbs: ["list", "watch"] + - apiGroups: ["autoscaling.k8s.io"] + resources: + - verticalpodautoscalers + verbs: ["list", "watch"] + - apiGroups: ["admissionregistration.k8s.io"] + resources: + - validatingwebhookconfigurations + verbs: ["list", "watch"] + - apiGroups: ["storage.k8s.io"] + resources: + - volumeattachments + verbs: ["list", "watch"] + +metrics: + main: + # -- Enable and configure a Prometheus serviceMonitor for the chart under this key. + # @default -- See values.yaml + enabled: true + type: serviceMonitor + endpoints: + - port: main + - port: selfmonitor + # -- Enable and configure Prometheus Rules for the chart under this key. + # @default -- See values.yaml + prometheusRule: + enabled: false + labels: {} + # -- Configure additionial rules for the chart under this key. + # @default -- See prometheusrules.yaml + rules: + [] + # - alert: UnifiPollerAbsent + # annotations: + # description: Unifi Poller has disappeared from Prometheus service discovery. + # summary: Unifi Poller is down. + # expr: | + # absent(up{job=~".*unifi-poller.*"} == 1) + # for: 5m + # labels: + # severity: critical + +portal: + open: + enabled: false