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.

ParameterDescriptionTypeDefaultPossible Values
--krkn-kubeconfigSets the path where krkn will search for kubeconfig (in container)string/home/krkn/.kube/config
--disable-image-signatureDisables workload image signature verification before deploymentbooleanFalse
--generate-pdf-reportGenerates a PDF report summarizing the chaos run results at the end of each scenarioenumTrueTrue/False
--krkn-debugEnables debug mode for KrknenumFalseTrue/False

Cerberus

Cluster health monitoring integration. See Cerberus config for full details.

ParameterDescriptionTypeDefaultPossible Values
--cerberus-enabledEnables Cerberus SupportenumFalseTrue/False
--cerberus-urlCerberus http urlstringhttp://0.0.0.0:8080

Performance Monitoring

Prometheus metrics collection and alert evaluation. See Performance Monitoring config for full details.

ParameterDescriptionTypeDefaultPossible Values
--prometheus-urlPrometheus url for when running on kuberenetesstring""
--prometheus-tokenPrometheus bearer token for prometheus url authenticationstring""
--uuidsets krkn run uuid instead of generating itstring""
--capture-metricsEnables metrics captureenumFalseTrue/False
--enable-alertsEnables cluster alerts checkenumFalseTrue/False
--alerts-pathAllows to specify a different alert file pathstringconfig/alerts.yaml
--alerts-run-duringPrometheus alert health-check phasesstringduring
--alerts-exit-on-failureFail on critical or error alert health-check failuresenumFalseTrue/False
--alerts-only-failuresInclude only failed alert evaluations in telemetry and reportsenumFalseTrue/False
--metrics-pathAllows to specify a different metrics file pathstringconfig/metrics-aggregated.yaml
--check-critical-alertsEnables checking for critical alertsenumFalseTrue/False

Resiliency Score

Resiliency scoring configuration. See Resiliency Score config for full details.

ParameterDescriptionType
--resiliency-scoreThe system outputs a detailed resiliency score as a single-line JSON object, facilitating easy aggregation across multiple test scenarios.boolean
--disable-resiliency-scoreDisables resiliency score calculation entirelyboolean
--resiliency-filePath to a YAML file containing SLO definitions for resiliency scoring, defaults to the alerts profile or config/alerts.yamlfile

Elastic

Elasticsearch storage for telemetry and metrics. See Elastic config for full details.

ParameterDescriptionTypeDefaultPossible Values
--enable-esEnables elastic search data collectionenumFalseTrue/False
--es-run-tagElasticsearch run tag to compare similar runsstring""
--es-serverElasticsearch instance URLstringhttp://0.0.0.0
--es-portElasticsearch instance portnumber443
--es-usernameElasticsearch instance usernamestringelastic
--es-passwordElasticsearch instance passwordstring""
--es-verify-certsEnables elasticsearch TLS certificate verificationenumFalseTrue/False
--es-metrics-indexIndex name for metrics in Elasticsearchstringkrkn-metrics
--es-alerts-indexIndex name for alerts in Elasticsearchstringkrkn-alerts
--es-telemetry-indexIndex name for telemetry in Elasticsearchstringkrkn-telemetry

Tunings

Execution timing and iteration controls. See Tunings config for full details.

ParameterDescriptionTypeDefaultPossible Values
--wait-durationwaits for a certain amount of time after the scenarionumber1
--iterationsnumber of times the same chaos scenario will be executednumber1
--daemon-modeif set the scenario will execute foreverenumFalseTrue/False

Telemetry

Run data collection and upload settings. See Telemetry config for full details.

