Exec
Executes a bash (Linux) or powershell (Windows) script. The check is considered passing if the script exits with 0
See image-variants
exec.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: exec-pass
spec:
schedule: "@every 5m"
exec:
- name: exec-pass-check
description: "exec dummy check"
script: |
echo "hello"
test:
expr: 'results.stdout == "hello"'
Field | Description | Scheme |
---|---|---|
name* | Name of the check, must be unique within the canary |
|
script* | Script can be a inline script or a path to a script that needs to be executed. On windows executed via Powershell and in darwin and Linux executed using bash | |
checkout | Specify git repository to mount to the exec process | |
connections | Setup connections for the script (e.g.: aws credentials) | |
env | Setup environment variables that are accessible to the exec process | |
description | Description for the check |
|
display | Expression to change the formatting of the display | |
icon | Icon for overwriting default icon on the dashboard | |
labels | Labels for check | map[string]string |
metrics | Metrics to export from | |
test | Evaluate whether a check is healthy | |
transform | Transform data from a check into multiple individual checks |
Exec with an Environment Variables
exec_artifact.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: exec-env
spec:
schedule: "@every 5m"
exec:
- name: exec-env
description: "exec with env"
script: |
echo -n ${FL_HELLO} ${FL_WORLD}
env:
- name: FL_HELLO
value: "hello"
- name: FL_WORLD
value: "world"
test:
expr: 'results.stdout == "hello world"'
Git Checkout
Exec with Checkout
exec_artifact.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: exec-checkout
spec:
schedule: "@every 5m"
exec:
- name: exec-checkout
description: "exec with git"
script: |
cat go.mod | head -n 1
checkout:
url: github.com/flanksource/duty
test:
expr: 'results.stdout == "module github.com/flanksource/duty"'
Field | Description | Scheme |
---|---|---|
destination | Destination is the full path to where the contents of the URL should be downloaded to. If left empty, the sha256 hash of the URL is used as the dir name | |
url |
| |
certificate | ||
username | ||
password |