GitHub Action
Setup Kubeconform
A GitHub Action that sets up the commandline-based Kubernetes manifest validation tool Kubeconform. The tool will be downloaded from the Kubeconform releases page, installed, and added to the PATH
environment variable automatically. All operating systems and architectures are supported for released artifacts.
NOTE: Instead of using this action, you may want to run Kubeconform in a container. Refer to the documentation for more information.
It's recommended to use the action as a single setup step. Subsequent steps can directly call the executable. There are no limitation to the options that can be provided to the kubeconform
command. The following example shows its usage.
name: Validate Kubernetes manifests
on: [push, pull_request]
jobs:
kubeconform:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Kubeconform
uses: bmuschko/setup-kubeconform@v1
- name: Validate manifests
run: kubeconform -summary -verbose .
See the Kubeconform usage page for more information on available flags, or run kubeconform --help
to render the list of flags in the console to craft your command.
The action defines inputs and outputs. The inputs let you drive the runtime behavior of the action. The outputs retrieve values populated after executing the action.
Parameter | Required | Default Value | Description |
---|---|---|---|
kubeconform-version |
false |
0.6.3 |
The version of the Kubeconform to be installed. The provided string should not include the prefix v . |
Parameter | Description |
---|---|
installation-path |
The installation path of Kubeconform, empty if it couldn't be installed. |
The following example shows the use of both inputs and outputs. Here, the default version of Kubeconform has been switched to 0.6.1. The workflow adds a step that renders the installation path after the Kubeconform executable has been installed.
jobs:
kubeconform:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Kubeconform
id: setup-kubeconform
uses: bmuschko/setup-kubeconform@v1
with:
kubeconform-version: '0.6.1'
- name: Print Kubeconform installation path
env:
KUBECONFORM_INSTALLATION_PATH: ${{ steps.setup-kubeconform.outputs.installation-path }}
run: |
echo "Kubeconform installed..."
echo "Installation path: ${KUBECONFORM_INSTALLATION_PATH}"
shell: bash