terraform.gcp.best-practice.gcp-gke-has-labels.gcp-gke-has-labels
semgrep
Author
unknown
Download Count*
License
Ensure Kubernetes Clusters are configured with Labels
Run Locally
Run in CI
Defintion
rules:
- id: gcp-gke-has-labels
patterns:
- pattern: resource
- pattern-inside: |
resource "google_container_cluster" "..." {
...
}
- pattern-not-inside: |
resource "google_container_cluster" "..." {
...
resource_labels = {
"..." = "..."
}
...
}
message: Ensure Kubernetes Clusters are configured with Labels
metadata:
category: best-practice
technology:
- terraform
- gcp
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
languages:
- hcl
severity: WARNING
Examples
gcp-gke-has-labels.tf
# fail
# ruleid: gcp-gke-has-labels
resource "google_container_cluster" "fail1" {
name = "my-gke-cluster"
location = "us-central1"
remove_default_node_pool = True
initial_node_count = 1
logging_service = "none"
}
# fail
# ruleid: gcp-gke-has-labels
resource "google_container_cluster" "fail2" {
name = "my-gke-cluster"
location = "us-central1"
remove_default_node_pool = True
initial_node_count = 1
logging_service = "none"
resource_labels = {}
}
# ok: gcp-gke-has-labels
resource "google_container_cluster" "success" {
name = "my-gke-cluster"
location = "us-central1"
remove_default_node_pool = True
initial_node_count = 1
logging_service = "none"
resource_labels = {
"Owner" = "value"
}
}
Short Link: https://sg.run/Pvwz