Fix Terraform GKE Pipelines
Budget: $250 – $750 AUD
My repository already contains Terraform code that provisions a Google Kubernetes Engine cluster and a GitHub Actions workflow that should plan and apply those changes automatically. Right now the workflow breaks part-way through the deploy, leaving the cluster in an inconsistent state and requiring manual intervention.
What I need from you is a clear, working CI/CD path that takes every push on the main branch all the way to a running workload on GKE:
• Review and clean up the existing Terraform configuration, modules and variables so a fresh terraform init / plan / apply completes without prompts or drift.
• Adjust backend and state handling (currently default local state) so it is safely stored—Cloud Storage bucket or another standard solution—while remaining easy to reproduce.
• Update the GitHub Actions pipeline to call Terraform commands in separate, cache-friendly jobs, inject secrets securely and surface plan output as an artefact.
• Make the deploy job create/update the GKE cluster and then roll out a sample app (provided in the repo) so the pipeline’s last step verifies the Pods are healthy.
Acceptance is straightforward: a single commit to a fresh fork must run the GitHub Actions workflow end-to-end with no manual steps, and kubectl get pods must show the sample app running afterward. Clear inline comments or a short README section describing how to extend the pipeline for additional services will round it out.
What I need from you is a clear, working CI/CD path that takes every push on the main branch all the way to a running workload on GKE:
• Review and clean up the existing Terraform configuration, modules and variables so a fresh terraform init / plan / apply completes without prompts or drift.
• Adjust backend and state handling (currently default local state) so it is safely stored—Cloud Storage bucket or another standard solution—while remaining easy to reproduce.
• Update the GitHub Actions pipeline to call Terraform commands in separate, cache-friendly jobs, inject secrets securely and surface plan output as an artefact.
• Make the deploy job create/update the GKE cluster and then roll out a sample app (provided in the repo) so the pipeline’s last step verifies the Pods are healthy.
Acceptance is straightforward: a single commit to a fresh fork must run the GitHub Actions workflow end-to-end with no manual steps, and kubectl get pods must show the sample app running afterward. Clear inline comments or a short README section describing how to extend the pipeline for additional services will round it out.
Related categories:
Backend Development
Continuous Integration
Kubernetes
DevOps
Automation
Terraform
CI/CD
Containerization