{
  "id": "google-config-connector-vs-terraform",
  "ids": [
    "google-config-connector",
    "terraform"
  ],
  "title": "Google Config Connector vs HashiCorp Terraform: declarative resources and state management",
  "heading": "Google Config Connector vs HashiCorp Terraform",
  "kicker": "Software architecture comparison",
  "deck": "Config Connector uses Kubernetes resource definitions and controller reconciliation to manage Google Cloud resources. Terraform uses its own configuration and plan/apply workflow. This is a choice of infrastructure operating model, not just configuration-file syntax.",
  "description": "Compare Google Config Connector vs HashiCorp Terraform for declarative resources and state management.",
  "answerHeading": "Which option fits the requirement?",
  "answer": "Config Connector uses Kubernetes resource definitions and controller reconciliation to manage Google Cloud resources. Terraform uses its own configuration and plan/apply workflow. This is a choice of infrastructure operating model, not just configuration-file syntax.",
  "checkedAt": "2026-10-25",
  "researchTag": "Deployment, compatibility and cost scope",
  "researchLimit": "Official product material reviewed. Acceptance checks are proposed exercises, not completed product trials, performance measurements or reliability guarantees.",
  "datasetDescription": "Seven technical differences and four proposed acceptance checks for Google Config Connector vs HashiCorp Terraform.",
  "type": "workflow-buying",
  "sharedBuyingNeed": "Evaluate alternative approaches to declarative resources and state management.",
  "rows": [
    [
      "Ecosystem",
      "Google Cloud and Kubernetes",
      "Terraform ecosystem"
    ],
    [
      "Definition model",
      "Kubernetes resource definitions",
      "Terraform configuration"
    ],
    [
      "Execution model",
      "Kubernetes controller reconciliation",
      "Selected CLI or hosted Terraform workflow"
    ],
    [
      "Resource context",
      "Supported Google Cloud resources",
      "Supported provider resources"
    ],
    [
      "State decision",
      "Kubernetes and cloud-resource lifecycle configuration",
      "Selected state backend and state access controls"
    ],
    [
      "Review workflow",
      "Review resource-definition changes and reconciliation",
      "Review plans before applying changes"
    ],
    [
      "Cost components",
      "Kubernetes operation and provisioned Google Cloud resources",
      "Selected Terraform offering and provisioned resources"
    ]
  ],
  "scenarios": [
    {
      "name": "Resource dependencies",
      "question": "Can the team create a disposable resource set with its dependencies?",
      "left": "With Google Config Connector, create a disposable resource set with its dependencies.",
      "right": "With HashiCorp Terraform, create a disposable resource set with its dependencies.",
      "note": "The declared resources reach the intended state."
    },
    {
      "name": "Change review",
      "question": "Can the team review a proposed configuration change before applying it?",
      "left": "With Google Config Connector, review a proposed configuration change before applying it.",
      "right": "With HashiCorp Terraform, review a proposed configuration change before applying it.",
      "note": "The operator can identify the intended resource changes."
    },
    {
      "name": "Drift exercise",
      "question": "Can the team introduce a safe disposable configuration difference?",
      "left": "With Google Config Connector, introduce a safe disposable configuration difference.",
      "right": "With HashiCorp Terraform, introduce a safe disposable configuration difference.",
      "note": "The team can explain detection and reconciliation behaviour."
    },
    {
      "name": "Removal plan",
      "question": "Can the team remove the disposable resource set using the documented process?",
      "left": "With Google Config Connector, remove the disposable resource set using the documented process.",
      "right": "With HashiCorp Terraform, remove the disposable resource set using the documented process.",
      "note": "Resources and retained state are handled as intended."
    }
  ],
  "exampleTable": {
    "caption": "Proposed checks using authorised non-production resources. Record the actual account, region, version, configuration and observed outcome.",
    "headers": [
      "Requirement",
      "Proposed exercise",
      "Accept when"
    ],
    "rows": [
      [
        "Resource dependencies",
        "Create a disposable resource set with its dependencies.",
        "The declared resources reach the intended state."
      ],
      [
        "Change review",
        "Review a proposed configuration change before applying it.",
        "The operator can identify the intended resource changes."
      ],
      [
        "Drift exercise",
        "Introduce a safe disposable configuration difference.",
        "The team can explain detection and reconciliation behaviour."
      ],
      [
        "Removal plan",
        "Remove the disposable resource set using the documented process.",
        "Resources and retained state are handled as intended."
      ]
    ]
  },
  "sections": [
    {
      "id": "scope-and-architecture",
      "title": "Scope and architecture",
      "paragraphs": [
        "Config Connector uses Kubernetes resource definitions and controller reconciliation to manage Google Cloud resources. Terraform uses its own configuration and plan/apply workflow. This is a choice of infrastructure operating model, not just configuration-file syntax.",
        "Declarative resource tools share an infrastructure-management goal, but their languages, execution models and state responsibilities differ. A Kubernetes controller, a cloud control plane and a Terraform workflow are distinct operating arrangements."
      ],
      "links": [
        {
          "url": "https://docs.cloud.google.com/config-connector/docs?hl=en",
          "label": "Google Config Connector product information"
        },
        {
          "url": "https://developer.hashicorp.com/terraform",
          "label": "HashiCorp Terraform product information"
        }
      ],
      "navLabel": "Architecture"
    },
    {
      "id": "cost-and-migration",
      "title": "Cost and migration planning",
      "paragraphs": [
        "For Google Config Connector, include kubernetes operation and provisioned Google Cloud resources. For HashiCorp Terraform, include selected Terraform offering and provisioned resources. Use the same workload and resilience assumptions, then confirm current vendor terms for the selected configuration.",
        "Recreate a disposable resource group with its dependencies, then test change review, drift handling and removal. Confirm how existing resources are adopted and how state and credentials are protected before a production migration."
      ],
      "navLabel": "Costs & migration"
    }
  ],
  "faqs": [
    {
      "question": "How should we choose between Google Config Connector and HashiCorp Terraform?",
      "answer": "Config Connector uses Kubernetes resource definitions and controller reconciliation to manage Google Cloud resources. Terraform uses its own configuration and plan/apply workflow. This is a choice of infrastructure operating model, not just configuration-file syntax."
    },
    {
      "question": "Which costs belong in the comparison?",
      "answer": "For Google Config Connector, include kubernetes operation and provisioned Google Cloud resources. For HashiCorp Terraform, include selected Terraform offering and provisioned resources. Use the same workload and resilience assumptions, then confirm current vendor terms for the selected configuration."
    },
    {
      "question": "What should we validate before a production move?",
      "answer": "Recreate a disposable resource group with its dependencies, then test change review, drift handling and removal. Confirm how existing resources are adopted and how state and credentials are protected before a production migration."
    }
  ],
  "sources": [
    {
      "url": "https://docs.cloud.google.com/config-connector/docs?hl=en",
      "facts": "Official product scope, deployment and integration context used for declarative resources and state management."
    },
    {
      "url": "https://developer.hashicorp.com/terraform",
      "facts": "Official product scope, deployment and integration context used for declarative resources and state management."
    }
  ],
  "relatedLinks": [
    {
      "path": "/categories/cloud-devops/",
      "title": "Cloud Devops software"
    },
    {
      "path": "/guides/cloud-cost-checklist/",
      "title": "Cloud workload and cost checklist"
    }
  ]
}
