Skip to content

Harden GCE Terraform generation and add equivalence coverage - #3

Merged
rguliyev merged 5 commits into
e2b-dev:e2b/mainfrom
rguliyev:pr/e2b-gce-terraform
Jul 24, 2026
Merged

Harden GCE Terraform generation and add equivalence coverage#3
rguliyev merged 5 commits into
e2b-dev:e2b/mainfrom
rguliyev:pr/e2b-gce-terraform

Conversation

@rguliyev

Copy link
Copy Markdown

Summary

  • refresh GCE Terraform fixtures after alias-range rendering changes
  • render project IAM grants as additive google_project_iam_member resources
  • format GCE managed-instance-group update policies consistently
  • add a generic offline kops-module equivalence fixture with deterministic PKI
  • document the Terraform IAM state migration and fixture safety constraints

Upgrade note

Existing generated GCE Terraform state may contain:

  • google_project_iam_binding.serviceaccount-control-plane
  • google_project_iam_binding.serviceaccount-nodes

After regenerating the configuration and before planning, remove those old addresses with terraform state rm. The migration is documented in docs/terraform.md.

Testing

  • make quick-ci
  • make test
  • make all examples
  • make verify-terraform
  • repeated TestGCEKopsModuleEquivalence regeneration
  • changed-package golangci-lint

/kind bug
/area provider/gcp

rguliyev added 5 commits July 22, 2026 15:21
Refresh expected manager update policies after rendering max_unavailable_fixed. This restores the GCE integration tests for the fork's existing Terraform change.
The API target adds a principal without owning the full role binding, but the Terraform target emitted an authoritative binding that could remove unrelated principals. Use google_project_iam_member so both targets have the same additive semantics.
Exercise the kops-module topology without cloud credentials using generic fixture identities and deterministic PKI.
Explain the state transition from authoritative IAM bindings and mark the deterministic PKI as public test material.
@cla-bot cla-bot Bot added the cla-signed label Jul 24, 2026
@rguliyev
rguliyev merged commit 1c346fb into e2b-dev:e2b/main Jul 24, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant