feat: add gke cluster locator resource label filtering (#10908)

* feat: add gke cluster locator resource label filtering

Signed-off-by: Matthew Clarke <mclarke@spotify.com>

* test: add gke label filter tests

Signed-off-by: Matthew Clarke <mclarke@spotify.com>

* docs: add gke label filtering changeset

Signed-off-by: Matthew Clarke <mclarke@spotify.com>

* style: prettier

Signed-off-by: Matthew Clarke <mclarke@spotify.com>

* docs: add gke label matching docs

Signed-off-by: Matthew Clarke <mclarke@spotify.com>

* style: prettier

Signed-off-by: Matthew Clarke <mclarke@spotify.com>
This commit is contained in:
Matthew Clarke
2022-04-20 13:36:54 -04:00
committed by GitHub
parent 40429e9695
commit b9f7ffb162
4 changed files with 169 additions and 22 deletions
+15 -4
View File
@@ -228,7 +228,13 @@ For example:
```yaml
- type: 'gke'
projectId: 'gke-clusters'
region: 'europe-west1'
region: 'europe-west1' # optional
skipTLSVerify: false # optional
skipMetricsLookup: false # optional
exposeDashboard: false # optional
matchingResourceLabels: # optional
- key: 'environment'
value: 'production'
```
Will configure the Kubernetes plugin to connect to all GKE clusters in the
@@ -247,17 +253,17 @@ The Google Cloud project to look for Kubernetes clusters in.
The Google Cloud region to look for Kubernetes clusters in. Defaults to all
regions.
##### `skipTLSVerify`
##### `skipTLSVerify` (optional)
This determines whether the Kubernetes client verifies the TLS certificate
presented by the API server. Defaults to `false`.
##### `skipMetricsLookup`
##### `skipMetricsLookup` (optional)
This determines whether the Kubernetes client looks up resource metrics
CPU/Memory for pods returned by the API server. Defaults to `false`.
##### `exposeDashboard`
##### `exposeDashboard` (optional)
This determines whether the `dashboardApp` and `dashboardParameters` should be
automatically configured in order to expose the GKE dashboard from the
@@ -265,6 +271,11 @@ Kubernetes plugin.
Defaults to `false`.
##### `matchingResourceLabels` (optional)
Array of key value labels used to filter out clusters which don't have the matching
[resource labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
#### Custom `KubernetesClustersSupplier`
If the configuration-based cluster locators do not work for your use-case,