ske-operations/README.md
2026-05-05 14:16:44 +02:00

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`.