Skip to content
Open

Stage #148

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e7c3a65
update
hgure Dec 16, 2025
41f00cd
update
hgure Dec 16, 2025
ebfad7b
staging workflow-1
hgure Dec 16, 2025
da82564
update staging workflow
hgure Dec 16, 2025
5bc559f
update stage workflow
hgure Dec 16, 2025
6adcd16
update
hgure Dec 16, 2025
729b26d
new workflow
hgure Dec 16, 2025
c63e873
new workflow
hgure Dec 16, 2025
707741e
fix workflow
hgure Dec 16, 2025
01d64ed
terraform apply steps included
hgure Dec 16, 2025
4ea3ae6
updated on stage
hgure Dec 16, 2025
8045334
fix stage
hgure Dec 16, 2025
1e6f494
fixed code stag
hgure Dec 16, 2025
8c716df
update
hgure Dec 16, 2025
9758042
update to stage
hgure Dec 16, 2025
acb4365
update eks version
hgure Dec 17, 2025
a09dbb7
update node group
hgure Dec 17, 2025
be28109
update node group
hgure Dec 17, 2025
3876568
update node group
hgure Dec 17, 2025
49a3e2c
update node group
hgure Dec 17, 2025
e6582fb
update ami
hgure Dec 17, 2025
0936e8f
update ami
hgure Dec 17, 2025
b41155a
update ami
hgure Dec 17, 2025
05503e2
update
hgure Dec 17, 2025
3b80d94
update
hgure Dec 17, 2025
0d134d6
update
hgure Dec 17, 2025
e577c0e
update
hgure Dec 17, 2025
3a338c2
update
hgure Dec 17, 2025
08be2f8
update
hgure Dec 17, 2025
8a5e324
update
hgure Dec 17, 2025
80dac22
update
hgure Dec 18, 2025
29d5793
update
hgure Dec 18, 2025
b9a1474
update
hgure Dec 18, 2025
b8dfd9c
update
hgure Dec 18, 2025
7f918df
add fix
hgure Dec 18, 2025
6a3e831
add fix
hgure Dec 18, 2025
3095344
add fix
hgure Dec 18, 2025
f3ec7a6
add destroy workflow
hgure Dec 18, 2025
1b5d0b8
update
hgure Dec 21, 2025
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
Binary file added .DS_Store
Binary file not shown.
83 changes: 83 additions & 0 deletions .github/workflows/terraform-1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: "Nomad IaC"
on:
push:
branches:
- main
- stage
paths:
- terraform/**
pull_request:
branches:
- main
paths:
- terraform/**

env:
#Credentials for AWS
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
#Storage for Terraform State
BUCKET_TF_STATE: ${{ secrets.BUCKET_TF_STATE }}
AWS_REGION: "us-east-1"
EKS_CLUSTER_NAME: "nomadops-eks"

jobs:
terraform:
name: "Terraform Apply"
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./terraform

steps:
- name: "Checkout Repo"
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 }}" -input=false

- name: "Terraform Format"
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: echo "Terraform plan failed. Please check the configuration."

- 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@v2
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 }}

- 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.8.1/deploy/static/provider/aws/deploy.yaml

45 changes: 45 additions & 0 deletions .github/workflows/terraform-destroy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: "Nomad IaC Destroy"

on:
workflow_dispatch: # Allows manual trigger from GitHub Actions


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-1"

jobs:
terraform-destroy:
name: "Terraform Destroy"
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./terraform

steps:
- name: "Checkout Repo"
uses: actions/checkout@v4

- name: "Setup Terraform"
uses: hashicorp/setup-terraform@v2
with:
terraform_version: "1.6.3"

- name: "Configure AWS credentials"
uses: aws-actions/configure-aws-credentials@v2
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: "Terraform Init"
run: terraform init -backend-config="bucket=${{ env.BUCKET_TF_STATE }}" -input=false

- name: "Terraform Validate"
run: terraform validate

- name: "Terraform Destroy"
run: terraform destroy -auto-approve -input=false -parallelism=1
61 changes: 61 additions & 0 deletions .github/workflows/terraform.old
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: "Nomad IaC"
on:
push:
branches:
- main
- stage
paths:
- terraform/**
pull_request:
branches:
- main
paths:
- terraform/**

env:
#Credentials for AWS
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
#Storage for Terraform State
BUCKET_TF_STATE: ${{ secrets.BUCKET_TF_STATE }}
AWS_REGION: "us-east-1"
EKS_CLUSTER_NAME: "nomadapp-eks"

jobs:
terraform:
name: "Terraform Apply"
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./terraform

steps:
- name: "Checkout Repo"
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: "Terrform Format"
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=tfplan
continue-on-error: true

- name: Terraform plan status
if: steps.plan.outcome == 'failure'
run: echo "Terraform plan failed. Please check the configuration."
5 changes: 3 additions & 2 deletions terraform/eks-cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ module "eks" {
version = "19.19.1"

cluster_name = local.cluster_name
cluster_version = "1.27"
cluster_version = "1.33"

vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
cluster_endpoint_public_access = true

eks_managed_node_group_defaults = {
ami_type = "AL2_x86_64"
ami_type = "BOTTLEROCKET_x86_64"


}

Expand Down
4 changes: 2 additions & 2 deletions terraform/terraform.tf
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ terraform {
}

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

required_version = "~> 1.6.3"
Expand Down
6 changes: 4 additions & 2 deletions terraform/variables.tf
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
variable "region" {
description = "AWS region"
type = string
default = "us-east-2"
default = "us-east-1"
}

variable "clusterName" {
description = "Name of the EKS cluster"
type = string
default = "kitops-eks"
default = "nomadops-eks"
}

###############
2 changes: 1 addition & 1 deletion terraform/vpc.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "5.1.2"

name = "vprofile-eks"
name = "nomadapp-eks"

cidr = "172.20.0.0/16"
azs = slice(data.aws_availability_zones.available.names, 0, 3)
Expand Down