GitHub action to authenticate and consume StackSpot Run Cloud Platform API.
Note: This action is supported on all runners operating systems (ubuntu, macos, windows)
To get the account keys (CLIENT_ID, CLIENT_KEY and CLIENT_REALM), please login using a ADMIN user on the StackSpot Portal, and generate new keys at https://stackspot.com/en/settings/access-token. The credential needs the role cloud_platform enables to successfully consume the API.
Note: You can generate an application.yaml file, directly on the StackSpot Portal.
steps:
- name: Checkout repositoryuses: actions/checkout@v4.2.1
- name: Deploy repo applicationuses: stack-spot/cloud-deploy-action@mainid: deploywith:
CLIENT_REALM: ${{ secrets.CLIENT_REALM }}CLIENT_ID: ${{ secrets.CLIENT_ID }}CLIENT_KEY: ${{ secrets.CLIENT_KEY }}APPLICATION_FILE: ${{ github.workspace }}/stackspot/application.yamlPARAMETERS: | PLACEHOLDER_1 >> VALUE_1 PLACEHOLDER_2 >> VALUE_2VERBOSE: trueBACKOFF_INITIAL: 10BACKOFF_FACTOR: 2BACKOFF_MAX_RETRIES: 15| Field | Mandatory | Default Value | Observation |
|---|---|---|---|
| CLIENT_ID | YES | N/A | StackSpot Client ID. |
| CLIENT_KEY | YES | N/A | StackSpot Client KEY. |
| CLIENT_REALM | YES | N/A | StackSpot Client Realm. |
| APPLICATION_FILE | YES | N/A | StackSpot application config file (generally in stackspot folder) |
| PARAMETERS | NO | N/A | Placeholder values to replace in APPLICATION_FILE |
| VERBOSE | NO | false | Whether to show extra logs during execution. (e.g: true). |
| BACKOFF_INITIAL | NO | 5 | Initial wait time (in seconds) before retrying deployment status check. |
| BACKOFF_FACTOR | NO | 2 | Multiplicative factor for exponential backoff. |
| BACKOFF_MAX_RETRIES | NO | 10 | Maximum number of retries for deployment status check. |
To test this action on this repository during internal development, please use the setup below, using organization runners in private repositories:
steps:
- name: Checkout repositoryuses: actions/checkout@v4.2.1
- name: Deploy repo applicationuses: stack-spot/cloud-deploy-action@mainid: deploywith:
CLIENT_REALM: stackspot-devCLIENT_ID: ${{ secrets.CLIENT_ID_DEV }}CLIENT_KEY: ${{ secrets.CLIENT_KEY_DEV }}APPLICATION_FILE: ${{ github.workspace }}/stackspot/application.yamlVERBOSE: truePARAMETERS: | ...steps:
- name: Checkout repositoryuses: actions/checkout@v4.2.1
- name: Deploy repo applicationuses: stack-spot/cloud-deploy-action@mainid: deploywith:
CLIENT_REALM: stackspot-stgCLIENT_ID: ${{ secrets.CLIENT_ID_STG }}CLIENT_KEY: ${{ secrets.CLIENT_KEY_STG }}APPLICATION_FILE: ${{ github.workspace }}/stackspot/application.yamlVERBOSE: truePARAMETERS: | ...