Skip to content
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

Stage #68

Open
wants to merge 20 commits into
base: main
Choose a base branch
from
Binary file added .DS_Store
Binary file not shown.
74 changes: 74 additions & 0 deletions .github/workflows/terraform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: "Vprofile IAC"
on:
push:
branches:
- main
- stage
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: 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
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.6.3

- name: Terraform init
id: init
run: terraform init -backend-config="bucket=${{ env.BUCKET_TF_STATE }}"

- name: Terraform fmt
id: fmt
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
continue-on-error: true

- name: Terraform plan status
if: steps.plan.outcome == 'failure'
run: exit 1

- name: Terraform Apply
id: apple
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: terraform apply -auto-approve -input=false -parallelism=1 planFile

- 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: Get Kube config file
id: getconfig
if: steps.apple.outcome == 'success'
run: aws eks update-kubeconfig --region ${{ env.AWS_REGION }} --name ${{ env.EKS_CLUSTER}}

- name: Install Ingress controller
if: steps.apple.outcome == 'success'
run: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.3/deploy/static/provider/aws/deploy.yaml
Binary file added terraform/.DS_Store
Binary file not shown.
6 changes: 3 additions & 3 deletions terraform/terraform.tf
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ terraform {
}

backend "s3" {
bucket = "gitopsterrastate"
bucket = "ritninjaactions710"
key = "terraform.tfstate"
region = "us-east-2"
}

required_version = "~> 1.6.3"
}

##
##
##
##
5 changes: 4 additions & 1 deletion terraform/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ variable "region" {
variable "clusterName" {
description = "Name of the EKS cluster"
type = string
default = "kitops-eks"
default = "vprofile-eks"
}

##
##
2 changes: 2 additions & 0 deletions terraform/vpc.tf
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,5 @@ module "vpc" {
"kubernetes.io/role/internal-elb" = 1
}
}

##