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 DescriptionType DefaultPossible 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 scenarioenum True True/False
--krkn-debug Enables debug mode for Krknenum False True/False

Cerberus

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

Parameter DescriptionType DefaultPossible Values
--cerberus-enabled Enables Cerberus Supportenum False True/False
--cerberus-url Cerberus http urlstring http://0.0.0.0:8080

Performance Monitoring

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

Parameter DescriptionType DefaultPossible Values
--prometheus-url Prometheus url for when running on kuberenetesstring ""
--prometheus-token Prometheus bearer token for prometheus url authenticationstring ""
--uuid sets krkn run uuid instead of generating itstring ""
--capture-metrics Enables metrics captureenum False True/False
--enable-alerts Enables cluster alerts checkenum False True/False
--alerts-path Allows to specify a different alert file pathstring config/alerts.yaml
--metrics-path Allows to specify a different metrics file pathstring config/metrics-aggregated.yaml
--check-critical-alerts Enables checking for critical alertsenum False True/False

Resiliency Score

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

Parameter DescriptionType
--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 entirelyboolean
--resiliency-file Path 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.

Parameter DescriptionType DefaultPossible Values
--enable-es Enables elastic search data collectionenum False True/False
--es-run-tag Elasticsearch run tag to compare similar runsstring ""
--es-server Elasticsearch instance URLstring http://0.0.0.0
--es-port Elasticsearch instance portnumber 443
--es-username Elasticsearch instance usernamestring elastic
--es-password Elasticsearch instance passwordstring ""
--es-verify-certs Enables elasticsearch TLS certificate verificationenum False True/False
--es-metrics-index Index name for metrics in Elasticsearchstring krkn-metrics
--es-alerts-index Index name for alerts in Elasticsearchstring krkn-alerts
--es-telemetry-index Index name for telemetry in Elasticsearchstring krkn-telemetry

Tunings

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

Parameter DescriptionType DefaultPossible Values
--wait-duration waits for a certain amount of time after the scenarionumber 1
--iterations number of times the same chaos scenario will be executednumber 1
--daemon-mode if set the scenario will execute foreverenum False True/False

Telemetry

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

Parameter DescriptionType DefaultPossible Values
--telemetry-enabled Enables telemetry supportenum False True/False
--telemetry-api-url API endpoint for telemetry datastring https://ulnmf9xv7j.execute-api.us-west-2.amazonaws.com/produ...
--telemetry-username Username for telemetry authenticationstring redhat-chaos
--telemetry-password Password for telemetry authenticationstring ""
--telemetry-prometheus-backup Enables Prometheus backup for telemetryenum True True/False
--telemetry-full-prometheus-backup Enables full Prometheus backup for telemetryenum False True/False
--telemetry-backup-threads Number of threads for telemetry backupnumber 5
--telemetry-archive-path Path to save telemetry archivestring /tmp
--telemetry-max-retries Maximum retries for telemetry operationsnumber 0
--telemetry-run-tag Tag for telemetry runstring chaos
--telemetry-group Group name for telemetry datastring default
--telemetry-archive-size Maximum size for telemetry archives in KBnumber 1000
--telemetry-logs-backup Enables logs backup for telemetryenum False True/False
--telemetry-filter-pattern Filter pattern for telemetry logsstring ["(\\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 telemetryenum True True/False

Health Checks

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

Parameter DescriptionType DefaultPossible Values
--health-check-interval How often to check the health check urls (seconds)number 2
--health-check-url Url to check the health ofstring ""
--health-check-auth Authentication tuple to authenticate into health check URLstring ""
--health-check-bearer-token Bearer token to authenticate into health check URLstring ""
--health-check-exit Exit on failure when health check URL is not able to connectenum False True/False
--health-check-verify SSL Verification to authenticate into health check URLenum False True/False

Virt Checks

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

Parameter DescriptionType DefaultPossible Values
--kubevirt-check-interval How often to check the KubeVirt VMs SSH status (seconds)number 2
--kubevirt-namespace KubeVirt namespace to check the health ofstring ""
--kubevirt-name KubeVirt regex names to check VMsstring ""
--kubevirt-only-failures KubeVirt checks only report if failure occursenum False True/False/true/false
--kubevirt-disconnected KubeVirt checks in disconnected mode, bypassing the cluster APIenum False True/False/true/false
--kubevirt-ssh-node KubeVirt backup node to SSH into when checking VMI IP address statusstring ""
--kubevirt-exit-on-failure KubeVirt fails run if vms still have false statusenum False True/False/true/false
--kubevirt-node-name Only track VMs in KubeVirt on given node namestring ""
--kubevirt-label-selector Label selector to filter VMs in KubeVirtstring ""

General

Parameters found in the source that no section above covers.

Parameter DescriptionType DefaultPossible Values
--generate-html-report Generate an interactive HTML summary report after the chaos runenum True True/False

Triggers

Parameters found in the source that no section above covers.

Parameter DescriptionType DefaultPossible 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 satisfiednumber 0
--triggers-mode How multiple trigger conditions are combinedenum all_of all_of/any_of
--triggers-timeout Maximum time in seconds to wait for trigger conditions before applying on-timeout behaviornumber 300
--triggers-interval Polling interval in seconds while waiting for trigger conditionsnumber 5
--triggers-on-timeout Behavior when trigger conditions are not met before timeoutenum skip skip/fail/run_anyway
--trigger-http-url URL to poll for the HTTP triggerstring ""
--trigger-http-method HTTP method to use (GET, POST, etc.)string GET
--trigger-http-expected-status Expected HTTP status codenumber 200
--trigger-http-bearer-token Bearer token for HTTP authenticationstring (secret) ""
--trigger-http-body-contains Substring expected in the HTTP response bodystring ""
--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 watchstring ""
--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-urlstring (secret) ""