Add OpenTofu setup and configuration for AWS infrastructure

- Create action for setting up OpenTofu environment
- Update Terraform workflow to use OpenTofu for infrastructure management
- Modify backend configuration for S3 with new bucket and region
- Add S3 bucket resources with lifecycle configuration
- Update local variables and remove deprecated files
- Include required Python packages for OpenTofu
This commit is contained in:
2025-04-25 16:37:01 +02:00
parent 41ee9e0618
commit e9c492d149
12 changed files with 85 additions and 17 deletions
+15
View File
@@ -0,0 +1,15 @@
name: Setup OpenTofu Environment
description: Prepare the environment for A13labs CI/CD pipelines
runs:
using: "composite"
steps:
- name: Setup OpenTofu
uses: opentofu/setup-opentofu@v1
with:
terraform_version: 1.9.1
- name: Install required python packages
shell: bash
run: |
python3 -m pip install -r requirements/opentofu.txt
@@ -9,7 +9,7 @@ on:
paths:
- "terraform/aws-iac/**"
jobs:
terraform-apply:
opentofu-apply:
runs-on: ubuntu-latest
steps:
@@ -21,15 +21,15 @@ jobs:
- name: Setup environment
uses: ./.github/actions/setup-env
- name: Setup Terraform environment
uses: ./.github/actions/setup-terraform-env
- name: Setup OpenTofu environment
uses: ./.github/actions/setup-opentofu-env
- name: Terraform Init and Apply
- name: OpenTofu Init and Apply
env:
BW_PROJECT_ID: ${{ secrets.BW_PROJECT_ID }}
BW_ORGANIZATION_ID: ${{ secrets.BW_ORGANIZATION_ID }}
BW_ACCESS_TOKEN: ${{ secrets.BW_ACCESS_TOKEN }}
run: |
cd terraform/aws-iac
sectool -f ../../sectool.json exec terraform init
sectool -f ../../sectool.json exec terraform apply --auto-approve
sectool -f ../../sectool.json exec tofu init
sectool -f ../../sectool.json exec tofu apply --auto-approve