Skip to content

Commit 3d558cb

Browse files
authored
Merge pull request #11 from stack-spot/feat/10-rp-provider-tf-log-provider
Feat/10 rp provider tf log provider
2 parents 22fa586 + c760783 commit 3d558cb

File tree

2 files changed

+32
-39
lines changed

2 files changed

+32
-39
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ jobs:
4545
OUTPUT_FILE: outputs_file_name.json # not mandatory
4646
PATH_TO_MOUNT: path/to/mount
4747
LOCALEXEC_ENABLED: true # not mandatory
48+
TF_LOG_PROVIDER: info # not mandatory
4849
```
4950
5051
* * *
@@ -68,7 +69,8 @@ Field | Mandatory | Observation
6869
**FEATURES_TERRAFORM_MODULES** | NO | List of external terraform modules allowed
6970
**PATH_TO_MOUNT** | YES | Path provided to be used as a volume within the docker image that will be used with terraform
7071
**OUTPUT_FILE** | NO | Filename where outputs will be saved (default value: `outputs.json`)
71-
**LOCALEXEC_ENABLED** | NO | whether or not terraform will be enable to perform local exec operations or not (default: `false`)
72+
**LOCALEXEC_ENABLED** | NO | Whether or not terraform will be enable to perform local exec operations or not (default: `false`)
73+
**TF_LOG_PROVIDER** | NO | If there is a need to check Terraform's own log, it is now possible to pass the levels of the Terraform provider, allowing you to analyze what happens within Terraform's CLI (info, trace, debug and warn).
7274

7375
* * *
7476

action.yaml

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ inputs:
5353
description: "If Runtimes will allow execution of the local-exec command within terraform"
5454
required: false
5555
default: false
56+
TF_LOG_PROVIDER:
57+
description: "Level tf log provider - info, debug, warn or trace"
58+
required: false
5659

5760
runs:
5861
using: "composite"
@@ -72,57 +75,45 @@ runs:
7275
output-credentials: true
7376

7477
- name: Run Runtime Action Deploy
75-
if: ${{ inputs.AWS_ROLE_ARN == 0 }}
7678
run: |
77-
docker run --rm \
78-
-v ${{ inputs.PATH_TO_MOUNT }}:/app-volume \
79+
FLAGS=$(echo "-v ${{ inputs.PATH_TO_MOUNT }}:/app-volume \
7980
-e FEATURES_LEVEL_LOG=${{ inputs.FEATURES_LEVEL_LOG }} \
8081
-e AUTHENTICATE_CLIENT_ID=${{ inputs.CLIENT_ID }} \
8182
-e AUTHENTICATE_CLIENT_SECRET=${{ inputs.CLIENT_KEY }} \
8283
-e AUTHENTICATE_CLIENT_REALMS=${{ inputs.CLIENT_REALM }} \
83-
-e AUTHENTICATE_URL="https://idm.stackspot.com" \
84+
-e AUTHENTICATE_URL=https://idm.stackspot.com \
8485
-e REPOSITORY_NAME=${{ inputs.REPOSITORY_NAME }} \
85-
-e FEATURES_API_MANAGER="https://runtime-manager.v1.stackspot.com" \
86-
-e FEATURES_BASEPATH_TMP="/tmp/runtime/deploys" \
87-
-e FEATURES_BASEPATH_EBS="/opt/runtime" \
88-
-e FEATURES_TEMPLATES_FILEPATH="/app/" \
89-
-e FEATURES_BASEPATH_TERRAFORM="/root/.asdf/shims/terraform" \
90-
-e AWS_ACCESS_KEY_ID=${{ inputs.AWS_ACCESS_KEY_ID }} \
91-
-e AWS_SECRET_ACCESS_KEY=${{ inputs.AWS_SECRET_ACCESS_KEY }} \
92-
-e AWS_SESSION_TOKEN=${{ inputs.AWS_SESSION_TOKEN }} \
86+
-e FEATURES_API_MANAGER=https://runtime-manager.v1.stackspot.com \
87+
-e FEATURES_BASEPATH_TMP=/tmp/runtime/deploys \
88+
-e FEATURES_BASEPATH_EBS=/opt/runtime \
89+
-e FEATURES_TEMPLATES_FILEPATH=/app/ \
90+
-e FEATURES_BASEPATH_TERRAFORM=/root/.asdf/shims/terraform \
9391
-e AWS_REGION=${{ inputs.AWS_REGION }} \
94-
-e FEATURES_TERRAFORM_MODULES='${{ inputs.FEATURES_TERRAFORM_MODULES }}' \
95-
-e FEATURES_RELEASE_LOCALEXEC=${{ inputs.LOCALEXEC_ENABLED }} \
96-
--entrypoint=/app/stackspot-runtime-job-deploy \
97-
${{ inputs.CONTAINER_URL }} start --run-task-id="${{ inputs.RUN_TASK_ID }}" --output-file="${{ inputs.OUTPUT_FILE }}"
98-
shell: bash
92+
-e FEATURES_RELEASE_LOCALEXEC=${{ inputs.LOCALEXEC_ENABLED }}")
93+
94+
if [ -z "${{ inputs.AWS_ROLE_ARN }}" ]; then
95+
FLAGS=$(echo "$FLAGS -e AWS_ACCESS_KEY_ID=${{ inputs.AWS_ACCESS_KEY_ID }}")
96+
FLAGS=$(echo "$FLAGS -e AWS_SECRET_ACCESS_KEY=${{ inputs.AWS_SECRET_ACCESS_KEY }}")
97+
FLAGS=$(echo "$FLAGS -e AWS_SESSION_TOKEN=${{ inputs.AWS_SESSION_TOKEN }}")
98+
fi
99+
100+
if [ ! -z "${{ inputs.AWS_ROLE_ARN }}" ]; then
101+
FLAGS=$(echo "$FLAGS -e AWS_ACCESS_KEY_ID=${{ steps.aws-cred.outputs.aws-access-key-id }}")
102+
FLAGS=$(echo "$FLAGS -e AWS_SECRET_ACCESS_KEY=${{ steps.aws-cred.outputs.aws-secret-access-key }}")
103+
FLAGS=$(echo "$FLAGS -e AWS_SESSION_TOKEN=${{ steps.aws-cred.outputs.aws-session-token }}")
104+
fi
105+
106+
if [ ! -z "${{ inputs.TF_LOG_PROVIDER }}" ]; then
107+
FLAGS=$(echo "$FLAGS -e FEATURES_TERRAFORM_LOGPROVIDER=${{ inputs.TF_LOG_PROVIDER }}")
108+
fi
99109
100-
- name: Run Runtime Action Deploy
101-
if: ${{ inputs.AWS_ROLE_ARN != 0 }}
102-
run: |
103110
docker run --rm \
104-
-v ${{ inputs.PATH_TO_MOUNT }}:/app-volume \
105-
-e FEATURES_LEVEL_LOG=${{ inputs.FEATURES_LEVEL_LOG }} \
106-
-e AUTHENTICATE_CLIENT_ID=${{ inputs.CLIENT_ID }} \
107-
-e AUTHENTICATE_CLIENT_SECRET=${{ inputs.CLIENT_KEY }} \
108-
-e AUTHENTICATE_CLIENT_REALMS=${{ inputs.CLIENT_REALM }} \
109-
-e AUTHENTICATE_URL="https://idm.stackspot.com" \
110-
-e REPOSITORY_NAME=${{ inputs.REPOSITORY_NAME }} \
111-
-e FEATURES_API_MANAGER="https://runtime-manager.v1.stackspot.com" \
112-
-e FEATURES_BASEPATH_TMP="/tmp/runtime/deploys" \
113-
-e FEATURES_BASEPATH_EBS="/opt/runtime" \
114-
-e FEATURES_TEMPLATES_FILEPATH="/app/" \
115-
-e FEATURES_BASEPATH_TERRAFORM="/root/.asdf/shims/terraform" \
116-
-e AWS_ACCESS_KEY_ID=${{ steps.aws-cred.outputs.aws-access-key-id }} \
117-
-e AWS_SECRET_ACCESS_KEY=${{ steps.aws-cred.outputs.aws-secret-access-key }} \
118-
-e AWS_SESSION_TOKEN=${{ steps.aws-cred.outputs.aws-session-token }} \
119-
-e AWS_REGION=${{ inputs.AWS_REGION }} \
111+
$FLAGS \
120112
-e FEATURES_TERRAFORM_MODULES='${{ inputs.FEATURES_TERRAFORM_MODULES }}' \
121-
-e FEATURES_RELEASE_LOCALEXEC=${{ inputs.LOCALEXEC_ENABLED }} \
122113
--entrypoint=/app/stackspot-runtime-job-deploy \
123114
${{ inputs.CONTAINER_URL }} start --run-task-id="${{ inputs.RUN_TASK_ID }}" --output-file="${{ inputs.OUTPUT_FILE }}"
124115
shell: bash
125116

126117
branding:
127118
icon: 'terminal'
128-
color: 'orange'
119+
color: 'orange'

0 commit comments

Comments
 (0)