Krknctl All Scenarios Variables
These variables are to be used for the top level configuration template that are shared by all the scenarios in Krknctl.
Each section below corresponds to a section in the Krkn config reference. Pass flags when running a scenario:
krknctl run <scenario> --<parameter> <value>
Kraken
General run settings. See Kraken config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --krkn-kubeconfig | Sets the path where krkn will search for kubeconfig (in container) | string | /home/krkn/.kube/config | |
| --generate-pdf-report | Generates a PDF report summarizing the chaos run results at the end of each scenario | enum | True | True/False |
| --krkn-debug | Enables debug mode for Krkn | enum | False | True/False |
Cerberus
Cluster health monitoring integration. See Cerberus config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --cerberus-enabled | Enables Cerberus Support | enum | False | True/False |
| --cerberus-url | Cerberus http url | string | http://0.0.0.0:8080 |
Performance Monitoring
Prometheus metrics collection and alert evaluation. See Performance Monitoring config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --prometheus-url | Prometheus url for when running on kuberenetes | string | "" |
|
| --prometheus-token | Prometheus bearer token for prometheus url authentication | string | "" |
|
| --uuid | sets krkn run uuid instead of generating it | string | "" |
|
| --capture-metrics | Enables metrics capture | enum | False | True/False |
| --enable-alerts | Enables cluster alerts check | enum | False | True/False |
| --alerts-path | Allows to specify a different alert file path | string | config/alerts.yaml | |
| --metrics-path | Allows to specify a different metrics file path | string | config/metrics-aggregated.yaml | |
| --check-critical-alerts | Enables checking for critical alerts | enum | False | True/False |
Resiliency Score
Resiliency scoring configuration. See Resiliency Score config for full details.
| Parameter | Description | Type |
|---|---|---|
| --resiliency-score | The system outputs a detailed resiliency score as a single-line JSON object, facilitating easy aggregation across multiple test scenarios. | boolean |
| --disable-resiliency-score | Disables resiliency score calculation entirely | boolean |
| --resiliency-file | Path to a YAML file containing SLO definitions for resiliency scoring, defaults to the alerts profile or config/alerts.yaml | file |
Elastic
Elasticsearch storage for telemetry and metrics. See Elastic config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --enable-es | Enables elastic search data collection | enum | False | True/False |
| --es-run-tag | Elasticsearch run tag to compare similar runs | string | "" |
|
| --es-server | Elasticsearch instance URL | string | http://0.0.0.0 | |
| --es-port | Elasticsearch instance port | number | 443 | |
| --es-username | Elasticsearch instance username | string | elastic | |
| --es-password | Elasticsearch instance password | string | "" |
|
| --es-verify-certs | Enables elasticsearch TLS certificate verification | enum | False | True/False |
| --es-metrics-index | Index name for metrics in Elasticsearch | string | krkn-metrics | |
| --es-alerts-index | Index name for alerts in Elasticsearch | string | krkn-alerts | |
| --es-telemetry-index | Index name for telemetry in Elasticsearch | string | krkn-telemetry |
Tunings
Execution timing and iteration controls. See Tunings config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --wait-duration | waits for a certain amount of time after the scenario | number | 1 | |
| --iterations | number of times the same chaos scenario will be executed | number | 1 | |
| --daemon-mode | if set the scenario will execute forever | enum | False | True/False |
Telemetry
Run data collection and upload settings. See Telemetry config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --telemetry-enabled | Enables telemetry support | enum | False | True/False |
| --telemetry-api-url | API endpoint for telemetry data | string | https://ulnmf9xv7j.execute-api.us-west-2.amazonaws.com/produ... | |
| --telemetry-username | Username for telemetry authentication | string | redhat-chaos | |
| --telemetry-password | Password for telemetry authentication | string | "" |
|
| --telemetry-prometheus-backup | Enables Prometheus backup for telemetry | enum | True | True/False |
| --telemetry-full-prometheus-backup | Enables full Prometheus backup for telemetry | enum | False | True/False |
| --telemetry-backup-threads | Number of threads for telemetry backup | number | 5 | |
| --telemetry-archive-path | Path to save telemetry archive | string | /tmp | |
| --telemetry-max-retries | Maximum retries for telemetry operations | number | 0 | |
| --telemetry-run-tag | Tag for telemetry run | string | chaos | |
| --telemetry-group | Group name for telemetry data | string | default | |
| --telemetry-archive-size | Maximum size for telemetry archives in KB | number | 1000 | |
| --telemetry-logs-backup | Enables logs backup for telemetry | enum | False | True/False |
| --telemetry-filter-pattern | Filter pattern for telemetry logs | string | ["(\\w{3}\\s\\d{1,2}\\s\\d{2}:\\d{2}:\\d{2}\\.\\d+).+","kini... | |
| --telemetry-cli-path | Path to telemetry CLI tool (oc) | string | "" |
|
| --telemetry-events-backup | Enables events backup for telemetry | enum | True | True/False |
Note
For–telemetry-archive-size, the lower the value the higher the number of archive files produced and uploaded (processed by –telemetry-backup-threads simultaneously). For unstable or slow connections, keep this value low and increase –telemetry-backup-threads so that on upload failure only the failed chunk is retried.
Health Checks
Application endpoint monitoring during chaos. See Health Checks config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --health-check-interval | How often to check the health check urls (seconds) | number | 2 | |
| --health-check-url | Url to check the health of | string | "" |
|
| --health-check-auth | Authentication tuple to authenticate into health check URL | string | "" |
|
| --health-check-bearer-token | Bearer token to authenticate into health check URL | string | "" |
|
| --health-check-exit | Exit on failure when health check URL is not able to connect | enum | False | True/False |
| --health-check-verify | SSL Verification to authenticate into health check URL | enum | False | True/False |
Virt Checks
KubeVirt VMI SSH connection monitoring during chaos. See Virt Checks config for full details.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --kubevirt-check-interval | How often to check the KubeVirt VMs SSH status (seconds) | number | 2 | |
| --kubevirt-namespace | KubeVirt namespace to check the health of | string | "" |
|
| --kubevirt-name | KubeVirt regex names to check VMs | string | "" |
|
| --kubevirt-only-failures | KubeVirt checks only report if failure occurs | enum | False | True/False/true/false |
| --kubevirt-disconnected | KubeVirt checks in disconnected mode, bypassing the cluster API | enum | False | True/False/true/false |
| --kubevirt-ssh-node | KubeVirt backup node to SSH into when checking VMI IP address status | string | "" |
|
| --kubevirt-exit-on-failure | KubeVirt fails run if vms still have false status | enum | False | True/False/true/false |
| --kubevirt-node-name | Only track VMs in KubeVirt on given node name | string | "" |
|
| --kubevirt-label-selector | Label selector to filter VMs in KubeVirt | string | "" |
General
Parameters found in the source that no section above covers.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --generate-html-report | Generate an interactive HTML summary report after the chaos run | enum | True | True/False |
Triggers
Parameters found in the source that no section above covers.
| Parameter | Description | Type | Default | Possible Values |
|---|---|---|---|---|
| --trigger-command | Shell command to evaluate before chaos starts. Chaos begins only after this command exits with the expected code. Leave empty to disable triggers. | string | "" |
|
| --trigger-expected-rc | Expected shell command exit code for the trigger to be considered satisfied | number | 0 | |
| --triggers-mode | How multiple trigger conditions are combined | enum | all_of | all_of/any_of |
| --triggers-timeout | Maximum time in seconds to wait for trigger conditions before applying on-timeout behavior | number | 300 | |
| --triggers-interval | Polling interval in seconds while waiting for trigger conditions | number | 5 | |
| --triggers-on-timeout | Behavior when trigger conditions are not met before timeout | enum | skip | skip/fail/run_anyway |
| --trigger-http-url | URL to poll for the HTTP trigger | string | "" |
|
| --trigger-http-method | HTTP method to use (GET, POST, etc.) | string | GET | |
| --trigger-http-expected-status | Expected HTTP status code | number | 200 | |
| --trigger-http-bearer-token | Bearer token for HTTP authentication | string (secret) | "" |
|
| --trigger-http-body-contains | Substring expected in the HTTP response body | string | "" |
|
| --trigger-k8s-api-version | Kubernetes API version for the resource to watch (e.g. apps/v1, kubevirt.io/v1). Required when using a k8s trigger condition. | string | "" |
|
| --trigger-k8s-kind | Kubernetes resource kind to watch (e.g. Deployment, Pod, VirtualMachineInstanceMigration) | string | "" |
|
| --trigger-k8s-namespace | Namespace of the resource to watch. Leave empty for cluster-scoped resources like Nodes. | string | "" |
|
| --trigger-k8s-name | Name of the specific Kubernetes resource to watch | string | "" |
|
| --trigger-k8s-condition | Condition expression to evaluate against the resource (e.g. status.phase == Running, status.readyReplicas >= 1) | string | "" |
|
| --trigger-prom-query | PromQL expression for the prometheus trigger. Chaos begins only after the query returns a non-empty result. Leave empty to disable. | string | "" |
|
| --trigger-prom-url | Prometheus API URL used by the prometheus trigger condition. Required when trigger-prom-query is set. | string | "" |
|
| --trigger-prom-token | Optional bearer token for authenticating the prometheus trigger against prometheus-url | string (secret) | "" |