@@ -40,50 +40,74 @@ jobs:
4040 aws-region : ${{ secrets.AWS_REGION || 'us-west-1' }}
4141 role-to-assume : ${{ secrets.AWS_ROLE_ARN }}
4242 role-session-name : GitHub_to_AWS_via_FederatedOIDC
43+ # - name: Setup OpenTofu
44+ # uses: opentofu/setup-opentofu@v1
45+ # with:
46+ # tofu_wrapper: false
47+ # - name: Display OpenTofu version
48+ # run: tofu version
49+ # - name: Set optional variables
50+ # env:
51+ # # For any of these that have a value, the corresponding TF_VAR_*
52+ # # environment variable will be set.
53+ # APPLY_DATABASE_UPDATES_IMMEDIATELY: ${{ secrets.TF_VAR_APPLY_DATABASE_UPDATES_IMMEDIATELY }}
54+ # TF_VAR_CONSUMER_CONTAINER_COUNT: ${{ secrets.TF_VAR_CONSUMER_CONTAINER_COUNT }}
55+ # CONSUMER_CPU: ${{ secrets.TF_VAR_CONSUMER_CPU }}
56+ # CONSUMER_MEMORY: ${{ secrets.TF_VAR_CONSUMER_MEMORY }}
57+ # DATABASE_SKIP_FINAL_SNAPSHOT: ${{ secrets.TF_VAR_DATABASE_SKIP_FINAL_SNAPSHOT }}
58+ # DELETION_PROTECTION: ${{ secrets.TF_VAR_DELETION_PROTECTION }}
59+ # DEPLOYMENT_ENVIRONMENTS: ${{ secrets.TF_VAR_DEPLOYMENT_ENVIRONMENTS }}
60+ # ENVIRONMENT: ${{ secrets.TF_VAR_ENVIRONMENT }}
61+ # EXPORT_EXPIRATION: ${{ secrets.TF_VAR_EXPORT_EXPIRATION }}
62+ # IMAGE_TAGS_MUTABLE: ${{ secrets.TF_VAR_IMAGE_TAGS_MUTABLE }}
63+ # KEY_RECOVERY_PERIOD: ${{ secrets.TF_VAR_KEY_RECOVERY_PERIOD }}
64+ # PROGRAM: ${{ secrets.TF_VAR_PROGRAM }}
65+ # PROJECT: ${{ secrets.TF_VAR_PROJECT }}
66+ # REPOSITORY: ${{ secrets.TF_VAR_REPOSITORY }}
67+ # run: |
68+ # variables=(
69+ # "apply_database_updates_immediately" "consumer_container_count"
70+ # "consumer_cpu" "consumer_memory" "database_skip_final_snapshot"
71+ # "deletion_protection" "deployment_environments" "environment"
72+ # "export_expiration" "image_tags_mutable" "key_recovery_period"
73+ # "program" "project" "repository"
74+ # )
75+ # for var in ${variables[@]}; do
76+ # name="$(echo $var | tr '[:lower:]' '[:upper:]')"
77+ # if [ -n "${!name}" ]; then
78+ # echo "Setting TF_VAR_$var"
79+ # echo "TF_VAR_$var=${!name}" >> $GITHUB_ENV
80+ # else
81+ # echo "$name is not set"
82+ # fi
83+ # done
84+ # - name: Initialize OpenTofu
85+ # working-directory: ./tofu/config/service
86+ # run: tofu init
4387 - name : Setup OpenTofu
44- uses : opentofu/setup-opentofu@v1
45- with :
46- tofu_wrapper : false
47- - name : Display OpenTofu version
48- run : tofu version
49- - name : Set optional variables
88+ uses : ./.github/actions/setup-opentofu
5089 env :
51- # For any of these that have a value, the corresponding TF_VAR_*
52- # environment variable will be set.
53- APPLY_DATABASE_UPDATES_IMMEDIATELY : ${{ secrets.TF_VAR_APPLY_DATABASE_UPDATES_IMMEDIATELY }}
90+ TF_VAR_APPLY_DATABASE_UPDATES_IMMEDIATELY : ${{ secrets.TF_VAR_APPLY_DATABASE_UPDATES_IMMEDIATELY }}
5491 TF_VAR_CONSUMER_CONTAINER_COUNT : ${{ secrets.TF_VAR_CONSUMER_CONTAINER_COUNT }}
55- CONSUMER_CPU : ${{ secrets.TF_VAR_CONSUMER_CPU }}
56- CONSUMER_MEMORY : ${{ secrets.TF_VAR_CONSUMER_MEMORY }}
57- DATABASE_SKIP_FINAL_SNAPSHOT : ${{ secrets.TF_VAR_DATABASE_SKIP_FINAL_SNAPSHOT }}
58- DELETION_PROTECTION : ${{ secrets.TF_VAR_DELETION_PROTECTION }}
59- DEPLOYMENT_ENVIRONMENTS : ${{ secrets.TF_VAR_DEPLOYMENT_ENVIRONMENTS }}
60- ENVIRONMENT : ${{ secrets.TF_VAR_ENVIRONMENT }}
61- EXPORT_EXPIRATION : ${{ secrets.TF_VAR_EXPORT_EXPIRATION }}
62- IMAGE_TAGS_MUTABLE : ${{ secrets.TF_VAR_IMAGE_TAGS_MUTABLE }}
63- KEY_RECOVERY_PERIOD : ${{ secrets.TF_VAR_KEY_RECOVERY_PERIOD }}
64- PROGRAM : ${{ secrets.TF_VAR_PROGRAM }}
65- PROJECT : ${{ secrets.TF_VAR_PROJECT }}
66- REPOSITORY : ${{ secrets.TF_VAR_REPOSITORY }}
67- run : |
68- variables=(
69- "apply_database_updates_immediately" "consumer_container_count"
70- "consumer_cpu" "consumer_memory" "database_skip_final_snapshot"
71- "deletion_protection" "deployment_environments" "environment"
72- "export_expiration" "image_tags_mutable" "key_recovery_period"
73- "program" "project" "repository"
74- )
75- for var in ${variables[@]}; do
76- name="$(echo $var | tr '[:lower:]' '[:upper:]')"
77- if [ -n "${!name}" ]; then
78- echo "Setting TF_VAR_$var"
79- echo "TF_VAR_$var=${!name}" >> $GITHUB_ENV
80- else
81- echo "$name is not set"
82- fi
83- done
84- - name : Initialize OpenTofu
85- working-directory : ./tofu/config/service
86- run : tofu init
92+ TF_VAR_CONSUMER_CPU : ${{ secrets.TF_VAR_CONSUMER_CPU }}
93+ TF_VAR_CONSUMER_MEMORY : ${{ secrets.TF_VAR_CONSUMER_MEMORY }}
94+ TF_VAR_DATABASE_SKIP_FINAL_SNAPSHOT : ${{ secrets.TF_VAR_DATABASE_SKIP_FINAL_SNAPSHOT }}
95+ TF_VAR_DATABASE_INSTANCE_COUNT : ${{ secrets.TF_VAR_DATABASE_INSTANCE_COUNT }}
96+ TF_VAR_DELETION_PROTECTION : ${{ secrets.TF_VAR_DELETION_PROTECTION }}
97+ TF_VAR_DEPLOYMENT_ENVIRONMENTS : ${{ secrets.TF_VAR_DEPLOYMENT_ENVIRONMENTS }}
98+ TF_VAR_ENVIRONMENT : ${{ inputs.environment }}
99+ TF_VAR_EXPORT_EXPIRATION : ${{ secrets.TF_VAR_EXPORT_EXPIRATION }}
100+ TF_VAR_IMAGE_TAGS_MUTABLE : ${{ secrets.TF_VAR_IMAGE_TAGS_MUTABLE }}
101+ TF_VAR_KEY_RECOVERY_PERIOD : ${{ secrets.TF_VAR_KEY_RECOVERY_PERIOD }}
102+ TF_VAR_PROJECT : ${{ secrets.TF_VAR_PROJECT }}
103+ TF_VAR_PROGRAM : ${{ secrets.TF_VAR_PROGRAM }}
104+ TF_VAR_REPO_OIDC_ARN : ${{ secrets.TF_VAR_REPO_OIDC_ARN }}
105+ TF_VAR_REPOSITORY : ${{ secrets.TF_VAR_REPOSITORY }}
106+ TF_VAR_VPC_CIDR : ${{ secrets.TF_VAR_VPC_CIDR }}
107+ TF_VAR_VPC_PRIVATE_SUBNET_CIDRS : ${{ secrets.TF_VAR_VPC_PRIVATE_SUBNET_CIDRS }}
108+ TF_VAR_VPC_PUBLIC_SUBNET_CIDRS : ${{ secrets.TF_VAR_VPC_PUBLIC_SUBNET_CIDRS }}
109+ with :
110+ config : service
87111 - name : Get OpenTofu outputs
88112 id : outputs
89113 working-directory : ./tofu/config/service
@@ -110,8 +134,6 @@ jobs:
110134 echo "command<<EOF" >> $GITHUB_OUTPUT
111135 echo "$COMMAND_STRING" >> $GITHUB_OUTPUT
112136 echo "EOF" >> $GITHUB_OUTPUT
113- # - name: Show outputs
114- # run: echo "${{ steps.command.outputs.command }}"
115137 - name : Launch container
116138 id : run-task
117139 uses : geekcell/github-action-aws-ecs-run-task@v5
0 commit comments