From 57712751f160fe188703b4f58d6a66f0af6d54ac Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Fri, 21 Feb 2025 09:42:13 +0100 Subject: [PATCH] chore: mirror k8s-monitoring-2.0.12 upstream_repo: --- charts/k8s-monitoring/.helmignore | 8 + charts/k8s-monitoring/.updatecli-alloy.yaml | 67 + charts/k8s-monitoring/Chart.lock | 48 + charts/k8s-monitoring/Chart.yaml | 89 + charts/k8s-monitoring/alloyModules/LICENSE | 201 + .../modules/databases/kv/etcd/metrics.alloy | 244 + .../kubernetes/cert-manager/metrics.alloy | 223 + .../modules/kubernetes/core/metrics.alloy | 1035 ++ .../system/node-exporter/metrics.alloy | 268 + .../k8s-monitoring/charts/alloy/.helmignore | 29 + .../k8s-monitoring/charts/alloy/CHANGELOG.md | 163 + charts/k8s-monitoring/charts/alloy/Chart.lock | 6 + charts/k8s-monitoring/charts/alloy/Chart.yaml | 12 + charts/k8s-monitoring/charts/alloy/README.md | 317 + .../charts/alloy/charts/crds/Chart.yaml | 3 + .../crds/monitoring.grafana.com_podlogs.yaml | 205 + ...dditional-serviceaccount-label-values.yaml | 3 + .../charts/alloy/ci/clustering-values.yaml | 7 + ...deployment-pdb-max-unavailable-values.yaml | 5 + ...r-deployment-pdb-min-available-values.yaml | 5 + ...tatefulset-pdb-max-unavailable-values.yaml | 5 + ...-statefulset-pdb-min-available-values.yaml | 5 + .../ci/controller-volumes-extra-values.yaml | 12 + .../create-daemonset-hostnetwork-values.yaml | 5 + .../alloy/ci/create-daemonset-values.yaml | 3 + .../create-deployment-autoscaling-values.yaml | 25 + .../alloy/ci/create-deployment-values.yaml | 3 + ...create-statefulset-autoscaling-values.yaml | 10 + .../alloy/ci/create-statefulset-values.yaml | 3 + .../charts/alloy/ci/custom-config-values.yaml | 10 + .../alloy/ci/default-values-values.yaml | 1 + .../ci/enable-servicemonitor-tls-values.yaml | 9 + .../ci/enable-servicemonitor-values.yaml | 5 + .../charts/alloy/ci/envFrom-values.yaml | 5 + .../alloy/ci/existing-config-values.yaml | 5 + .../charts/alloy/ci/extra-env-values.yaml | 9 + .../alloy/ci/extra-manifests-values.yaml | 8 + .../charts/alloy/ci/extra-ports-values.yaml | 7 + .../charts/alloy/ci/faro-ingress-values.yaml | 9 + .../ci/global-image-pullsecrets-values.yaml | 13 + .../ci/global-image-registry-values.yaml | 11 + .../charts/alloy/ci/host-alias-values.yaml | 5 + .../alloy/ci/initcontainers-values.yaml | 29 + .../alloy/ci/lifecycle-hooks-values.yaml | 8 + .../ci/local-image-pullsecrets-values.yaml | 4 + .../alloy/ci/local-image-registry-values.yaml | 7 + .../nodeselectors-and-tolerations-values.yaml | 11 + .../charts/alloy/ci/nonroot-values.yaml | 7 + .../alloy/ci/pod_annotations-values.yaml | 4 + .../charts/alloy/ci/sidecars-values.yaml | 29 + .../ci/termination-grace-period-values.yaml | 3 + .../ci/topologyspreadconstraints-values.yaml | 10 + .../charts/alloy/ci/with-digests-values.yaml | 10 + .../charts/alloy/config/example.alloy | 28 + .../charts/alloy/templates/NOTES.txt | 1 + .../charts/alloy/templates/_config.tpl | 25 + .../charts/alloy/templates/_helpers.tpl | 162 + .../alloy/templates/cluster_service.yaml | 37 + .../charts/alloy/templates/configmap.yaml | 16 + .../alloy/templates/containers/_agent.yaml | 88 + .../alloy/templates/containers/_watch.yaml | 26 + .../alloy/templates/controllers/_pod.yaml | 90 + .../templates/controllers/daemonset.yaml | 25 + .../templates/controllers/deployment.yaml | 28 + .../templates/controllers/statefulset.yaml | 50 + .../alloy/templates/extra-manifests.yaml | 4 + .../charts/alloy/templates/hpa.yaml | 78 + .../charts/alloy/templates/ingress.yaml | 79 + .../charts/alloy/templates/pdb.yaml | 31 + .../charts/alloy/templates/rbac.yaml | 111 + .../charts/alloy/templates/service.yaml | 42 + .../alloy/templates/serviceaccount.yaml | 17 + .../alloy/templates/servicemonitor.yaml | 36 + .../k8s-monitoring/charts/alloy/values.yaml | 378 + .../.helmignore | 6 + .../Chart.lock | 3 + .../Chart.yaml | 11 + .../templates/_helpers.tpl | 29 + .../templates/_module.alloy.tpl | 266 + .../templates/_notes.tpl | 11 + .../templates/configmap.yaml | 11 + .../values.schema.json | 95 + .../values.yaml | 102 + .../.helmignore | 6 + .../Chart.lock | 3 + .../Chart.yaml | 11 + .../templates/_connector_host_info.tpl | 14 + .../templates/_connector_span_logs.tpl | 31 + .../templates/_connector_span_metrics.tpl | 51 + .../templates/_helpers.tpl | 30 + .../templates/_module.alloy.tpl | 36 + .../templates/_notes.tpl | 52 + .../templates/_pipeline.tpl | 161 + .../templates/_processor_batch.tpl | 21 + .../templates/_processor_filter.tpl | 74 + .../templates/_processor_interval.tpl | 23 + .../templates/_processor_k8sattributes.tpl | 55 + .../templates/_processor_memory_limiter.tpl | 20 + .../_processor_resourcedetection.tpl | 86 + .../templates/_processor_transform.tpl | 110 + .../templates/_receiver_jaeger.tpl | 36 + .../templates/_receiver_otlp.tpl | 29 + .../templates/_receiver_zipkin.tpl | 14 + .../templates/_validation.tpl | 16 + .../templates/configmap.yaml | 12 + .../values.schema.json | 443 + .../values.yaml | 316 + .../feature-auto-instrumentation/.helmignore | 6 + .../.updatecli-beyla.yaml | 31 + .../feature-auto-instrumentation/Chart.lock | 6 + .../feature-auto-instrumentation/Chart.yaml | 16 + .../charts/beyla/.helmignore | 24 + .../charts/beyla/Chart.yaml | 24 + .../charts/beyla/README.md | 108 + .../charts/beyla/templates/_helpers.tpl | 135 + .../beyla/templates/cache-deployment.yaml | 82 + .../charts/beyla/templates/cache-service.yaml | 26 + .../beyla/templates/cluster-role-binding.yaml | 21 + .../charts/beyla/templates/cluster-role.yaml | 23 + .../charts/beyla/templates/configmap.yaml | 37 + .../charts/beyla/templates/daemon-set.yaml | 133 + .../charts/beyla/templates/service.yaml | 73 + .../beyla/templates/serviceaccount.yaml | 18 + .../beyla/templates/servicemonitor.yaml | 43 + .../charts/beyla/values.yaml | 341 + .../templates/_helpers.tpl | 29 + .../templates/_module.alloy.tpl | 89 + .../templates/_notes.tpl | 13 + .../templates/configmap.yaml | 11 + .../openshift/beyla-scc.yaml | 66 + .../values.schema.json | 113 + .../feature-auto-instrumentation/values.yaml | 122 + .../charts/feature-cluster-events/.helmignore | 6 + .../charts/feature-cluster-events/Chart.lock | 3 + .../charts/feature-cluster-events/Chart.yaml | 11 + .../templates/_helpers.tpl | 17 + .../templates/_module.alloy.tpl | 108 + .../templates/_notes.tpl | 11 + .../templates/configmap.yaml | 11 + .../feature-cluster-events/values.schema.json | 33 + .../charts/feature-cluster-events/values.yaml | 45 + .../feature-cluster-metrics/.helmignore | 6 + .../.updatecli-kepler.yaml | 31 + .../.updatecli-kube-state-metrics.yaml | 31 + .../.updatecli-opencost.yaml | 31 + .../.updatecli-prometheus-node-exporter.yaml | 31 + ...updatecli-prometheus-windows-exporter.yaml | 31 + .../charts/feature-cluster-metrics/Chart.lock | 18 + .../charts/feature-cluster-metrics/Chart.yaml | 34 + .../charts/kepler/.helmignore | 32 + .../charts/kepler/Chart.yaml | 25 + .../charts/kepler/README.md | 78 + .../charts/kepler/templates/_helpers.tpl | 62 + .../charts/kepler/templates/daemonset.yaml | 136 + .../charts/kepler/templates/rolebinding.yaml | 32 + .../kepler/templates/secret-redfish.yaml | 22 + .../charts/kepler/templates/service.yaml | 21 + .../kepler/templates/serviceaccount.yaml | 14 + .../kepler/templates/servicemonitor.yaml | 39 + .../charts/kepler/values.yaml | 112 + .../charts/kube-state-metrics/.helmignore | 21 + .../charts/kube-state-metrics/Chart.yaml | 29 + .../charts/kube-state-metrics/README.md | 85 + .../kube-state-metrics/templates/NOTES.txt | 23 + .../kube-state-metrics/templates/_helpers.tpl | 156 + .../templates/ciliumnetworkpolicy.yaml | 33 + .../templates/clusterrolebinding.yaml | 20 + .../templates/crs-configmap.yaml | 16 + .../templates/deployment.yaml | 366 + .../templates/extra-manifests.yaml | 4 + .../templates/kubeconfig-secret.yaml | 12 + .../templates/networkpolicy.yaml | 43 + .../kube-state-metrics/templates/pdb.yaml | 18 + .../templates/podsecuritypolicy.yaml | 39 + .../templates/psp-clusterrole.yaml | 19 + .../templates/psp-clusterrolebinding.yaml | 16 + .../templates/rbac-configmap.yaml | 22 + .../kube-state-metrics/templates/role.yaml | 212 + .../templates/rolebinding.yaml | 24 + .../kube-state-metrics/templates/service.yaml | 53 + .../templates/serviceaccount.yaml | 18 + .../templates/servicemonitor.yaml | 120 + .../templates/stsdiscovery-role.yaml | 26 + .../templates/stsdiscovery-rolebinding.yaml | 17 + .../templates/verticalpodautoscaler.yaml | 44 + .../charts/kube-state-metrics/values.yaml | 557 + .../charts/opencost/Chart.yaml | 19 + .../charts/opencost/README.md | 219 + .../charts/opencost/README.md.gotmpl | 26 + .../charts/opencost/templates/_helpers.tpl | 193 + .../opencost/templates/clusterrole.yaml | 81 + .../templates/clusterrolebinding.yaml | 41 + .../templates/configmap-custom-pricing.yaml | 15 + .../templates/configmap-metrics-config.yaml | 11 + .../charts/opencost/templates/deployment.yaml | 395 + .../charts/opencost/templates/ingress.yaml | 40 + .../opencost/templates/install-plugins.yaml | 46 + .../monitoring-role-binding-template.yaml | 15 + .../templates/monitoring-role-template.yaml | 17 + .../opencost/templates/networkpolicy.yaml | 49 + .../opencost/templates/plugins-config.yaml | 16 + .../charts/opencost/templates/pvc.yaml | 18 + .../charts/opencost/templates/secret.yaml | 30 + .../charts/opencost/templates/service.yaml | 48 + .../opencost/templates/serviceaccount.yaml | 12 + .../opencost/templates/servicemonitor.yaml | 42 + .../opencost/tests/deployment_test.yaml | 16 + .../charts/opencost/tests/opencost_test.yaml | 7 + .../charts/opencost/tests/service_test.yaml | 29 + .../charts/opencost/values.yaml | 525 + .../prometheus-node-exporter/.helmignore | 23 + .../prometheus-node-exporter/Chart.yaml | 28 + .../charts/prometheus-node-exporter/README.md | 96 + .../templates/NOTES.txt | 29 + .../templates/_helpers.tpl | 237 + .../templates/clusterrole.yaml | 19 + .../templates/clusterrolebinding.yaml | 20 + .../templates/daemonset.yaml | 348 + .../templates/endpoints.yaml | 18 + .../templates/extra-manifests.yaml | 4 + .../templates/networkpolicy.yaml | 27 + .../templates/podmonitor.yaml | 91 + .../templates/psp-clusterrole.yaml | 14 + .../templates/psp-clusterrolebinding.yaml | 16 + .../templates/psp.yaml | 49 + .../templates/rbac-configmap.yaml | 16 + .../templates/service.yaml | 38 + .../templates/serviceaccount.yaml | 18 + .../templates/servicemonitor.yaml | 65 + .../templates/verticalpodautoscaler.yaml | 40 + .../prometheus-node-exporter/values.yaml | 618 + .../prometheus-windows-exporter/.helmignore | 21 + .../prometheus-windows-exporter/Chart.yaml | 17 + .../prometheus-windows-exporter/README.md | 42 + .../templates/_helpers.tpl | 185 + .../templates/config.yaml | 14 + .../templates/daemonset.yaml | 192 + .../templates/podmonitor.yaml | 91 + .../templates/service.yaml | 24 + .../templates/serviceaccount.yaml | 17 + .../templates/servicemonitor.yaml | 61 + .../prometheus-windows-exporter/values.yaml | 377 + .../default-allow-lists/cadvisor.yaml | 20 + .../default-allow-lists/kepler.yaml | 3 + .../kube-state-metrics.yaml | 40 + .../default-allow-lists/kubelet.yaml | 38 + .../default-allow-lists/kubelet_resource.yaml | 4 + .../node-exporter-integration.yaml | 157 + .../default-allow-lists/node-exporter.yaml | 12 + .../default-allow-lists/opencost.yaml | 27 + .../default-allow-lists/windows-exporter.yaml | 7 + .../templates/_api_server.alloy.tpl | 32 + .../templates/_cadvisor.alloy.tpl | 186 + .../templates/_helpers.tpl | 17 + .../templates/_helpers_modules.tpl | 24 + .../templates/_kepler.alloy.tpl | 79 + .../_kube_controller_manager.alloy.tpl | 68 + .../templates/_kube_dns.alloy.tpl | 30 + .../templates/_kube_proxy.alloy.tpl | 64 + .../templates/_kube_scheduler.alloy.tpl | 68 + .../templates/_kube_state_metrics.alloy.tpl | 93 + .../templates/_kubelet.alloy.tpl | 107 + .../templates/_kubelet_resource.alloy.tpl | 112 + .../templates/_module.alloy.tpl | 49 + .../templates/_node_exporter.alloy.tpl | 81 + .../templates/_notes.tpl | 45 + .../templates/_opencost.alloy.tpl | 79 + .../templates/_windows_exporter.alloy.tpl | 90 + .../templates/configmap.yaml | 13 + .../openshift/kepler-scc.yaml | 66 + .../values.schema.json | 1001 ++ .../feature-cluster-metrics/values.yaml | 952 ++ .../charts/feature-integrations/.helmignore | 5 + .../charts/feature-integrations/Chart.lock | 3 + .../charts/feature-integrations/Chart.yaml | 11 + .../default-allow-lists/alloy.yaml | 105 + .../default-allow-lists/loki.yaml | 157 + .../default-allow-lists/mimir.yaml | 286 + .../default-allow-lists/tempo.yaml | 77 + .../integrations/alloy-values.yaml | 54 + .../integrations/cert-manager-values.yaml | 56 + .../integrations/etcd-values.yaml | 57 + .../integrations/grafana-values.yaml | 86 + .../integrations/loki-values.yaml | 85 + .../integrations/mimir-values.yaml | 85 + .../integrations/mysql-values.yaml | 107 + .../integrations/tempo-values.yaml | 85 + .../templates/_helpers.tpl | 116 + .../templates/_helpers_modules.tpl | 33 + .../templates/_integration_alloy.tpl | 291 + .../templates/_integration_cert-manager.tpl | 83 + .../templates/_integration_etcd.tpl | 83 + .../templates/_integration_grafana.tpl | 22 + .../templates/_integration_grafana_logs.tpl | 146 + .../_integration_grafana_metrics.tpl | 211 + .../templates/_integration_helpers.tpl | 21 + .../templates/_integration_loki.tpl | 22 + .../templates/_integration_loki_logs.tpl | 159 + .../templates/_integration_loki_metrics.tpl | 227 + .../templates/_integration_mimir.tpl | 22 + .../templates/_integration_mimir_logs.tpl | 159 + .../templates/_integration_mimir_metrics.tpl | 227 + .../templates/_integration_mysql.tpl | 48 + .../templates/_integration_mysql_logs.tpl | 81 + .../templates/_integration_mysql_metrics.tpl | 77 + .../templates/_integration_tempo.tpl | 22 + .../templates/_integration_tempo_logs.tpl | 159 + .../templates/_integration_tempo_metrics.tpl | 227 + .../templates/_integration_types.tpl | 11 + .../feature-integrations/templates/_notes.tpl | 26 + .../templates/_validation.tpl | 5 + .../templates/configmap.yaml | 35 + .../templates/mysql-secret.yaml | 19 + .../templates/secrets/_helpers.tpl | 172 + .../templates/secrets/_secret.alloy.tpl | 8 + .../feature-integrations/values.schema.json | 851 + .../charts/feature-integrations/values.yaml | 70 + .../charts/feature-node-logs/.helmignore | 6 + .../charts/feature-node-logs/Chart.lock | 3 + .../charts/feature-node-logs/Chart.yaml | 11 + .../templates/_collector_validation.tpl | 13 + .../feature-node-logs/templates/_helpers.tpl | 17 + .../templates/_module.alloy.tpl | 178 + .../feature-node-logs/templates/_notes.tpl | 11 + .../templates/configmap.yaml | 11 + .../feature-node-logs/values.schema.json | 50 + .../charts/feature-node-logs/values.yaml | 71 + .../charts/feature-pod-logs/.helmignore | 6 + .../charts/feature-pod-logs/Chart.lock | 3 + .../charts/feature-pod-logs/Chart.yaml | 11 + .../feature-pod-logs/templates/_api.alloy.tpl | 15 + .../templates/_collector_validation.tpl | 26 + .../_common_log_processing.alloy.tpl | 82 + .../templates/_common_pod_discovery.alloy.tpl | 117 + .../feature-pod-logs/templates/_helpers.tpl | 30 + .../templates/_log_receiver.alloy.tpl | 10 + .../templates/_module.alloy.tpl | 23 + .../feature-pod-logs/templates/_notes.tpl | 12 + .../templates/_volumes.alloy.tpl | 38 + .../feature-pod-logs/templates/configmap.yaml | 11 + .../openshift-cluster-log-forwarder.yaml | 28 + .../feature-pod-logs/values.schema.json | 81 + .../charts/feature-pod-logs/values.yaml | 90 + .../charts/feature-profiling/.helmignore | 6 + .../charts/feature-profiling/Chart.lock | 3 + .../charts/feature-profiling/Chart.yaml | 11 + .../feature-profiling/templates/_ebpf.tpl | 66 + .../feature-profiling/templates/_helpers.tpl | 17 + .../feature-profiling/templates/_java.tpl | 78 + .../templates/_module.alloy.tpl | 13 + .../feature-profiling/templates/_notes.tpl | 12 + .../feature-profiling/templates/_pprof.tpl | 150 + .../templates/configmap.yaml | 11 + .../feature-profiling/values.schema.json | 127 + .../charts/feature-profiling/values.yaml | 97 + .../.helmignore | 6 + .../.updatecli-prometheus-operator-crds.yaml | 31 + .../Chart.lock | 6 + .../Chart.yaml | 17 + .../prometheus-operator-crds/.helmignore | 23 + .../prometheus-operator-crds/Chart.lock | 6 + .../prometheus-operator-crds/Chart.yaml | 42 + .../charts/prometheus-operator-crds/README.md | 63 + .../charts/crds/Chart.yaml | 3 + .../templates/crd-alertmanagerconfigs.yaml | 10041 ++++++++++++ .../crds/templates/crd-alertmanagers.yaml | 8741 +++++++++++ .../crds/templates/crd-podmonitors.yaml | 1211 ++ .../charts/crds/templates/crd-probes.yaml | 1178 ++ .../crds/templates/crd-prometheusagents.yaml | 10822 +++++++++++++ .../crds/templates/crd-prometheuses.yaml | 13052 ++++++++++++++++ .../crds/templates/crd-prometheusrules.yaml | 163 + .../crds/templates/crd-scrapeconfigs.yaml | 12516 +++++++++++++++ .../crds/templates/crd-servicemonitors.yaml | 1233 ++ .../crds/templates/crd-thanosrulers.yaml | 8144 ++++++++++ .../prometheus-operator-crds/ci/lint.sh | 15 + .../hack/update_crds.sh | 45 + .../prometheus-operator-crds/values.yaml | 4 + .../templates/_helpers.tpl | 30 + .../templates/_module.alloy.tpl | 13 + .../templates/_notes.tpl | 19 + .../templates/_pod_monitors.alloy.tpl | 59 + .../templates/_probes.alloy.tpl | 59 + .../templates/_service_monitors.alloy.tpl | 59 + .../templates/_validations.tpl | 9 + .../templates/configmap.yaml | 11 + .../values.schema.json | 154 + .../values.yaml | 192 + .../destinations/loki-values.yaml | 184 + .../destinations/otlp-values.yaml | 277 + .../destinations/prometheus-values.yaml | 277 + .../destinations/pyroscope-values.yaml | 176 + charts/k8s-monitoring/templates/NOTES.txt | 25 + charts/k8s-monitoring/templates/_helpers.tpl | 54 + .../k8s-monitoring/templates/_validations.tpl | 53 + .../templates/alloy-config.yaml | 42 + .../templates/alloy-modules-configmaps.yaml | 29 + .../templates/beyla-config.yaml | 41 + .../collectors/_collector_common.tpl | 24 + .../collectors/_collector_extraConfig.tpl | 5 + .../collectors/_collector_helpers.tpl | 52 + .../templates/collectors/_collector_notes.tpl | 11 + .../collectors/_collector_remoteConfig.tpl | 81 + .../collectors/_collector_validations.tpl | 34 + .../templates/destination_secret.yaml | 19 + .../templates/destinations/_config.alloy.tpl | 26 + .../destinations/_destination_helpers.tpl | 40 + .../destinations/_destination_loki.tpl | 148 + .../destinations/_destination_otlp.tpl | 422 + .../destinations/_destination_prometheus.tpl | 188 + .../destinations/_destination_pyroscope.tpl | 120 + .../destinations/_destination_types.tpl | 7 + .../destinations/_destination_validations.tpl | 69 + .../templates/extra-objects.yaml | 4 + .../_feature_annotation_autodiscovery.tpl | 37 + .../_feature_application_observability.tpl | 93 + .../_feature_auto_instrumentation.tpl | 37 + .../features/_feature_cluster_events.tpl | 37 + .../features/_feature_cluster_metrics.tpl | 183 + .../templates/features/_feature_helpers.tpl | 21 + .../features/_feature_integrations.tpl | 80 + .../templates/features/_feature_node_logs.tpl | 40 + .../templates/features/_feature_pod_logs.tpl | 43 + .../templates/features/_feature_profiling.tpl | 37 + .../_feature_prometheus_operator_obejcts.tpl | 38 + .../features/_feature_self_reporting.tpl | 92 + .../openshift/alloy-logs-scc.yaml | 84 + .../openshift/alloy-metrics-scc.yaml | 80 + .../openshift/alloy-profiles-scc.yaml | 80 + .../openshift/alloy-receiver-scc.yaml | 80 + .../openshift/alloy-singleton-scc.yaml | 80 + .../templates/receiver-service.yaml | 42 + .../templates/remote_config_secret.yaml | 25 + .../templates/secrets/_helpers.tpl | 172 + .../templates/secrets/_secret.alloy.tpl | 8 + .../templates/secrets/test/secrets.yaml | 105 + .../k8s-monitoring/templates/validations.yaml | 18 + charts/k8s-monitoring/values.schema.json | 2271 +++ charts/k8s-monitoring/values.yaml | 938 ++ charts/k8s-monitoring/vendir.lock.yml | 11 + charts/k8s-monitoring/vendir.yml | 17 + 440 files changed, 101268 insertions(+) create mode 100644 charts/k8s-monitoring/.helmignore create mode 100644 charts/k8s-monitoring/.updatecli-alloy.yaml create mode 100644 charts/k8s-monitoring/Chart.lock create mode 100644 charts/k8s-monitoring/Chart.yaml create mode 100644 charts/k8s-monitoring/alloyModules/LICENSE create mode 100644 charts/k8s-monitoring/alloyModules/modules/databases/kv/etcd/metrics.alloy create mode 100644 charts/k8s-monitoring/alloyModules/modules/kubernetes/cert-manager/metrics.alloy create mode 100644 charts/k8s-monitoring/alloyModules/modules/kubernetes/core/metrics.alloy create mode 100644 charts/k8s-monitoring/alloyModules/modules/system/node-exporter/metrics.alloy create mode 100644 charts/k8s-monitoring/charts/alloy/.helmignore create mode 100644 charts/k8s-monitoring/charts/alloy/CHANGELOG.md create mode 100644 charts/k8s-monitoring/charts/alloy/Chart.lock create mode 100644 charts/k8s-monitoring/charts/alloy/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/README.md create mode 100644 charts/k8s-monitoring/charts/alloy/charts/crds/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/charts/crds/crds/monitoring.grafana.com_podlogs.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/additional-serviceaccount-label-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/clustering-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/controller-deployment-pdb-max-unavailable-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/controller-deployment-pdb-min-available-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/controller-statefulset-pdb-max-unavailable-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/controller-statefulset-pdb-min-available-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/controller-volumes-extra-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-daemonset-hostnetwork-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-daemonset-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-deployment-autoscaling-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-deployment-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-statefulset-autoscaling-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/create-statefulset-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/custom-config-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/default-values-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/enable-servicemonitor-tls-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/enable-servicemonitor-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/envFrom-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/existing-config-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/extra-env-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/extra-manifests-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/extra-ports-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/faro-ingress-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/global-image-pullsecrets-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/global-image-registry-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/host-alias-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/initcontainers-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/lifecycle-hooks-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/local-image-pullsecrets-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/local-image-registry-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/nodeselectors-and-tolerations-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/nonroot-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/pod_annotations-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/sidecars-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/termination-grace-period-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/topologyspreadconstraints-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/ci/with-digests-values.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/config/example.alloy create mode 100644 charts/k8s-monitoring/charts/alloy/templates/NOTES.txt create mode 100644 charts/k8s-monitoring/charts/alloy/templates/_config.tpl create mode 100644 charts/k8s-monitoring/charts/alloy/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/alloy/templates/cluster_service.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/containers/_agent.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/containers/_watch.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/controllers/_pod.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/controllers/daemonset.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/controllers/deployment.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/controllers/statefulset.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/extra-manifests.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/hpa.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/ingress.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/pdb.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/rbac.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/alloy/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-annotation-autodiscovery/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_connector_host_info.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_connector_span_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_connector_span_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_pipeline.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_batch.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_filter.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_interval.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_k8sattributes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_memory_limiter.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_resourcedetection.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_processor_transform.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_receiver_jaeger.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_receiver_otlp.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_receiver_zipkin.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/_validation.tpl create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-application-observability/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/.updatecli-beyla.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/README.md create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/cache-deployment.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/cache-service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/cluster-role-binding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/cluster-role.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/daemon-set.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/charts/beyla/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/templates/platform_specific/openshift/beyla-scc.yaml create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-auto-instrumentation/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-cluster-events/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.updatecli-kepler.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.updatecli-kube-state-metrics.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.updatecli-opencost.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.updatecli-prometheus-node-exporter.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/.updatecli-prometheus-windows-exporter.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/README.md create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/daemonset.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/rolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/secret-redfish.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kepler/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/README.md create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/NOTES.txt create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/ciliumnetworkpolicy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/clusterrolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/crs-configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/deployment.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/extra-manifests.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/kubeconfig-secret.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/networkpolicy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/pdb.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/podsecuritypolicy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/psp-clusterrole.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/psp-clusterrolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/rbac-configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/role.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/rolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/stsdiscovery-role.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/stsdiscovery-rolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/templates/verticalpodautoscaler.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/kube-state-metrics/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/README.md create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/README.md.gotmpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/clusterrole.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/clusterrolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/configmap-custom-pricing.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/configmap-metrics-config.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/deployment.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/ingress.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/install-plugins.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/monitoring-role-binding-template.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/monitoring-role-template.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/networkpolicy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/plugins-config.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/pvc.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/secret.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/tests/deployment_test.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/tests/opencost_test.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/tests/service_test.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/opencost/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/README.md create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/NOTES.txt create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/clusterrole.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/clusterrolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/daemonset.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/endpoints.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/extra-manifests.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/networkpolicy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/podmonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/psp-clusterrole.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/psp-clusterrolebinding.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/psp.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/rbac-configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/templates/verticalpodautoscaler.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-node-exporter/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/README.md create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/config.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/daemonset.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/podmonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/service.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/serviceaccount.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/templates/servicemonitor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/charts/prometheus-windows-exporter/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/cadvisor.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/kepler.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/kube-state-metrics.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/kubelet.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/kubelet_resource.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/node-exporter-integration.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/node-exporter.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/opencost.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/default-allow-lists/windows-exporter.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_api_server.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_cadvisor.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_helpers_modules.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kepler.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kube_controller_manager.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kube_dns.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kube_proxy.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kube_scheduler.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kube_state_metrics.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kubelet.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_kubelet_resource.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_node_exporter.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_opencost.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/_windows_exporter.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/templates/platform_specific/openshift/kepler-scc.yaml create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-cluster-metrics/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-integrations/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-integrations/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/default-allow-lists/alloy.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/default-allow-lists/loki.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/default-allow-lists/mimir.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/default-allow-lists/tempo.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/alloy-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/cert-manager-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/etcd-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/grafana-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/loki-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/mimir-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/mysql-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/integrations/tempo-values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_helpers_modules.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_cert-manager.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_etcd.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_grafana.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_grafana_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_grafana_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_loki.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_loki_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_loki_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mimir.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mimir_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mimir_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mysql.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mysql_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_mysql_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_tempo.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_tempo_logs.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_tempo_metrics.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_integration_types.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/_validation.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/mysql-secret.yaml create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/secrets/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/templates/secrets/_secret.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-integrations/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-integrations/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/templates/_collector_validation.tpl create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-node-logs/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_api.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_collector_validation.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_common_log_processing.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_common_pod_discovery.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_log_receiver.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/_volumes.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/templates/openshift-cluster-log-forwarder.yaml create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-pod-logs/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-profiling/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-profiling/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-profiling/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_ebpf.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_java.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/_pprof.tpl create mode 100644 charts/k8s-monitoring/charts/feature-profiling/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-profiling/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-profiling/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/.updatecli-prometheus-operator-crds.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/.helmignore create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/Chart.lock create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/README.md create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/Chart.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-alertmanagerconfigs.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-alertmanagers.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-podmonitors.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-probes.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-prometheusagents.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-prometheuses.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-prometheusrules.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-scrapeconfigs.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-servicemonitors.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/charts/crds/templates/crd-thanosrulers.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/ci/lint.sh create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/hack/update_crds.sh create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/charts/prometheus-operator-crds/values.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_module.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_notes.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_pod_monitors.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_probes.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_service_monitors.alloy.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/_validations.tpl create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/templates/configmap.yaml create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/values.schema.json create mode 100644 charts/k8s-monitoring/charts/feature-prometheus-operator-objects/values.yaml create mode 100644 charts/k8s-monitoring/destinations/loki-values.yaml create mode 100644 charts/k8s-monitoring/destinations/otlp-values.yaml create mode 100644 charts/k8s-monitoring/destinations/prometheus-values.yaml create mode 100644 charts/k8s-monitoring/destinations/pyroscope-values.yaml create mode 100644 charts/k8s-monitoring/templates/NOTES.txt create mode 100644 charts/k8s-monitoring/templates/_helpers.tpl create mode 100644 charts/k8s-monitoring/templates/_validations.tpl create mode 100644 charts/k8s-monitoring/templates/alloy-config.yaml create mode 100644 charts/k8s-monitoring/templates/alloy-modules-configmaps.yaml create mode 100644 charts/k8s-monitoring/templates/beyla-config.yaml create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_common.tpl create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_extraConfig.tpl create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_helpers.tpl create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_notes.tpl create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_remoteConfig.tpl create mode 100644 charts/k8s-monitoring/templates/collectors/_collector_validations.tpl create mode 100644 charts/k8s-monitoring/templates/destination_secret.yaml create mode 100644 charts/k8s-monitoring/templates/destinations/_config.alloy.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_helpers.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_loki.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_otlp.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_prometheus.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_pyroscope.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_types.tpl create mode 100644 charts/k8s-monitoring/templates/destinations/_destination_validations.tpl create mode 100644 charts/k8s-monitoring/templates/extra-objects.yaml create mode 100644 charts/k8s-monitoring/templates/features/_feature_annotation_autodiscovery.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_application_observability.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_auto_instrumentation.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_cluster_events.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_cluster_metrics.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_helpers.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_integrations.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_node_logs.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_pod_logs.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_profiling.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_prometheus_operator_obejcts.tpl create mode 100644 charts/k8s-monitoring/templates/features/_feature_self_reporting.tpl create mode 100644 charts/k8s-monitoring/templates/platform_specific/openshift/alloy-logs-scc.yaml create mode 100644 charts/k8s-monitoring/templates/platform_specific/openshift/alloy-metrics-scc.yaml create mode 100644 charts/k8s-monitoring/templates/platform_specific/openshift/alloy-profiles-scc.yaml create mode 100644 charts/k8s-monitoring/templates/platform_specific/openshift/alloy-receiver-scc.yaml create mode 100644 charts/k8s-monitoring/templates/platform_specific/openshift/alloy-singleton-scc.yaml create mode 100644 charts/k8s-monitoring/templates/receiver-service.yaml create mode 100644 charts/k8s-monitoring/templates/remote_config_secret.yaml create mode 100644 charts/k8s-monitoring/templates/secrets/_helpers.tpl create mode 100644 charts/k8s-monitoring/templates/secrets/_secret.alloy.tpl create mode 100644 charts/k8s-monitoring/templates/secrets/test/secrets.yaml create mode 100644 charts/k8s-monitoring/templates/validations.yaml create mode 100644 charts/k8s-monitoring/values.schema.json create mode 100644 charts/k8s-monitoring/values.yaml create mode 100644 charts/k8s-monitoring/vendir.lock.yml create mode 100644 charts/k8s-monitoring/vendir.yml diff --git a/charts/k8s-monitoring/.helmignore b/charts/k8s-monitoring/.helmignore new file mode 100644 index 0000000..d93605e --- /dev/null +++ b/charts/k8s-monitoring/.helmignore @@ -0,0 +1,8 @@ +.ct.yaml +data-alloy +docs +schema-mods +tests +Makefile +README.md +README.md.gotmpl diff --git a/charts/k8s-monitoring/.updatecli-alloy.yaml b/charts/k8s-monitoring/.updatecli-alloy.yaml new file mode 100644 index 0000000..13d2873 --- /dev/null +++ b/charts/k8s-monitoring/.updatecli-alloy.yaml @@ -0,0 +1,67 @@ +--- +name: Update dependency "alloy" for Helm chart "k8s-monitoring" +sources: + alloy: + name: Get latest "alloy" Helm chart version + kind: helmchart + spec: + name: alloy + url: https://grafana.github.io/helm-charts + versionfilter: + kind: semver + pattern: '*' +conditions: + alloy: + name: Ensure Helm chart dependency "alloy" is specified + kind: yaml + spec: + file: charts/k8s-monitoring/Chart.yaml + key: $.dependencies[10].name + value: alloy + disablesourceinput: true +targets: + alloy-metrics: + name: Bump Helm chart dependency "alloy-metrics" for Helm chart "k8s-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[10].version + name: charts/k8s-monitoring + versionincrement: none + sourceid: alloy + alloy-singleton: + name: Bump Helm chart dependency "alloy-singleton" for Helm chart "k8s-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[11].version + name: charts/k8s-monitoring + versionincrement: none + sourceid: alloy + alloy-logs: + name: Bump Helm chart dependency "alloy-logs" for Helm chart "k8s-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[12].version + name: charts/k8s-monitoring + versionincrement: none + sourceid: alloy + alloy-receiver: + name: Bump Helm chart dependency "alloy-receiver" for Helm chart "k8s-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[13].version + name: charts/k8s-monitoring + versionincrement: none + sourceid: alloy + alloy-profiles: + name: Bump Helm chart dependency "alloy-profiles" for Helm chart "k8s-monitoring" + kind: helmchart + spec: + file: Chart.yaml + key: $.dependencies[14].version + name: charts/k8s-monitoring + versionincrement: none + sourceid: alloy diff --git a/charts/k8s-monitoring/Chart.lock b/charts/k8s-monitoring/Chart.lock new file mode 100644 index 0000000..694f7e3 --- /dev/null +++ b/charts/k8s-monitoring/Chart.lock @@ -0,0 +1,48 @@ +dependencies: +- name: feature-annotation-autodiscovery + repository: "" + version: 1.0.0 +- name: feature-application-observability + repository: "" + version: 1.0.0 +- name: feature-auto-instrumentation + repository: "" + version: 1.0.0 +- name: feature-cluster-events + repository: "" + version: 1.0.0 +- name: feature-cluster-metrics + repository: "" + version: 1.0.0 +- name: feature-integrations + repository: "" + version: 1.0.0 +- name: feature-node-logs + repository: "" + version: 1.0.0 +- name: feature-pod-logs + repository: "" + version: 1.0.0 +- name: feature-profiling + repository: "" + version: 1.0.0 +- name: feature-prometheus-operator-objects + repository: "" + version: 1.0.0 +- name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +digest: sha256:84065dcd958d8eefc9b179f4f27a814f79a35ab687fd5f624e90f443d59bac64 +generated: "2025-01-24T13:18:52.317472-06:00" diff --git a/charts/k8s-monitoring/Chart.yaml b/charts/k8s-monitoring/Chart.yaml new file mode 100644 index 0000000..08f5cb7 --- /dev/null +++ b/charts/k8s-monitoring/Chart.yaml @@ -0,0 +1,89 @@ +apiVersion: v2 +appVersion: 2.0.12 +dependencies: +- alias: annotationAutodiscovery + condition: annotationAutodiscovery.enabled + name: feature-annotation-autodiscovery + repository: "" + version: 1.0.0 +- alias: applicationObservability + condition: applicationObservability.enabled + name: feature-application-observability + repository: "" + version: 1.0.0 +- alias: autoInstrumentation + condition: autoInstrumentation.enabled + name: feature-auto-instrumentation + repository: "" + version: 1.0.0 +- alias: clusterEvents + condition: clusterEvents.enabled + name: feature-cluster-events + repository: "" + version: 1.0.0 +- alias: clusterMetrics + condition: clusterMetrics.enabled + name: feature-cluster-metrics + repository: "" + version: 1.0.0 +- alias: integrations + name: feature-integrations + repository: "" + version: 1.0.0 +- alias: nodeLogs + condition: nodeLogs.enabled + name: feature-node-logs + repository: "" + version: 1.0.0 +- alias: podLogs + condition: podLogs.enabled + name: feature-pod-logs + repository: "" + version: 1.0.0 +- alias: profiling + condition: profiling.enabled + name: feature-profiling + repository: "" + version: 1.0.0 +- alias: prometheusOperatorObjects + condition: prometheusOperatorObjects.enabled + name: feature-prometheus-operator-objects + repository: "" + version: 1.0.0 +- alias: alloy-metrics + condition: alloy-metrics.enabled + name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- alias: alloy-singleton + condition: alloy-singleton.enabled + name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- alias: alloy-logs + condition: alloy-logs.enabled + name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- alias: alloy-receiver + condition: alloy-receiver.enabled + name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +- alias: alloy-profiles + condition: alloy-profiles.enabled + name: alloy + repository: https://grafana.github.io/helm-charts + version: 0.11.0 +description: Capture all telemetry data from your Kubernetes cluster. +icon: https://raw.githubusercontent.com/grafana/grafana/main/public/img/grafana_icon.svg +maintainers: +- email: pete.wall@grafana.com + name: petewall +- email: robert.lankford@grafana.com + name: rlankfo +name: k8s-monitoring +sources: +- https://github.com/grafana/k8s-monitoring-helm/tree/main/charts/k8s-monitoring +type: application +version: 2.0.12 diff --git a/charts/k8s-monitoring/alloyModules/LICENSE b/charts/k8s-monitoring/alloyModules/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/charts/k8s-monitoring/alloyModules/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/charts/k8s-monitoring/alloyModules/modules/databases/kv/etcd/metrics.alloy b/charts/k8s-monitoring/alloyModules/modules/databases/kv/etcd/metrics.alloy new file mode 100644 index 0000000..1399d72 --- /dev/null +++ b/charts/k8s-monitoring/alloyModules/modules/databases/kv/etcd/metrics.alloy @@ -0,0 +1,244 @@ +/* +Module: job-etcd +Description: Scrapes etcd + +Note: Every argument except for "forward_to" is optional, and does have a defined default value. However, the values for these + arguments are not defined using the default = " ... " argument syntax, but rather using the coalesce(argument.value, " ... "). + This is because if the argument passed in from another consuming module is set to null, the default = " ... " syntax will + does not override the value passed in, where coalesce() will return the first non-null value. +*/ +declare "kubernetes" { + // arguments for kubernetes discovery + argument "namespaces" { + comment = "The namespaces to look for targets in (default: [] is all namespaces)" + optional = true + } + + argument "field_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [])" + optional = true + } + + argument "label_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [\"app.kubernetes.io/component=etcd\"])" + optional = true + } + + argument "port_name" { + comment = "The of the port to scrape metrics from (default: metrics)" + optional = true + } + + // etcd service discovery for all of the pods + discovery.kubernetes "etcd" { + role = "pod" + + selectors { + role = "pod" + field = string.join(coalesce(argument.field_selectors.value, []), ",") + label = string.join(coalesce(argument.label_selectors.value, ["app.kubernetes.io/component=etcd"]), ",") + } + + namespaces { + names = coalesce(argument.namespaces.value, []) + } + } + + // etcd relabelings (pre-scrape) + discovery.relabel "kubernetes" { + targets = discovery.kubernetes.etcd.targets + + // keep only the specified metrics port name, and pods that are Running and ready + rule { + source_labels = [ + "__meta_kubernetes_pod_container_port_name", + "__meta_kubernetes_pod_phase", + "__meta_kubernetes_pod_ready", + ] + separator = "@" + regex = coalesce(argument.port_name.value, "metrics") + "@Running@true" + action = "keep" + } + + // drop any init containers + rule { + source_labels = ["__meta_kubernetes_pod_container_init"] + regex = "true" + action = "drop" + } + + // set the namespace label + rule { + source_labels = ["__meta_kubernetes_namespace"] + target_label = "namespace" + } + + // set the pod label + rule { + source_labels = ["__meta_kubernetes_pod_name"] + target_label = "pod" + } + + // set the container label + rule { + source_labels = ["__meta_kubernetes_pod_container_name"] + target_label = "container" + } + + // set a workload label + rule { + source_labels = [ + "__meta_kubernetes_pod_controller_kind", + "__meta_kubernetes_pod_controller_name", + ] + separator = "/" + target_label = "workload" + } + // remove the hash from the ReplicaSet + rule { + source_labels = ["workload"] + regex = "(ReplicaSet/.+)-.+" + target_label = "workload" + } + + // set the app name if specified as metadata labels "app:" or "app.kubernetes.io/name:" or "k8s-app:" + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_label_k8s_app", + "__meta_kubernetes_pod_label_app", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "app" + } + + // set the component if specified as metadata labels "component:" or "app.kubernetes.io/component:" or "k8s-component:" + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_label_app_kubernetes_io_component", + "__meta_kubernetes_pod_label_k8s_component", + "__meta_kubernetes_pod_label_component", + ] + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "component" + } + + // set a source label + rule { + action = "replace" + replacement = "kubernetes" + target_label = "source" + } + } + + export "output" { + value = discovery.relabel.kubernetes.output + } +} + +declare "local" { + argument "port" { + comment = "The port to use (default: 9150)" + optional = true + } + + // arguments for local (static) + discovery.relabel "local" { + targets = [ + { + "__address__" = "localhost" + string.format("%s", coalesce(argument.port.value, "9150")), + "source" = "local", + }, + ] + } + + export "output" { + value = discovery.relabel.local.output + } +} + +declare "scrape" { + argument "targets" { + comment = "Must be a list() of targets" + } + + argument "forward_to" { + comment = "Must be a list(MetricsReceiver) where collected metrics should be forwarded to" + } + + argument "job_label" { + comment = "The job label to add for all etcd metric (default: integrations/etcd)" + optional = true + } + + argument "keep_metrics" { + comment = "A regular expression of metrics to keep (default: see below)" + optional = true + } + + argument "drop_metrics" { + comment = "A regular expression of metrics to drop (default: see below)" + optional = true + } + + argument "scrape_interval" { + comment = "How often to scrape metrics from the targets (default: 60s)" + optional = true + } + + argument "scrape_timeout" { + comment = "How long before a scrape times out (default: 10s)" + optional = true + } + + argument "max_cache_size" { + comment = "The maximum number of elements to hold in the relabeling cache (default: 100000). This should be at least 2x-5x your largest scrape target or samples appended rate." + optional = true + } + + argument "clustering" { + // Docs: https://grafana.com/docs/agent/latest/flow/concepts/clustering/ + comment = "Whether or not clustering should be enabled (default: false)" + optional = true + } + + // etcd scrape job + prometheus.scrape "etcd" { + job_name = coalesce(argument.job_label.value, "integrations/etcd") + forward_to = [prometheus.relabel.etcd.receiver] + targets = argument.targets.value + scrape_interval = coalesce(argument.scrape_interval.value, "60s") + scrape_timeout = coalesce(argument.scrape_timeout.value, "10s") + + clustering { + enabled = coalesce(argument.clustering.value, false) + } + } + + // etcd metric relabelings (post-scrape) + prometheus.relabel "etcd" { + forward_to = argument.forward_to.value + max_cache_size = coalesce(argument.max_cache_size.value, 100000) + + // drop metrics that match the drop_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.drop_metrics.value, "(^(go|process)_.+$)") + action = "drop" + } + + // keep only metrics that match the keep_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.keep_metrics.value, "(up|etcd_(commands_total|connections_total|current_(bytes|connections|items)|items_(evicted_total|total)|max_connections|read_bytes_total|up|uptime_seconds|version|written_bytes_total))") + action = "keep" + } + } +} diff --git a/charts/k8s-monitoring/alloyModules/modules/kubernetes/cert-manager/metrics.alloy b/charts/k8s-monitoring/alloyModules/modules/kubernetes/cert-manager/metrics.alloy new file mode 100644 index 0000000..b5d83b4 --- /dev/null +++ b/charts/k8s-monitoring/alloyModules/modules/kubernetes/cert-manager/metrics.alloy @@ -0,0 +1,223 @@ +/* +Module: job-cert-manager +Description: Scrapes cert-manager + +Note: Every argument except for "forward_to" is optional, and does have a defined default value. However, the values for these + arguments are not defined using the default = " ... " argument syntax, but rather using the coalesce(argument.value, " ... "). + This is because if the argument passed in from another consuming module is set to null, the default = " ... " syntax will + does not override the value passed in, where coalesce() will return the first non-null value. +*/ +declare "kubernetes" { + // arguments for kubernetes discovery + argument "namespaces" { + comment = "The namespaces to look for targets in (default: [] is all namespaces)" + optional = true + } + + argument "field_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [])" + optional = true + } + + argument "label_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [\"app.kubernetes.io/name=cert-manager\"])" + optional = true + } + + argument "port_name" { + comment = "The of the port to scrape metrics from (default: http-metrics)" + optional = true + } + + // cert-manager service discovery for all of the pods + discovery.kubernetes "cert_manager" { + role = "pod" + + selectors { + role = "pod" + field = string.join(coalesce(argument.field_selectors.value, []), ",") + label = string.join(coalesce(argument.label_selectors.value, ["app.kubernetes.io/name=cert-manager"]), ",") + } + + namespaces { + names = coalesce(argument.namespaces.value, []) + } + } + + // cert-manager relabelings (pre-scrape) + discovery.relabel "kubernetes" { + targets = discovery.kubernetes.cert_manager.targets + + // keep only the specified metrics port name, and pods that are Running and ready + rule { + source_labels = [ + "__meta_kubernetes_pod_container_port_name", + "__meta_kubernetes_pod_phase", + "__meta_kubernetes_pod_ready", + ] + separator = "@" + regex = coalesce(argument.port_name.value, "http-metrics") + "@Running@true" + action = "keep" + } + + // drop any init containers + rule { + source_labels = ["__meta_kubernetes_pod_container_init"] + regex = "true" + action = "drop" + } + + // set the namespace label + rule { + source_labels = ["__meta_kubernetes_namespace"] + target_label = "namespace" + } + + // set the pod label + rule { + source_labels = ["__meta_kubernetes_pod_name"] + target_label = "pod" + } + + // set the container label + rule { + source_labels = ["__meta_kubernetes_pod_container_name"] + target_label = "container" + } + + // set a workload label + rule { + source_labels = [ + "__meta_kubernetes_pod_controller_kind", + "__meta_kubernetes_pod_controller_name", + ] + separator = "/" + target_label = "workload" + } + // remove the hash from the ReplicaSet + rule { + source_labels = ["workload"] + regex = "(ReplicaSet/.+)-.+" + target_label = "workload" + } + + // set the app name if specified as metadata labels "app:" or "app.kubernetes.io/name:" or "k8s-app:" + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_label_app_kubernetes_io_name", + "__meta_kubernetes_pod_label_k8s_app", + "__meta_kubernetes_pod_label_app", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "app" + } + + // set the component if specified as metadata labels "component:" or "app.kubernetes.io/component:" or "k8s-component:" + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_pod_label_app_kubernetes_io_component", + "__meta_kubernetes_pod_label_k8s_component", + "__meta_kubernetes_pod_label_component", + ] + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "component" + } + + // set a source label + rule { + action = "replace" + replacement = "kubernetes" + target_label = "source" + } + } + + export "output" { + value = discovery.relabel.kubernetes.output + } +} + +declare "scrape" { + argument "targets" { + comment = "Must be a list() of targets" + } + + argument "forward_to" { + comment = "Must be a list(MetricsReceiver) where collected metrics should be forwarded to" + } + + argument "job_label" { + comment = "The job label to add for all cert-manager metric (default: integrations/cert-manager)" + optional = true + } + + argument "keep_metrics" { + comment = "A regular expression of metrics to keep (default: see below)" + optional = true + } + + argument "drop_metrics" { + comment = "A regular expression of metrics to drop (default: see below)" + optional = true + } + + argument "scrape_interval" { + comment = "How often to scrape metrics from the targets (default: 60s)" + optional = true + } + + argument "scrape_timeout" { + comment = "How long before a scrape times out (default: 10s)" + optional = true + } + + argument "max_cache_size" { + comment = "The maximum number of elements to hold in the relabeling cache (default: 100000). This should be at least 2x-5x your largest scrape target or samples appended rate." + optional = true + } + + argument "clustering" { + // Docs: https://grafana.com/docs/agent/latest/flow/concepts/clustering/ + comment = "Whether or not clustering should be enabled (default: false)" + optional = true + } + + // cert-manager scrape job + prometheus.scrape "cert_manager" { + job_name = coalesce(argument.job_label.value, "integrations/cert-manager") + forward_to = [prometheus.relabel.cert_manager.receiver] + targets = argument.targets.value + scrape_interval = coalesce(argument.scrape_interval.value, "60s") + scrape_timeout = coalesce(argument.scrape_timeout.value, "10s") + + clustering { + enabled = coalesce(argument.clustering.value, false) + } + } + + // cert-manager metric relabelings (post-scrape) + prometheus.relabel "cert_manager" { + forward_to = argument.forward_to.value + max_cache_size = coalesce(argument.max_cache_size.value, 100000) + + // drop metrics that match the drop_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.drop_metrics.value, "(^(go|process)_.+$)") + action = "drop" + } + + // keep only metrics that match the keep_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.keep_metrics.value, "(up|(certmanager_(certificate_(expiration_timestamp_seconds|ready_status)|clock_time_seconds|controller_sync_call_count|http_acme_client_request_(count|duration_seconds_(count|sum)))|container_(cpu_(cfs_(periods|throttled_periods)_total|usage_seconds_total)|memory_usage_bytes|network_(receive|transmit)_bytes_total)|kube_pod_container_resource_(limits|requests)_(cpu_cores|memory_bytes)))") + action = "keep" + } + } +} diff --git a/charts/k8s-monitoring/alloyModules/modules/kubernetes/core/metrics.alloy b/charts/k8s-monitoring/alloyModules/modules/kubernetes/core/metrics.alloy new file mode 100644 index 0000000..13a9ed4 --- /dev/null +++ b/charts/k8s-monitoring/alloyModules/modules/kubernetes/core/metrics.alloy @@ -0,0 +1,1035 @@ +/* +Module: job-cadvisor +Description: Scrapes cadvisor + +Note: Every argument except for "forward_to" is optional, and does have a defined default value. However, the values for these + arguments are not defined using the default = " ... " argument syntax, but rather using the coalesce(argument.value, " ... "). + This is because if the argument passed in from another consuming module is set to null, the default = " ... " syntax will + does not override the value passed in, where coalesce() will return the first non-null value. +*/ +declare "cadvisor" { + argument "forward_to" { + comment = "Must be a list(MetricsReceiver) where collected metrics should be forwarded to" + } + argument "field_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [\"metadata.name=kubernetes\"])" + optional = true + } + argument "label_selectors" { + // Docs: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + comment = "The label selectors to use to find matching targets (default: [])" + optional = true + } + argument "job_label" { + comment = "The job label to add for all cadvisor metric (default: integrations/kubernetes/cadvisor)" + optional = true + } + argument "keep_metrics" { + comment = "A regular expression of metrics to keep (default: see below)" + optional = true + } + argument "drop_metrics" { + comment = "A regular expression of metrics to drop (default: see below)" + optional = true + } + argument "scrape_interval" { + comment = "How often to scrape metrics from the targets (default: 60s)" + optional = true + } + argument "scrape_timeout" { + comment = "How long before a scrape times out (default: 10s)" + optional = true + } + argument "max_cache_size" { + comment = "The maximum number of elements to hold in the relabeling cache (default: 100000). This should be at least 2x-5x your largest scrape target or samples appended rate." + optional = true + } + argument "clustering" { + // Docs: https://grafana.com/docs/agent/latest/flow/concepts/clustering/ + comment = "Whether or not clustering should be enabled (default: false)" + optional = true + } + + export "output" { + value = discovery.relabel.cadvisor.output + } + + // cadvisor service discovery for all of the nodes + discovery.kubernetes "cadvisor" { + role = "node" + + selectors { + role = "node" + field = string.join(coalesce(argument.field_selectors.value, []), ",") + label = string.join(coalesce(argument.label_selectors.value, []), ",") + } + } + + // cadvisor relabelings (pre-scrape) + discovery.relabel "cadvisor" { + targets = discovery.kubernetes.cadvisor.targets + + // set the address to use the kubernetes service dns name + rule { + target_label = "__address__" + replacement = "kubernetes.default.svc.cluster.local:443" + } + + // set the metrics path to use the proxy path to the nodes cadvisor metrics endpoint + rule { + source_labels = ["__meta_kubernetes_node_name"] + regex = "(.+)" + replacement = "/api/v1/nodes/${1}/proxy/metrics/cadvisor" + target_label = "__metrics_path__" + } + + // set the node label + rule { + source_labels = ["__meta_kubernetes_node_name"] + target_label = "node" + } + + // set the app name if specified as metadata labels "app:" or "app.kubernetes.io/name:" or "k8s-app:" + rule { + action = "replace" + source_labels = [ + "__meta_kubernetes_node_label_app_kubernetes_io_name", + "__meta_kubernetes_node_label_k8s_app", + "__meta_kubernetes_node_label_app", + ] + separator = ";" + regex = "^(?:;*)?([^;]+).*$" + replacement = "$1" + target_label = "app" + } + + // set a source label + rule { + action = "replace" + replacement = "kubernetes" + target_label = "source" + } + } + + // cadvisor scrape job + prometheus.scrape "cadvisor" { + job_name = coalesce(argument.job_label.value, "integrations/kubernetes/cadvisor") + forward_to = [prometheus.relabel.cadvisor.receiver] + targets = discovery.relabel.cadvisor.output + scheme = "https" + scrape_interval = coalesce(argument.scrape_interval.value, "60s") + scrape_timeout = coalesce(argument.scrape_timeout.value, "10s") + bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token" + + tls_config { + ca_file = "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt" + insecure_skip_verify = false + server_name = "kubernetes" + } + + clustering { + enabled = coalesce(argument.clustering.value, false) + } + } + + // cadvisor metric relabelings (post-scrape) + prometheus.relabel "cadvisor" { + forward_to = argument.forward_to.value + max_cache_size = coalesce(argument.max_cache_size.value, 100000) + + // drop metrics that match the drop_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.drop_metrics.value, "(^(go|process)_.+$)") + action = "drop" + } + + // keep only metrics that match the keep_metrics regex + rule { + source_labels = ["__name__"] + regex = coalesce(argument.keep_metrics.value, "(up|container_(cpu_(cfs_(periods|throttled_periods)_total|usage_seconds_total)|fs_(reads|writes)(_bytes)?_total|memory_(cache|rss|swap|working_set_bytes)|network_(receive|transmit)_(bytes|packets(_dropped)?_total))|machine_memory_bytes)") + action = "keep" + } + + // Drop empty container labels, addressing https://github.com/google/cadvisor/issues/2688 + rule { + source_labels = ["__name__","container"] + separator = "@" + regex = "(container_cpu_.*|container_fs_.*|container_memory_.*)@" + action = "drop" + } + + // Drop empty image labels, addressing https://github.com/google/cadvisor/issues/2688 + rule { + source_labels = ["__name__","image"] + separator = "@" + regex = "(container_cpu_.*|container_fs_.*|container_memory_.*|container_network_.*)@" + action = "drop" + } + + // Normalizing unimportant labels (not deleting to continue satisfying