├── charts ├── promtail │ ├── ci │ │ ├── default-values.yaml │ │ └── service-values.yaml │ ├── templates │ │ ├── secret.yaml │ │ ├── podsecuritypolicy.yaml │ │ ├── clusterrole.yaml │ │ ├── role.yaml │ │ ├── clusterrolebinding.yaml │ │ ├── service-metrics.yaml │ │ ├── serviceaccount.yaml │ │ ├── rolebinding.yaml │ │ ├── NOTES.txt │ │ └── servicemonitor.yaml │ ├── .helmignore │ └── Chart.yaml ├── tempo-vulture │ ├── templates │ │ ├── secret.yaml │ │ ├── NOTES.txt │ │ ├── serviceaccount.yaml │ │ ├── service.yaml │ │ └── servicemonitor.yaml │ ├── ci │ │ └── basic-values.yaml │ ├── .helmignore │ ├── Chart.yaml │ └── README.md.gotmpl ├── loki-distributed │ ├── ci │ │ ├── default-values.yaml │ │ └── persistence-values.yaml │ ├── templates │ │ ├── configmap.yaml │ │ ├── gateway │ │ │ ├── configmap-gateway.yaml │ │ │ ├── secret-gateway.yaml │ │ │ ├── poddisruptionbudget-gateway.yaml │ │ │ └── service-gateway.yaml │ │ ├── ruler │ │ │ ├── configmap-ruler.yaml │ │ │ ├── poddisruptionbudget-ruler.yaml │ │ │ ├── persistentvolumeclaim-ruler.yaml │ │ │ └── service-ruler.yaml │ │ ├── querier │ │ │ ├── poddisruptionbudget-querier.yaml │ │ │ ├── service-querier-headless.yaml │ │ │ ├── service-querier.yaml │ │ │ └── _helpers-querier.tpl │ │ ├── ingester │ │ │ ├── poddisruptionbudget-ingester.yaml │ │ │ ├── service-ingester-headless.yaml │ │ │ ├── service-ingester.yaml │ │ │ └── _helpers-ingester.tpl │ │ ├── distributor │ │ │ ├── poddisruptionbudget-distributor.yaml │ │ │ ├── service-distributor.yaml │ │ │ └── _helpers-distributor.tpl │ │ ├── role.yaml │ │ ├── query-frontend │ │ │ ├── poddisruptionbudget-query-frontent.yaml │ │ │ ├── service-query-frontend.yaml │ │ │ └── _helpers-query-frontend.tpl │ │ ├── rolebinding.yaml │ │ ├── service-memberlist.yaml │ │ ├── memcached-chunks │ │ │ ├── poddisruptionbudget-memcached-chunks.yaml │ │ │ ├── service-memcached-chunks.yaml │ │ │ └── _helpers-memcached-chunks.tpl │ │ ├── memcached-frontend │ │ │ ├── poddisruptionbudget-memcached-frontend.yaml │ │ │ ├── service-memcached-frontend.yaml │ │ │ └── _helpers-memcached-frontend.tpl │ │ ├── memcached-index-writes │ │ │ ├── poddisruptionbudget-memcached-index-writes.yaml │ │ │ ├── service-memcached-index-writes.yaml │ │ │ └── _helpers-memcached-index-writes.tpl │ │ ├── memcached-index-queries │ │ │ ├── poddisruptionbudget-memcached-index-queries.yaml │ │ │ ├── service-memcached-index-queries.yaml │ │ │ └── _helpers-memcached-index-queries.tpl │ │ ├── serviceaccount.yaml │ │ ├── prometheusrule.yaml │ │ ├── compactor │ │ │ ├── persistentvolumeclaim-compactor.yaml │ │ │ ├── serviceaccount-compactor.yaml │ │ │ └── service-compactor.yaml │ │ ├── table-manager │ │ │ ├── service-table-manager.yaml │ │ │ └── _helpers-table-manager.tpl │ │ ├── podsecuritypolicy.yaml │ │ └── NOTES.txt │ ├── Chart.yaml │ └── .helmignore ├── grafana │ ├── dashboards │ │ └── custom-dashboard.json │ ├── ci │ │ ├── default-values.yaml │ │ ├── with-image-renderer-values.yaml │ │ └── with-dashboard-values.yaml │ ├── templates │ │ ├── tests │ │ │ ├── test-serviceaccount.yaml │ │ │ ├── test-role.yaml │ │ │ ├── test-configmap.yaml │ │ │ ├── test-rolebinding.yaml │ │ │ └── test-podsecuritypolicy.yaml │ │ ├── serviceaccount.yaml │ │ ├── secret-env.yaml │ │ ├── headless-service.yaml │ │ ├── hpa.yaml │ │ ├── poddisruptionbudget.yaml │ │ ├── rolebinding.yaml │ │ ├── clusterrolebinding.yaml │ │ ├── clusterrole.yaml │ │ ├── dashboards-json-configmap.yaml │ │ ├── pvc.yaml │ │ ├── image-renderer-service.yaml │ │ └── secret.yaml │ ├── .helmignore │ └── Chart.yaml ├── loki-canary │ ├── ci │ │ ├── without-basic-auth-values.yaml │ │ └── with-basic-auth-values.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── secret.yaml │ │ ├── service.yaml │ │ ├── serviceaccount.yaml │ │ └── servicemonitor.yaml │ ├── Chart.yaml │ ├── .helmignore │ └── README.md.gotmpl ├── enterprise-metrics │ ├── .helmignore │ ├── vendor │ │ └── github.com │ │ │ └── grafana │ │ │ └── jsonnet-libs │ │ │ └── tanka-util │ │ │ ├── Makefile │ │ │ ├── _example.jsonnet │ │ │ └── main.libsonnet │ ├── environments │ │ ├── default │ │ │ ├── main.jsonnet │ │ │ └── spec.json │ │ ├── large │ │ │ ├── spec.json │ │ │ └── main.jsonnet │ │ └── small │ │ │ ├── spec.json │ │ │ └── main.jsonnet │ ├── ci │ │ └── test-values.yaml │ ├── exports │ │ ├── default │ │ │ ├── v1.ServiceAccount-enterprise-metrics-minio.yaml │ │ │ ├── v1.ServiceAccount-enterprise-metrics.yaml │ │ │ ├── v1.ConfigMap-enterprise-metrics-runtime.yaml │ │ │ ├── v1.Secret-enterprise-metrics-license.yaml │ │ │ ├── v1.ServiceAccount-enterprise-metrics-minio-update-prometheus-secret.yaml │ │ │ ├── v1.Secret-enterprise-metrics-minio.yaml │ │ │ ├── v1.PersistentVolumeClaim-enterprise-metrics-minio.yaml │ │ │ ├── v1.Service-enterprise-metrics-minio.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-ruler.yaml │ │ │ ├── v1.Service-enterprise-metrics-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-gossip-ring.yaml │ │ │ ├── v1.Service-enterprise-metrics-querier.yaml │ │ │ ├── v1.Service-enterprise-metrics-ingester.yaml │ │ │ ├── v1.Service-enterprise-metrics-admin-api.yaml │ │ │ ├── v1.Service-enterprise-metrics-distributor.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager.yaml │ │ │ ├── v1.Service-enterprise-metrics-store-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics-minio-update-prometheus-secret.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend-headless.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager-headless.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.Role-enterprise-metrics-minio-update-prometheus-secret.yaml │ │ │ └── policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml │ │ ├── large │ │ │ ├── v1.ServiceAccount-enterprise-metrics.yaml │ │ │ ├── v1.ConfigMap-enterprise-metrics-runtime.yaml │ │ │ ├── v1.Secret-enterprise-metrics-license.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-ruler.yaml │ │ │ ├── v1.Service-enterprise-metrics-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-gossip-ring.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-queries.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metadata.yaml │ │ │ ├── v1.Service-enterprise-metrics-ingester.yaml │ │ │ ├── v1.Service-enterprise-metrics-querier.yaml │ │ │ ├── v1.Service-enterprise-metrics-admin-api.yaml │ │ │ ├── v1.Service-enterprise-metrics-distributor.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager.yaml │ │ │ ├── v1.Service-enterprise-metrics-store-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-queries-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metadata-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend-headless.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager-headless.yaml │ │ │ └── policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml │ │ └── small │ │ │ ├── v1.ServiceAccount-enterprise-metrics.yaml │ │ │ ├── v1.ConfigMap-enterprise-metrics-runtime.yaml │ │ │ ├── v1.Secret-enterprise-metrics-license.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml │ │ │ ├── rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-ruler.yaml │ │ │ ├── v1.Service-enterprise-metrics-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-gossip-ring.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-queries.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metadata.yaml │ │ │ ├── v1.Service-enterprise-metrics-ingester.yaml │ │ │ ├── v1.Service-enterprise-metrics-querier.yaml │ │ │ ├── v1.Service-enterprise-metrics-admin-api.yaml │ │ │ ├── v1.Service-enterprise-metrics-distributor.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager.yaml │ │ │ ├── v1.Service-enterprise-metrics-store-gateway.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-queries-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-memcached-metadata-metrics.yaml │ │ │ ├── v1.Service-enterprise-metrics-query-frontend-headless.yaml │ │ │ ├── v1.Service-enterprise-metrics-alertmanager-headless.yaml │ │ │ └── policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml │ ├── jsonnetfile.json │ ├── multi-kv-consul-primary-values.yaml │ ├── multi-kv-memberlist-primary-values.yaml │ ├── jsonnetfile.lock.json │ ├── templates │ │ ├── license-secret.yaml │ │ ├── runtime-configmap.yaml │ │ ├── secret.yaml │ │ ├── serviceaccount.yaml │ │ ├── pdb.yaml │ │ ├── role.yaml │ │ ├── rolebinding.yaml │ │ ├── gossip-ring-svc.yaml │ │ ├── ruler-svc.yaml │ │ ├── gateway-svc.yaml │ │ ├── querier-svc.yaml │ │ ├── ingester-svc.yaml │ │ ├── admin-api-svc.yaml │ │ ├── distributor-svc.yaml │ │ ├── alertmanager-svc.yaml │ │ ├── query-frontend-svc.yaml │ │ ├── podsecuritypolicy.yaml │ │ ├── store-gateway-svc.yaml │ │ └── query-frontend-svc-headless.yaml │ ├── tools │ │ ├── update-version │ │ └── chart-version-tag.sh │ ├── Chart.lock │ ├── Makefile │ └── Chart.yaml ├── loki-stack │ ├── templates │ │ ├── NOTES.txt │ │ ├── tests │ │ │ └── loki-test-pod.yaml │ │ └── datasources.yaml │ ├── .helmignore │ ├── Chart.yaml │ └── requirements.yaml ├── loki │ ├── templates │ │ ├── NOTES.txt │ │ ├── secret.yaml │ │ ├── pdb.yaml │ │ ├── configmap-alert.yaml │ │ ├── serviceaccount.yaml │ │ ├── rolebinding.yaml │ │ ├── role.yaml │ │ ├── service-headless.yaml │ │ ├── networkpolicy.yaml │ │ ├── podsecuritypolicy.yaml │ │ └── servicemonitor.yaml │ ├── .helmignore │ └── Chart.yaml ├── tempo │ ├── templates │ │ ├── configmap-tempo-query.yaml │ │ ├── serviceaccount.yaml │ │ └── configmap-tempo.yaml │ ├── .helmignore │ ├── Chart.yaml │ └── README.md.gotmpl ├── tempo-distributed │ ├── templates │ │ ├── memcached │ │ │ ├── _helpers-memcached.tpl │ │ │ ├── service-memcached.yaml │ │ │ └── servicemonitor-memcached.yaml │ │ ├── compactor │ │ │ ├── service-compactor.yaml │ │ │ ├── _helpers-compactor.tpl │ │ │ └── servicemonitor-compactor.yaml │ │ ├── configmap-tempo.yaml │ │ ├── serviceaccount.yaml │ │ ├── NOTES.txt │ │ ├── ingester │ │ │ ├── service-ingester.yaml │ │ │ ├── _helpers-ingester.tpl │ │ │ └── servicemonitor-ingester.yaml │ │ ├── service-gossip-ring.yaml │ │ ├── querier │ │ │ ├── service-querier.yaml │ │ │ ├── _helpers-querier.tpl │ │ │ └── servicemonitor-querier.yaml │ │ ├── distributor │ │ │ └── _helpers-distributor.tpl │ │ └── query-frontend │ │ │ ├── service-query-frontend-discovery.yaml │ │ │ └── service-query-frontend.yaml │ ├── .helmignore │ └── Chart.yaml └── fluent-bit │ ├── .helmignore │ ├── templates │ ├── serviceaccount.yaml │ ├── NOTES.txt │ ├── clusterrole.yaml │ ├── role.yaml │ ├── rolebinding.yaml │ ├── service-headless.yaml │ ├── clusterrolebinding.yaml │ └── podsecuritypolicy.yaml │ └── Chart.yaml ├── cr.yaml ├── .helmdocsignore ├── .gitignore ├── ct.yaml ├── .github ├── workflows │ ├── check-codeowners.yaml │ ├── validate-pr.yaml │ ├── sync-readme.yaml │ └── linter.yml └── CODEOWNERS └── scripts ├── check-codeowners.sh └── validate-pr.sh /charts/promtail/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /charts/tempo-vulture/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /charts/loki-distributed/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cr.yaml: -------------------------------------------------------------------------------- 1 | sign: true 2 | key: Grafana Loki 3 | -------------------------------------------------------------------------------- /charts/grafana/dashboards/custom-dashboard.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /charts/loki-canary/ci/without-basic-auth-values.yaml: -------------------------------------------------------------------------------- 1 | lokiAddress: loki:3100 2 | -------------------------------------------------------------------------------- /.helmdocsignore: -------------------------------------------------------------------------------- 1 | charts/fluent-bit 2 | charts/grafana 3 | charts/loki 4 | charts/loki-stack 5 | charts/enterprise-metrics 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /charts/*/charts 2 | .idea 3 | .vscode 4 | .project 5 | .settings 6 | /charts/enterprise-metrics/vendor/tanka-util 7 | -------------------------------------------------------------------------------- /charts/tempo-vulture/ci/basic-values.yaml: -------------------------------------------------------------------------------- 1 | tempoAddress: 2 | push: http://distributor 3 | query: http://query-frontend:3100 4 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/.helmignore: -------------------------------------------------------------------------------- 1 | .git 2 | .envrc 3 | nix 4 | shell.nix 5 | vendor 6 | lib 7 | environments 8 | releases 9 | docs 10 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/vendor/github.com/grafana/jsonnet-libs/tanka-util/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: docs 2 | docs: 3 | docsonnet -o . main.libsonnet 4 | -------------------------------------------------------------------------------- /charts/grafana/ci/default-values.yaml: -------------------------------------------------------------------------------- 1 | # Leave this file empty to ensure that CI runs builds against the default configuration in values.yaml. 2 | -------------------------------------------------------------------------------- /charts/loki-canary/ci/with-basic-auth-values.yaml: -------------------------------------------------------------------------------- 1 | lokiAddress: loki:3100 2 | 3 | basicAuth: 4 | enabled: true 5 | username: user 6 | password: pass 7 | -------------------------------------------------------------------------------- /charts/loki-stack/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana. 2 | 3 | See http://docs.grafana.org/features/datasources/loki/ for more detail. 4 | -------------------------------------------------------------------------------- /charts/loki/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | Verify the application is working by running these commands: 2 | kubectl --namespace {{ .Release.Namespace }} port-forward service/{{ include "loki.fullname" . }} {{ .Values.service.port }} 3 | curl http://127.0.0.1:{{ .Values.service.port }}/api/prom/label 4 | -------------------------------------------------------------------------------- /charts/loki-canary/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************** 2 | Welcome to Grafana Loki Canary 3 | Chart version: {{ .Chart.Version }} 4 | Loki version: {{ .Chart.AppVersion }} 5 | *********************************************************************** 6 | -------------------------------------------------------------------------------- /charts/tempo-vulture/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************** 2 | Welcome to Grafana Tempo Vulture 3 | Chart version: {{ .Chart.Version }} 4 | Tempo version: {{ .Chart.AppVersion }} 5 | *********************************************************************** 6 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/default/main.jsonnet: -------------------------------------------------------------------------------- 1 | local tanka = import 'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'; 2 | local helm = tanka.helm.new(std.thisFile); 3 | 4 | { 5 | grafana: helm.template('enterprise-metrics', '../../', { 6 | namespace: 'enterprise-metrics', 7 | }), 8 | } 9 | -------------------------------------------------------------------------------- /charts/promtail/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "promtail.fullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | stringData: 9 | promtail.yaml: | 10 | {{- tpl .Values.config.file . | nindent 4 }} 11 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/large/spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiVersion": "tanka.dev/v1alpha1", 3 | "kind": "Environment", 4 | "metadata": { 5 | "name": "environments/large" 6 | }, 7 | "spec": { 8 | "apiServer": "", 9 | "namespace": "enterprise-metrics", 10 | "resourceDefaults": {}, 11 | "expectVersions": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/small/spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiVersion": "tanka.dev/v1alpha1", 3 | "kind": "Environment", 4 | "metadata": { 5 | "name": "environments/small" 6 | }, 7 | "spec": { 8 | "apiServer": "", 9 | "namespace": "enterprise-metrics", 10 | "resourceDefaults": {}, 11 | "expectVersions": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/ci/test-values.yaml: -------------------------------------------------------------------------------- 1 | # Test values to limit the load during CI 2 | alertmanager: 3 | persistentVolume: 4 | enabled: false 5 | 6 | compactor: 7 | persistentVolume: 8 | enabled: false 9 | 10 | ingester: 11 | persistentVolume: 12 | enabled: false 13 | 14 | store_gateway: 15 | persistentVolume: 16 | enabled: false 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/default/spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "apiVersion": "tanka.dev/v1alpha1", 3 | "kind": "Environment", 4 | "metadata": { 5 | "name": "environments/default" 6 | }, 7 | "spec": { 8 | "apiServer": "", 9 | "namespace": "enterprise-metrics", 10 | "resourceDefaults": {}, 11 | "expectVersions": {} 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.ServiceAccount-enterprise-metrics-minio.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | labels: 5 | app: minio 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | release: enterprise-metrics 9 | name: enterprise-metrics-minio 10 | namespace: enterprise-metrics 11 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if not .Values.loki.existingSecretForConfig -}} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ include "loki.fullname" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | data: 9 | config.yaml: | 10 | {{- tpl .Values.loki.config . | nindent 4 }} 11 | {{- end -}} 12 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/jsonnetfile.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dependencies": [ 4 | { 5 | "source": { 6 | "git": { 7 | "remote": "https://github.com/grafana/jsonnet-libs.git", 8 | "subdir": "tanka-util" 9 | } 10 | }, 11 | "version": "master" 12 | } 13 | ], 14 | "legacyImports": true 15 | } 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/multi-kv-consul-primary-values.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | config: 3 | distributor: 4 | ring: 5 | kvstore: 6 | store: multi 7 | consul: 8 | http_client_timeout: '20s' 9 | consistent_reads: true 10 | multi: 11 | mirror_enabled: true 12 | primary: consul 13 | secondary: memberlist 14 | -------------------------------------------------------------------------------- /charts/tempo/templates/configmap-tempo-query.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: {{ template "tempo.name" . }}-query 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.labels" . | nindent 4 }} 8 | data: 9 | tempo-query.yaml: | 10 | backend: {{ template "tempo.fullname" . }}:{{ .Values.tempo.server.httpListenPort }} -------------------------------------------------------------------------------- /charts/promtail/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | spec: 9 | {{- toYaml .Values.podSecurityPolicy | nindent 2 }} 10 | {{- end }} 11 | -------------------------------------------------------------------------------- /charts/grafana/templates/tests/test-serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | name: {{ template "grafana.serviceAccountNameTest" . }} 8 | namespace: {{ template "grafana.namespace" . }} 9 | {{- end }} 10 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/gateway/configmap-gateway.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.gateway.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ include "loki.gatewayFullname" . }} 6 | labels: 7 | {{- include "loki.gatewayLabels" . | nindent 4 }} 8 | data: 9 | nginx.conf: | 10 | {{- tpl .Values.gateway.nginxConfig.file . | nindent 4 }} 11 | {{- end }} 12 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/large/main.jsonnet: -------------------------------------------------------------------------------- 1 | local tanka = import 'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'; 2 | local helm = tanka.helm.new(std.thisFile); 3 | 4 | { 5 | grafana: helm.template('enterprise-metrics', '../../', { 6 | namespace: 'enterprise-metrics', 7 | values: std.native('parseYaml')(importstr '../../large.yaml')[0], 8 | }), 9 | } 10 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/environments/small/main.jsonnet: -------------------------------------------------------------------------------- 1 | local tanka = import 'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'; 2 | local helm = tanka.helm.new(std.thisFile); 3 | 4 | { 5 | grafana: helm.template('enterprise-metrics', '../../', { 6 | namespace: 'enterprise-metrics', 7 | values: std.native('parseYaml')(importstr '../../small.yaml')[0], 8 | }), 9 | } 10 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.ServiceAccount-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.ServiceAccount-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.ServiceAccount-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | -------------------------------------------------------------------------------- /charts/loki-canary/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.basicAuth }} 2 | {{- if and .enabled (not .existingSecret) }} 3 | apiVersion: v1 4 | kind: Secret 5 | metadata: 6 | name: {{ include "loki-canary.fullname" $ }} 7 | labels: 8 | {{- include "loki-canary.labels" $ | nindent 4 }} 9 | stringData: 10 | username: {{ .username }} 11 | password: {{ .password }} 12 | {{- end }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ template "loki.fullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app: {{ template "loki.name" . }} 8 | chart: {{ template "loki.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | data: 12 | loki.yaml: {{ tpl (toYaml .Values.config) . | b64enc}} 13 | -------------------------------------------------------------------------------- /charts/loki-canary/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki-canary.fullname" . }} 5 | labels: 6 | {{- include "loki-canary.labels" . | nindent 4 }} 7 | spec: 8 | type: ClusterIP 9 | ports: 10 | - name: http 11 | port: 3500 12 | targetPort: http 13 | protocol: TCP 14 | selector: 15 | {{- include "loki-canary.selectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.ConfigMap-enterprise-metrics-runtime.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | runtime.yaml: |2 4 | 5 | {} 6 | kind: ConfigMap 7 | metadata: 8 | labels: 9 | app: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | chart: enterprise-metrics-1.4.4 12 | heritage: Helm 13 | release: enterprise-metrics 14 | name: enterprise-metrics-runtime 15 | namespace: enterprise-metrics 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.ConfigMap-enterprise-metrics-runtime.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | runtime.yaml: |2 4 | 5 | {} 6 | kind: ConfigMap 7 | metadata: 8 | labels: 9 | app: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | chart: enterprise-metrics-1.4.4 12 | heritage: Helm 13 | release: enterprise-metrics 14 | name: enterprise-metrics-runtime 15 | namespace: enterprise-metrics 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.ConfigMap-enterprise-metrics-runtime.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | runtime.yaml: |2 4 | 5 | {} 6 | kind: ConfigMap 7 | metadata: 8 | labels: 9 | app: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | chart: enterprise-metrics-1.4.4 12 | heritage: Helm 13 | release: enterprise-metrics 14 | name: enterprise-metrics-runtime 15 | namespace: enterprise-metrics 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/multi-kv-memberlist-primary-values.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | config: 3 | distributor: 4 | ring: 5 | kvstore: 6 | store: multi 7 | consul: 8 | http_client_timeout: '20s' 9 | consistent_reads: true 10 | multi: 11 | mirror_enabled: true 12 | primary: consul 13 | secondary: memberlist 14 | 15 | runtimeConfig: 16 | multi_kv_config: 17 | primary: memberlist 18 | -------------------------------------------------------------------------------- /charts/grafana/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | {{- with .Values.serviceAccount.annotations }} 8 | annotations: 9 | {{ toYaml . | indent 4 }} 10 | {{- end }} 11 | name: {{ template "grafana.serviceAccountName" . }} 12 | namespace: {{ template "grafana.namespace" . }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ruler/configmap-ruler.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.ruler.enabled }} 2 | {{- range $dir, $files := .Values.ruler.directories }} 3 | --- 4 | apiVersion: v1 5 | kind: ConfigMap 6 | metadata: 7 | name: {{ include "loki.rulerFullname" $ }}-{{ include "loki.rulerRulesDirName" $dir }} 8 | labels: 9 | {{- include "loki.rulerLabels" $ | nindent 4 }} 10 | data: 11 | {{- toYaml $files | nindent 2}} 12 | {{- end }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/memcached/_helpers-memcached.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | memcached common labels 3 | */}} 4 | {{- define "tempo.memcachedLabels" -}} 5 | {{ include "tempo.labels" . }} 6 | app.kubernetes.io/component: memcached 7 | {{- end }} 8 | 9 | {{/* 10 | memcached selector labels 11 | */}} 12 | {{- define "tempo.memcachedSelectorLabels" -}} 13 | {{ include "tempo.selectorLabels" . }} 14 | app.kubernetes.io/component: memcached 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Secret-enterprise-metrics-license.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | license.jwt: Tk9UQVZBTElETElDRU5TRQ== 4 | kind: Secret 5 | metadata: 6 | labels: 7 | app: enterprise-metrics-license 8 | app.kubernetes.io/managed-by: Helmraiser 9 | chart: enterprise-metrics-1.4.4 10 | heritage: Helm 11 | release: enterprise-metrics 12 | name: enterprise-metrics-license 13 | namespace: enterprise-metrics 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.ServiceAccount-enterprise-metrics-minio-update-prometheus-secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | labels: 5 | app: minio-update-prometheus-secret 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-minio-update-prometheus-secret 11 | namespace: enterprise-metrics 12 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Secret-enterprise-metrics-license.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | license.jwt: Tk9UQVZBTElETElDRU5TRQ== 4 | kind: Secret 5 | metadata: 6 | labels: 7 | app: enterprise-metrics-license 8 | app.kubernetes.io/managed-by: Helmraiser 9 | chart: enterprise-metrics-1.4.4 10 | heritage: Helm 11 | release: enterprise-metrics 12 | name: enterprise-metrics-license 13 | namespace: enterprise-metrics 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Secret-enterprise-metrics-license.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | license.jwt: Tk9UQVZBTElETElDRU5TRQ== 4 | kind: Secret 5 | metadata: 6 | labels: 7 | app: enterprise-metrics-license 8 | app.kubernetes.io/managed-by: Helmraiser 9 | chart: enterprise-metrics-1.4.4 10 | heritage: Helm 11 | release: enterprise-metrics 12 | name: enterprise-metrics-license 13 | namespace: enterprise-metrics 14 | -------------------------------------------------------------------------------- /charts/grafana/templates/secret-env.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.envRenderSecret }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-env 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | type: Opaque 10 | data: 11 | {{- range $key, $val := .Values.envRenderSecret }} 12 | {{ $key }}: {{ $val | b64enc | quote }} 13 | {{- end -}} 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /charts/loki-distributed/ci/persistence-values.yaml: -------------------------------------------------------------------------------- 1 | ingester: 2 | persistence: 3 | enabled: true 4 | size: 100Mi 5 | 6 | querier: 7 | persistence: 8 | enabled: true 9 | size: 100Mi 10 | 11 | gateway: 12 | nginxConfig: 13 | httpSnippet: |- 14 | client_max_body_size 100M; 15 | serverSnippet: |- 16 | client_max_body_size 100M; 17 | 18 | basicAuth: 19 | enabled: true 20 | username: user 21 | password: pass 22 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/gateway/secret-gateway.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.gateway }} 2 | {{- if and .enabled .basicAuth.enabled (not .basicAuth.existingSecret) }} 3 | apiVersion: v1 4 | kind: Secret 5 | metadata: 6 | name: {{ include "loki.gatewayFullname" $ }} 7 | labels: 8 | {{- include "loki.gatewayLabels" $ | nindent 4 }} 9 | stringData: 10 | .htpasswd: | 11 | {{- tpl .basicAuth.htpasswd $ | nindent 4 }} 12 | {{- end }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/fluent-bit/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/loki-stack/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/promtail/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | .vscode/ 23 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/jsonnetfile.lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "dependencies": [ 4 | { 5 | "source": { 6 | "git": { 7 | "remote": "https://github.com/grafana/jsonnet-libs.git", 8 | "subdir": "tanka-util" 9 | } 10 | }, 11 | "version": "752752875b50fa4c5021d92beb6871ccbd588f03", 12 | "sum": "XZGAMWkORQ2XmTTaK9jvsgVvsgabz8Vio1j5U4fmO8U=" 13 | } 14 | ], 15 | "legacyImports": false 16 | } 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/license-secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if not .Values.license.external }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ .Values.license.secretName }} 6 | labels: 7 | app: {{ .Values.license.secretName }} 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | data: 12 | license.jwt: {{ .Values.license.contents | b64enc }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | app: {{ template "fluent-bit-loki.name" . }} 7 | chart: {{ template "fluent-bit-loki.chart" . }} 8 | heritage: {{ .Release.Service }} 9 | release: {{ .Release.Name }} 10 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 11 | namespace: {{ .Release.Namespace }} 12 | {{- end }} 13 | -------------------------------------------------------------------------------- /charts/loki/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | name: loki 3 | version: 2.6.0 4 | appVersion: v2.3.0 5 | kubeVersion: "^1.10.0-0" 6 | description: "Loki: like Prometheus, but for logs." 7 | home: https://grafana.com/loki 8 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 9 | sources: 10 | - https://github.com/grafana/loki 11 | maintainers: 12 | - name: Loki Maintainers 13 | email: lokiproject@googlegroups.com 14 | engine: gotpl 15 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/compactor/service-compactor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.compactorFullname" . }} 5 | labels: 6 | {{- include "tempo.compactorLabels" . | nindent 4 }} 7 | spec: 8 | type: ClusterIP 9 | ports: 10 | - name: http 11 | port: 3100 12 | targetPort: http 13 | protocol: TCP 14 | selector: 15 | {{- include "tempo.compactorSelectorLabels" . | nindent 4 }} 16 | -------------------------------------------------------------------------------- /charts/tempo/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .vscode 20 | .project 21 | .idea/ 22 | *.tmproj 23 | OWNERS 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Secret-enterprise-metrics-minio.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | data: 3 | accesskey: ZW50ZXJwcmlzZS1tZXRyaWNz 4 | secretkey: c3VwZXJzZWNyZXQ= 5 | kind: Secret 6 | metadata: 7 | labels: 8 | app: minio 9 | app.kubernetes.io/managed-by: Helmraiser 10 | chart: minio-8.0.9 11 | heritage: Helm 12 | release: enterprise-metrics 13 | name: enterprise-metrics-minio 14 | namespace: enterprise-metrics 15 | type: Opaque 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/runtime-configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-runtime 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }} 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | data: 11 | runtime.yaml: | 12 | {{ tpl (toYaml .Values.runtimeConfig) . | nindent 4 }} 13 | -------------------------------------------------------------------------------- /charts/grafana/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .vscode 20 | .project 21 | .idea/ 22 | *.tmproj 23 | OWNERS 24 | -------------------------------------------------------------------------------- /charts/loki-canary/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: loki-canary 3 | description: Helm chart for Grafana Loki Canary 4 | type: application 5 | appVersion: 2.3.0 6 | version: 0.4.0 7 | home: https://github.com/grafana/helm-charts 8 | sources: 9 | - https://github.com/grafana/loki 10 | - https://grafana.com/oss/loki/ 11 | - https://grafana.com/docs/loki/latest/ 12 | icon: https://grafana.com/docs/loki/latest/logo_and_name.png 13 | maintainers: 14 | - name: unguiculus 15 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/querier/poddisruptionbudget-querier.yaml: -------------------------------------------------------------------------------- 1 | {{- if gt (int .Values.querier.replicas) 1 }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.querierFullname" . }} 6 | labels: 7 | {{- include "loki.querierLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.querierSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki-stack/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | name: loki-stack 3 | version: 2.4.1 4 | appVersion: v2.1.0 5 | kubeVersion: "^1.10.0-0" 6 | description: "Loki: like Prometheus, but for logs." 7 | home: https://grafana.com/loki 8 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 9 | sources: 10 | - https://github.com/grafana/loki 11 | maintainers: 12 | - name: Loki Maintainers 13 | email: lokiproject@googlegroups.com 14 | engine: gotpl 15 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ingester/poddisruptionbudget-ingester.yaml: -------------------------------------------------------------------------------- 1 | {{- if gt (int .Values.ingester.replicas) 1 }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.ingesterFullname" . }} 6 | labels: 7 | {{- include "loki.ingesterLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.ingesterSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/tempo-vulture/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | -------------------------------------------------------------------------------- /charts/grafana/ci/with-image-renderer-values.yaml: -------------------------------------------------------------------------------- 1 | podLabels: 2 | customLableA: Aaaaa 3 | imageRenderer: 4 | enabled: true 5 | env: 6 | RENDERING_ARGS: --disable-gpu,--window-size=1280x758 7 | RENDERING_MODE: clustered 8 | podLabels: 9 | customLableB: Bbbbb 10 | networkPolicy: 11 | limitIngress: true 12 | limitEgress: true 13 | resources: 14 | limits: 15 | cpu: 1000m 16 | memory: 1000Mi 17 | requests: 18 | cpu: 500m 19 | memory: 50Mi 20 | -------------------------------------------------------------------------------- /charts/loki-distributed/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: loki-distributed 3 | description: Helm chart for Grafana Loki in microservices mode 4 | type: application 5 | appVersion: 2.3.0 6 | version: 0.36.0 7 | home: https://grafana.github.io/helm-charts 8 | sources: 9 | - https://github.com/grafana/loki 10 | - https://grafana.com/oss/loki/ 11 | - https://grafana.com/docs/loki/latest/ 12 | icon: https://grafana.com/docs/loki/latest/logo_and_name.png 13 | maintainers: 14 | - name: unguiculus 15 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/distributor/poddisruptionbudget-distributor.yaml: -------------------------------------------------------------------------------- 1 | {{- if gt (int .Values.distributor.replicas) 1 }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.distributorFullname" . }} 6 | labels: 7 | {{- include "loki.distributorLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.distributorSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if not .Values.useExternalConfig }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }} 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }} 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | data: 12 | enterprise-metrics.yaml: {{ tpl (toYaml .Values.config) . | b64enc}} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ include "loki.fullname" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | rules: 9 | - apiGroups: 10 | - policy 11 | resources: 12 | - podsecuritypolicies 13 | verbs: 14 | - use 15 | resourceNames: 16 | - {{ include "loki.fullname" . }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-canary/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | doc.yaml 25 | README.tpl 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/query-frontend/poddisruptionbudget-query-frontent.yaml: -------------------------------------------------------------------------------- 1 | {{- if gt (int .Values.queryFrontend.replicas) 1 }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.queryFrontendFullname" . }} 6 | labels: 7 | {{- include "loki.queryFrontendLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.queryFrontendSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ include "loki.fullname" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | roleRef: 9 | apiGroup: rbac.authorization.k8s.io 10 | kind: Role 11 | name: {{ include "loki.fullname" . }} 12 | subjects: 13 | - kind: ServiceAccount 14 | name: {{ include "loki.serviceAccountName" . }} 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.PersistentVolumeClaim-enterprise-metrics-minio.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: PersistentVolumeClaim 3 | metadata: 4 | labels: 5 | app: minio 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-minio 11 | namespace: enterprise-metrics 12 | spec: 13 | accessModes: 14 | - ReadWriteOnce 15 | resources: 16 | requests: 17 | storage: 5Gi 18 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/tools/update-version: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # Update references to Grafana Enterprise Metrics versions 3 | 4 | set -euf -o pipefail 5 | 6 | DRYRUN="${DRYRUN:-1}" 7 | SED=sed 8 | 9 | if [[ "${DRYRUN}" -eq 0 ]]; then 10 | SED="${SED} -i" 11 | fi 12 | 13 | if [[ "${#@}" -ne 1 ]]; then 14 | echo "Usage: $0 " 15 | echo "Example: $0 v1.0.2" 16 | fi 17 | 18 | ${SED} -e "6s/tag: .*/tag: ${1}/" values.yaml 19 | ${SED} -e "3s/appVersion: .*/appVersion: ${1}/" Chart.yaml 20 | -------------------------------------------------------------------------------- /charts/loki-distributed/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | doc.yaml 25 | README.tpl 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ruler/poddisruptionbudget-ruler.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.ruler.enabled }} 2 | {{- if gt (int .Values.ruler.replicas) 1 }} 3 | apiVersion: policy/v1beta1 4 | kind: PodDisruptionBudget 5 | metadata: 6 | name: {{ include "loki.rulerFullname" . }} 7 | labels: 8 | {{- include "loki.rulerLabels" . | nindent 4 }} 9 | spec: 10 | selector: 11 | matchLabels: 12 | {{- include "loki.rulerSelectorLabels" . | nindent 6 }} 13 | maxUnavailable: 1 14 | {{- end }} 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /charts/tempo-distributed/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *.orig 18 | *~ 19 | # Various IDEs 20 | .project 21 | .idea/ 22 | *.tmproj 23 | .vscode/ 24 | doc.yaml 25 | README.tpl 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/service-memberlist.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.fullname" . }}-memberlist 5 | labels: 6 | {{- include "loki.labels" . | nindent 4 }} 7 | spec: 8 | type: ClusterIP 9 | clusterIP: None 10 | ports: 11 | - name: http 12 | port: 7946 13 | targetPort: http-memberlist 14 | protocol: TCP 15 | selector: 16 | {{- include "loki.selectorLabels" . | nindent 4 }} 17 | app.kubernetes.io/part-of: memberlist 18 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/configmap-tempo.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: {{ template "tempo.fullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.distributorLabels" . | nindent 4 }} 8 | data: 9 | tempo-query.yaml: | 10 | {{- tpl .Values.queryFrontend.query.config . | nindent 4 }} 11 | overrides.yaml: | 12 | {{- tpl .Values.overrides . | nindent 4 }} 13 | tempo.yaml: | 14 | {{- tpl .Values.config . | nindent 4 }} 15 | -------------------------------------------------------------------------------- /charts/tempo-vulture/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: tempo-vulture 3 | description: Grafana Tempo Vulture - A tool to monitor Tempo performance. 4 | type: application 5 | version: 0.1.0 6 | appVersion: 0.7.0 7 | engine: gotpl 8 | home: https://grafana.com/docs/tempo/latest/ 9 | icon: https://raw.githubusercontent.com/grafana/tempo/master/docs/tempo/website/logo_and_name.png 10 | sources: 11 | - https://github.com/grafana/tempo 12 | maintainers: 13 | - name: Joe Elliott 14 | email: number101010@gmail.com 15 | -------------------------------------------------------------------------------- /charts/promtail/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | rules: 9 | - apiGroups: 10 | - "" 11 | resources: 12 | - nodes 13 | - nodes/proxy 14 | - services 15 | - endpoints 16 | - pods 17 | verbs: 18 | - get 19 | - watch 20 | - list 21 | {{- end }} 22 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/gateway/poddisruptionbudget-gateway.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.gateway.enabled }} 2 | {{- if gt (int .Values.gateway.replicas) 1 }} 3 | apiVersion: policy/v1beta1 4 | kind: PodDisruptionBudget 5 | metadata: 6 | name: {{ include "loki.gatewayFullname" . }} 7 | labels: 8 | {{- include "loki.gatewayLabels" . | nindent 4 }} 9 | spec: 10 | selector: 11 | matchLabels: 12 | {{- include "loki.gatewaySelectorLabels" . | nindent 6 }} 13 | maxUnavailable: 1 14 | {{- end }} 15 | {{- end }} 16 | -------------------------------------------------------------------------------- /charts/tempo/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "tempo.serviceAccountName" . }} 6 | labels: 7 | {{- include "tempo.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.serviceAccount.imagePullSecrets }} 13 | imagePullSecrets: 14 | {{- toYaml . | nindent 2 }} 15 | {{- end }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }} 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | heritage: {{ .Release.Service }} 9 | release: {{ .Release.Name }} 10 | annotations: 11 | {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} 12 | name: {{ template "enterprise-metrics.serviceAccountName" . }} 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | !WARNING! !WARNING! !WARNING! !WARNING! !WARNING! 2 | 3 | Please use the official fluent-bit chart 4 | 5 | https://github.com/fluent/helm-charts 6 | 7 | !WARNING! !WARNING! !WARNING! !WARNING! !WARNING! 8 | 9 | Verify the application is working by running these commands: 10 | kubectl --namespace {{ .Release.Namespace }} port-forward daemonset/{{ include "fluent-bit-loki.fullname" . }} {{ .Values.config.port }} 11 | curl http://127.0.0.1:{{ .Values.config.port }}/api/v1/metrics/prometheus 12 | -------------------------------------------------------------------------------- /ct.yaml: -------------------------------------------------------------------------------- 1 | # See https://github.com/helm/chart-testing#configuration 2 | remote: origin 3 | target-branch: main 4 | chart-dirs: 5 | - charts 6 | chart-repos: 7 | - grafana=https://grafana.github.io/helm-charts 8 | - prometheus-community=https://prometheus-community.github.io/helm-charts 9 | - elastic=https://helm.elastic.co 10 | - bitnami=https://charts.bitnami.com/bitnami 11 | - hashicorp=https://helm.releases.hashicorp.com 12 | - minio=https://helm.min.io 13 | helm-extra-args: --timeout 600s 14 | validate-maintainers: false 15 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "tempo.serviceAccountName" . }} 6 | labels: 7 | {{- include "tempo.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.serviceAccount.imagePullSecrets }} 13 | imagePullSecrets: 14 | {{- toYaml . | nindent 2 }} 15 | {{- end }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/grafana/ci/with-dashboard-values.yaml: -------------------------------------------------------------------------------- 1 | dashboards: 2 | my-provider: 3 | my-awesome-dashboard: 4 | gnetId: 10000 5 | revision: 1 6 | datasource: Prometheus 7 | dashboardProviders: 8 | dashboardproviders.yaml: 9 | apiVersion: 1 10 | providers: 11 | - name: 'my-provider' 12 | orgId: 1 13 | folder: '' 14 | type: file 15 | updateIntervalSeconds: 10 16 | disableDeletion: true 17 | editable: true 18 | options: 19 | path: /var/lib/grafana/dashboards/my-provider 20 | -------------------------------------------------------------------------------- /charts/promtail/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-psp 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | rules: 10 | - apiGroups: 11 | - policy 12 | resources: 13 | - podsecuritypolicies 14 | verbs: 15 | - use 16 | resourceNames: 17 | - {{ include "promtail.fullname" . }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************** 2 | Welcome to Grafana Tempo 3 | Chart version: {{ .Chart.Version }} 4 | Tempo version: {{ .Chart.AppVersion }} 5 | *********************************************************************** 6 | 7 | Installed components: 8 | * ingester 9 | * distributor 10 | * querier 11 | * query-frontend 12 | {{- if .Values.compactor.enabled }} 13 | * compactor 14 | {{- end }} 15 | {{- if .Values.memcached.enabled }} 16 | * memcached 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-canary/README.md.gotmpl: -------------------------------------------------------------------------------- 1 | {{ template "chart.header" . }} 2 | 3 | {{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} 4 | 5 | {{ template "chart.description" . }} 6 | 7 | {{ template "chart.sourcesSection" . }} 8 | 9 | {{ template "chart.requirementsSection" . }} 10 | 11 | ## Chart Repo 12 | 13 | Add the following repo to use the chart: 14 | 15 | ```console 16 | helm repo add grafana https://grafana.github.io/helm-charts 17 | ``` 18 | 19 | {{ template "chart.valuesSection" . }} 20 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-chunks/poddisruptionbudget-memcached-chunks.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.memcachedChunks.enabled (gt (int .Values.memcachedChunks.replicas) 1) }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.memcachedChunksFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedChunksLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.memcachedChunksSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/tempo-vulture/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create -}} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "tempo-vulture.serviceAccountName" . }} 6 | labels: 7 | {{- include "tempo-vulture.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.serviceAccount.imagePullSecrets }} 13 | imagePullSecrets: 14 | {{- toYaml . | nindent 2 }} 15 | {{- end }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/grafana/templates/tests/test-role.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.rbac.pspEnabled -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | rules: 10 | - apiGroups: ['policy'] 11 | resources: ['podsecuritypolicies'] 12 | verbs: ['use'] 13 | resourceNames: [{{ template "grafana.fullname" . }}-test] 14 | {{- end }} 15 | -------------------------------------------------------------------------------- /charts/tempo-vulture/templates/service.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "tempo-vulture.fullname" . }} 5 | labels: 6 | {{- include "tempo-vulture.labels" . | nindent 4 }} 7 | {{- with .Values.annotations }} 8 | annotations: 9 | {{- toYaml . | indent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | ports: 14 | - port: 8080 15 | targetPort: prom-metrics 16 | protocol: TCP 17 | name: prom-metrics 18 | selector: 19 | {{- include "tempo-vulture.selectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /.github/workflows/check-codeowners.yaml: -------------------------------------------------------------------------------- 1 | name: Check CODEOWNERS 2 | 3 | on: pull_request 4 | jobs: 5 | build: 6 | runs-on: ubuntu-20.04 7 | steps: 8 | - uses: actions/checkout@v2 9 | - name: install yq 10 | run: | 11 | sudo snap install yq 12 | - name: generate CODEOWNERS 13 | run: | 14 | ./scripts/check-codeowners.sh > .github/CODEOWNERS 15 | - name: check CODEOWNERS for modifications 16 | run: | 17 | git diff --exit-code || echo "::warning::There is at least one codeowner mismatch." 18 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-frontend/poddisruptionbudget-memcached-frontend.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.memcachedFrontend.enabled (gt (int .Values.memcachedFrontend.replicas) 1) }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.memcachedFrontendFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedFrontendLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.memcachedFrontendSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-minio.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: minio 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-minio 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http 15 | port: 9000 16 | protocol: TCP 17 | targetPort: 9000 18 | selector: 19 | app: minio 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/loki/templates/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget -}} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "loki.name" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | chart: {{ template "loki.chart" . }} 12 | spec: 13 | selector: 14 | matchLabels: 15 | app: {{ template "loki.name" . }} 16 | {{ toYaml .Values.podDisruptionBudget | indent 2 }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/promtail/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ include "promtail.fullname" . }} 6 | labels: 7 | {{- include "promtail.labels" . | nindent 4 }} 8 | subjects: 9 | - kind: ServiceAccount 10 | name: {{ include "promtail.serviceAccountName" . }} 11 | namespace: {{ .Release.Namespace }} 12 | roleRef: 13 | kind: ClusterRole 14 | name: {{ include "promtail.fullname" . }} 15 | apiGroup: rbac.authorization.k8s.io 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/promtail/templates/service-metrics.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-metrics 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | spec: 10 | clusterIP: None 11 | ports: 12 | - name: http-metrics 13 | port: {{ .Values.config.serverPort }} 14 | targetPort: http-metrics 15 | protocol: TCP 16 | selector: 17 | {{- include "promtail.selectorLabels" . | nindent 4 }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /charts/promtail/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "promtail.serviceAccountName" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | {{- with .Values.serviceAccount.annotations }} 10 | annotations: 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | {{- with .Values.serviceAccount.imagePullSecrets }} 14 | imagePullSecrets: 15 | {{- toYaml . | nindent 2 }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/ingester/service-ingester.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.ingesterFullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.ingesterLabels" . | nindent 4 }} 8 | spec: 9 | ports: 10 | - name: http 11 | port: 3100 12 | protocol: TCP 13 | targetPort: 3100 14 | - name: grpc 15 | port: 9095 16 | protocol: TCP 17 | targetPort: 9095 18 | selector: 19 | {{- include "tempo.ingesterSelectorLabels" . | nindent 4 }} 20 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/tools/chart-version-tag.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o nounset 4 | set -o pipefail 5 | 6 | RELEASE_TAG=$(git describe --tags --exact-match 2>/dev/null) 7 | set -o errexit 8 | if [ -z "$RELEASE_TAG" ] 9 | then 10 | WORKING_SUFFIX=$(if git status --porcelain | grep -qE '^(?:[^?][^ ]|[^ ][^?])\s'; then echo "-WIP"; else echo ""; fi) 11 | BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) 12 | TAG_PREFIX=$(git describe --tags 2>/dev/null) 13 | echo "$TAG_PREFIX-${BRANCH_NAME//\//-}$WORKING_SUFFIX" 14 | else 15 | echo "$RELEASE_TAG" 16 | fi -------------------------------------------------------------------------------- /charts/loki/templates/configmap-alert.yaml: -------------------------------------------------------------------------------- 1 | {{- if gt (len .Values.alerting_groups) 0 }} 2 | --- 3 | apiVersion: v1 4 | kind: ConfigMap 5 | metadata: 6 | name: {{ template "loki.fullname" . }}-alerting-rules 7 | namespace: {{ .Release.Namespace }} 8 | labels: 9 | app: {{ template "loki.name" . }} 10 | chart: {{ template "loki.chart" . }} 11 | release: {{ .Release.Name }} 12 | heritage: {{ .Release.Service }} 13 | data: 14 | {{ template "loki.fullname" . }}-alerting-rules.yaml: |- 15 | groups: 16 | {{- toYaml .Values.alerting_groups | nindent 6 }} 17 | {{- end }} -------------------------------------------------------------------------------- /charts/promtail/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create .Values.rbac.pspEnabled }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ include "promtail.fullname" . }}-psp 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "promtail.labels" . | nindent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: {{ include "promtail.fullname" . }}-psp 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ include "promtail.serviceAccountName" . }} 16 | {{- end }} 17 | -------------------------------------------------------------------------------- /charts/fluent-bit/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | name: fluent-bit 3 | version: 2.3.0 4 | appVersion: v2.1.0 5 | kubeVersion: "^1.10.0-0" 6 | description: "Uses fluent-bit Loki go plugin for gathering logs and sending them to Loki" 7 | # This Helm chart is deprecated and no longer maintained. 8 | deprecated: true 9 | home: https://grafana.com/loki 10 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 11 | sources: 12 | - https://github.com/grafana/loki 13 | maintainers: 14 | - name: Loki Maintainers 15 | email: lokiproject@googlegroups.com 16 | engine: gotpl 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: Role 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | rules: 13 | - apiGroups: 14 | - extensions 15 | resourceNames: 16 | - enterprise-metrics 17 | resources: 18 | - podsecuritypolicies 19 | verbs: 20 | - use 21 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: Role 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | rules: 13 | - apiGroups: 14 | - extensions 15 | resourceNames: 16 | - enterprise-metrics 17 | resources: 18 | - podsecuritypolicies 19 | verbs: 20 | - use 21 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | app: {{ template "fluent-bit-loki.name" . }} 7 | chart: {{ template "fluent-bit-loki.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrole 11 | rules: 12 | - apiGroups: [""] # "" indicates the core API group 13 | resources: 14 | - namespaces 15 | - pods 16 | verbs: ["get", "watch", "list"] 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-writes/poddisruptionbudget-memcached-index-writes.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.memcachedIndexWrites.enabled (gt (int .Values.memcachedIndexWrites.replicas) 1) }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.memcachedIndexWritesFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedIndexWritesLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.memcachedIndexWritesSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/querier/service-querier-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.querierFullname" . }}-headless 5 | labels: 6 | {{- include "loki.querierSelectorLabels" . | nindent 4 }} 7 | spec: 8 | type: ClusterIP 9 | clusterIP: None 10 | ports: 11 | - name: http 12 | port: 3100 13 | targetPort: http 14 | protocol: TCP 15 | - name: grpc 16 | port: 9095 17 | targetPort: grpc 18 | protocol: TCP 19 | selector: 20 | {{- include "loki.querierSelectorLabels" . | nindent 4 }} 21 | -------------------------------------------------------------------------------- /charts/promtail/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: promtail 3 | description: Promtail is an agent which ships the contents of local logs to a Loki instance 4 | type: application 5 | appVersion: 2.3.0 6 | version: 3.7.0 7 | home: https://grafana.com/loki 8 | sources: 9 | - https://github.com/grafana/loki 10 | - https://grafana.com/oss/loki/ 11 | - https://grafana.com/docs/loki/latest/ 12 | icon: https://raw.githubusercontent.com/grafana/loki/master/docs/sources/logo.png 13 | maintainers: 14 | - name: Loki Maintainers 15 | email: lokiproject@googlegroups.com 16 | - name: unguiculus 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/rbac.authorization.k8s.io-v1.Role-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: Role 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | rules: 13 | - apiGroups: 14 | - extensions 15 | resourceNames: 16 | - enterprise-metrics 17 | resources: 18 | - podsecuritypolicies 19 | verbs: 20 | - use 21 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/pdb.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget -}} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }} 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }} 8 | heritage: {{ .Release.Service }} 9 | release: {{ .Release.Name }} 10 | chart: {{ template "enterprise-metrics.chart" . }} 11 | spec: 12 | selector: 13 | matchLabels: 14 | app: {{ template "enterprise-metrics.name" . }} 15 | {{ toYaml .Values.podDisruptionBudget | indent 2 }} 16 | {{- end -}} 17 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ingester/service-ingester-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.ingesterFullname" . }}-headless 5 | labels: 6 | {{- include "loki.ingesterSelectorLabels" . | nindent 4 }} 7 | spec: 8 | type: ClusterIP 9 | clusterIP: None 10 | ports: 11 | - name: http 12 | port: 3100 13 | targetPort: http 14 | protocol: TCP 15 | - name: grpc 16 | port: 9095 17 | targetPort: grpc 18 | protocol: TCP 19 | selector: 20 | {{- include "loki.ingesterSelectorLabels" . | nindent 4 }} 21 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-queries/poddisruptionbudget-memcached-index-queries.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.memcachedIndexQueries.enabled (gt (int .Values.memcachedIndexQueries.replicas) 1) }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ include "loki.memcachedIndexQueriesFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedIndexQueriesLabels" . | nindent 4 }} 8 | spec: 9 | selector: 10 | matchLabels: 11 | {{- include "loki.memcachedIndexQueriesSelectorLabels" . | nindent 6 }} 12 | maxUnavailable: 1 13 | {{- end }} 14 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/memcached/service-memcached.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcached.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "tempo.fullname" . }}-memcached 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | {{- include "tempo.memcachedLabels" . | nindent 4 }} 9 | spec: 10 | ports: 11 | - name: memcached-client 12 | port: 11211 13 | targetPort: 11211 14 | - name: http-metrics 15 | port: 9150 16 | targetPort: http-metrics 17 | selector: 18 | {{- include "tempo.memcachedSelectorLabels" . | nindent 4 }} 19 | {{- end}} 20 | -------------------------------------------------------------------------------- /charts/tempo/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: tempo 3 | description: Grafana Tempo Single Binary Mode 4 | type: application 5 | version: 0.7.5 6 | appVersion: v1.0.1 7 | engine: gotpl 8 | home: https://grafana.net 9 | icon: https://raw.githubusercontent.com/grafana/tempo/master/docs/tempo/website/logo_and_name.png 10 | sources: 11 | - https://github.com/grafana/tempo 12 | maintainers: 13 | - name: joe-elliott 14 | email: number101010@gmail.com 15 | - name: swartz-k 16 | email: 9215868@gmail.com 17 | - name: annanay25 18 | - name: mdisibio 19 | - name: dgzlopes 20 | - name: mapno 21 | -------------------------------------------------------------------------------- /charts/promtail/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************** 2 | Welcome to Grafana Promtail 3 | Chart version: {{ .Chart.Version }} 4 | Promtail version: {{ .Values.image.tag | default .Chart.AppVersion }} 5 | *********************************************************************** 6 | 7 | Verify the application is working by running these commands: 8 | 9 | * kubectl --namespace {{ .Release.Namespace }} port-forward daemonset/{{ include "promtail.fullname" . }} {{ .Values.config.serverPort }} 10 | * curl http://127.0.0.1:{{ .Values.config.serverPort }}/metrics 11 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/service-gossip-ring.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.gossipRing.name" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app.kubernetes.io/component: {{ template "tempo.gossipRing.name" . }} 8 | {{- include "tempo.labels" . | nindent 4 }} 9 | spec: 10 | type: ClusterIP 11 | clusterIP: None 12 | ports: 13 | - name: gossip-ring 14 | port: 7946 15 | protocol: TCP 16 | targetPort: http-memberlist 17 | selector: 18 | {{- include "tempo.gossipRing.selectorLabels" . | nindent 4 }} 19 | -------------------------------------------------------------------------------- /charts/loki/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | labels: 6 | app: {{ template "loki.name" . }} 7 | chart: {{ template "loki.chart" . }} 8 | heritage: {{ .Release.Service }} 9 | release: {{ .Release.Name }} 10 | annotations: 11 | {{- toYaml .Values.serviceAccount.annotations | nindent 4 }} 12 | name: {{ template "loki.serviceAccountName" . }} 13 | namespace: {{ .Release.Namespace }} 14 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} 15 | {{- end }} 16 | 17 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: RoleBinding 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: enterprise-metrics 16 | subjects: 17 | - kind: ServiceAccount 18 | name: enterprise-metrics 19 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: RoleBinding 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: enterprise-metrics 16 | subjects: 17 | - kind: ServiceAccount 18 | name: enterprise-metrics 19 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: RoleBinding 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | namespace: enterprise-metrics 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: enterprise-metrics 16 | subjects: 17 | - kind: ServiceAccount 18 | name: enterprise-metrics 19 | -------------------------------------------------------------------------------- /charts/grafana/templates/tests/test-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.testFramework.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | data: 10 | run.sh: |- 11 | @test "Test Health" { 12 | url="http://{{ template "grafana.fullname" . }}/api/health" 13 | 14 | code=$(wget --server-response --spider --timeout 10 --tries 1 ${url} 2>&1 | awk '/^ HTTP/{print $2}') 15 | [ "$code" == "200" ] 16 | } 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-canary/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "loki-canary.fullname" . }} 6 | labels: 7 | {{- include "loki-canary.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} 13 | {{- with .Values.serviceAccount.imagePullSecrets }} 14 | imagePullSecrets: 15 | {{- toYaml . | nindent 2 }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/serviceaccount.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "loki.serviceAccountName" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | {{- with .Values.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.serviceAccount.imagePullSecrets }} 13 | automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }} 14 | imagePullSecrets: 15 | {{- toYaml . | nindent 2 }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-ruler.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ruler 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ruler 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-ruler 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-ruler.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ruler 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ruler 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-ruler 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ruler/persistentvolumeclaim-ruler.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.ruler.enabled .Values.ruler.persistence.enabled }} 2 | apiVersion: v1 3 | kind: PersistentVolumeClaim 4 | metadata: 5 | name: data-{{ include "loki.rulerFullname" . }} 6 | labels: 7 | {{- include "loki.rulerLabels" . | nindent 4 }} 8 | spec: 9 | accessModes: 10 | - ReadWriteOnce 11 | {{- with .Values.ruler.persistence.storageClass }} 12 | storageClassName: {{ if (eq "-" .) }}""{{ else }}{{ . }}{{ end }} 13 | {{- end }} 14 | resources: 15 | requests: 16 | storage: "{{ .Values.ruler.persistence.size }}" 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /.github/workflows/validate-pr.yaml: -------------------------------------------------------------------------------- 1 | name: Validate Pull Request 2 | 3 | on: 4 | pull_request: 5 | types: 6 | - opened 7 | - edited 8 | - reopened 9 | - synchronize 10 | 11 | jobs: 12 | validate: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Checkout Code 16 | uses: actions/checkout@v2 17 | with: 18 | fetch-depth: 0 19 | 20 | - name: Set up chart-testing 21 | uses: helm/chart-testing-action@v2.0.1 22 | 23 | - name: Validate PR 24 | run: scripts/validate-pr.sh 25 | env: 26 | PR_TITLE: ${{ github.event.pull_request.title }} 27 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/Chart.lock: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: memcached 3 | repository: https://charts.bitnami.com/bitnami 4 | version: 5.5.2 5 | - name: memcached 6 | repository: https://charts.bitnami.com/bitnami 7 | version: 5.5.2 8 | - name: memcached 9 | repository: https://charts.bitnami.com/bitnami 10 | version: 5.5.2 11 | - name: minio 12 | repository: https://helm.min.io/ 13 | version: 8.0.9 14 | - name: consul 15 | repository: https://helm.releases.hashicorp.com 16 | version: 0.25.0 17 | digest: sha256:c9c729462e364f64e476603ece88e30288f66662b337ac35bbde7dc8eba95719 18 | generated: "2021-03-22T17:15:44.263441129Z" 19 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-ruler.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ruler 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ruler 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-ruler 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-gateway 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-gateway 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | selector: 19 | app: enterprise-metrics-gateway 20 | release: enterprise-metrics 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/grafana/templates/headless-service.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.type "statefulset")}} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-headless 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | {{- with .Values.annotations }} 10 | annotations: 11 | {{ toYaml . | indent 4 }} 12 | {{- end }} 13 | spec: 14 | clusterIP: None 15 | selector: 16 | {{- include "grafana.selectorLabels" . | nindent 4 }} 17 | type: ClusterIP 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /charts/loki/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "loki.name" . }} 9 | chart: {{ template "loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: {{ template "loki.fullname" . }} 16 | subjects: 17 | - kind: ServiceAccount 18 | name: {{ template "loki.serviceAccountName" . }} 19 | {{- end }} 20 | 21 | -------------------------------------------------------------------------------- /charts/tempo-distributed/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: tempo-distributed 3 | description: Grafana Tempo in MicroService mode 4 | type: application 5 | version: 0.9.13 6 | appVersion: 1.0.1 7 | engine: gotpl 8 | home: https://grafana.com/docs/tempo/latest/ 9 | icon: https://raw.githubusercontent.com/grafana/tempo/master/docs/tempo/website/logo_and_name.png 10 | sources: 11 | - https://github.com/grafana/tempo 12 | maintainers: 13 | - name: joe-elliott 14 | email: number101010@gmail.com 15 | - name: swartz-k 16 | email: 9215868@gmail.com 17 | - name: annanay25 18 | - name: mdisibio 19 | - name: dgzlopes 20 | - name: mapno 21 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/prometheusrule.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.prometheusRule }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: PrometheusRule 5 | metadata: 6 | name: {{ include "loki.fullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "loki.labels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | groups: 21 | {{- toYaml .groups | nindent 4 }} 22 | {{- end }} 23 | {{- end }} 24 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/querier/service-querier.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.querierFullname" . }} 5 | labels: 6 | {{- include "loki.querierLabels" . | nindent 4 }} 7 | {{- with .Values.querier.serviceLabels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | spec: 11 | type: ClusterIP 12 | ports: 13 | - name: http 14 | port: 3100 15 | targetPort: http 16 | protocol: TCP 17 | - name: grpc 18 | port: 9095 19 | targetPort: grpc 20 | protocol: TCP 21 | selector: 22 | {{- include "loki.querierSelectorLabels" . | nindent 4 }} 23 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ingester/service-ingester.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.ingesterFullname" . }} 5 | labels: 6 | {{- include "loki.ingesterLabels" . | nindent 4 }} 7 | {{- with .Values.ingester.serviceLabels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | spec: 11 | type: ClusterIP 12 | ports: 13 | - name: http 14 | port: 3100 15 | targetPort: http 16 | protocol: TCP 17 | - name: grpc 18 | port: 9095 19 | targetPort: grpc 20 | protocol: TCP 21 | selector: 22 | {{- include "loki.ingesterSelectorLabels" . | nindent 4 }} 23 | -------------------------------------------------------------------------------- /charts/loki/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "loki.name" . }} 9 | chart: {{ template "loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | {{- if .Values.rbac.pspEnabled }} 13 | rules: 14 | - apiGroups: ['extensions'] 15 | resources: ['podsecuritypolicies'] 16 | verbs: ['use'] 17 | resourceNames: [{{ template "loki.fullname" . }}] 18 | {{- end }} 19 | {{- end }} 20 | 21 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-gossip-ring.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gossip-ring 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gossip-ring 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: gossip-ring 16 | port: 7946 17 | protocol: TCP 18 | targetPort: 7946 19 | publishNotReadyAddresses: true 20 | selector: 21 | gossip_ring_member: "true" 22 | type: ClusterIP 23 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-gossip-ring.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gossip-ring 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gossip-ring 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: gossip-ring 16 | port: 7946 17 | protocol: TCP 18 | targetPort: 7946 19 | publishNotReadyAddresses: true 20 | selector: 21 | gossip_ring_member: "true" 22 | type: ClusterIP 23 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/compactor/persistentvolumeclaim-compactor.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.compactor.enabled .Values.compactor.persistence.enabled }} 2 | apiVersion: v1 3 | kind: PersistentVolumeClaim 4 | metadata: 5 | name: data-{{ include "loki.compactorFullname" . }} 6 | labels: 7 | {{- include "loki.compactorLabels" . | nindent 4 }} 8 | spec: 9 | accessModes: 10 | - ReadWriteOnce 11 | {{- with .Values.compactor.persistence.storageClass }} 12 | storageClassName: {{ if (eq "-" .) }}""{{ else }}{{ . }}{{ end }} 13 | {{- end }} 14 | resources: 15 | requests: 16 | storage: "{{ .Values.compactor.persistence.size }}" 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-gossip-ring.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-gossip-ring 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-gossip-ring 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: gossip-ring 16 | port: 7946 17 | protocol: TCP 18 | targetPort: 7946 19 | publishNotReadyAddresses: true 20 | selector: 21 | gossip_ring_member: "true" 22 | type: ClusterIP 23 | -------------------------------------------------------------------------------- /charts/grafana/templates/tests/test-rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.rbac.pspEnabled -}} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | roleRef: 10 | apiGroup: rbac.authorization.k8s.io 11 | kind: Role 12 | name: {{ template "grafana.fullname" . }}-test 13 | subjects: 14 | - kind: ServiceAccount 15 | name: {{ template "grafana.serviceAccountNameTest" . }} 16 | namespace: {{ template "grafana.namespace" . }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }} 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }} 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | {{- if .Values.rbac.pspEnabled }} 12 | rules: 13 | - apiGroups: ['extensions'] 14 | resources: ['podsecuritypolicies'] 15 | verbs: ['use'] 16 | resourceNames: [{{ template "enterprise-metrics.fullname" . }}] 17 | {{- end }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/distributor/service-distributor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.distributorFullname" . }} 5 | labels: 6 | {{- include "loki.distributorLabels" . | nindent 4 }} 7 | {{- with .Values.distributor.serviceLabels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | spec: 11 | type: ClusterIP 12 | ports: 13 | - name: http 14 | port: 3100 15 | targetPort: http 16 | protocol: TCP 17 | - name: grpc 18 | port: 9095 19 | targetPort: grpc 20 | protocol: TCP 21 | selector: 22 | {{- include "loki.distributorSelectorLabels" . | nindent 4 }} 23 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached 8 | helm.sh/chart: memcached-5.5.2 9 | name: enterprise-metrics-memcached 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached 8 | helm.sh/chart: memcached-5.5.2 9 | name: enterprise-metrics-memcached 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }} 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }} 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | roleRef: 12 | apiGroup: rbac.authorization.k8s.io 13 | kind: Role 14 | name: {{ template "enterprise-metrics.fullname" . }} 15 | subjects: 16 | - kind: ServiceAccount 17 | name: {{ template "enterprise-metrics.serviceAccountName" . }} 18 | {{- end }} 19 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/querier/service-querier.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.querierFullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.querierLabels" . | nindent 4 }} 8 | {{- with .Values.querier.annotations }} 9 | annotations: 10 | {{ toYaml . | indent 4 }} 11 | {{- end }} 12 | spec: 13 | ports: 14 | - name: http 15 | port: 3100 16 | protocol: TCP 17 | targetPort: 3100 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: 9095 22 | selector: 23 | {{- include "tempo.querierSelectorLabels" . | nindent 4 }} 24 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/role.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: Role 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | {{- if .Values.rbac.pspEnabled }} 13 | rules: 14 | - apiGroups: ['extensions'] 15 | resources: ['podsecuritypolicies'] 16 | verbs: ['use'] 17 | resourceNames: [{{ template "fluent-bit-loki.fullname" . }}] 18 | {{- end }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | apiVersion: rbac.authorization.k8s.io/v1 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | heritage: {{ .Release.Service }} 11 | release: {{ .Release.Name }} 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: {{ template "fluent-bit-loki.fullname" . }} 16 | subjects: 17 | - kind: ServiceAccount 18 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /.github/workflows/sync-readme.yaml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: 4 | - 'main' 5 | paths: 6 | - 'README.md' 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v2 12 | - run: | 13 | cp -f README.md ${{ runner.temp }}/README.md 14 | - uses: actions/checkout@v2 15 | with: 16 | ref: gh-pages 17 | - run: | 18 | cp -f ${{ runner.temp }}/README.md . 19 | git config user.name "$GITHUB_ACTOR" 20 | git config user.email "$GITHUB_ACTOR@users.noreply.github.com" 21 | git add README.md 22 | git commit --signoff -m "Sync README from main" 23 | git push 24 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/query-frontend/service-query-frontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ include "loki.queryFrontendFullname" . }} 5 | labels: 6 | {{- include "loki.queryFrontendLabels" . | nindent 4 }} 7 | {{- with .Values.queryFrontend.serviceLabels }} 8 | {{- toYaml . | nindent 4 }} 9 | {{- end }} 10 | spec: 11 | type: ClusterIP 12 | clusterIP: None 13 | ports: 14 | - name: http 15 | port: 3100 16 | targetPort: http 17 | protocol: TCP 18 | - name: grpc 19 | port: 9095 20 | targetPort: grpc 21 | protocol: TCP 22 | selector: 23 | {{- include "loki.queryFrontendSelectorLabels" . | nindent 4 }} 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached-queries.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached-queries 8 | helm.sh/chart: memcached-queries-5.5.2 9 | name: enterprise-metrics-memcached-queries 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached-queries 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached-queries.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached-queries 8 | helm.sh/chart: memcached-queries-5.5.2 9 | name: enterprise-metrics-memcached-queries 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached-queries 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/gossip-ring-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-gossip-ring 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-gossip-ring 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | spec: 11 | type: ClusterIP 12 | clusterIP: None 13 | ports: 14 | - name: gossip-ring 15 | port: {{ .Values.config.memberlist.bind_port }} 16 | protocol: TCP 17 | targetPort: {{ .Values.config.memberlist.bind_port }} 18 | publishNotReadyAddresses: true 19 | selector: 20 | gossip_ring_member: "true" 21 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached-metadata.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached-metadata 8 | helm.sh/chart: memcached-metadata-5.5.2 9 | name: enterprise-metrics-memcached-metadata 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached-metadata 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached-metadata.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app.kubernetes.io/instance: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | app.kubernetes.io/name: memcached-metadata 8 | helm.sh/chart: memcached-metadata-5.5.2 9 | name: enterprise-metrics-memcached-metadata 10 | namespace: enterprise-metrics 11 | spec: 12 | clusterIP: None 13 | ports: 14 | - name: memcache 15 | nodePort: null 16 | port: 11211 17 | targetPort: memcache 18 | selector: 19 | app.kubernetes.io/instance: enterprise-metrics 20 | app.kubernetes.io/name: memcached-metadata 21 | type: ClusterIP 22 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/compactor/serviceaccount-compactor.yaml: -------------------------------------------------------------------------------- 1 | {{ if and .Values.compactor.enabled .Values.compactor.serviceAccount.create }} 2 | apiVersion: v1 3 | kind: ServiceAccount 4 | metadata: 5 | name: {{ include "loki.compactorServiceAccountName" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | {{- with .Values.compactor.serviceAccount.annotations }} 9 | annotations: 10 | {{- toYaml . | nindent 4 }} 11 | {{- end }} 12 | {{- with .Values.compactor.serviceAccount.imagePullSecrets }} 13 | automountServiceAccountToken: {{ .Values.compactor.serviceAccount.automountServiceAccountToken }} 14 | imagePullSecrets: 15 | {{- toYaml . | nindent 2 }} 16 | {{- end }} 17 | {{- end }} 18 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ruler/service-ruler.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.ruler.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.rulerFullname" . }} 6 | labels: 7 | {{- include "loki.rulerSelectorLabels" . | nindent 4 }} 8 | {{- with .Values.ruler.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | clusterIP: None 14 | ports: 15 | - name: http 16 | port: 3100 17 | targetPort: http 18 | protocol: TCP 19 | - name: grpc 20 | port: 9095 21 | targetPort: grpc 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.rulerSelectorLabels" . | nindent 4 }} 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/compactor/service-compactor.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.compactor.enabled .Values.compactor.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.compactorFullname" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | {{- with .Values.compactor.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | app.kubernetes.io/component: compactor 12 | spec: 13 | type: ClusterIP 14 | ports: 15 | - name: http 16 | port: 3100 17 | targetPort: http 18 | protocol: TCP 19 | selector: 20 | {{- include "loki.selectorLabels" . | nindent 4 }} 21 | app.kubernetes.io/component: compactor 22 | {{- end }} 23 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-querier.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-querier 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-querier 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-querier 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-ingester.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ingester 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ingester 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-ingester 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-querier.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-querier 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-querier 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-querier 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-ingester.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ingester 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ingester 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-ingester 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-querier.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-querier 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-querier 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-querier 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-ingester.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-ingester 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-ingester 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-ingester 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-admin-api.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-admin-api 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-admin-api 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-admin-api 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-admin-api.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-admin-api 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-admin-api 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-admin-api 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-admin-api.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-admin-api 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-admin-api 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-admin-api 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }}-headless 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "fluent-bit-loki.name" . }} 9 | chart: {{ template "fluent-bit-loki.chart" . }} 10 | release: {{ .Release.Name }} 11 | heritage: {{ .Release.Service }} 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - port: {{ .Values.config.port }} 16 | protocol: TCP 17 | name: http-metrics 18 | targetPort: http-metrics 19 | selector: 20 | app: {{ template "fluent-bit-loki.name" . }} 21 | release: {{ .Release.Name }} 22 | {{- end }} 23 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-distributor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-distributor 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-distributor 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-distributor 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-distributor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-distributor 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-distributor 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-distributor 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-distributor.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-distributor 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-distributor 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-distributor 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-alertmanager.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-alertmanager 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-alertmanager 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-alertmanager 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-alertmanager.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-alertmanager 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-alertmanager 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-alertmanager 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-store-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-store-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-store-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-store-gateway 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-alertmanager.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-alertmanager 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-alertmanager 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-alertmanager 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-store-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-store-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-store-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-store-gateway 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-store-gateway.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-store-gateway 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-store-gateway 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-store-gateway 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-query-frontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-query-frontend 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-query-frontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-query-frontend 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/vendor/github.com/grafana/jsonnet-libs/tanka-util/_example.jsonnet: -------------------------------------------------------------------------------- 1 | local tanka = import 'github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet'; 2 | local helm = tanka.helm.new(std.thisFile); 3 | local kustomize = tanka.kustomize.new(std.thisFile); 4 | 5 | { 6 | // render the Grafana Chart, set namespace to "test" 7 | grafana: helm.template('grafana', './charts/grafana', { 8 | values: { 9 | persistence: { enabled: true }, 10 | plugins: ['grafana-clock-panel'], 11 | }, 12 | namespace: 'test', 13 | }), 14 | 15 | // render the Prometheus Kustomize 16 | // then entrypoint for `kustomize build` will be ./base/prometheus/kustomization.yaml 17 | prometheus: kustomize.build('./base/prometheus'), 18 | } 19 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/clusterrolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create }} 2 | kind: ClusterRoleBinding 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrolebinding 6 | labels: 7 | app: {{ template "fluent-bit-loki.name" . }} 8 | chart: {{ template "fluent-bit-loki.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | subjects: 12 | - kind: ServiceAccount 13 | name: {{ template "fluent-bit-loki.serviceAccountName" . }} 14 | namespace: {{ .Release.Namespace }} 15 | roleRef: 16 | kind: ClusterRole 17 | name: {{ template "fluent-bit-loki.fullname" . }}-clusterrole 18 | apiGroup: rbac.authorization.k8s.io 19 | {{- end }} 20 | -------------------------------------------------------------------------------- /charts/grafana/templates/tests/test-podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.testFramework.enabled .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ template "grafana.fullname" . }}-test 6 | labels: 7 | {{- include "grafana.labels" . | nindent 4 }} 8 | spec: 9 | allowPrivilegeEscalation: true 10 | privileged: false 11 | hostNetwork: false 12 | hostIPC: false 13 | hostPID: false 14 | fsGroup: 15 | rule: RunAsAny 16 | seLinux: 17 | rule: RunAsAny 18 | supplementalGroups: 19 | rule: RunAsAny 20 | runAsUser: 21 | rule: RunAsAny 22 | volumes: 23 | - configMap 24 | - downwardAPI 25 | - emptyDir 26 | - projected 27 | - csi 28 | - secret 29 | {{- end }} 30 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-query-frontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend 11 | namespace: enterprise-metrics 12 | spec: 13 | ports: 14 | - name: http-metrics 15 | port: 8080 16 | protocol: TCP 17 | targetPort: http-metrics 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: grpc 22 | selector: 23 | app: enterprise-metrics-query-frontend 24 | release: enterprise-metrics 25 | type: ClusterIP 26 | -------------------------------------------------------------------------------- /charts/grafana/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | name: grafana 3 | version: 6.15.0 4 | appVersion: 8.1.0 5 | kubeVersion: '^1.8.0-0' 6 | description: The leading tool for querying and visualizing time series and metrics. 7 | home: https://grafana.net 8 | icon: https://raw.githubusercontent.com/grafana/grafana/master/public/img/logo_transparent_400x.png 9 | sources: 10 | - https://github.com/grafana/grafana 11 | maintainers: 12 | - name: zanhsieh 13 | email: zanhsieh@gmail.com 14 | - name: rtluckie 15 | email: rluckie@cisco.com 16 | - name: maorfr 17 | email: maor.friedman@redhat.com 18 | - name: Xtigyro 19 | email: miroslav.hadzhiev@gmail.com 20 | - name: torstenwalter 21 | email: mail@torstenwalter.de 22 | engine: gotpl 23 | type: application 24 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/distributor/_helpers-distributor.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | distributor common labels 3 | */}} 4 | {{- define "tempo.distributorLabels" -}} 5 | {{ include "tempo.labels" . }} 6 | app.kubernetes.io/component: distributor 7 | {{- end }} 8 | 9 | {{/* 10 | distributor selector labels 11 | */}} 12 | {{- define "tempo.distributorSelectorLabels" -}} 13 | {{ include "tempo.selectorLabels" . }} 14 | app.kubernetes.io/component: distributor 15 | {{- end }} 16 | 17 | {{/* 18 | distributor image 19 | */}} 20 | {{- define "tempo.distributorImage" -}} 21 | {{- $dict := dict "tempo" .Values.tempo.image "service" .Values.distributor.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 22 | {{- include "tempo.tempoImage" $dict -}} 23 | {{- end }} 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/rbac.authorization.k8s.io-v1.RoleBinding-enterprise-metrics-minio-update-prometheus-secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: RoleBinding 3 | metadata: 4 | labels: 5 | app: minio-update-prometheus-secret 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-minio-update-prometheus-secret 11 | namespace: enterprise-metrics 12 | roleRef: 13 | apiGroup: rbac.authorization.k8s.io 14 | kind: Role 15 | name: enterprise-metrics-minio-update-prometheus-secret 16 | subjects: 17 | - kind: ServiceAccount 18 | name: enterprise-metrics-minio-update-prometheus-secret 19 | namespace: enterprise-metrics 20 | -------------------------------------------------------------------------------- /charts/loki/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "loki.fullname" . }}-headless 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | app: {{ template "loki.name" . }} 8 | chart: {{ template "loki.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | variant: headless 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - port: {{ .Values.service.port }} 16 | protocol: TCP 17 | name: http-metrics 18 | targetPort: {{ .Values.service.targetPort }} 19 | {{- if .Values.extraPorts }} 20 | {{ toYaml .Values.extraPorts | indent 4}} 21 | {{- end }} 22 | selector: 23 | app: {{ template "loki.name" . }} 24 | release: {{ .Release.Name }} 25 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached 12 | helm.sh/chart: memcached-5.5.2 13 | name: enterprise-metrics-memcached-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached 12 | helm.sh/chart: memcached-5.5.2 13 | name: enterprise-metrics-memcached-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/grafana/templates/hpa.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.autoscaling.enabled }} 2 | apiVersion: autoscaling/v2beta1 3 | kind: HorizontalPodAutoscaler 4 | metadata: 5 | name: {{ template "grafana.fullname" . }} 6 | labels: 7 | app.kubernetes.io/name: {{ template "grafana.name" . }} 8 | helm.sh/chart: {{ template "grafana.chart" . }} 9 | app.kubernetes.io/managed-by: {{ .Release.Service }} 10 | app.kubernetes.io/instance: {{ .Release.Name }} 11 | spec: 12 | scaleTargetRef: 13 | apiVersion: apps/v1 14 | kind: Deployment 15 | name: {{ template "grafana.fullname" . }} 16 | minReplicas: {{ .Values.autoscaling.minReplicas }} 17 | maxReplicas: {{ .Values.autoscaling.maxReplicas }} 18 | metrics: 19 | {{ toYaml .Values.autoscaling.metrics | indent 4 }} 20 | {{- end }} 21 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-chunks/service-memcached-chunks.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcachedChunks.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.memcachedChunksFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedChunksSelectorLabels" . | nindent 4 }} 8 | {{- with .Values.memcachedChunks.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | clusterIP: None 14 | ports: 15 | - name: http 16 | port: 11211 17 | targetPort: http 18 | protocol: TCP 19 | - name: http-metrics 20 | port: 9150 21 | targetPort: http-metrics 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.memcachedChunksSelectorLabels" . | nindent 4 }} 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /charts/grafana/templates/poddisruptionbudget.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.podDisruptionBudget }} 2 | apiVersion: policy/v1beta1 3 | kind: PodDisruptionBudget 4 | metadata: 5 | name: {{ template "grafana.fullname" . }} 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | {{- if .Values.labels }} 10 | {{ toYaml .Values.labels | indent 4 }} 11 | {{- end }} 12 | spec: 13 | {{- if .Values.podDisruptionBudget.minAvailable }} 14 | minAvailable: {{ .Values.podDisruptionBudget.minAvailable }} 15 | {{- end }} 16 | {{- if .Values.podDisruptionBudget.maxUnavailable }} 17 | maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }} 18 | {{- end }} 19 | selector: 20 | matchLabels: 21 | {{- include "grafana.selectorLabels" . | nindent 6 }} 22 | {{- end }} 23 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-frontend/service-memcached-frontend.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcachedFrontend.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.memcachedFrontendFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedFrontendSelectorLabels" . | nindent 4 }} 8 | {{- with .Values.memcachedFrontend.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | clusterIP: None 14 | ports: 15 | - name: http 16 | port: 11211 17 | targetPort: http 18 | protocol: TCP 19 | - name: http-metrics 20 | port: 9150 21 | targetPort: http-metrics 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.memcachedFrontendSelectorLabels" . | nindent 4 }} 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/table-manager/service-table-manager.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.tableManager.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.fullname" . }}-table-manager 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | {{- with .Values.tableManager.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | app.kubernetes.io/component: table-manager 12 | spec: 13 | type: ClusterIP 14 | ports: 15 | - name: http 16 | port: 3100 17 | targetPort: http 18 | protocol: TCP 19 | - name: grpc 20 | port: 9095 21 | targetPort: grpc 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.selectorLabels" . | nindent 4 }} 25 | app.kubernetes.io/component: table-manager 26 | {{- end }} 27 | -------------------------------------------------------------------------------- /charts/tempo/templates/configmap-tempo.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: {{ template "tempo.name" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.labels" . | nindent 4 }} 8 | data: 9 | overrides.yaml: | 10 | overrides: 11 | tempo.yaml: | 12 | auth_enabled: {{ .Values.tempo.authEnabled }} 13 | compactor: 14 | compaction: 15 | compacted_block_retention: {{ .Values.tempo.retention }} 16 | distributor: 17 | receivers: 18 | {{- toYaml .Values.tempo.receivers | nindent 8 }} 19 | ingester: 20 | {{- toYaml .Values.tempo.ingester | nindent 6 }} 21 | server: 22 | http_listen_port: {{ .Values.tempo.server.httpListenPort }} 23 | storage: 24 | {{- toYaml .Values.tempo.storage | nindent 6 }} 25 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached-queries-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached-queries 12 | helm.sh/chart: memcached-queries-5.5.2 13 | name: enterprise-metrics-memcached-queries-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached-queries 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached-queries-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached-queries 12 | helm.sh/chart: memcached-queries-5.5.2 13 | name: enterprise-metrics-memcached-queries-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached-queries 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-memcached-metadata-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached-metadata 12 | helm.sh/chart: memcached-metadata-5.5.2 13 | name: enterprise-metrics-memcached-metadata-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached-metadata 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-memcached-metadata-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | annotations: 5 | prometheus.io/port: "9150" 6 | prometheus.io/scrape: "true" 7 | labels: 8 | app.kubernetes.io/component: metrics 9 | app.kubernetes.io/instance: enterprise-metrics 10 | app.kubernetes.io/managed-by: Helmraiser 11 | app.kubernetes.io/name: memcached-metadata 12 | helm.sh/chart: memcached-metadata-5.5.2 13 | name: enterprise-metrics-memcached-metadata-metrics 14 | namespace: enterprise-metrics 15 | spec: 16 | ports: 17 | - name: metrics 18 | port: 9150 19 | targetPort: metrics 20 | selector: 21 | app.kubernetes.io/instance: enterprise-metrics 22 | app.kubernetes.io/name: memcached-metadata 23 | type: ClusterIP 24 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/v1.Service-enterprise-metrics-query-frontend-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend-headless 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: http-metrics 16 | port: 8080 17 | protocol: TCP 18 | targetPort: http-metrics 19 | - name: grpc 20 | port: 9095 21 | protocol: TCP 22 | targetPort: grpc 23 | publishNotReadyAddresses: true 24 | selector: 25 | app: enterprise-metrics-query-frontend 26 | release: enterprise-metrics 27 | type: ClusterIP 28 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/v1.Service-enterprise-metrics-query-frontend-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend-headless 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: http-metrics 16 | port: 8080 17 | protocol: TCP 18 | targetPort: http-metrics 19 | - name: grpc 20 | port: 9095 21 | protocol: TCP 22 | targetPort: grpc 23 | publishNotReadyAddresses: true 24 | selector: 25 | app: enterprise-metrics-query-frontend 26 | release: enterprise-metrics 27 | type: ClusterIP 28 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/v1.Service-enterprise-metrics-query-frontend-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | labels: 5 | app: enterprise-metrics-query-frontend 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-query-frontend-headless 11 | namespace: enterprise-metrics 12 | spec: 13 | clusterIP: None 14 | ports: 15 | - name: http-metrics 16 | port: 8080 17 | protocol: TCP 18 | targetPort: http-metrics 19 | - name: grpc 20 | port: 9095 21 | protocol: TCP 22 | targetPort: grpc 23 | publishNotReadyAddresses: true 24 | selector: 25 | app: enterprise-metrics-query-frontend 26 | release: enterprise-metrics 27 | type: ClusterIP 28 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-writes/service-memcached-index-writes.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcachedIndexWrites.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.memcachedIndexWritesFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedIndexWritesSelectorLabels" . | nindent 4 }} 8 | {{- with .Values.memcachedIndexWrites.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | clusterIP: None 14 | ports: 15 | - name: http 16 | port: 11211 17 | targetPort: http 18 | protocol: TCP 19 | - name: http-metrics 20 | port: 9150 21 | targetPort: http-metrics 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.memcachedIndexWritesSelectorLabels" . | nindent 4 }} 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /charts/grafana/templates/rolebinding.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.create -}} 2 | apiVersion: {{ template "grafana.rbac.apiVersion" . }} 3 | kind: RoleBinding 4 | metadata: 5 | name: {{ template "grafana.fullname" . }} 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | {{- with .Values.annotations }} 10 | annotations: 11 | {{ toYaml . | indent 4 }} 12 | {{- end }} 13 | roleRef: 14 | apiGroup: rbac.authorization.k8s.io 15 | kind: Role 16 | {{- if (not .Values.rbac.useExistingRole) }} 17 | name: {{ template "grafana.fullname" . }} 18 | {{- else }} 19 | name: {{ .Values.rbac.useExistingRole }} 20 | {{- end }} 21 | subjects: 22 | - kind: ServiceAccount 23 | name: {{ template "grafana.serviceAccountName" . }} 24 | namespace: {{ template "grafana.namespace" . }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-queries/service-memcached-index-queries.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcachedIndexQueries.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.memcachedIndexQueriesFullname" . }} 6 | labels: 7 | {{- include "loki.memcachedIndexQueriesSelectorLabels" . | nindent 4 }} 8 | {{- with .Values.memcachedIndexQueries.serviceLabels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | spec: 12 | type: ClusterIP 13 | clusterIP: None 14 | ports: 15 | - name: http 16 | port: 11211 17 | targetPort: http 18 | protocol: TCP 19 | - name: http-metrics 20 | port: 9150 21 | targetPort: http-metrics 22 | protocol: TCP 23 | selector: 24 | {{- include "loki.memcachedIndexQueriesSelectorLabels" . | nindent 4 }} 25 | {{- end }} 26 | -------------------------------------------------------------------------------- /scripts/check-codeowners.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | cat <\n\nTargets:\n"} /^[a-zA-Z0-9_\.\-\/%]+: ##/ { printf " %-45s %s\n", $$1, $$2 }' $(MAKEFILE_LIST) 13 | 14 | .PHONY: dep-update 15 | dep-update: ## Update chart dependencies 16 | dep-update: 17 | helm dep update 18 | 19 | .PHONY: exports 20 | exports: ## Recreate exports directory using Tanka 21 | exports: dep-update 22 | rm -rf -- exports/* 23 | tk export exports/default environments/default 24 | tk export exports/small environments/small 25 | tk export exports/large environments/large 26 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/compactor/_helpers-compactor.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | compactor fullname 3 | */}} 4 | {{- define "tempo.compactorFullname" -}} 5 | {{ include "tempo.fullname" . }}-compactor 6 | {{- end }} 7 | 8 | {{/* 9 | compactor common labels 10 | */}} 11 | {{- define "tempo.compactorLabels" -}} 12 | {{ include "tempo.labels" . }} 13 | app.kubernetes.io/component: compactor 14 | {{- end }} 15 | 16 | {{/* 17 | compactor selector labels 18 | */}} 19 | {{- define "tempo.compactorSelectorLabels" -}} 20 | {{ include "tempo.selectorLabels" . }} 21 | app.kubernetes.io/component: compactor 22 | {{- end }} 23 | 24 | {{/* 25 | compactor image 26 | */}} 27 | {{- define "tempo.compactorImage" -}} 28 | {{- $dict := dict "tempo" .Values.tempo.image "service" .Values.compactor.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "tempo.tempoImage" $dict -}} 30 | {{- end }} 31 | -------------------------------------------------------------------------------- /charts/tempo-vulture/README.md.gotmpl: -------------------------------------------------------------------------------- 1 | {{ template "chart.header" . }} 2 | 3 | {{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} 4 | 5 | {{ template "chart.description" . }} 6 | 7 | {{ template "chart.sourcesSection" . }} 8 | 9 | {{ template "chart.requirementsSection" . }} 10 | 11 | ## Chart Repo 12 | 13 | Add the following repo to use the chart: 14 | 15 | ```console 16 | helm repo add grafana https://grafana.github.io/helm-charts 17 | ``` 18 | 19 | ## Vulture 20 | 21 | Vulture only works with Jaeger GRPC, so make sure 14250 is open on your distributor. You don't need to specify the port in the distributor url. 22 | 23 | Example configuration: 24 | ```yaml 25 | tempoAddress: 26 | push: http://tempo-tempo-distributed-distributor 27 | query: http://tempo-tempo-distributed-query-frontend:3100 28 | ``` 29 | 30 | {{ template "chart.valuesSection" . }} -------------------------------------------------------------------------------- /charts/loki-stack/templates/tests/loki-test-pod.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Pod 3 | metadata: 4 | annotations: 5 | "helm.sh/hook": test-success 6 | labels: 7 | app: {{ template "loki-stack.name" . }} 8 | chart: {{ template "loki-stack.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | name: {{ template "loki-stack.fullname" . }}-test 12 | spec: 13 | containers: 14 | - name: test 15 | image: bats/bats:v1.1.0 16 | args: 17 | - /var/lib/loki/test.sh 18 | env: 19 | - name: LOKI_SERVICE 20 | value: {{ template "loki.serviceName" . }} 21 | - name: LOKI_PORT 22 | value: "{{ .Values.loki.service.port }}" 23 | volumeMounts: 24 | - name: tests 25 | mountPath: /var/lib/loki 26 | restartPolicy: Never 27 | volumes: 28 | - name: tests 29 | configMap: 30 | name: {{ template "loki-stack.fullname" . }}-test 31 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ include "loki.fullname" . }} 6 | labels: 7 | {{- include "loki.labels" . | nindent 4 }} 8 | spec: 9 | privileged: false 10 | allowPrivilegeEscalation: false 11 | volumes: 12 | - 'configMap' 13 | - 'emptyDir' 14 | - 'persistentVolumeClaim' 15 | - 'secret' 16 | hostNetwork: false 17 | hostIPC: false 18 | hostPID: false 19 | runAsUser: 20 | rule: 'MustRunAsNonRoot' 21 | seLinux: 22 | rule: 'RunAsAny' 23 | supplementalGroups: 24 | rule: 'MustRunAs' 25 | ranges: 26 | - min: 1 27 | max: 65535 28 | fsGroup: 29 | rule: 'MustRunAs' 30 | ranges: 31 | - min: 1 32 | max: 65535 33 | readOnlyRootFilesystem: true 34 | requiredDropCapabilities: 35 | - ALL 36 | {{- end }} 37 | -------------------------------------------------------------------------------- /scripts/validate-pr.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o nounset 5 | set -o pipefail 6 | 7 | : "${PR_TITLE:?Environment variable must be set}" 8 | 9 | main() { 10 | local repo_root 11 | repo_root=$(git rev-parse --show-toplevel) 12 | 13 | local changed 14 | changed=$(ct list-changed --config "$repo_root/ct.yaml") 15 | 16 | if [[ -z "$changed" ]]; then 17 | exit 0 18 | fi 19 | 20 | local num_changed 21 | num_changed=$(wc -l <<< "$changed") 22 | 23 | if ((num_changed > 1)); then 24 | echo "This PR has changes to multiple charts. Please create individual PRs per chart." >&2 25 | exit 1 26 | fi 27 | 28 | # Strip charts directory 29 | changed="${changed##*/}" 30 | 31 | if [[ "$PR_TITLE" != "[$changed] "* ]]; then 32 | echo "PR title must start with '[$changed] '." >&2 33 | exit 1 34 | fi 35 | } 36 | 37 | main 38 | -------------------------------------------------------------------------------- /charts/fluent-bit/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ template "fluent-bit-loki.fullname" . }} 6 | labels: 7 | app: {{ template "fluent-bit-loki.name" . }} 8 | chart: {{ template "fluent-bit-loki.chart" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | spec: 12 | privileged: false 13 | allowPrivilegeEscalation: false 14 | volumes: 15 | - 'secret' 16 | - 'configMap' 17 | - 'hostPath' 18 | - 'projected' 19 | - 'downwardAPI' 20 | hostNetwork: false 21 | hostIPC: false 22 | hostPID: false 23 | runAsUser: 24 | rule: 'RunAsAny' 25 | seLinux: 26 | rule: 'RunAsAny' 27 | supplementalGroups: 28 | rule: 'RunAsAny' 29 | fsGroup: 30 | rule: 'RunAsAny' 31 | readOnlyRootFilesystem: true 32 | requiredDropCapabilities: 33 | - ALL 34 | {{- end }} 35 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/query-frontend/service-query-frontend-discovery.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.queryFrontendFullname" . }}-discovery 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.queryFrontendLabels" . | nindent 4 }} 8 | {{- with .Values.queryFrontend.service.annotations }} 9 | annotations: 10 | {{ toYaml . | nindent 4 }} 11 | {{- end }} 12 | spec: 13 | type: ClusterIP 14 | clusterIP: None 15 | ports: 16 | - name: http 17 | port: 3100 18 | targetPort: 3100 19 | - name: grpc 20 | port: 9095 21 | protocol: TCP 22 | targetPort: 9095 23 | - name: tempo-query-jaeger-ui 24 | port: 16686 25 | targetPort: 16686 26 | - name: tempo-query-metrics 27 | port: 16687 28 | targetPort: jaeger-metrics 29 | selector: 30 | {{- include "tempo.queryFrontendSelectorLabels" . | nindent 4 }} 31 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/rbac.authorization.k8s.io-v1.Role-enterprise-metrics-minio-update-prometheus-secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1 2 | kind: Role 3 | metadata: 4 | labels: 5 | app: minio-update-prometheus-secret 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: minio-8.0.9 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics-minio-update-prometheus-secret 11 | namespace: enterprise-metrics 12 | rules: 13 | - apiGroups: 14 | - "" 15 | resourceNames: 16 | - enterprise-metrics-minio-prometheus 17 | resources: 18 | - secrets 19 | verbs: 20 | - get 21 | - create 22 | - update 23 | - patch 24 | - apiGroups: 25 | - "" 26 | resources: 27 | - secrets 28 | verbs: 29 | - create 30 | - apiGroups: 31 | - monitoring.coreos.com 32 | resourceNames: 33 | - enterprise-metrics-minio 34 | resources: 35 | - servicemonitors 36 | verbs: 37 | - get 38 | -------------------------------------------------------------------------------- /charts/grafana/templates/clusterrole.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.rbac.create (not .Values.rbac.namespaced) (not .Values.rbac.useExistingRole) }} 2 | kind: ClusterRole 3 | apiVersion: rbac.authorization.k8s.io/v1 4 | metadata: 5 | labels: 6 | {{- include "grafana.labels" . | nindent 4 }} 7 | {{- with .Values.annotations }} 8 | annotations: 9 | {{ toYaml . | indent 4 }} 10 | {{- end }} 11 | name: {{ template "grafana.fullname" . }}-clusterrole 12 | {{- if or .Values.sidecar.dashboards.enabled (or .Values.sidecar.datasources.enabled .Values.rbac.extraClusterRoleRules) }} 13 | rules: 14 | {{- if or .Values.sidecar.dashboards.enabled .Values.sidecar.datasources.enabled }} 15 | - apiGroups: [""] # "" indicates the core API group 16 | resources: ["configmaps", "secrets"] 17 | verbs: ["get", "watch", "list"] 18 | {{- end}} 19 | {{- with .Values.rbac.extraClusterRoleRules }} 20 | {{ toYaml . | indent 0 }} 21 | {{- end}} 22 | {{- else }} 23 | rules: [] 24 | {{- end}} 25 | {{- end}} 26 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-chunks/_helpers-memcached-chunks.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | memcached-chunks fullname 3 | */}} 4 | {{- define "loki.memcachedChunksFullname" -}} 5 | {{ include "loki.fullname" . }}-memcached-chunks 6 | {{- end }} 7 | 8 | {{/* 9 | memcached-chunks fullname 10 | */}} 11 | {{- define "loki.memcachedChunksLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: memcached-chunks 14 | {{- end }} 15 | 16 | {{/* 17 | memcached-chunks selector labels 18 | */}} 19 | {{- define "loki.memcachedChunksSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: memcached-chunks 22 | {{- end }} 23 | 24 | {{/* 25 | memcached-chunks priority class name 26 | */}} 27 | {{- define "loki.memcachedChunksPriorityClassName" -}} 28 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.memcachedChunks.priorityClassName -}} 29 | {{- if $pcn }} 30 | priorityClassName: {{ $pcn }} 31 | {{- end }} 32 | {{- end }} 33 | -------------------------------------------------------------------------------- /charts/tempo/README.md.gotmpl: -------------------------------------------------------------------------------- 1 | {{ template "chart.header" . }} 2 | 3 | {{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} 4 | 5 | {{ template "chart.description" . }} 6 | 7 | {{ template "chart.sourcesSection" . }} 8 | 9 | {{ template "chart.requirementsSection" . }} 10 | 11 | {{ template "chart.valuesSection" . }} 12 | 13 | ## Chart Repo 14 | 15 | Add the following repo to use the chart: 16 | 17 | ```console 18 | helm repo add grafana https://grafana.github.io/helm-charts 19 | ``` 20 | 21 | ## Upgrading 22 | 23 | A major chart version change indicates that there is an incompatible breaking change needing manual actions. 24 | 25 | ### From Chart versions < 0.7.0 26 | 27 | Upgrading from pre 0.7.0 will, by default, move your trace storage from `/tmp/tempo/traces` to `/var/tempo/traces`. 28 | This will cause Tempo to lose trace history. If you would like to retain history just copy the contents from the 29 | old folder to the new. -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/default/policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: policy/v1beta1 2 | kind: PodSecurityPolicy 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | spec: 12 | allowPrivilegeEscalation: false 13 | fsGroup: 14 | ranges: 15 | - max: 65535 16 | min: 1 17 | rule: MustRunAs 18 | hostIPC: false 19 | hostNetwork: false 20 | hostPID: false 21 | privileged: false 22 | readOnlyRootFilesystem: true 23 | requiredDropCapabilities: 24 | - ALL 25 | runAsUser: 26 | rule: MustRunAsNonRoot 27 | seLinux: 28 | rule: RunAsAny 29 | supplementalGroups: 30 | ranges: 31 | - max: 65535 32 | min: 1 33 | rule: MustRunAs 34 | volumes: 35 | - configMap 36 | - emptyDir 37 | - persistentVolumeClaim 38 | - secret 39 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/large/policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: policy/v1beta1 2 | kind: PodSecurityPolicy 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | spec: 12 | allowPrivilegeEscalation: false 13 | fsGroup: 14 | ranges: 15 | - max: 65535 16 | min: 1 17 | rule: MustRunAs 18 | hostIPC: false 19 | hostNetwork: false 20 | hostPID: false 21 | privileged: false 22 | readOnlyRootFilesystem: true 23 | requiredDropCapabilities: 24 | - ALL 25 | runAsUser: 26 | rule: MustRunAsNonRoot 27 | seLinux: 28 | rule: RunAsAny 29 | supplementalGroups: 30 | ranges: 31 | - max: 65535 32 | min: 1 33 | rule: MustRunAs 34 | volumes: 35 | - configMap 36 | - emptyDir 37 | - persistentVolumeClaim 38 | - secret 39 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/exports/small/policy-v1beta1.PodSecurityPolicy-enterprise-metrics.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: policy/v1beta1 2 | kind: PodSecurityPolicy 3 | metadata: 4 | labels: 5 | app: enterprise-metrics 6 | app.kubernetes.io/managed-by: Helmraiser 7 | chart: enterprise-metrics-1.4.4 8 | heritage: Helm 9 | release: enterprise-metrics 10 | name: enterprise-metrics 11 | spec: 12 | allowPrivilegeEscalation: false 13 | fsGroup: 14 | ranges: 15 | - max: 65535 16 | min: 1 17 | rule: MustRunAs 18 | hostIPC: false 19 | hostNetwork: false 20 | hostPID: false 21 | privileged: false 22 | readOnlyRootFilesystem: true 23 | requiredDropCapabilities: 24 | - ALL 25 | runAsUser: 26 | rule: MustRunAsNonRoot 27 | seLinux: 28 | rule: RunAsAny 29 | supplementalGroups: 30 | ranges: 31 | - max: 65535 32 | min: 1 33 | rule: MustRunAs 34 | volumes: 35 | - configMap 36 | - emptyDir 37 | - persistentVolumeClaim 38 | - secret 39 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/querier-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-querier 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-querier 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.querier.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.querier.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-querier 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/ingester-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-ingester 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-ingester 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.ingester.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.ingester.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-ingester 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-frontend/_helpers-memcached-frontend.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | memcached-frontend fullname 3 | */}} 4 | {{- define "loki.memcachedFrontendFullname" -}} 5 | {{ include "loki.fullname" . }}-memcached-frontend 6 | {{- end }} 7 | 8 | {{/* 9 | memcached-frontend fullname 10 | */}} 11 | {{- define "loki.memcachedFrontendLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: memcached-frontend 14 | {{- end }} 15 | 16 | {{/* 17 | memcached-frontend selector labels 18 | */}} 19 | {{- define "loki.memcachedFrontendSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: memcached-frontend 22 | {{- end }} 23 | 24 | {{/* 25 | memcached-frontend priority class name 26 | */}} 27 | {{- define "loki.memcachedFrontendPriorityClassName" -}} 28 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.memcachedFrontend.priorityClassName -}} 29 | {{- if $pcn }} 30 | priorityClassName: {{ $pcn }} 31 | {{- end }} 32 | {{- end }} 33 | -------------------------------------------------------------------------------- /charts/loki-stack/requirements.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | - name: "loki" 3 | condition: loki.enabled 4 | repository: "https://grafana.github.io/helm-charts" 5 | version: "^2.3.0" 6 | - name: "promtail" 7 | condition: promtail.enabled 8 | repository: "https://grafana.github.io/helm-charts" 9 | version: "^2.2.0" 10 | - name: "fluent-bit" 11 | condition: fluent-bit.enabled 12 | repository: "https://grafana.github.io/helm-charts" 13 | version: "^2.2.0" 14 | - name: "grafana" 15 | condition: grafana.enabled 16 | version: "~5.7.0" 17 | repository: "https://grafana.github.io/helm-charts" 18 | - name: "prometheus" 19 | condition: prometheus.enabled 20 | version: "~11.16.0" 21 | repository: "https://prometheus-community.github.io/helm-charts" 22 | - name: "filebeat" 23 | condition: filebeat.enabled 24 | version: "~7.8.0" 25 | repository: "https://helm.elastic.co" 26 | - name: "logstash" 27 | condition: logstash.enabled 28 | version: "~7.8.0" 29 | repository: "https://helm.elastic.co" 30 | -------------------------------------------------------------------------------- /charts/promtail/ci/service-values.yaml: -------------------------------------------------------------------------------- 1 | extraPorts: 2 | syslog: 3 | name: tcp-syslog 4 | containerPort: 1514 5 | service: 6 | port: 1234 7 | type: NodePort 8 | httpPush: 9 | name: http-push 10 | containerPort: 3500 11 | grpcPush: 12 | name: grpc-push 13 | containerPort: 3600 14 | 15 | config: 16 | snippets: 17 | extraScrapeConfigs: | 18 | - job_name: syslog 19 | syslog: 20 | listen_address: 0.0.0.0:{{ .Values.extraPorts.syslog.containerPort }} 21 | labels: 22 | job: syslog 23 | relabel_configs: 24 | - source_labels: 25 | - __syslog_message_hostname 26 | target_label: host 27 | 28 | - job_name: push1 29 | loki_push_api: 30 | server: 31 | http_listen_port: {{ .Values.extraPorts.httpPush.containerPort }} 32 | grpc_listen_port: {{ .Values.extraPorts.grpcPush.containerPort }} 33 | labels: 34 | pushserver: push1 35 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/admin-api-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-admin-api 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-admin-api 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.admin_api.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.admin_api.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-admin-api 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/query-frontend/service-query-frontend.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "tempo.queryFrontendFullname" . }} 5 | namespace: {{ .Release.Namespace }} 6 | labels: 7 | {{- include "tempo.queryFrontendLabels" . | nindent 4 }} 8 | {{- with .Values.queryFrontend.service.annotations }} 9 | annotations: 10 | {{ toYaml . | nindent 4 }} 11 | {{- end }} 12 | spec: 13 | type: {{ .Values.queryFrontend.service.type }} 14 | ports: 15 | - name: http 16 | port: 3100 17 | targetPort: 3100 18 | - name: grpc 19 | port: 9095 20 | protocol: TCP 21 | targetPort: 9095 22 | {{- if .Values.queryFrontend.query.enabled }} 23 | - name: tempo-query-jaeger-ui 24 | port: 16686 25 | targetPort: 16686 26 | - name: tempo-query-metrics 27 | port: 16687 28 | targetPort: jaeger-metrics 29 | {{- end }} 30 | selector: 31 | {{- include "tempo.queryFrontendSelectorLabels" . | nindent 4 }} 32 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/distributor-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-distributor 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-distributor 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.distributor.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.distributor.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-distributor 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /charts/loki-canary/templates/servicemonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.serviceMonitor }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: ServiceMonitor 5 | metadata: 6 | name: {{ include "loki-canary.fullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "loki-canary.labels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | {{- with .namespaceSelector }} 21 | namespaceSelector: 22 | {{- toYaml . | nindent 4 }} 23 | {{- end }} 24 | selector: 25 | matchLabels: 26 | {{- include "loki-canary.selectorLabels" $ | nindent 6 }} 27 | endpoints: 28 | - port: http 29 | {{- with .interval }} 30 | interval: {{ . }} 31 | {{- end }} 32 | {{- with .scrapeTimeout }} 33 | scrapeTimeout: {{ . }} 34 | {{- end }} 35 | {{- end }} 36 | {{- end }} 37 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/alertmanager-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-alertmanager 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-alertmanager 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.alertmanager.service.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.alertmanager.service.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-alertmanager 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/query-frontend-svc.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-query-frontend 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-query-frontend 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.query_frontend.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.query_frontend.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | ports: 18 | - port: {{ .Values.config.server.http_listen_port }} 19 | protocol: TCP 20 | name: http-metrics 21 | targetPort: http-metrics 22 | - port: {{ .Values.config.server.grpc_listen_port }} 23 | protocol: TCP 24 | name: grpc 25 | targetPort: grpc 26 | selector: 27 | app: {{ template "enterprise-metrics.name" . }}-query-frontend 28 | release: {{ .Release.Name }} 29 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # See https://github.com/scottrigby/prometheus-helm-charts/issues/12 2 | # https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners 3 | # https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax 4 | 5 | # The repo admins team will be the default owners for everything in the repo. 6 | # Unless a later match takes precedence, they will be requested for review when someone opens a pull request. 7 | * @grafana/helm-charts-admins 8 | 9 | /charts/grafana/ @maorfr @rtluckie @torstenwalter @Xtigyro @zanhsieh 10 | /charts/loki-distributed/ @unguiculus @Whyeasy 11 | /charts/loki-canary/ @unguiculus @Whyeasy 12 | /charts/promtail/ @unguiculus @Whyeasy 13 | /charts/tempo/ @annanay25 @dgzlopes @joe-elliott @mapno @mdisibio @swartz-k 14 | /charts/tempo-distributed/ @annanay25 @dgzlopes @joe-elliott @mapno @mdisibio @swartz-k 15 | /charts/enterprise-metrics/ @jdbaldry 16 | /charts/tempo-vulture/ @Whyeasy @annanay25 @dgzlopes @joe-elliott @mapno @mdisibio 17 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/NOTES.txt: -------------------------------------------------------------------------------- 1 | *********************************************************************** 2 | Welcome to Grafana Loki 3 | Chart version: {{ .Chart.Version }} 4 | Loki version: {{ .Chart.AppVersion }} 5 | *********************************************************************** 6 | 7 | Installed components: 8 | {{- if .Values.gateway.enabled }} 9 | * gateway 10 | {{- end }} 11 | * ingester 12 | * distributor 13 | * querier 14 | * query-frontend 15 | {{- if .Values.tableManager.enabled }} 16 | * table-manager 17 | {{- end }} 18 | {{- if .Values.compactor.enabled }} 19 | * compactor 20 | {{- end }} 21 | {{- if .Values.ruler.enabled }} 22 | * ruler 23 | {{- end }} 24 | {{- if .Values.memcachedChunks.enabled }} 25 | * memcached-chunks 26 | {{- end }} 27 | {{- if .Values.memcachedFrontend.enabled }} 28 | * memcached-frontend 29 | {{- end }} 30 | {{- if .Values.memcachedIndexQueries.enabled }} 31 | * memcached-index-queries 32 | {{- end }} 33 | {{- if .Values.memcachedIndexWrites.enabled }} 34 | * memcached-index-writes 35 | {{- end }} 36 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-writes/_helpers-memcached-index-writes.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | memcached-index-writes fullname 3 | */}} 4 | {{- define "loki.memcachedIndexWritesFullname" -}} 5 | {{ include "loki.fullname" . }}-memcached-index-writes 6 | {{- end }} 7 | 8 | {{/* 9 | memcached-index-writes fullname 10 | */}} 11 | {{- define "loki.memcachedIndexWritesLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: memcached-index-writes 14 | {{- end }} 15 | 16 | {{/* 17 | memcached-index-writes selector labels 18 | */}} 19 | {{- define "loki.memcachedIndexWritesSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: memcached-index-writes 22 | {{- end }} 23 | 24 | {{/* 25 | memcached-index-writes priority class name 26 | */}} 27 | {{- define "loki.memcachedIndexWritesPriorityClassName" -}} 28 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.memcachedIndexWrites.priorityClassName -}} 29 | {{- if $pcn }} 30 | priorityClassName: {{ $pcn }} 31 | {{- end }} 32 | {{- end }} 33 | -------------------------------------------------------------------------------- /charts/tempo-vulture/templates/servicemonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.serviceMonitor }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: ServiceMonitor 5 | metadata: 6 | name: {{ include "tempo-vulture.fullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "tempo-vulture.labels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | {{- with .namespaceSelector }} 21 | namespaceSelector: 22 | {{- toYaml . | nindent 4 }} 23 | {{- end }} 24 | selector: 25 | matchLabels: 26 | {{- include "tempo-vulture.selectorLabels" $ | nindent 6 }} 27 | endpoints: 28 | - port: prom-metrics 29 | {{- with .interval }} 30 | interval: {{ . }} 31 | {{- end }} 32 | {{- with .scrapeTimeout }} 33 | scrapeTimeout: {{ . }} 34 | {{- end }} 35 | {{- end }} 36 | {{- end }} 37 | -------------------------------------------------------------------------------- /charts/grafana/templates/dashboards-json-configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.dashboards }} 2 | {{ $files := .Files }} 3 | {{- range $provider, $dashboards := .Values.dashboards }} 4 | apiVersion: v1 5 | kind: ConfigMap 6 | metadata: 7 | name: {{ template "grafana.fullname" $ }}-dashboards-{{ $provider }} 8 | namespace: {{ template "grafana.namespace" $ }} 9 | labels: 10 | {{- include "grafana.labels" $ | nindent 4 }} 11 | dashboard-provider: {{ $provider }} 12 | {{- if $dashboards }} 13 | data: 14 | {{- $dashboardFound := false }} 15 | {{- range $key, $value := $dashboards }} 16 | {{- if (or (hasKey $value "json") (hasKey $value "file")) }} 17 | {{- $dashboardFound = true }} 18 | {{ print $key | indent 2 }}.json: 19 | {{- if hasKey $value "json" }} 20 | |- 21 | {{ $value.json | indent 6 }} 22 | {{- end }} 23 | {{- if hasKey $value "file" }} 24 | {{ toYaml ( $files.Get $value.file ) | indent 4}} 25 | {{- end }} 26 | {{- end }} 27 | {{- end }} 28 | {{- if not $dashboardFound }} 29 | {} 30 | {{- end }} 31 | {{- end }} 32 | --- 33 | {{- end }} 34 | 35 | {{- end }} 36 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/memcached-index-queries/_helpers-memcached-index-queries.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | memcached-index-queries fullname 3 | */}} 4 | {{- define "loki.memcachedIndexQueriesFullname" -}} 5 | {{ include "loki.fullname" . }}-memcached-index-queries 6 | {{- end }} 7 | 8 | {{/* 9 | memcached-index-queries fullname 10 | */}} 11 | {{- define "loki.memcachedIndexQueriesLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: memcached-index-queries 14 | {{- end }} 15 | 16 | {{/* 17 | memcached-index-queries selector labels 18 | */}} 19 | {{- define "loki.memcachedIndexQueriesSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: memcached-index-queries 22 | {{- end }} 23 | 24 | {{/* 25 | memcached-index-queries priority class name 26 | */}} 27 | {{- define "loki.memcachedIndexQueriesPriorityClassName" -}} 28 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.memcachedIndexQueries.priorityClassName -}} 29 | {{- if $pcn }} 30 | priorityClassName: {{ $pcn }} 31 | {{- end }} 32 | {{- end }} 33 | -------------------------------------------------------------------------------- /charts/loki/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | labels: 7 | app: {{ template "loki.name" . }} 8 | chart: {{ template "loki.chart" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | spec: 12 | privileged: false 13 | allowPrivilegeEscalation: false 14 | volumes: 15 | - 'configMap' 16 | - 'emptyDir' 17 | - 'persistentVolumeClaim' 18 | - 'secret' 19 | - 'projected' 20 | - 'downwardAPI' 21 | hostNetwork: false 22 | hostIPC: false 23 | hostPID: false 24 | runAsUser: 25 | rule: 'MustRunAsNonRoot' 26 | seLinux: 27 | rule: 'RunAsAny' 28 | supplementalGroups: 29 | rule: 'MustRunAs' 30 | ranges: 31 | - min: 1 32 | max: 65535 33 | fsGroup: 34 | rule: 'MustRunAs' 35 | ranges: 36 | - min: 1 37 | max: 65535 38 | readOnlyRootFilesystem: true 39 | requiredDropCapabilities: 40 | - ALL 41 | {{- end }} 42 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/podsecuritypolicy.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.rbac.pspEnabled }} 2 | apiVersion: policy/v1beta1 3 | kind: PodSecurityPolicy 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }} 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }} 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | heritage: {{ .Release.Service }} 10 | release: {{ .Release.Name }} 11 | spec: 12 | privileged: false 13 | allowPrivilegeEscalation: false 14 | volumes: 15 | - 'configMap' 16 | - 'emptyDir' 17 | - 'persistentVolumeClaim' 18 | - 'secret' 19 | hostNetwork: false 20 | hostIPC: false 21 | hostPID: false 22 | runAsUser: 23 | rule: 'MustRunAsNonRoot' 24 | seLinux: 25 | rule: 'RunAsAny' 26 | supplementalGroups: 27 | rule: 'MustRunAs' 28 | ranges: 29 | - min: 1 30 | max: 65535 31 | fsGroup: 32 | rule: 'MustRunAs' 33 | ranges: 34 | - min: 1 35 | max: 65535 36 | readOnlyRootFilesystem: true 37 | requiredDropCapabilities: 38 | - ALL 39 | {{- end }} 40 | -------------------------------------------------------------------------------- /.github/workflows/linter.yml: -------------------------------------------------------------------------------- 1 | name: Lint Code Base 2 | 3 | # Documentation: 4 | # https://help.github.com/en/articles/workflow-syntax-for-github-actions 5 | 6 | on: pull_request 7 | 8 | jobs: 9 | build: 10 | name: Lint Code Base 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout Code 14 | uses: actions/checkout@v2 15 | 16 | - name: Check Docs 17 | run: | 18 | docker run --rm --volume "$(pwd):/helm-docs" -u "$(id -u)" jnorwood/helm-docs:v1.4.0 19 | if ! git diff --exit-code; then 20 | echo "Documentation not up to date. Please run helm-docs and commit changes!" >&2 21 | exit 1 22 | fi 23 | 24 | - name: Lint Code Base 25 | uses: docker://github/super-linter:v3.12.0 26 | env: 27 | FILTER_REGEX_EXCLUDE: .*(README\.md|Chart\.yaml|NOTES.txt).* 28 | VALIDATE_ALL_CODEBASE: false 29 | VALIDATE_KUBERNETES_KUBEVAL: false 30 | VALIDATE_YAML: false 31 | DEFAULT_BRANCH: main 32 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 33 | -------------------------------------------------------------------------------- /charts/loki-stack/templates/datasources.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.grafana.sidecar.datasources.enabled }} 2 | apiVersion: v1 3 | kind: ConfigMap 4 | metadata: 5 | name: {{ template "loki-stack.fullname" . }} 6 | namespace: {{ .Release.Namespace }} 7 | labels: 8 | app: {{ template "loki-stack.name" . }} 9 | chart: {{ template "loki-stack.chart" . }} 10 | release: {{ .Release.Name }} 11 | heritage: {{ .Release.Service }} 12 | grafana_datasource: "1" 13 | data: 14 | loki-stack-datasource.yaml: |- 15 | apiVersion: 1 16 | datasources: 17 | {{- if .Values.loki.enabled }} 18 | - name: Loki 19 | type: loki 20 | access: proxy 21 | url: http://{{(include "loki.serviceName" .)}}:{{ .Values.loki.service.port }} 22 | version: 1 23 | {{- end }} 24 | {{- if .Values.prometheus.enabled }} 25 | - name: Prometheus 26 | type: prometheus 27 | access: proxy 28 | url: http://{{ include "prometheus.fullname" .}}:{{ .Values.prometheus.server.service.servicePort }}{{ .Values.prometheus.server.prefixURL }} 29 | version: 1 30 | {{- end }} 31 | {{- end }} 32 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/store-gateway-svc.yaml: -------------------------------------------------------------------------------- 1 | {{- if eq .Values.config.storage.engine "blocks" -}} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ template "enterprise-metrics.fullname" . }}-store-gateway 6 | labels: 7 | app: {{ template "enterprise-metrics.name" . }}-store-gateway 8 | chart: {{ template "enterprise-metrics.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | {{- with .Values.store_gateway.labels }} 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | annotations: 15 | {{- toYaml .Values.store_gateway.annotations | nindent 4 }} 16 | spec: 17 | type: ClusterIP 18 | ports: 19 | - port: {{ .Values.config.server.http_listen_port }} 20 | protocol: TCP 21 | name: http-metrics 22 | targetPort: http-metrics 23 | - port: {{ .Values.config.server.grpc_listen_port }} 24 | protocol: TCP 25 | name: grpc 26 | targetPort: grpc 27 | selector: 28 | app: {{ template "enterprise-metrics.name" . }}-store-gateway 29 | release: {{ .Release.Name }} 30 | {{- end -}} 31 | -------------------------------------------------------------------------------- /charts/grafana/templates/pvc.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.type "pvc")}} 2 | apiVersion: v1 3 | kind: PersistentVolumeClaim 4 | metadata: 5 | name: {{ template "grafana.fullname" . }} 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | {{- with .Values.persistence.annotations }} 10 | annotations: 11 | {{ toYaml . | indent 4 }} 12 | {{- end }} 13 | {{- with .Values.persistence.finalizers }} 14 | finalizers: 15 | {{ toYaml . | indent 4 }} 16 | {{- end }} 17 | spec: 18 | accessModes: 19 | {{- range .Values.persistence.accessModes }} 20 | - {{ . | quote }} 21 | {{- end }} 22 | resources: 23 | requests: 24 | storage: {{ .Values.persistence.size | quote }} 25 | {{- if .Values.persistence.storageClassName }} 26 | storageClassName: {{ .Values.persistence.storageClassName }} 27 | {{- end -}} 28 | {{- with .Values.persistence.selectorLabels }} 29 | selector: 30 | matchLabels: 31 | {{ toYaml . | indent 6 }} 32 | {{- end }} 33 | {{- end -}} 34 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/templates/query-frontend-svc-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "enterprise-metrics.fullname" . }}-query-frontend-headless 5 | labels: 6 | app: {{ template "enterprise-metrics.name" . }}-query-frontend 7 | chart: {{ template "enterprise-metrics.chart" . }} 8 | release: {{ .Release.Name }} 9 | heritage: {{ .Release.Service }} 10 | {{- with .Values.query_frontend.service.labels }} 11 | {{- toYaml . | nindent 4 }} 12 | {{- end }} 13 | annotations: 14 | {{- toYaml .Values.query_frontend.service.annotations | nindent 4 }} 15 | spec: 16 | type: ClusterIP 17 | clusterIP: None 18 | publishNotReadyAddresses: true 19 | ports: 20 | - port: {{ .Values.config.server.http_listen_port }} 21 | protocol: TCP 22 | name: http-metrics 23 | targetPort: http-metrics 24 | - port: {{ .Values.config.server.grpc_listen_port }} 25 | protocol: TCP 26 | name: grpc 27 | targetPort: grpc 28 | selector: 29 | app: {{ template "enterprise-metrics.name" . }}-query-frontend 30 | release: {{ .Release.Name }} 31 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/memcached/servicemonitor-memcached.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.memcached.enabled }} 2 | {{- with .Values.serviceMonitor }} 3 | {{- if .enabled }} 4 | apiVersion: monitoring.coreos.com/v1 5 | kind: ServiceMonitor 6 | metadata: 7 | name: {{ template "tempo.fullname" $ }}-memcached 8 | {{- with .namespace }} 9 | namespace: {{ . }} 10 | {{- end }} 11 | {{- with .annotations }} 12 | annotations: 13 | {{- toYaml . | nindent 4 }} 14 | {{- end }} 15 | labels: 16 | {{- include "tempo.memcachedLabels" $ | nindent 4 }} 17 | {{- with .labels }} 18 | {{- toYaml . | nindent 4 }} 19 | {{- end }} 20 | spec: 21 | {{- with .namespaceSelector }} 22 | namespaceSelector: 23 | {{- toYaml . | nindent 4 }} 24 | {{- end }} 25 | selector: 26 | matchLabels: 27 | {{- include "tempo.memcachedSelectorLabels" $ | nindent 6 }} 28 | endpoints: 29 | - port: http-metrics 30 | {{- with .interval }} 31 | interval: {{ . }} 32 | {{- end }} 33 | {{- with .scrapeTimeout }} 34 | scrapeTimeout: {{ . }} 35 | {{- end }} 36 | {{- end }} 37 | {{- end }} 38 | {{- end }} 39 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/vendor/github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet: -------------------------------------------------------------------------------- 1 | local d = import 'github.com/jsonnet-libs/docsonnet/doc-util/main.libsonnet'; 2 | { 3 | local this = self, 4 | 5 | '#':: d.pkg( 6 | name='tanka_util', 7 | url='github.com/grafana/jsonnet-libs/tanka-util/main.libsonnet', 8 | help=(importstr 'README.md.tmpl') % (importstr '_example.jsonnet'), 9 | ), 10 | 11 | '#k8s':: d.obj( 12 | ||| 13 | `k8s` provides common utils to modify Kubernetes objects. 14 | ||| 15 | ), 16 | k8s: (import 'k8s.libsonnet'), 17 | 18 | '#helm':: d.obj( 19 | ||| 20 | `helm` allows the user to consume Helm Charts as plain Jsonnet resources. 21 | This implements [Helm support](https://tanka.dev/helm) for Grafana Tanka. 22 | ||| 23 | ), 24 | helm: (import 'helm.libsonnet'), 25 | 26 | '#kustomize':: d.obj( 27 | ||| 28 | `kustomize` allows the user to expand Kustomize manifests into plain Jsonnet resources. 29 | This implements [Kustomize support](https://tanka.dev/kustomize) for Grafana Tanka. 30 | ||| 31 | ), 32 | kustomize: (import 'kustomize.libsonnet'), 33 | } 34 | -------------------------------------------------------------------------------- /charts/grafana/templates/image-renderer-service.yaml: -------------------------------------------------------------------------------- 1 | {{ if .Values.imageRenderer.enabled }} 2 | {{ if .Values.imageRenderer.service.enabled }} 3 | apiVersion: v1 4 | kind: Service 5 | metadata: 6 | name: {{ template "grafana.fullname" . }}-image-renderer 7 | namespace: {{ template "grafana.namespace" . }} 8 | labels: 9 | {{- include "grafana.imageRenderer.labels" . | nindent 4 }} 10 | {{- if .Values.imageRenderer.service.labels }} 11 | {{ toYaml .Values.imageRenderer.service.labels | indent 4 }} 12 | {{- end }} 13 | {{- with .Values.imageRenderer.service.annotations }} 14 | annotations: 15 | {{ toYaml . | indent 4 }} 16 | {{- end }} 17 | spec: 18 | type: ClusterIP 19 | {{- if .Values.imageRenderer.service.clusterIP }} 20 | clusterIP: {{ .Values.imageRenderer.service.clusterIP }} 21 | {{end}} 22 | ports: 23 | - name: {{ .Values.imageRenderer.service.portName }} 24 | port: {{ .Values.imageRenderer.service.port }} 25 | protocol: TCP 26 | targetPort: {{ .Values.imageRenderer.service.targetPort }} 27 | selector: 28 | {{- include "grafana.imageRenderer.selectorLabels" . | nindent 4 }} 29 | {{ end }} 30 | {{ end }} 31 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/querier/_helpers-querier.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | querier fullname 3 | */}} 4 | {{- define "loki.querierFullname" -}} 5 | {{ include "loki.fullname" . }}-querier 6 | {{- end }} 7 | 8 | {{/* 9 | querier common labels 10 | */}} 11 | {{- define "loki.querierLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: querier 14 | {{- end }} 15 | 16 | {{/* 17 | querier selector labels 18 | */}} 19 | {{- define "loki.querierSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: querier 22 | {{- end }} 23 | 24 | {{/* 25 | querier image 26 | */}} 27 | {{- define "loki.querierImage" -}} 28 | {{- $dict := dict "loki" .Values.loki.image "service" .Values.querier.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "loki.lokiImage" $dict -}} 30 | {{- end }} 31 | 32 | {{/* 33 | querier priority class name 34 | */}} 35 | {{- define "loki.querierPriorityClassName" -}} 36 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.querier.priorityClassName -}} 37 | {{- if $pcn }} 38 | priorityClassName: {{ $pcn }} 39 | {{- end }} 40 | {{- end }} 41 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/ingester/_helpers-ingester.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | ingester fullname 3 | */}} 4 | {{- define "loki.ingesterFullname" -}} 5 | {{ include "loki.fullname" . }}-ingester 6 | {{- end }} 7 | 8 | {{/* 9 | ingester common labels 10 | */}} 11 | {{- define "loki.ingesterLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: ingester 14 | {{- end }} 15 | 16 | {{/* 17 | ingester selector labels 18 | */}} 19 | {{- define "loki.ingesterSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: ingester 22 | {{- end }} 23 | 24 | {{/* 25 | ingester image 26 | */}} 27 | {{- define "loki.ingesterImage" -}} 28 | {{- $dict := dict "loki" .Values.loki.image "service" .Values.ingester.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "loki.lokiImage" $dict -}} 30 | {{- end }} 31 | 32 | {{/* 33 | ingester priority class name 34 | */}} 35 | {{- define "loki.ingesterPriorityClassName" -}} 36 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.ingester.priorityClassName -}} 37 | {{- if $pcn }} 38 | priorityClassName: {{ $pcn }} 39 | {{- end }} 40 | {{- end }} 41 | -------------------------------------------------------------------------------- /charts/enterprise-metrics/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v2 2 | version: 1.4.4 3 | appVersion: v1.4.2 4 | description: 'Grafana Enterprise Metrics' 5 | engine: gotpl 6 | home: https://grafana.com/products/enterprise/metrics 7 | icon: https://grafana.com/static/img/menu/metrics-enterprise.svg 8 | kubeVersion: ^1.10.0-0 9 | name: enterprise-metrics 10 | dependencies: 11 | - name: memcached 12 | alias: memcached 13 | version: 5.5.2 14 | repository: https://charts.bitnami.com/bitnami 15 | condition: memcached.enabled 16 | - name: memcached 17 | alias: memcached-queries 18 | version: 5.5.2 19 | repository: https://charts.bitnami.com/bitnami 20 | condition: memcached-queries.enabled 21 | - name: memcached 22 | alias: memcached-metadata 23 | version: 5.5.2 24 | repository: https://charts.bitnami.com/bitnami 25 | condition: memcached-metadata.enabled 26 | - name: minio 27 | alias: minio 28 | version: 8.0.9 29 | repository: https://helm.min.io/ 30 | condition: minio.enabled 31 | - name: consul 32 | alias: consul 33 | version: 0.25.0 34 | repository: https://helm.releases.hashicorp.com 35 | condition: consul.enabled 36 | -------------------------------------------------------------------------------- /charts/grafana/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | {{- if and (or (and (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD)) (and .Values.ldap.enabled (not .Values.ldap.existingSecret))) (not .Values.env.GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION) }} 2 | apiVersion: v1 3 | kind: Secret 4 | metadata: 5 | name: {{ template "grafana.fullname" . }} 6 | namespace: {{ template "grafana.namespace" . }} 7 | labels: 8 | {{- include "grafana.labels" . | nindent 4 }} 9 | {{- with .Values.annotations }} 10 | annotations: 11 | {{ toYaml . | indent 4 }} 12 | {{- end }} 13 | type: Opaque 14 | data: 15 | {{- if and (not .Values.admin.existingSecret) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD__FILE) (not .Values.env.GF_SECURITY_ADMIN_PASSWORD) }} 16 | admin-user: {{ .Values.adminUser | b64enc | quote }} 17 | {{- if .Values.adminPassword }} 18 | admin-password: {{ .Values.adminPassword | b64enc | quote }} 19 | {{- else }} 20 | admin-password: {{ template "grafana.password" . }} 21 | {{- end }} 22 | {{- end }} 23 | {{- if not .Values.ldap.existingSecret }} 24 | ldap-toml: {{ tpl .Values.ldap.config $ | b64enc | quote }} 25 | {{- end }} 26 | {{- end }} 27 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/distributor/_helpers-distributor.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | distributor fullname 3 | */}} 4 | {{- define "loki.distributorFullname" -}} 5 | {{ include "loki.fullname" . }}-distributor 6 | {{- end }} 7 | 8 | {{/* 9 | distributor common labels 10 | */}} 11 | {{- define "loki.distributorLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: distributor 14 | {{- end }} 15 | 16 | {{/* 17 | distributor selector labels 18 | */}} 19 | {{- define "loki.distributorSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: distributor 22 | {{- end }} 23 | 24 | {{/* 25 | distributor image 26 | */}} 27 | {{- define "loki.distributorImage" -}} 28 | {{- $dict := dict "loki" .Values.loki.image "service" .Values.distributor.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "loki.lokiImage" $dict -}} 30 | {{- end }} 31 | 32 | {{/* 33 | distributor priority class name 34 | */}} 35 | {{- define "loki.distributorPriorityClassName" -}} 36 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.distributor.priorityClassName -}} 37 | {{- if $pcn }} 38 | priorityClassName: {{ $pcn }} 39 | {{- end }} 40 | {{- end }} 41 | -------------------------------------------------------------------------------- /charts/promtail/templates/servicemonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | name: {{ include "promtail.fullname" $ }} 6 | {{- if .Values.serviceMonitor.namespace }} 7 | namespace: {{ .Values.serviceMonitor.namespace }} 8 | {{- else }} 9 | namespace: {{ .Release.Namespace }} 10 | {{- end }} 11 | {{- with .Values.serviceMonitor.annotations }} 12 | annotations: 13 | {{- toYaml . | nindent 4 }} 14 | {{- end }} 15 | labels: 16 | {{- include "promtail.labels" $ | nindent 4 }} 17 | {{- with .Values.serviceMonitor.labels }} 18 | {{- toYaml . | nindent 4 }} 19 | {{- end }} 20 | spec: 21 | {{- with .Values.serviceMonitor.namespaceSelector }} 22 | namespaceSelector: 23 | {{- toYaml . | nindent 4 }} 24 | {{- end }} 25 | selector: 26 | matchLabels: 27 | {{- include "promtail.selectorLabels" . | nindent 6 }} 28 | endpoints: 29 | - port: http-metrics 30 | {{- with .Values.serviceMonitor.interval }} 31 | interval: {{ . }} 32 | {{- end }} 33 | {{- with .Values.serviceMonitor.scrapeTimeout }} 34 | scrapeTimeout: {{ . }} 35 | {{- end }} 36 | {{- end }} 37 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/table-manager/_helpers-table-manager.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | table-manager fullname 3 | */}} 4 | {{- define "loki.tableManagerFullname" -}} 5 | {{ include "loki.fullname" . }}-table-manager 6 | {{- end }} 7 | 8 | {{/* 9 | table-manager common labels 10 | */}} 11 | {{- define "loki.tableManagerLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: table-manager 14 | {{- end }} 15 | 16 | {{/* 17 | table-manager selector labels 18 | */}} 19 | {{- define "loki.tableManagerSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: table-manager 22 | {{- end }} 23 | 24 | {{/* 25 | table-manager image 26 | */}} 27 | {{- define "loki.tableManagerImage" -}} 28 | {{- $dict := dict "loki" .Values.loki.image "service" .Values.tableManager.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "loki.lokiImage" $dict -}} 30 | {{- end }} 31 | 32 | {{/* 33 | table-manager priority class name 34 | */}} 35 | {{- define "loki.tableManagerPriorityClassName" -}} 36 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.tableManager.priorityClassName -}} 37 | {{- if $pcn }} 38 | priorityClassName: {{ $pcn }} 39 | {{- end }} 40 | {{- end }} 41 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/gateway/service-gateway.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.gateway.enabled }} 2 | apiVersion: v1 3 | kind: Service 4 | metadata: 5 | name: {{ include "loki.gatewayFullname" . }} 6 | labels: 7 | {{- include "loki.gatewayLabels" . | nindent 4 }} 8 | {{- with .Values.gateway.service.labels }} 9 | {{- toYaml . | nindent 4 }} 10 | {{- end }} 11 | {{- with .Values.gateway.service.annotations }} 12 | annotations: 13 | {{- toYaml . | nindent 4 }} 14 | {{- end }} 15 | spec: 16 | type: {{ .Values.gateway.service.type }} 17 | {{- with .Values.gateway.service.clusterIP }} 18 | clusterIP: {{ . }} 19 | {{- end }} 20 | {{- if and (eq "LoadBalancer" .Values.gateway.service.type) .Values.gateway.service.loadBalancerIP }} 21 | loadBalancerIP: {{ .Values.gateway.service.loadBalancerIP }} 22 | {{- end }} 23 | ports: 24 | - name: http 25 | port: {{ .Values.gateway.service.port }} 26 | targetPort: http 27 | {{- if and (eq "NodePort" .Values.gateway.service.type) .Values.gateway.service.nodePort }} 28 | nodePort: {{ .Values.gateway.service.nodePort }} 29 | {{- end }} 30 | protocol: TCP 31 | selector: 32 | {{- include "loki.gatewaySelectorLabels" . | nindent 4 }} 33 | {{- end }} 34 | -------------------------------------------------------------------------------- /charts/loki-distributed/templates/query-frontend/_helpers-query-frontend.tpl: -------------------------------------------------------------------------------- 1 | {{/* 2 | query-frontend fullname 3 | */}} 4 | {{- define "loki.queryFrontendFullname" -}} 5 | {{ include "loki.fullname" . }}-query-frontend 6 | {{- end }} 7 | 8 | {{/* 9 | query-frontend common labels 10 | */}} 11 | {{- define "loki.queryFrontendLabels" -}} 12 | {{ include "loki.labels" . }} 13 | app.kubernetes.io/component: query-frontend 14 | {{- end }} 15 | 16 | {{/* 17 | query-frontend selector labels 18 | */}} 19 | {{- define "loki.queryFrontendSelectorLabels" -}} 20 | {{ include "loki.selectorLabels" . }} 21 | app.kubernetes.io/component: query-frontend 22 | {{- end }} 23 | 24 | {{/* 25 | query-frontend image 26 | */}} 27 | {{- define "loki.queryFrontendImage" -}} 28 | {{- $dict := dict "loki" .Values.loki.image "service" .Values.queryFrontend.image "global" .Values.global.image "defaultVersion" .Chart.AppVersion -}} 29 | {{- include "loki.lokiImage" $dict -}} 30 | {{- end }} 31 | 32 | {{/* 33 | query-frontend priority class name 34 | */}} 35 | {{- define "loki.queryFrontendPriorityClassName" -}} 36 | {{- $pcn := coalesce .Values.global.priorityClassName .Values.queryFrontend.priorityClassName -}} 37 | {{- if $pcn }} 38 | priorityClassName: {{ $pcn }} 39 | {{- end }} 40 | {{- end }} 41 | -------------------------------------------------------------------------------- /charts/loki/templates/servicemonitor.yaml: -------------------------------------------------------------------------------- 1 | {{- if .Values.serviceMonitor.enabled }} 2 | apiVersion: monitoring.coreos.com/v1 3 | kind: ServiceMonitor 4 | metadata: 5 | name: {{ template "loki.fullname" . }} 6 | labels: 7 | app: {{ template "loki.name" . }} 8 | chart: {{ template "loki.chart" . }} 9 | release: {{ .Release.Name }} 10 | heritage: {{ .Release.Service }} 11 | {{- if .Values.serviceMonitor.additionalLabels }} 12 | {{ toYaml .Values.serviceMonitor.additionalLabels | indent 4 }} 13 | {{- end }} 14 | {{- if .Values.serviceMonitor.annotations }} 15 | annotations: 16 | {{ toYaml .Values.serviceMonitor.annotations | indent 4 }} 17 | {{- end }} 18 | spec: 19 | selector: 20 | matchLabels: 21 | app: {{ template "loki.name" . }} 22 | release: {{ .Release.Name | quote }} 23 | variant: headless 24 | namespaceSelector: 25 | matchNames: 26 | - {{ .Release.Namespace | quote }} 27 | endpoints: 28 | - port: http-metrics 29 | {{- if .Values.serviceMonitor.interval }} 30 | interval: {{ .Values.serviceMonitor.interval }} 31 | {{- end }} 32 | {{- if .Values.serviceMonitor.scrapeTimeout }} 33 | scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }} 34 | {{- end }} 35 | {{- end }} 36 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/querier/servicemonitor-querier.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.serviceMonitor }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: ServiceMonitor 5 | metadata: 6 | name: {{ template "tempo.querierFullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "tempo.querierLabels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | {{- with .namespaceSelector }} 21 | namespaceSelector: 22 | {{- toYaml . | nindent 4 }} 23 | {{- end }} 24 | selector: 25 | matchLabels: 26 | {{- include "tempo.querierSelectorLabels" $ | nindent 6 }} 27 | endpoints: 28 | - port: http 29 | {{- with .interval }} 30 | interval: {{ . }} 31 | {{- end }} 32 | {{- with .scrapeTimeout }} 33 | scrapeTimeout: {{ . }} 34 | {{- end }} 35 | {{- with .scheme }} 36 | scheme: {{ . }} 37 | {{- end }} 38 | {{- with .tlsConfig }} 39 | tlsConfig: 40 | {{- toYaml . | nindent 8 }} 41 | {{- end }} 42 | {{- end }} 43 | {{- end }} 44 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/ingester/servicemonitor-ingester.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.serviceMonitor }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: ServiceMonitor 5 | metadata: 6 | name: {{ template "tempo.ingesterFullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "tempo.ingesterLabels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | {{- with .namespaceSelector }} 21 | namespaceSelector: 22 | {{- toYaml . | nindent 4 }} 23 | {{- end }} 24 | selector: 25 | matchLabels: 26 | {{- include "tempo.ingesterSelectorLabels" $ | nindent 6 }} 27 | endpoints: 28 | - port: http 29 | {{- with .interval }} 30 | interval: {{ . }} 31 | {{- end }} 32 | {{- with .scrapeTimeout }} 33 | scrapeTimeout: {{ . }} 34 | {{- end }} 35 | {{- with .scheme }} 36 | scheme: {{ . }} 37 | {{- end }} 38 | {{- with .tlsConfig }} 39 | tlsConfig: 40 | {{- toYaml . | nindent 8 }} 41 | {{- end }} 42 | {{- end }} 43 | {{- end }} 44 | -------------------------------------------------------------------------------- /charts/tempo-distributed/templates/compactor/servicemonitor-compactor.yaml: -------------------------------------------------------------------------------- 1 | {{- with .Values.serviceMonitor }} 2 | {{- if .enabled }} 3 | apiVersion: monitoring.coreos.com/v1 4 | kind: ServiceMonitor 5 | metadata: 6 | name: {{ template "tempo.compactorFullname" $ }} 7 | {{- with .namespace }} 8 | namespace: {{ . }} 9 | {{- end }} 10 | {{- with .annotations }} 11 | annotations: 12 | {{- toYaml . | nindent 4 }} 13 | {{- end }} 14 | labels: 15 | {{- include "tempo.compactorLabels" $ | nindent 4 }} 16 | {{- with .labels }} 17 | {{- toYaml . | nindent 4 }} 18 | {{- end }} 19 | spec: 20 | {{- with .namespaceSelector }} 21 | namespaceSelector: 22 | {{- toYaml . | nindent 4 }} 23 | {{- end }} 24 | selector: 25 | matchLabels: 26 | {{- include "tempo.compactorSelectorLabels" $ | nindent 6 }} 27 | endpoints: 28 | - port: http 29 | {{- with .interval }} 30 | interval: {{ . }} 31 | {{- end }} 32 | {{- with .scrapeTimeout }} 33 | scrapeTimeout: {{ . }} 34 | {{- end }} 35 | {{- with .scheme }} 36 | scheme: {{ . }} 37 | {{- end }} 38 | {{- with .tlsConfig }} 39 | tlsConfig: 40 | {{- toYaml . | nindent 8 }} 41 | {{- end }} 42 | {{- end }} 43 | {{- end }} 44 | --------------------------------------------------------------------------------