Skip to content

Stage #121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

Stage #121

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .github/workflows/terraform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: "Vprofile IAC"
on:
push:
branches:
- main
- stage
paths:
- terraform/**

pull_request:
branches:
- main
paths:
- terraform/**


env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
BUCKET_TF_STATE: ${{secrets.BUCKET_TF_STATE}}
AWS_REGION: us-east-2
EKS_CLUSTER_NAME: vprofile-eks


jobs:
terraform:
name: "Apply terraform code changes"
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./terraform
steps:
- name: "checkout source code"
uses: actions/checkout@v4

- name: "Setup Terraform with specified version on the runner"
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.6.3


- name: "Terraform Init"
id: init
run: terraform init -backend-config="bucket=$BUCKET_TF_STATE"


- name: "Terraform format"
id: format
run: terraform fmt -check

- name: "Terraform validate"
id: validate
run: terraform validate


- name: "Terraform plan"
id: plan
run: terraform plan -no-color -input=false -out planfile.tfplan
continue-on-error: true


- name: Terraform plan status
if: steps.plan.outcome == 'failure'
run: |
echo "Terraform plan failed. Please check the logs for details."
exit 1


- name: "Terraform apply"
id: apple
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: terraform destroy -no-color -input=false -auto-approve -parallelism=1 #planfile.tfplan


- name: "configure aws credentials"
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}

- name: "Configure kubectl"
id: getconfi
if: steps.apple.outcome == 'success'
run: |
aws eks update-kubeconfig --region ${{ env.AWS_REGION }} --name ${{ env.EKS_CLUSTER_NAME }}


- name: Install Ingress controller
if: steps.apple.outcome == 'success' && steps.getconfig.outcome == 'success'
run: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/aws/deploy.yaml

3 changes: 1 addition & 2 deletions terraform/terraform.tf
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ terraform {
}

backend "s3" {
bucket = "gitopsterrastate"
bucket = "vprofileaction-1.7.2025"
key = "terraform.tfstate"
region = "us-east-2"
}
Expand All @@ -36,4 +36,3 @@ terraform {
}
##
##
##
6 changes: 5 additions & 1 deletion terraform/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,9 @@ variable "region" {
variable "clusterName" {
description = "Name of the EKS cluster"
type = string
default = "kitops-eks"
default = "vprofile-eks"
}


####
##+++++++