What problem does it solve?
Updating KCC's vendored Terraform Google Beta provider with upstream HashiCorp changes risks overwriting critical KCC-specific patches (ForceNew overrides, custom flatteners, diff suppressors), which breaks resources at runtime. This Skill provides a safe, step-by-step workflow for backporting upstream changes without losing KRM-specific behavior.
Core Features & Use Cases
- Patch Discovery & Preservation: Uses git history and keyword searches (KCC, CNRM, KRM, Autogen) to identify local ForceNew overrides, empty-block flatteners, and custom diff suppressors before modifying vendored files.
- Guided Backporting: Covers two scenarios—backporting new fields (schema, expanders, flatteners) and upgrading immutable fields to mutable with in-place update handlers via GKE/GCP client SDKs.
- Compilation & CI Validation: Walks through go.work workspace setup, go vet checks, CRD regeneration, and mandatory presubmit scripts (make resource-docs, validate-generated-files, validate-prereqs.sh).
- Use Case: A GKE field like a node pool setting becomes mutable at the GCP API level. Use this Skill to remove ForceNew, implement the d.HasChange update handler in resource_container_node_pool.go, and validate the change end-to-end.
Quick Start
Ask the agent to backport a specific upstream Terraform Google Beta provider field into KCC's vendored provider under third_party/github.com/hashicorp/terraform-provider-google-beta while preserving all local KCC patches.