An open API service indexing awesome lists of open source software.

https://github.com/stack-spot/runtime-iac-action

StackSpot Action to perform IAC Self Hosted run task processes
https://github.com/stack-spot/runtime-iac-action

cloud-runtime code github-actions maintain self-hosted stackspot

Last synced: 5 months ago
JSON representation

StackSpot Action to perform IAC Self Hosted run task processes

Awesome Lists containing this project

README

          

# runtime-iac-action

[![Action test Ubuntu](https://github.com/stack-spot/runtime-github-action-ping/actions/workflows/action-test-ubuntu.yaml/badge.svg)](https://github.com/stack-spot/runtime-github-action-ping/actions/workflows/action-test-ubuntu.yaml)

GitHub action to run StackSpot Runtime Iac Worker.

_**Note**: This action is supported on debian/RHEl like systems_

## 📚 Usage

### Requirements

### Use Case

Check how to implement the orchestration job using the [runtime-manager-action](https://github.com/stack-spot/runtime-manager-action)

```yaml
jobs:
job1:
runs-on: ubuntu-latest
needs: [orchestration]
strategy:
matrix:
task: ${{ fromJSON(needs.orchestration.outputs.tasks) }}
fail-fast: true
max-parallel: 1
steps:
- name: IAC
if: contains( matrix.task.taskType , 'IAC')
uses: stack-spot/runtime-iac-action@v1
with:
FEATURES_LEVEL_LOG: debug
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_KEY: ${{ secrets.CLIENT_KEY }}
CLIENT_REALM: ${{ secrets.CLIENT_REALM }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_SESSION_TOKEN: ${{ secrets.AWS_SESSION_TOKEN }}
AWS_ROLE_ARN: ${{ secrets.AWS_ROLE_ARN }}
AWS_REGION: sa-east-1
CONTAINER_URL: my/container-url # not mandatory
REPOSITORY_NAME: my-repository-name # not mandatory
RUN_TASK_ID: ${{ matrix.task.runTaskId }}
PATH_TO_MOUNT: path/to/mount # not mandatory
BASE_PATH_OUTPUT: path/to/save/file # not mandatory
CHECKOUT_BRANCH: 'true' # not mandatory
```

* * *

## ▶️ Action Inputs

Field | Mandatory | Observation
------------ | ------------ | -------------
**FEATURES_LEVEL_LOG** | YES | Log Level
**CLIENT_ID** | YES | [StackSpot](https://stackspot.com/en/settings/access-token) Client ID.
**CLIENT_KEY** | YES | [StackSpot](https://stackspot.com/en/settings/access-token) Client KEY.
**CLIENT_REALM** | YES | [StackSpot](https://stackspot.com/en/settings/access-token) Client Realm.
**AWS_ACCESS_KEY_ID** | NO | [AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) Access Key ID
**AWS_SECRET_ACCESS_KEY** | NO | [AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) Secret Access Key
**AWS_SESSION_TOKEN** | NO | [AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html) Session Token
**AWS_ROLE_ARN** | NO | AWS IAM ROLE (necessary if AWS credentials not informed)
**AWS_REGION** | YES | AWS region where files will be stored (e.g: `us-east-1`).
**REPOSITORY_NAME** | NO | Repository name to checkout during task process.
**CONTAINER_URL** | NO | Container url reference (e.g `stackspot/image`)
**PATH_TO_MOUNT** | NO | Path provided to be used as a volume within the docker image that will be used with terraform
**RUN_TASK_ID** | YES | StackSpot Runtime task id to be executed, according to [runtime-manager-action](https://github.com/stack-spot/runtime-manager-action).
**BASE_PATH_OUTPUT** | NO | Folder path to save the iac.zip generated by the action.
**CHECKOUT_BRANCH** | NO | Whether or not checkout is enabled. (default: `'false'`)

* * *

## License

[Apache License 2.0](https://github.com/stack-spot/runtime-github-action-iac/blob/main/LICENSE)