diff --git a/docs/certificatesigningrequest-metrics.md b/docs/certificatesigningrequest-metrics.md
index 17f55e51..5b13722b 100644
--- a/docs/certificatesigningrequest-metrics.md
+++ b/docs/certificatesigningrequest-metrics.md
@@ -1,9 +1,9 @@
# CertificateSigningRequest Metrics
-| Metric name | Metric type | Labels/tags | Status |
-|--------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
-| kube_certificatesigningrequest_annotations | Gauge | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | EXPERIMENTAL |
-| kube_certificatesigningrequest_created | Gauge | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
-| kube_certificatesigningrequest_condition | Gauge | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name>
`condition`=<approved\|denied> | STABLE |
-| kube_certificatesigningrequest_labels | Gauge | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
-| kube_certificatesigningrequest_cert_length | Gauge | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_certificatesigningrequest_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | EXPERIMENTAL |
+| kube_certificatesigningrequest_created | Gauge | | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
+| kube_certificatesigningrequest_condition | Gauge | | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name>
`condition`=<approved\|denied> | STABLE |
+| kube_certificatesigningrequest_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
+| kube_certificatesigningrequest_cert_length | Gauge | | `certificatesigningrequest`=<certificatesigningrequest-name>
`signer_name`=<certificatesigningrequest-signer-name> | STABLE |
diff --git a/docs/clusterrole-metrics.md b/docs/clusterrole-metrics.md
index 3dba4666..828a3870 100644
--- a/docs/clusterrole-metrics.md
+++ b/docs/clusterrole-metrics.md
@@ -1,9 +1,9 @@
# ClusterRole Metrics
-| Metric name | Metric type | Labels/tags | Status |
-|--------------------------------------------|-------------|----------------------------------------|--------------|
-| kube_clusterrole_annotations | Gauge | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
-| kube_clusterrole_labels | Gauge | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
-| kube_clusterrole_info | Gauge | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
-| kube_clusterrole_created | Gauge | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
-| kube_clusterrole_metadata_resource_version | Gauge | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | ------------ |
+| kube_clusterrole_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
+| kube_clusterrole_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
+| kube_clusterrole_info | Gauge | | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
+| kube_clusterrole_created | Gauge | | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
+| kube_clusterrole_metadata_resource_version | Gauge | | `clusterrole`=<clusterrole-name> | EXPERIMENTAL |
diff --git a/docs/clusterrolebinding-metrics.md b/docs/clusterrolebinding-metrics.md
index 91387a82..ce8d4590 100644
--- a/docs/clusterrolebinding-metrics.md
+++ b/docs/clusterrolebinding-metrics.md
@@ -1,9 +1,10 @@
# ClusterRoleBinding Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_clusterrolebinding_annotations | Gauge | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
-| kube_clusterrolebinding_labels | Gauge | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
-| kube_clusterrolebinding_info | Gauge | `clusterrolebinding`=<clusterrolebinding-name>
`roleref_kind`=<role-kind>
`roleref_name`=<role-name> | EXPERIMENTAL |
-| kube_clusterrolebinding_created | Gauge | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
-| kube_clusterrolebinding_metadata_resource_version | Gauge | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_clusterrolebinding_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
+| kube_clusterrolebinding_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
+| kube_clusterrolebinding_info | Gauge | | `clusterrolebinding`=<clusterrolebinding-name>
`roleref_kind`=<role-kind>
`roleref_name`=<role-name> | EXPERIMENTAL |
+| kube_clusterrolebinding_created | Gauge | | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
+| kube_clusterrolebinding_metadata_resource_version | Gauge | | `clusterrolebinding`=<clusterrolebinding-name> | EXPERIMENTAL |
+
diff --git a/docs/configmap-metrics.md b/docs/configmap-metrics.md
index 73c6fdee..baef9a2e 100644
--- a/docs/configmap-metrics.md
+++ b/docs/configmap-metrics.md
@@ -1,9 +1,9 @@
# ConfigMap Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ---------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_configmap_annotations | Gauge | `configmap`=<configmap-name>
`namespace`=<configmap-namespace>
`annotation_CONFIGMAP_ANNOTATION`=<CONFIGMAP_ANNOTATION> | EXPERIMENTAL |
-| kube_configmap_labels | Gauge | `configmap`=<configmap-name>
`namespace`=<configmap-namespace>
`label_CONFIGMAP_LABEL`=<CONFIGMAP_LABEL> | STABLE |
-| kube_configmap_info | Gauge | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | STABLE |
-| kube_configmap_created | Gauge | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | STABLE |
-| kube_configmap_metadata_resource_version | Gauge | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ---------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_configmap_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `configmap`=<configmap-name>
`namespace`=<configmap-namespace>
`annotation_CONFIGMAP_ANNOTATION`=<CONFIGMAP_ANNOTATION> | EXPERIMENTAL |
+| kube_configmap_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `configmap`=<configmap-name>
`namespace`=<configmap-namespace>
`label_CONFIGMAP_LABEL`=<CONFIGMAP_LABEL> | STABLE |
+| kube_configmap_info | Gauge | | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | STABLE |
+| kube_configmap_created | Gauge | | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | STABLE |
+| kube_configmap_metadata_resource_version | Gauge | | `configmap`=<configmap-name>
`namespace`=<configmap-namespace> | EXPERIMENTAL |
diff --git a/docs/cronjob-metrics.md b/docs/cronjob-metrics.md
index 8d2cbd0b..c6fb25e9 100644
--- a/docs/cronjob-metrics.md
+++ b/docs/cronjob-metrics.md
@@ -1,17 +1,17 @@
# CronJob Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ---------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_cronjob_annotations | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`annotation_CRONJOB_ANNOTATION`=<CRONJOB_ANNOTATION> | EXPERIMENTAL |
-| kube_cronjob_info | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`schedule`=<schedule>
`concurrency_policy`=<concurrency-policy> | STABLE |
-| kube_cronjob_labels | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`label_CRONJOB_LABEL`=<CRONJOB_LABEL> | STABLE |
-| kube_cronjob_created | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_next_schedule_time | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_status_active | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_status_last_schedule_time | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_status_last_successful_time | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
-| kube_cronjob_spec_suspend | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_spec_starting_deadline_seconds | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_metadata_resource_version | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
-| kube_cronjob_spec_successful_job_history_limit | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
-| kube_cronjob_spec_failed_job_history_limit | Gauge | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ---------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_cronjob_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`annotation_CRONJOB_ANNOTATION`=<CRONJOB_ANNOTATION> | EXPERIMENTAL |
+| kube_cronjob_info | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`schedule`=<schedule>
`concurrency_policy`=<concurrency-policy> | STABLE |
+| kube_cronjob_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace>
`label_CRONJOB_LABEL`=<CRONJOB_LABEL> | STABLE |
+| kube_cronjob_created | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_next_schedule_time | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_status_active | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_status_last_schedule_time | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_status_last_successful_time | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
+| kube_cronjob_spec_suspend | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_spec_starting_deadline_seconds | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_metadata_resource_version | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | STABLE |
+| kube_cronjob_spec_successful_job_history_limit | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
+| kube_cronjob_spec_failed_job_history_limit | Gauge | | `cronjob`=<cronjob-name>
`namespace`=<cronjob-namespace> | EXPERIMENTAL |
diff --git a/docs/daemonset-metrics.md b/docs/daemonset-metrics.md
index 506edefb..071b3f62 100644
--- a/docs/daemonset-metrics.md
+++ b/docs/daemonset-metrics.md
@@ -1,16 +1,16 @@
# DaemonSet Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ---------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_daemonset_annotations | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace>
`annotation_DAEMONSET_ANNOTATION`=<DAEMONSET_ANNOTATION> | EXPERIMENTAL |
-| kube_daemonset_created | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_current_number_scheduled | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_desired_number_scheduled | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_number_available | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_number_misscheduled | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_number_ready | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_number_unavailable | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_observed_generation | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_status_updated_number_scheduled | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_metadata_generation | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
-| kube_daemonset_labels | Gauge | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace>
`label_DAEMONSET_LABEL`=<DAEMONSET_LABEL> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ---------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_daemonset_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace>
`annotation_DAEMONSET_ANNOTATION`=<DAEMONSET_ANNOTATION> | EXPERIMENTAL |
+| kube_daemonset_created | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_current_number_scheduled | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_desired_number_scheduled | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_number_available | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_number_misscheduled | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_number_ready | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_number_unavailable | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_observed_generation | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_status_updated_number_scheduled | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_metadata_generation | Gauge | | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace> | STABLE |
+| kube_daemonset_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `daemonset`=<daemonset-name>
`namespace`=<daemonset-namespace>
`label_DAEMONSET_LABEL`=<DAEMONSET_LABEL> | STABLE |
diff --git a/docs/deployment-metrics.md b/docs/deployment-metrics.md
index 84dd3e4b..d12e0c37 100644
--- a/docs/deployment-metrics.md
+++ b/docs/deployment-metrics.md
@@ -1,19 +1,19 @@
# Deployment Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ----------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_deployment_annotations | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`annotation_DEPLOYMENT_ANNOTATION`=<DEPLOYMENT_ANNOTATION> | EXPERIMENTAL |
-| kube_deployment_status_replicas | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_replicas_ready | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_replicas_available | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_replicas_unavailable | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_replicas_updated | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_observed_generation | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_status_condition | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`condition`=<deployment-condition>
`status`=<true\|false\|unknown> | STABLE |
-| kube_deployment_spec_replicas | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_spec_paused | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_spec_strategy_rollingupdate_max_unavailable | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_spec_strategy_rollingupdate_max_surge | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_metadata_generation | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
-| kube_deployment_labels | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`label_DEPLOYMENT_LABEL`=<DEPLOYMENT_LABEL> | STABLE |
-| kube_deployment_created | Gauge | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ----------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_deployment_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`annotation_DEPLOYMENT_ANNOTATION`=<DEPLOYMENT_ANNOTATION> | EXPERIMENTAL |
+| kube_deployment_status_replicas | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_replicas_ready | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_replicas_available | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_replicas_unavailable | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_replicas_updated | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_observed_generation | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_status_condition | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`condition`=<deployment-condition>
`status`=<true\|false\|unknown> | STABLE |
+| kube_deployment_spec_replicas | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_spec_paused | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_spec_strategy_rollingupdate_max_unavailable | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_spec_strategy_rollingupdate_max_surge | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_metadata_generation | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
+| kube_deployment_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `deployment`=<deployment-name>
`namespace`=<deployment-namespace>
`label_DEPLOYMENT_LABEL`=<DEPLOYMENT_LABEL> | STABLE |
+| kube_deployment_created | Gauge | | `deployment`=<deployment-name>
`namespace`=<deployment-namespace> | STABLE |
diff --git a/docs/endpoint-metrics.md b/docs/endpoint-metrics.md
index ddf94ca0..7d524cd1 100644
--- a/docs/endpoint-metrics.md
+++ b/docs/endpoint-metrics.md
@@ -1,12 +1,12 @@
# Endpoint Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_endpoint_annotations | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`annotation_ENDPOINT_ANNOTATION`=<ENDPOINT_ANNOTATION> | EXPERIMENTAL |
-| kube_endpoint_address_not_ready | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | DEPRECATED |
-| kube_endpoint_address_available | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | DEPRECATED |
-| kube_endpoint_info | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | STABLE |
-| kube_endpoint_labels | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`label_ENDPOINT_LABEL`=<ENDPOINT_LABEL> | STABLE |
-| kube_endpoint_created | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | STABLE |
-| kube_endpoint_ports | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`port_name`=<endpoint-port-name>
`port_protocol`=<endpoint-port-protocol>
`port_number`=<endpoint-port-number> | STABLE |
-| kube_endpoint_address | Gauge | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`ip`=<endpoint-ip>
`ready`=<true if available, false if unavailalbe> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_endpoint_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`annotation_ENDPOINT_ANNOTATION`=<ENDPOINT_ANNOTATION> | EXPERIMENTAL |
+| kube_endpoint_address_not_ready | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | DEPRECATED |
+| kube_endpoint_address_available | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | DEPRECATED |
+| kube_endpoint_info | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | STABLE |
+| kube_endpoint_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`label_ENDPOINT_LABEL`=<ENDPOINT_LABEL> | STABLE |
+| kube_endpoint_created | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace> | STABLE |
+| kube_endpoint_ports | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`port_name`=<endpoint-port-name>
`port_protocol`=<endpoint-port-protocol>
`port_number`=<endpoint-port-number> | STABLE |
+| kube_endpoint_address | Gauge | | `endpoint`=<endpoint-name>
`namespace`=<endpoint-namespace>
`ip`=<endpoint-ip>
`ready`=<true if available, false if unavailalbe> | STABLE |
diff --git a/docs/endpointslice-metrics.md b/docs/endpointslice-metrics.md
index dc82a4fe..59af50bd 100644
--- a/docs/endpointslice-metrics.md
+++ b/docs/endpointslice-metrics.md
@@ -1,10 +1,10 @@
# Endpoint Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_endpointslice_annotations | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`annotation_ENDPOINTSLICE_ANNOTATION`=<ENDPOINTSLICE_ANNOTATION> | EXPERIMENTAL |
-| kube_endpointslice_info | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace> | EXPERIMENTAL |
-| kube_endpointslice_ports | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`port_name`=<endpointslice-port-name>
`port_protocol`=<endpointslice-port-protocol>
`port_number`=<endpointslice-port-number> | EXPERIMENTAL |
-| kube_endpointslice_endpoints | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`ready`=<endpointslice-ready>
`serving`=<endpointslice-serving>
`terminating`=<endpointslice-terminating>
`hostname`=<endpointslice-hostname>
`targetref_kind`=<endpointslice-targetref-kind>
`targetref_name`=<endpointslice-targetref-name>
`targetref_namespace`=<endpointslice-targetref-namespace>
`nodename`=<endpointslice-nodename>
`endpoint_zone`=<endpointslice-zone> | EXPERIMENTAL |
-| kube_endpointslice_labels | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`label_ENDPOINTSLICE_LABEL`=<ENDPOINTSLICE_LABEL> | EXPERIMENTAL |
-| kube_endpointslice_created | Gauge | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_endpointslice_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`annotation_ENDPOINTSLICE_ANNOTATION`=<ENDPOINTSLICE_ANNOTATION> | EXPERIMENTAL |
+| kube_endpointslice_info | Gauge | | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace> | EXPERIMENTAL |
+| kube_endpointslice_ports | Gauge | | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`port_name`=<endpointslice-port-name>
`port_protocol`=<endpointslice-port-protocol>
`port_number`=<endpointslice-port-number> | EXPERIMENTAL |
+| kube_endpointslice_endpoints | Gauge | | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`ready`=<endpointslice-ready>
`serving`=<endpointslice-serving>
`terminating`=<endpointslice-terminating>
`hostname`=<endpointslice-hostname>
`targetref_kind`=<endpointslice-targetref-kind>
`targetref_name`=<endpointslice-targetref-name>
`targetref_namespace`=<endpointslice-targetref-namespace>
`nodename`=<endpointslice-nodename>
`endpoint_zone`=<endpointslice-zone> | EXPERIMENTAL |
+| kube_endpointslice_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace>
`label_ENDPOINTSLICE_LABEL`=<ENDPOINTSLICE_LABEL> | EXPERIMENTAL |
+| kube_endpointslice_created | Gauge | | `endpointslice`=<endpointslice-name>
`namespace`=<endpointslice-namespace> | EXPERIMENTAL |
diff --git a/docs/horizontalpodautoscaler-metrics.md b/docs/horizontalpodautoscaler-metrics.md
index 92b8e3f5..2639044d 100644
--- a/docs/horizontalpodautoscaler-metrics.md
+++ b/docs/horizontalpodautoscaler-metrics.md
@@ -1,15 +1,15 @@
# Horizontal Pod Autoscaler Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ---------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_horizontalpodautoscaler_info | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`scaletargetref_api_version`=<hpa-target-api-version>
`scaletargetref_kind`=<hpa-target-kind>
`scaletargetref_name`=<hpa-target-name> | EXPERIMENTAL |
-| kube_horizontalpodautoscaler_annotations | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | EXPERIMENTAL |
-| kube_horizontalpodautoscaler_labels | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
-| kube_horizontalpodautoscaler_metadata_generation | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
-| kube_horizontalpodautoscaler_spec_max_replicas | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
-| kube_horizontalpodautoscaler_spec_min_replicas | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
-| kube_horizontalpodautoscaler_spec_target_metric | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`metric_name`=<metric-name>
`metric_target_type`=<value\|utilization\|average> | EXPERIMENTAL |
-| kube_horizontalpodautoscaler_status_target_metric | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`metric_name`=<metric-name>
`metric_target_type`=<value\|utilization\|average> | EXPERIMENTAL |
-| kube_horizontalpodautoscaler_status_condition | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`condition`=<hpa-condition>
`status`=<true\|false\|unknown> | STABLE |
-| kube_horizontalpodautoscaler_status_current_replicas | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
-| kube_horizontalpodautoscaler_status_desired_replicas | Gauge | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ---------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_horizontalpodautoscaler_info | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`scaletargetref_api_version`=<hpa-target-api-version>
`scaletargetref_kind`=<hpa-target-kind>
`scaletargetref_name`=<hpa-target-name> | EXPERIMENTAL |
+| kube_horizontalpodautoscaler_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | EXPERIMENTAL |
+| kube_horizontalpodautoscaler_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| kube_horizontalpodautoscaler_metadata_generation | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| kube_horizontalpodautoscaler_spec_max_replicas | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| kube_horizontalpodautoscaler_spec_min_replicas | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| kube_horizontalpodautoscaler_spec_target_metric | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`metric_name`=<metric-name>
`metric_target_type`=<value\|utilization\|average> | EXPERIMENTAL |
+| kube_horizontalpodautoscaler_status_target_metric | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`metric_name`=<metric-name>
`metric_target_type`=<value\|utilization\|average> | EXPERIMENTAL |
+| kube_horizontalpodautoscaler_status_condition | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace>
`condition`=<hpa-condition>
`status`=<true\|false\|unknown> | STABLE |
+| kube_horizontalpodautoscaler_status_current_replicas | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
+| kube_horizontalpodautoscaler_status_desired_replicas | Gauge | | `horizontalpodautoscaler`=<hpa-name>
`namespace`=<hpa-namespace> | STABLE |
diff --git a/docs/ingress-metrics.md b/docs/ingress-metrics.md
index 2222c3e9..a5d67f4c 100644
--- a/docs/ingress-metrics.md
+++ b/docs/ingress-metrics.md
@@ -1,11 +1,11 @@
# Ingress Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| -------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_ingress_annotations | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`annotation_INGRESS_ANNOTATION`=<ANNOTATION_LABEL> | EXPERIMENTAL |
-| kube_ingress_info | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`ingressclass`=<ingress-class> or `_default` if not set | STABLE |
-| kube_ingress_labels | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`label_INGRESS_LABEL`=<INGRESS_LABEL> | STABLE |
-| kube_ingress_created | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace> | STABLE |
-| kube_ingress_metadata_resource_version | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace> | EXPERIMENTAL |
-| kube_ingress_path | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`host`=<ingress-host>
`path`=<ingress-path>
`service_name`=<service name for the path>
`service_port`=<service port for the path> | STABLE |
-| kube_ingress_tls | Gauge | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`tls_host`=<tls hostname>
`secret`=<tls secret name> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| -------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_ingress_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`annotation_INGRESS_ANNOTATION`=<ANNOTATION_LABEL> | EXPERIMENTAL |
+| kube_ingress_info | Gauge | | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`ingressclass`=<ingress-class> or `_default` if not set | STABLE |
+| kube_ingress_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`label_INGRESS_LABEL`=<INGRESS_LABEL> | STABLE |
+| kube_ingress_created | Gauge | | `ingress`=<ingress-name>
`namespace`=<ingress-namespace> | STABLE |
+| kube_ingress_metadata_resource_version | Gauge | | `ingress`=<ingress-name>
`namespace`=<ingress-namespace> | EXPERIMENTAL |
+| kube_ingress_path | Gauge | | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`host`=<ingress-host>
`path`=<ingress-path>
`service_name`=<service name for the path>
`service_port`=<service port for the path> | STABLE |
+| kube_ingress_tls | Gauge | | `ingress`=<ingress-name>
`namespace`=<ingress-namespace>
`tls_host`=<tls hostname>
`secret`=<tls secret name> | STABLE |
diff --git a/docs/ingressclass-metrics.md b/docs/ingressclass-metrics.md
index 64000d69..af1b343e 100644
--- a/docs/ingressclass-metrics.md
+++ b/docs/ingressclass-metrics.md
@@ -1,8 +1,8 @@
# IngressClass Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ----------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------ | ------------ |
-| kube_ingressclass_annotations | Gauge | `ingressclass`=<ingressclass-name>
`annotation_INGRESSCLASS_ANNOTATION`=<INGRESSCLASS_ANNOTATION> | EXPERIMENTAL |
-| kube_ingressclass_info | Gauge | `ingressclass`=<ingressclass-name>
`controller`=<ingress-controller-name>
| EXPERIMENTAL |
-| kube_ingressclass_labels | Gauge | `ingressclass`=<ingressclass-name>
`label_INGRESSCLASS_LABEL`=<INGRESSCLASS_LABEL> | EXPERIMENTAL |
-| kube_ingressclass_created | Gauge | `ingressclass`=<ingressclass-name> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ----------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------ |
+| kube_ingressclass_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `ingressclass`=<ingressclass-name>
`annotation_INGRESSCLASS_ANNOTATION`=<INGRESSCLASS_ANNOTATION> | EXPERIMENTAL |
+| kube_ingressclass_info | Gauge | | `ingressclass`=<ingressclass-name>
`controller`=<ingress-controller-name>
| EXPERIMENTAL |
+| kube_ingressclass_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `ingressclass`=<ingressclass-name>
`label_INGRESSCLASS_LABEL`=<INGRESSCLASS_LABEL> | EXPERIMENTAL |
+| kube_ingressclass_created | Gauge | | `ingressclass`=<ingressclass-name> | EXPERIMENTAL |
diff --git a/docs/job-metrics.md b/docs/job-metrics.md
index 478e9790..cb174e0a 100644
--- a/docs/job-metrics.md
+++ b/docs/job-metrics.md
@@ -1,19 +1,19 @@
# Job Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_job_annotations | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`annotation_JOB_ANNOTATION`=<JOB_ANNOTATION> | EXPERIMENTAL |
-| kube_job_info | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_labels | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`label_JOB_LABEL`=<JOB_LABEL> | STABLE |
-| kube_job_owner | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | STABLE |
-| kube_job_spec_parallelism | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_spec_completions | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_spec_active_deadline_seconds | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_status_active | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_status_succeeded | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_status_failed | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`reason`=<failure reason> | STABLE |
-| kube_job_status_start_time | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_status_completion_time | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
-| kube_job_complete | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`condition`=<true\|false\|unknown> | STABLE |
-| kube_job_failed | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace>
`condition`=<true\|false\|unknown> | STABLE |
-| kube_job_created | Gauge | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_job_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `job_name`=<job-name>
`namespace`=<job-namespace>
`annotation_JOB_ANNOTATION`=<JOB_ANNOTATION> | EXPERIMENTAL |
+| kube_job_info | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `job_name`=<job-name>
`namespace`=<job-namespace>
`label_JOB_LABEL`=<JOB_LABEL> | STABLE |
+| kube_job_owner | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | STABLE |
+| kube_job_spec_parallelism | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_spec_completions | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_spec_active_deadline_seconds | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_status_active | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_status_succeeded | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_status_failed | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace>
`reason`=<failure reason> | STABLE |
+| kube_job_status_start_time | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_status_completion_time | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
+| kube_job_complete | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace>
`condition`=<true\|false\|unknown> | STABLE |
+| kube_job_failed | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace>
`condition`=<true\|false\|unknown> | STABLE |
+| kube_job_created | Gauge | | `job_name`=<job-name>
`namespace`=<job-namespace> | STABLE |
diff --git a/docs/lease-metrics.md b/docs/lease-metrics.md
index 00a77953..6985094c 100644
--- a/docs/lease-metrics.md
+++ b/docs/lease-metrics.md
@@ -1,6 +1,6 @@
# Lease Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| --------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_lease_owner | Gauge | `lease`=<lease-name>
`owner_kind`=<onwer kind>
`owner_name`=<owner name>
`namespace` = <namespace>
`lease_holder`=<lease holder name> | EXPERIMENTAL |
-| kube_lease_renew_time | Gauge | `lease`=<lease-name>
`namespace` = <namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| --------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| kube_lease_owner | Gauge | | `lease`=<lease-name>
`owner_kind`=<onwer kind>
`owner_name`=<owner name>
`namespace` = <namespace>
`lease_holder`=<lease holder name> | EXPERIMENTAL |
+| kube_lease_renew_time | Gauge | | `lease`=<lease-name>
`namespace` = <namespace> | EXPERIMENTAL |
diff --git a/docs/limitrange-metrics.md b/docs/limitrange-metrics.md
index 0423cfa6..fe2cfb08 100644
--- a/docs/limitrange-metrics.md
+++ b/docs/limitrange-metrics.md
@@ -1,6 +1,6 @@
# LimitRange Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ----------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
-| kube_limitrange | Gauge | `limitrange`=<limitrange-name>
`namespace`=<namespace>
`resource`=<ResourceName>
`type`=<Pod\|Container\|PersistentVolumeClaim>
`constraint`=<constraint> | STABLE |
-| kube_limitrange_created | Gauge | `limitrange`=<limitrange-name>
`namespace`=<namespace> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ----------------------- | ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
+| kube_limitrange | Gauge | | `limitrange`=<limitrange-name>
`namespace`=<namespace>
`resource`=<ResourceName>
`type`=<Pod\|Container\|PersistentVolumeClaim>
`constraint`=<constraint> | STABLE |
+| kube_limitrange_created | Gauge | | `limitrange`=<limitrange-name>
`namespace`=<namespace> | STABLE |
diff --git a/docs/mutatingwebhookconfiguration-metrics.md b/docs/mutatingwebhookconfiguration-metrics.md
index 2b4bd512..10ddb068 100644
--- a/docs/mutatingwebhookconfiguration-metrics.md
+++ b/docs/mutatingwebhookconfiguration-metrics.md
@@ -1,8 +1,8 @@
# MutatingWebhookConfiguration Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| -------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_mutatingwebhookconfiguration_info | Gauge | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_mutatingwebhookconfiguration_created | Gauge | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_mutatingwebhookconfiguration_metadata_resource_version | Gauge | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_mutatingwebhookconfiguration_webhook_clientconfig_service | Gauge | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace>
`webhook_name`=<webhook-name>
`service_name`=<webhook-service-name>
`service_namespace`=<webhook-service-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| -------------------------------------------------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_mutatingwebhookconfiguration_info | Gauge | | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_mutatingwebhookconfiguration_created | Gauge | | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_mutatingwebhookconfiguration_metadata_resource_version | Gauge | | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_mutatingwebhookconfiguration_webhook_clientconfig_service | Gauge | | `mutatingwebhookconfiguration`=<mutatingwebhookconfiguration-name>
`namespace`=<mutatingwebhookconfiguration-namespace>
`webhook_name`=<webhook-name>
`service_name`=<webhook-service-name>
`service_namespace`=<webhook-service-namespace> | EXPERIMENTAL |
diff --git a/docs/namespace-metrics.md b/docs/namespace-metrics.md
index dc830bbc..a3630a01 100644
--- a/docs/namespace-metrics.md
+++ b/docs/namespace-metrics.md
@@ -1,9 +1,9 @@
# Namespace Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_namespace_annotations | Gauge | `namespace`=<namespace-name>
`label_NS_ANNOTATION`=<NS_ANNOTATION> | EXPERIMENTAL |
-| kube_namespace_created | Gauge | `namespace`=<namespace-name> | STABLE |
-| kube_namespace_labels | Gauge | `namespace`=<namespace-name>
`label_NS_LABEL`=<NS_LABEL> | STABLE |
-| kube_namespace_status_condition | Gauge | `namespace`=<namespace-name>
`condition`=<NamespaceDeletionDiscoveryFailure\|NamespaceDeletionContentFailure\|NamespaceDeletionGroupVersionParsingFailure>
`status`=<true\|false\|unknown> | EXPERIMENTAL |
-| kube_namespace_status_phase | Gauge | `namespace`=<namespace-name>
`phase`=<Active\|Terminating> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_namespace_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `namespace`=<namespace-name>
`label_NS_ANNOTATION`=<NS_ANNOTATION> | EXPERIMENTAL |
+| kube_namespace_created | Gauge | | `namespace`=<namespace-name> | STABLE |
+| kube_namespace_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `namespace`=<namespace-name>
`label_NS_LABEL`=<NS_LABEL> | STABLE |
+| kube_namespace_status_condition | Gauge | | `namespace`=<namespace-name>
`condition`=<NamespaceDeletionDiscoveryFailure\|NamespaceDeletionContentFailure\|NamespaceDeletionGroupVersionParsingFailure>
`status`=<true\|false\|unknown> | EXPERIMENTAL |
+| kube_namespace_status_phase | Gauge | | `namespace`=<namespace-name>
`phase`=<Active\|Terminating> | STABLE |
diff --git a/docs/networkpolicy-metrics.md b/docs/networkpolicy-metrics.md
index 06a5441e..c000d41d 100644
--- a/docs/networkpolicy-metrics.md
+++ b/docs/networkpolicy-metrics.md
@@ -1,10 +1,10 @@
# Network Policy Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------- | ----------- | ----------------------------------------------------------------------------- | ------------ |
-| kube_networkpolicy_annotations | Gauge | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
-| kube_networkpolicy_created | Gauge | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
-| kube_networkpolicy_labels | Gauge | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
-| kube_networkpolicy_spec_egress_rules | Gauge | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
-| kube_networkpolicy_spec_ingress_rules | Gauge | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------ |
+| kube_networkpolicy_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
+| kube_networkpolicy_created | Gauge | | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
+| kube_networkpolicy_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
+| kube_networkpolicy_spec_egress_rules | Gauge | | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
+| kube_networkpolicy_spec_ingress_rules | Gauge | | `namespace`=<namespace name> `networkpolicy`=<networkpolicy name> | EXPERIMENTAL |
diff --git a/docs/poddisruptionbudget-metrics.md b/docs/poddisruptionbudget-metrics.md
index 7fcf3de5..c907a97d 100644
--- a/docs/poddisruptionbudget-metrics.md
+++ b/docs/poddisruptionbudget-metrics.md
@@ -1,12 +1,12 @@
# PodDisruptionBudget Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_poddisruptionbudget_annotations | Gauge | `poddisruptionbudget`=<poddisruptionbudget-name>
`namespace`=<poddisruptionbudget-namespace>
`annotation_PODDISRUPTIONBUDGET_ANNOTATION`=<PODDISRUPTIONBUDGET_ANNOATION> | EXPERIMENTAL |
-| kube_poddisruptionbudget_labels | Gauge | `poddisruptionbudget`=<poddisruptionbudget-name>
`namespace`=<poddisruptionbudget-namespace>
`label_PODDISRUPTIONBUDGET_LABEL`=<PODDISRUPTIONBUDGET_ANNOATION> | EXPERIMENTAL |
-| kube_poddisruptionbudget_created | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
-| kube_poddisruptionbudget_status_current_healthy | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
-| kube_poddisruptionbudget_status_desired_healthy | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
-| kube_poddisruptionbudget_status_pod_disruptions_allowed | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
-| kube_poddisruptionbudget_status_expected_pods | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
-| kube_poddisruptionbudget_status_observed_generation | Gauge | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_poddisruptionbudget_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `poddisruptionbudget`=<poddisruptionbudget-name>
`namespace`=<poddisruptionbudget-namespace>
`annotation_PODDISRUPTIONBUDGET_ANNOTATION`=<PODDISRUPTIONBUDGET_ANNOATION> | EXPERIMENTAL |
+| kube_poddisruptionbudget_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `poddisruptionbudget`=<poddisruptionbudget-name>
`namespace`=<poddisruptionbudget-namespace>
`label_PODDISRUPTIONBUDGET_LABEL`=<PODDISRUPTIONBUDGET_ANNOATION> | EXPERIMENTAL |
+| kube_poddisruptionbudget_created | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| kube_poddisruptionbudget_status_current_healthy | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| kube_poddisruptionbudget_status_desired_healthy | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| kube_poddisruptionbudget_status_pod_disruptions_allowed | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| kube_poddisruptionbudget_status_expected_pods | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
+| kube_poddisruptionbudget_status_observed_generation | Gauge | | `poddisruptionbudget`=<pdb-name>
`namespace`=<pdb-namespace> | STABLE |
diff --git a/docs/replicaset-metrics.md b/docs/replicaset-metrics.md
index 4078ae27..5d3991ba 100644
--- a/docs/replicaset-metrics.md
+++ b/docs/replicaset-metrics.md
@@ -1,14 +1,14 @@
# ReplicaSet metrics
-| Metric name | Metric type | Labels/tags | Status |
-| --------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_replicaset_annotations | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`annotation_REPLICASET_ANNOTATION`=<REPLICASET_ANNOTATION> | EXPERIMENTAL |
-| kube_replicaset_status_replicas | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_status_fully_labeled_replicas | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_status_ready_replicas | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_status_observed_generation | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_spec_replicas | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_metadata_generation | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_labels | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`label_REPLICASET_LABEL`=<REPLICASET_LABEL> | STABLE |
-| kube_replicaset_created | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
-| kube_replicaset_owner | Gauge | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| --------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_replicaset_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`annotation_REPLICASET_ANNOTATION`=<REPLICASET_ANNOTATION> | EXPERIMENTAL |
+| kube_replicaset_status_replicas | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_status_fully_labeled_replicas | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_status_ready_replicas | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_status_observed_generation | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_spec_replicas | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_metadata_generation | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`label_REPLICASET_LABEL`=<REPLICASET_LABEL> | STABLE |
+| kube_replicaset_created | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace> | STABLE |
+| kube_replicaset_owner | Gauge | | `replicaset`=<replicaset-name>
`namespace`=<replicaset-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | STABLE |
diff --git a/docs/replicationcontroller-metrics.md b/docs/replicationcontroller-metrics.md
index c8b2a251..afa4e5ee 100644
--- a/docs/replicationcontroller-metrics.md
+++ b/docs/replicationcontroller-metrics.md
@@ -1,13 +1,13 @@
# ReplicationController metrics
-| Metric name | Metric type | Labels/tags | Status |
-| -------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
-| kube_replicationcontroller_status_replicas | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_status_fully_labeled_replicas | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_status_ready_replicas | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_status_available_replicas | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_status_observed_generation | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_spec_replicas | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_metadata_generation | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_created | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
-| kube_replicationcontroller_owner | Gauge | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| -------------------------------------------------------- | ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ |
+| kube_replicationcontroller_status_replicas | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_status_fully_labeled_replicas | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_status_ready_replicas | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_status_available_replicas | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_status_observed_generation | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_spec_replicas | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_metadata_generation | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_created | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace> | STABLE |
+| kube_replicationcontroller_owner | Gauge | | `replicationcontroller`=<replicationcontroller-name>
`namespace`=<replicationcontroller-namespace>
`owner_kind`=<owner kind>
`owner_name`=<owner name>
`owner_is_controller`=<whether owner is controller> | EXPERIMENTAL |
diff --git a/docs/resourcequota-metrics.md b/docs/resourcequota-metrics.md
index 8bc9007f..845759c7 100644
--- a/docs/resourcequota-metrics.md
+++ b/docs/resourcequota-metrics.md
@@ -1,8 +1,8 @@
# ResourceQuota Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------ | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_resourcequota | Gauge | `resourcequota`=<quota-name>
`namespace`=<namespace>
`resource`=<ResourceName>
`type`=<quota-type> | STABLE |
-| kube_resourcequota_created | Gauge | `resourcequota`=<quota-name>
`namespace`=<namespace> | STABLE |
-| kube_resourcequota_annotations | Gauge | `resourcequota`=<quota-name>
`namespace`=<namespace>
`annotation_RESOURCE_QUOTA_ANNOTATION`=<RESOURCE_QUOTA_ANNOTATION> | EXPERIMENTAL |
-| kube_resourcequota_labels | Gauge | `resourcequota`=<quota-name>
`namespace`=<namespace>
`label_RESOURCE_QUOTA_LABEL`=<RESOURCE_QUOTA_LABEL> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_resourcequota | Gauge | | `resourcequota`=<quota-name>
`namespace`=<namespace>
`resource`=<ResourceName>
`type`=<quota-type> | STABLE |
+| kube_resourcequota_created | Gauge | | `resourcequota`=<quota-name>
`namespace`=<namespace> | STABLE |
+| kube_resourcequota_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `resourcequota`=<quota-name>
`namespace`=<namespace>
`annotation_RESOURCE_QUOTA_ANNOTATION`=<RESOURCE_QUOTA_ANNOTATION> | EXPERIMENTAL |
+| kube_resourcequota_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `resourcequota`=<quota-name>
`namespace`=<namespace>
`label_RESOURCE_QUOTA_LABEL`=<RESOURCE_QUOTA_LABEL> | EXPERIMENTAL |
diff --git a/docs/role-metrics.md b/docs/role-metrics.md
index a4518649..34e31e14 100644
--- a/docs/role-metrics.md
+++ b/docs/role-metrics.md
@@ -1,9 +1,9 @@
# Role Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ----------------------------------- | ----------- | ---------------------------------------------------------------- | ------------ |
-| kube_role_annotations | Gauge | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
-| kube_role_labels | Gauge | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
-| kube_role_info | Gauge | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
-| kube_role_created | Gauge | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
-| kube_role_metadata_resource_version | Gauge | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ----------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------ |
+| kube_role_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
+| kube_role_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
+| kube_role_info | Gauge | | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
+| kube_role_created | Gauge | | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
+| kube_role_metadata_resource_version | Gauge | | `role`=<role-name>
`namespace`=<role-namespace> | EXPERIMENTAL |
diff --git a/docs/rolebinding-metrics.md b/docs/rolebinding-metrics.md
index 977fa6c5..19e09e8c 100644
--- a/docs/rolebinding-metrics.md
+++ b/docs/rolebinding-metrics.md
@@ -1,9 +1,9 @@
# RoleBinding Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_rolebinding_annotations | Gauge | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
-| kube_rolebinding_labels | Gauge | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
-| kube_rolebinding_info | Gauge | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace>
`roleref_kind`=<role-kind>
`roleref_name`=<role-name> | EXPERIMENTAL |
-| kube_rolebinding_created | Gauge | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
-| kube_rolebinding_metadata_resource_version | Gauge | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_rolebinding_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
+| kube_rolebinding_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
+| kube_rolebinding_info | Gauge | | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace>
`roleref_kind`=<role-kind>
`roleref_name`=<role-name> | EXPERIMENTAL |
+| kube_rolebinding_created | Gauge | | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
+| kube_rolebinding_metadata_resource_version | Gauge | | `rolebinding`=<rolebinding-name>
`namespace`=<rolebinding-namespace> | EXPERIMENTAL |
diff --git a/docs/secret-metrics.md b/docs/secret-metrics.md
index 770e8e84..ca5c3c71 100644
--- a/docs/secret-metrics.md
+++ b/docs/secret-metrics.md
@@ -1,10 +1,10 @@
# Secret Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_secret_annotations | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace>
`annotations_SECRET_ANNOTATION`=<SECRET_ANNOTATION> | EXPERIMENTAL |
-| kube_secret_info | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace> | STABLE |
-| kube_secret_type | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace>
`type`=<secret-type> | STABLE |
-| kube_secret_labels | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace>
`label_SECRET_LABEL`=<SECRET_LABEL> | STABLE |
-| kube_secret_created | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace> | STABLE |
-| kube_secret_metadata_resource_version | Gauge | `secret`=<secret-name>
`namespace`=<secret-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_secret_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `secret`=<secret-name>
`namespace`=<secret-namespace>
`annotations_SECRET_ANNOTATION`=<SECRET_ANNOTATION> | EXPERIMENTAL |
+| kube_secret_info | Gauge | | `secret`=<secret-name>
`namespace`=<secret-namespace> | STABLE |
+| kube_secret_type | Gauge | | `secret`=<secret-name>
`namespace`=<secret-namespace>
`type`=<secret-type> | STABLE |
+| kube_secret_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `secret`=<secret-name>
`namespace`=<secret-namespace>
`label_SECRET_LABEL`=<SECRET_LABEL> | STABLE |
+| kube_secret_created | Gauge | | `secret`=<secret-name>
`namespace`=<secret-namespace> | STABLE |
+| kube_secret_metadata_resource_version | Gauge | | `secret`=<secret-name>
`namespace`=<secret-namespace> | EXPERIMENTAL |
diff --git a/docs/statefulset-metrics.md b/docs/statefulset-metrics.md
index 41e19136..51cb984e 100644
--- a/docs/statefulset-metrics.md
+++ b/docs/statefulset-metrics.md
@@ -1,19 +1,19 @@
# Stateful Set Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_statefulset_annotations | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`annotation_STATEFULSET_ANNOTATION`=<STATEFULSET_ANNOTATION> | EXPERIMENTAL |
-| kube_statefulset_status_replicas | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_status_replicas_current | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_status_replicas_ready | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_status_replicas_available | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | EXPERIMENTAL |
-| kube_statefulset_status_replicas_updated | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_status_observed_generation | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_replicas | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_ordinals_start | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | ALPHA |
-| kube_statefulset_metadata_generation | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_persistentvolumeclaim_retention_policy | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`when_deleted`=<statefulset-when-deleted-pvc-policy>
`when_scaled`=<statefulset-when-scaled-pvc-policy> | EXPERIMENTAL |
-| kube_statefulset_created | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
-| kube_statefulset_labels | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`label_STATEFULSET_LABEL`=<STATEFULSET_LABEL> | STABLE |
-| kube_statefulset_status_current_revision | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`revision`=<statefulset-current-revision> | STABLE |
-| kube_statefulset_status_update_revision | Gauge | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`revision`=<statefulset-update-revision> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_statefulset_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`annotation_STATEFULSET_ANNOTATION`=<STATEFULSET_ANNOTATION> | EXPERIMENTAL |
+| kube_statefulset_status_replicas | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_status_replicas_current | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_status_replicas_ready | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_status_replicas_available | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | EXPERIMENTAL |
+| kube_statefulset_status_replicas_updated | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_status_observed_generation | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_replicas | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_ordinals_start | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | ALPHA |
+| kube_statefulset_metadata_generation | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_persistentvolumeclaim_retention_policy | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`when_deleted`=<statefulset-when-deleted-pvc-policy>
`when_scaled`=<statefulset-when-scaled-pvc-policy> | EXPERIMENTAL |
+| kube_statefulset_created | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace> | STABLE |
+| kube_statefulset_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`label_STATEFULSET_LABEL`=<STATEFULSET_LABEL> | STABLE |
+| kube_statefulset_status_current_revision | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`revision`=<statefulset-current-revision> | STABLE |
+| kube_statefulset_status_update_revision | Gauge | | `statefulset`=<statefulset-name>
`namespace`=<statefulset-namespace>
`revision`=<statefulset-update-revision> | STABLE |
diff --git a/docs/storageclass-metrics.md b/docs/storageclass-metrics.md
index 292f43aa..f0ab1a85 100644
--- a/docs/storageclass-metrics.md
+++ b/docs/storageclass-metrics.md
@@ -1,8 +1,8 @@
# StorageClass Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ----------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_storageclass_annotations | Gauge | `storageclass`=<storageclass-name>
`annotation_STORAGECLASS_ANNOTATION`=<STORAGECLASS_ANNOTATION> | EXPERIMENTAL |
-| kube_storageclass_info | Gauge | `storageclass`=<storageclass-name>
`provisioner`=<storageclass-provisioner>
`reclaim_policy`=<storageclass-reclaimPolicy>
`volume_binding_mode`=<storageclass-volumeBindingMode> | STABLE |
-| kube_storageclass_labels | Gauge | `storageclass`=<storageclass-name>
`label_STORAGECLASS_LABEL`=<STORAGECLASS_LABEL> | STABLE |
-| kube_storageclass_created | Gauge | `storageclass`=<storageclass-name> | STABLE |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ----------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_storageclass_annotations | Gauge | Kubernetes annotations converted to Prometheus labels controlled via [--metric-annotations-allowlist](./cli-arguments.md) | `storageclass`=<storageclass-name>
`annotation_STORAGECLASS_ANNOTATION`=<STORAGECLASS_ANNOTATION> | EXPERIMENTAL |
+| kube_storageclass_info | Gauge | | `storageclass`=<storageclass-name>
`provisioner`=<storageclass-provisioner>
`reclaim_policy`=<storageclass-reclaimPolicy>
`volume_binding_mode`=<storageclass-volumeBindingMode> | STABLE |
+| kube_storageclass_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `storageclass`=<storageclass-name>
`label_STORAGECLASS_LABEL`=<STORAGECLASS_LABEL> | STABLE |
+| kube_storageclass_created | Gauge | | `storageclass`=<storageclass-name> | STABLE |
diff --git a/docs/validatingwebhookconfiguration-metrics.md b/docs/validatingwebhookconfiguration-metrics.md
index 6b845124..f41627a6 100644
--- a/docs/validatingwebhookconfiguration-metrics.md
+++ b/docs/validatingwebhookconfiguration-metrics.md
@@ -1,8 +1,8 @@
# ValidatingWebhookConfiguration Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| ---------------------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_validatingwebhookconfiguration_info | Gauge | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_validatingwebhookconfiguration_created | Gauge | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_validatingwebhookconfiguration_metadata_resource_version | Gauge | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
-| kube_validatingwebhookconfiguration_webhook_clientconfig_service | Gauge | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace>
`webhook_name`=<webhook-name>
`service_name`=<webhook-service-name>
`service_namespace`=<webhook-service-namespace> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| ---------------------------------------------------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_validatingwebhookconfiguration_info | Gauge | | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_validatingwebhookconfiguration_created | Gauge | | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_validatingwebhookconfiguration_metadata_resource_version | Gauge | | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace> | EXPERIMENTAL |
+| kube_validatingwebhookconfiguration_webhook_clientconfig_service | Gauge | | `validatingwebhookconfiguration`=<validatingwebhookconfiguration-name>
`namespace`=<validatingwebhookconfiguration-namespace>
`webhook_name`=<webhook-name>
`service_name`=<webhook-service-name>
`service_namespace`=<webhook-service-namespace> | EXPERIMENTAL |
diff --git a/docs/volumeattachment-metrics.md b/docs/volumeattachment-metrics.md
index c4a69ccb..994172eb 100644
--- a/docs/volumeattachment-metrics.md
+++ b/docs/volumeattachment-metrics.md
@@ -1,10 +1,10 @@
# VolumeAttachment Metrics
-| Metric name | Metric type | Labels/tags | Status |
-| -------------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------- | ------------ |
-| kube_volumeattachment_info | Gauge | `volumeattachment`=<volumeattachment-name>
`attacher`=<attacher-name>
`node`=<node-name> | EXPERIMENTAL |
-| kube_volumeattachment_created | Gauge | `volumeattachment`=<volumeattachment-name> | EXPERIMENTAL |
-| kube_volumeattachment_labels | Gauge | `volumeattachment`=<volumeattachment-name>
`label_VOLUMEATTACHMENT_LABEL`=<VOLUMEATTACHMENT_LABEL> | EXPERIMENTAL |
-| kube_volumeattachment_spec_source_persistentvolume | Gauge | `volumeattachment`=<volumeattachment-name>
`volumename`=<persistentvolume-name> | EXPERIMENTAL |
-| kube_volumeattachment_status_attached | Gauge | `volumeattachment`=<volumeattachment-name> | EXPERIMENTAL |
-| kube_volumeattachment_status_attachment_metadata | Gauge | `volumeattachment`=<volumeattachment-name>
`metadata_METADATA_KEY`=<METADATA_VALUE> | EXPERIMENTAL |
+| Metric name | Metric type | Description | Labels/tags | Status |
+| -------------------------------------------------- | ----------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------ |
+| kube_volumeattachment_info | Gauge | | `volumeattachment`=<volumeattachment-name>
`attacher`=<attacher-name>
`node`=<node-name> | EXPERIMENTAL |
+| kube_volumeattachment_created | Gauge | | `volumeattachment`=<volumeattachment-name> | EXPERIMENTAL |
+| kube_volumeattachment_labels | Gauge | Kubernetes labels converted to Prometheus labels controlled via [--metric-labels-allowlist](./cli-arguments.md) | `volumeattachment`=<volumeattachment-name>
`label_VOLUMEATTACHMENT_LABEL`=<VOLUMEATTACHMENT_LABEL> | EXPERIMENTAL |
+| kube_volumeattachment_spec_source_persistentvolume | Gauge | | `volumeattachment`=<volumeattachment-name>
`volumename`=<persistentvolume-name> | EXPERIMENTAL |
+| kube_volumeattachment_status_attached | Gauge | | `volumeattachment`=<volumeattachment-name> | EXPERIMENTAL |
+| kube_volumeattachment_status_attachment_metadata | Gauge | | `volumeattachment`=<volumeattachment-name>
`metadata_METADATA_KEY`=<METADATA_VALUE> | EXPERIMENTAL |