Script¶
The script operation provides a means to run a script during the test step.
Tip
By default, the shell used to run the script is sh. You can specify a custom shell and shell arguments to override what and how the shell is invoked.
Configuration¶
The full structure of Script is documented here.
Features¶
| Supported features | |
|---|---|
| Bindings support | |
| Outputs support | |
| Templating support | |
| Operation checks support |
KUBECONFIG¶
- Unless
--no-clusteris specified, Chainsaw always executes commands in the context of a temporaryKUBECONFIG, built from the configured target cluster. - This specific
KUBECONFIGhas a single cluster, auth info and context configured (all namedchainsaw).
Examples¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- script:
content: |
echo "hello chainsaw"
Custom shell and shell arguments¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- script:
# use `bash` shell
shell: bash
# invoke `bash` with `-c`
shellArgs:
- -c
content: |
echo "hello chainsaw"
Operation check¶
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
- script:
content: |
echo "hello chainsaw"
check:
# an error is expected, this will:
# - succeed if the operation failed
# - fail if the operation succeeded
($error != null): true