chore(chart): tighten schema annotations on secretsExporter selector arrays

This commit is contained in:
Thibault VINCENT
2026-05-13 14:07:27 +02:00
committed by Thibault VINCENT
parent 4431be6714
commit 4fbbafa8c7
2 changed files with 120 additions and 36 deletions
+72 -36
View File
@@ -829,45 +829,73 @@
},
"excludeConfigMaps": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"excludeLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"excludeNamespaceLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"excludeNamespaces": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"excludeSecrets": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"exposeConfigMapLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"exposeSecretLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"extraArgs": {
"items": {
@@ -889,33 +917,53 @@
},
"includeConfigMaps": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"includeLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"includeNamespaceLabels": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"includeNamespaces": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"includeSecrets": {
"items": {
"required": []
"type": "string"
},
"type": "array"
"required": [],
"type": [
"array",
"null"
]
},
"kubeApiRateLimits": {
"additionalProperties": false,
@@ -1102,18 +1150,6 @@
"extraVolumes",
"extraVolumeMounts",
"configMapKeys",
"includeNamespaces",
"excludeNamespaces",
"includeNamespaceLabels",
"excludeNamespaceLabels",
"includeSecrets",
"excludeSecrets",
"includeConfigMaps",
"excludeConfigMaps",
"includeLabels",
"excludeLabels",
"exposeSecretLabels",
"exposeConfigMapLabels",
"extraArgs",
"cache",
"kubeApiRateLimits",
+48
View File
@@ -301,28 +301,76 @@ secretsExporter:
# @default -- see `values.yaml`
configMapKeys: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Restrict the list of namespaces the TLS Secrets exporter should scan for certificates to watch (all namespaces if empty). Each entry is a shell-glob pattern (`*`, `?`, `[abc]`) or a literal name — e.g. `team-*` matches `team-alpha` and `team-beta`.
includeNamespaces: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Exclude namespaces from being scanned by the TLS Secrets exporter (evaluated after `includeNamespaces`). Same shell-glob syntax as `includeNamespaces`.
excludeNamespaces: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Only watch namespaces having these labels (all namespaces if empty). Items can be keys such as `my-label` or also require a value with syntax `my-label=my-value`.
includeNamespaceLabels: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Exclude namespaces having these labels. Items can be keys such as `my-label` or also require a value with syntax `my-label=my-value`.
excludeNamespaceLabels: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Only watch Secrets whose name matches one of these entries (all matching Secrets if empty). Each entry is a shell-glob pattern (`*`, `?`, `[abc]`) or a literal name — e.g. `tls-*` matches `tls-prod` and `tls-dev`.
includeSecrets: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Exclude Secrets whose name matches one of these entries (evaluated after `includeSecrets`). Same shell-glob syntax as `includeSecrets`.
excludeSecrets: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Only watch ConfigMaps whose name matches one of these entries (all matching ConfigMaps if empty). Same shell-glob syntax as `includeSecrets`.
includeConfigMaps: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Exclude ConfigMaps whose name matches one of these entries (evaluated after `includeConfigMaps`). Same shell-glob syntax as `includeSecrets`.
excludeConfigMaps: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Only watch TLS Secrets having these labels (all secrets if empty). Items can be keys such as `my-label` or also require a value with syntax `my-label=my-value`.
includeLabels: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Exclude TLS Secrets having these labels. Items can be keys such as `my-label` or also require a value with syntax `my-label=my-value`.
excludeLabels: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Expose selected labels from Kubernetes Secrets as Prometheus labels. **Beware of high-cardinality labels** (e.g. `pod-template-hash`, `controller-revision-hash`, build/git SHAs, timestamps, request IDs): each unique value adds a fresh series for every certificate metric, which can quickly explode the Prometheus index. Stick to slow-changing identifiers (app, team, environment, owner).
exposeSecretLabels: []
# @schema
# type: [array, 'null']
# items: {type: string}
# @schema
# -- Expose selected labels from Kubernetes ConfigMaps as Prometheus labels. Same caveat as `exposeSecretLabels` — keep the list to slow-changing identifiers and avoid high-cardinality values.
exposeConfigMapLabels: []
# -- Additional arguments to append to the exporter command line. E.g.: `--watch-file="/extra-cert/tls.crt"`.