ParameterDescriptionTypeDefaultPossible Values
--telemetry-enabledEnables telemetry supportenumFalseTrue/False
--telemetry-api-urlAPI endpoint for telemetry datastringhttps://ulnmf9xv7j.execute-api.us-west-2.amazonaws.com/produ...
--telemetry-usernameUsername for telemetry authenticationstringredhat-chaos
--telemetry-passwordPassword for telemetry authenticationstring""
--telemetry-prometheus-backupEnables Prometheus backup for telemetryenumTrueTrue/False
--telemetry-full-prometheus-backupEnables full Prometheus backup for telemetryenumFalseTrue/False
--telemetry-backup-threadsNumber of threads for telemetry backupnumber5
--telemetry-archive-pathPath to save telemetry archivestring/tmp
--telemetry-max-retriesMaximum retries for telemetry operationsnumber0
--telemetry-run-tagTag for telemetry runstringchaos
--telemetry-groupGroup name for telemetry datastringdefault
--telemetry-archive-sizeMaximum size for telemetry archives in KBnumber1000
--telemetry-logs-backupEnables logs backup for telemetryenumFalseTrue/False
--telemetry-filter-patternFilter pattern for telemetry logsstring["(\\w{3}\\s\\d{1,2}\\s\\d{2}:\\d{2}:\\d{2}\\.\\d+).+","kini...
--telemetry-cli-pathPath to telemetry CLI tool (oc)string""
--telemetry-events-backupEnables events backup for telemetryenumTrueTrue/False

Health Checks

Application endpoint monitoring during chaos. See Health Checks config for full details.

ParameterDescriptionTypeDefaultPossible Values
--health-check-intervalHow often to check the health check urls (seconds)number2
--health-check-urlUrl to check the health ofstring""
--health-check-authAuthentication tuple to authenticate into health check URLstring""
--health-check-bearer-tokenBearer token to authenticate into health check URLstring""
--health-check-exitExit on failure when health check URL is not able to connectenumFalseTrue/False
--health-check-verifySSL Verification to authenticate into health check URLenumFalseTrue/False
--health-check-run-duringWhen to run health checks: pre (before chaos), during (continuous), post (after chaos), or combination like [pre,post]stringduring
--health-check-only-failuresOnly create telemetry records for failed health checksenumFalseTrue/False

Virt Checks

KubeVirt VMI SSH connection monitoring during chaos. See Virt Checks config for full details.

ParameterDescriptionTypeDefaultPossible Values
--kubevirt-check-intervalHow often to check the KubeVirt VMs SSH status (seconds)number2
--kubevirt-namespaceKubeVirt namespace to check the health ofstring""
--kubevirt-nameKubeVirt regex names to check VMsstring""
--kubevirt-only-failuresKubeVirt checks only report if failure occursenumFalseTrue/False/true/false
--kubevirt-disconnectedKubeVirt checks in disconnected mode, bypassing the cluster APIenumFalseTrue/False/true/false
--kubevirt-ssh-nodeKubeVirt backup node to SSH into when checking VMI IP address statusstring""
--kubevirt-exit-on-failureKubeVirt fails run if vms still have false statusenumFalseTrue/False/true/false
--kubevirt-node-nameOnly track VMs in KubeVirt on given node namestring""
--kubevirt-label-selectorLabel selector to filter VMs in KubeVirtstring""

General

Parameters found in the source that no section above covers.

ParameterDescriptionTypeDefaultPossible Values
--generate-html-reportGenerate an interactive HTML summary report after the chaos runenumTrueTrue/False

Triggers

Parameters found in the source that no section above covers.

ParameterDescriptionTypeDefaultPossible Values
--trigger-commandShell 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-rcExpected shell command exit code for the trigger to be considered satisfiednumber0
--triggers-modeHow multiple trigger conditions are combinedenumall_ofall_of/any_of
--triggers-timeoutMaximum time in seconds to wait for trigger conditions before applying on-timeout behaviornumber300
--triggers-intervalPolling interval in seconds while waiting for trigger conditionsnumber5
--triggers-on-timeoutBehavior when trigger conditions are not met before timeoutenumskipskip/fail/run_anyway
--trigger-http-urlURL to poll for the HTTP triggerstring""
--trigger-http-methodHTTP method to use (GET, POST, etc.)stringGET
--trigger-http-expected-statusExpected HTTP status codenumber200
--trigger-http-bearer-tokenBearer token for HTTP authenticationstring (secret)""
--trigger-http-body-containsSubstring expected in the HTTP response bodystring""
--trigger-k8s-api-versionKubernetes API version for the resource to watch (e.g. apps/v1, kubevirt.io/v1). Required when using a k8s trigger condition.string""
--trigger-k8s-kindKubernetes resource kind to watch (e.g. Deployment, Pod, VirtualMachineInstanceMigration)string""
--trigger-k8s-namespaceNamespace of the resource to watch. Leave empty for cluster-scoped resources like Nodes.string""
--trigger-k8s-nameName of the specific Kubernetes resource to watchstring""
--trigger-k8s-conditionCondition expression to evaluate against the resource (e.g. status.phase == Running, status.readyReplicas >= 1)string""
--trigger-prom-queryPromQL expression for the prometheus trigger. Chaos begins only after the query returns a non-empty result. Leave empty to disable.string""
--trigger-prom-urlPrometheus API URL used by the prometheus trigger condition. Required when trigger-prom-query is set.string""
--trigger-prom-tokenOptional bearer token for authenticating the prometheus trigger against prometheus-urlstring (secret)""

Object State Checks

Parameters found in the source that no section above covers.

ParameterDescriptionTypeDefaultPossible Values
--object-state-check-intervalHow often to check object states (seconds)number2
--object-state-check-run-duringWhen to run checks: pre (before chaos), during (continuous), post (after chaos), or combination like [pre,during]stringduring
--object-state-check-exit-on-failureExit on failure when object state check failsenumFalseTrue/False
--object-state-check-only-failuresOnly create telemetry records for failed object state checksenumFalseTrue/False
--object-state-check-nameName of the object state check (e.g., etcd-ready-pods)string""
--object-state-check-kindKubernetes resource kind to check (Pod, Deployment, StatefulSet, DaemonSet, ReplicaSet, Service, Job, etc.)stringPod
--object-state-check-object-nameName or regex pattern of objects to check (leave empty for all)string""
--object-state-check-namespaceKubernetes namespace to check objects instringdefault
--object-state-check-label-selectorKubernetes label selector to filter objects (e.g., app=nginx)string""
--object-state-check-condition-typeKubernetes condition type to check (Ready, Available, Progressing, etc.)stringReady
--object-state-check-condition-statusExpected status for the condition (True, False, or Unknown)enumTrueTrue/False/Unknown