https://github.com/stack-spot/runtime-deploy-action
StackSpot Action to perform DEPLOY Self Hosted run task processes
https://github.com/stack-spot/runtime-deploy-action
github-actions runtime self-hosted stackspot
Last synced: 10 months ago
JSON representation
StackSpot Action to perform DEPLOY Self Hosted run task processes
- Host: GitHub
- URL: https://github.com/stack-spot/runtime-deploy-action
- Owner: stack-spot
- License: apache-2.0
- Created: 2023-08-23T18:20:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T20:24:06.000Z (almost 2 years ago)
- Last Synced: 2024-04-13T10:57:15.683Z (almost 2 years ago)
- Topics: github-actions, runtime, self-hosted, stackspot
- Language: Dockerfile
- Homepage: https://www.stackspot.com/
- Size: 112 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# runtime-deploy-action
[](https://github.com/stack-spot/runtime-github-action-ping/actions/workflows/action-test-ubuntu.yaml)
GitHub action to run StackSpot Runtime Deploy 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: DEPLOY
if: contains( matrix.task.taskType , 'DEPLOY')
uses: stack-spot/runtime-deploy-action@v2.3
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
REPOSITORY_NAME: my-repository-name
RUN_TASK_ID: ${{ matrix.task.runTaskId }}
CONTAINER_URL: my/container-url # not mandatory
FEATURES_TERRAFORM_MODULES: ... # not mandatory
OUTPUT_FILE: outputs_file_name.json # not mandatory
PATH_TO_MOUNT: path/to/mount
LOCALEXEC_ENABLED: true # not mandatory
TF_LOG_PROVIDER: info # 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 resources with be provisioned. Used for tf backend as well (e.g: `us-east-1`).
**RUN_TASK_ID** | YES | StackSpot Runtime task id to be executed, according to [runtime-manager-action](https://github.com/stack-spot/runtime-manager-action).
**REPOSITORY_NAME** | YES | Repository name to checkout during task process.
**CONTAINER_URL** | NO | Container url reference (e.g `stackspot/image`)
**FEATURES_TERRAFORM_MODULES** | NO | List of external terraform modules allowed
**PATH_TO_MOUNT** | YES | Path provided to be used as a volume within the docker image that will be used with terraform
**OUTPUT_FILE** | NO | Filename where outputs will be saved (default value: `outputs.json`)
**LOCALEXEC_ENABLED** | NO | Whether or not terraform will be enable to perform local exec operations or not (default: `false`)
**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).
**CHECKOUT_BRANCH** | NO | Whether or not checkout is enabled. (default: `'false'`)
* * *
## License
[Apache License 2.0](https://github.com/stack-spot/runtime-github-action-deploy/blob/main/LICENSE)