This GitHub Action installs and configures the Windsor CLI for use in GitHub Actions workflows.
- Description: Git reference to build Windsor CLI from source or version tag to download
- Required: No
- Default: Latest stable release
- Example:
main,v1.0.0,1234abc
- Description: The context to use for Windsor CLI commands
- Required: No
- Default:
"local" - Example:
"production","staging"
- Description: The working directory for Windsor CLI commands
- Required: No
- Default:
""(current directory) - Example:
".windsor/.tf_modules/cluster/talos"
- Description: Only install the CLI without initializing context or injecting environment variables
- Required: No
- Default:
"false"
- Description: Whether to inject decrypted secrets into environment variables
- Required: No
- Default:
"false"
steps:
- name: Install Windsor CLI
uses: windsorcli/action@v1
with:
ref: v1.0.0
context: local
workdir: .windsor/.tf_modules/cluster/talosThe action automatically detects and masks secrets in your workflow:
- Detects environment variables in your windsor.yaml that use the
${{ }}syntax - Uses GitHub Actions' built-in secret masking to prevent secrets from appearing in logs
- Only logs variable names, never their values
- Maintains a minimal logging footprint to reduce potential information exposure
- Reduces the threat surface by only using actions/github-script with a pinned SHA
NOTE: When using third party actions, you should ALWAYS reference them explicitly by their SHA. Furthermore, it's expected that you have performed your own threat modeling on systems in which this mechanism is used. See Security hardening for GitHub Actions for more information.
name: CI
on:
push:
jobs:
windsorcli:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.11.4
terraform_wrapper: false
- name: Install Windsor CLI
uses: ./
with:
ref: v1.0.0
context: local
workdir: terraform/cluster/eksThis project is licensed under the MIT License - see the LICENSE file for details.