Skip to content
Merged
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
79 changes: 79 additions & 0 deletions .github/workflows/current-terraform-state.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Show Terraform State

on:
workflow_dispatch:
inputs:
environment:
type: choice
description: Environment to show state for
options:
- staging
- production

jobs:
show-state:
name: Show Terraform state for ${{ github.event.inputs.environment }}
runs-on: ubuntu-latest
environment: ${{ github.event.inputs.environment }}
env:
TF_VAR_AWS_REGION: ${{ vars.AWS_REGION }}
TF_VAR_APP_NAME: ${{ vars.APP_NAME }}
TF_VAR_APP_ENVIRONMENT: ${{ github.event.inputs.environment }}
#Database
TF_VAR_DATALAYER_PG_USER: ${{ secrets.DATALAYER_PG_USER }}
TF_VAR_DATALAYER_PG_PASSWORD: ${{ secrets.DATALAYER_PG_PASSWORD }}
#Hasura API
TF_VAR_GREEN_DATALAYER_HASURA_ADMIN_SECRET: ${{ secrets.DATALAYER_HASURA_ADMIN_SECRET }}
TF_VAR_BLUE_DATALAYER_HASURA_ADMIN_SECRET: ${{ secrets.DATALAYER_HASURA_ADMIN_SECRET }}
#Coingecko API
TF_VAR_GREEN_COINGECKO_API_KEY: ${{ secrets.COINGECKO_API_KEY }}
TF_VAR_BLUE_COINGECKO_API_KEY: ${{ secrets.COINGECKO_API_KEY }}
steps:
- name: Check out github repository
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Check if user is an admin
uses: ./.github/actions/check-admin
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_version: ${{ vars.TERRAFORM_VERSION }}
terraform_wrapper: false

- name: Set up AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ vars.AWS_REGION }}

- name: Terraform Init
working-directory: deployment/environments/${{github.event.inputs.environment}}
run: |
terraform init \
-backend-config="bucket=${{ vars.APP_NAME }}-terraform-state" \
-backend-config="key=${{ vars.APP_NAME }}-${{github.event.inputs.environment}}-state" \
-backend-config="region=${{ vars.AWS_REGION }}" \
-backend-config="encrypt=true"

- name: Show Terraform State
working-directory: deployment/environments/${{github.event.inputs.environment}}
run: |
echo "=== Terraform State Information ==="
echo "Current State:"
terraform show

echo -e "\n=== Terraform Outputs ==="
terraform output

echo -e "\n=== Current Deployment State ==="
echo "Deployment State: $(terraform output -raw deployment_state)"
echo "Active Deployment: $(terraform output -raw active_deployment)"

echo -e "\n=== API Gateway Information ==="
echo "API Gateway URL: $(terraform output -raw api_gateway_url)"
Loading