47 lines
1.9 KiB
Markdown
47 lines
1.9 KiB
Markdown
# SKE Operations Action
|
|
|
|
This action calls SKE cluster operations from your pipelines.
|
|
|
|
## Usage
|
|
|
|
To use this action in your workflow, reference it as a step.
|
|
|
|
The action assumes that the STACKIT CLI and jq are installed.
|
|
If you're using the [install-stackit-cli action](https://stackit-solutions.git.onstackit.cloud/actions/install-stackit-cli), then these applications will already be installed for you.
|
|
|
|
You also require a STACKIT service account key.
|
|
The key must be tied to a service account which has editor privileges on SKE resources.
|
|
In the following example, the service account key is provided to the runner as a base64-encoded secret.
|
|
|
|
```yaml
|
|
- name: Install STACKIT CLI
|
|
uses: https://stackit-solutions.git.onstackit.cloud/actions/install-stackit-cli@v1
|
|
- name: Set up STACKIT service account
|
|
env:
|
|
SA_KEY_B64: ${{ secrets.STACKIT_SERVICE_ACCOUNT_KEY_B64 }}
|
|
run: |
|
|
set -eo pipefail
|
|
|
|
TMP_SA_KEY_PATH="$(mktemp)"
|
|
echo "Writing STACKIT service account key to $TMP_SA_KEY_PATH"
|
|
|
|
echo "$SA_KEY_B64" | base64 -d > "$TMP_SA_KEY_PATH"
|
|
echo "STACKIT_SERVICE_ACCOUNT_KEY_PATH=$TMP_SA_KEY_PATH" >> "$GITHUB_ENV"
|
|
- name: Hibernate cluster
|
|
uses: https://stackit-solutions.git.onstackit.cloud/actions/ske-operations@v1
|
|
with:
|
|
action: hibernate
|
|
region: eu01
|
|
project-id: 01234567-89ab-cdef-0123-456789abcdef
|
|
cluster-name: foo-cluster
|
|
```
|
|
|
|
## Inputs
|
|
|
|
- `action` (Required): Operation to perform. Must be one of: `wake`, `hibernate`, `reconcile`, `maintenance`.
|
|
- `region` (Required): Data center region of SKE cluster.
|
|
- `project-id` (Required): STACKIT project ID.
|
|
- `cluster-name` (Required): Name of SKE cluster.
|
|
- `timeout-seconds` (Optional): Time in seconds after which target state check fails. Default is `900`.
|
|
- `interval-seconds` (Optional): Time in seconds between target state checks. Default is `5`.
|
|
- `wait` (Optional): Wait until target state of operation has been reached. Default is `true`.
|