CLI Reference¶
Auto-generated from cobra command definitions.
operator-chaos¶
Chaos engineering framework for Kubernetes operators
Synopsis¶
Operator Chaos tests operator reconciliation semantics. It validates that operators recover managed resources correctly after fault injection, not just that pods restart.
Options¶
-h, --help help for operator-chaos
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos analyze¶
Analyze Go source code for fault injection candidates
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos clean¶
Remove all chaos artifacts from the cluster (emergency stop)
Options¶
-h, --help help for clean
--interval duration scan interval when --watch is set (default 1m0s)
--watch continuously scan and clean chaos artifacts
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos controller¶
Controller mode commands
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos controller start¶
Start the ChaosExperiment controller
Synopsis¶
Starts a Kubernetes controller that watches ChaosExperiment CRs and drives them through the experiment lifecycle.
Options¶
--health-addr string health probe bind address (default ":8081")
-h, --help help for start
--knowledge-dir string directory of operator knowledge YAMLs
--leader-elect enable leader election (default true)
--metrics-addr string metrics bind address (default ":8080")
--namespace string namespace to watch (required)
Options inherited from parent commands¶
¶
operator-chaos diff-crds¶
Compare CRD schemas between versions
Synopsis¶
Compare OpenAPI v3 schemas embedded in CRD YAML files. Detects field removals, type changes, enum value changes, defaulting shifts, and API version removals.
Options¶
--format string output format: table, json, yaml (default "table")
-h, --help help for diff-crds
--source-crds string path to source version CRD YAML directory
--target-crds string path to target version CRD YAML directory (required)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos diff¶
Compare two versioned knowledge model directories
Synopsis¶
Structural comparison of operator knowledge models between two versions. Detects renames, namespace moves, webhook changes, and dependency shifts. No cluster access required.
Options¶
--breaking only show breaking changes
--format string output format: table, json, yaml (default "table")
-h, --help help for diff
--source string path to source version knowledge directory (required)
--target string path to target version knowledge directory (required)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos generate¶
Generate code from knowledge models
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos generate chaos¶
Generate a chaos playbook from knowledge models and experiments
Options¶
--danger string danger filter: all, low, medium, high (default "all")
--experiments string experiments directory (required)
-h, --help help for chaos
--knowledge string knowledge directory (required)
--output string output file path (defaults to stdout)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos generate fuzz-targets¶
Generate fuzz test targets from a knowledge model
Options¶
-h, --help help for fuzz-targets
--knowledge string path to knowledge YAML file (required)
--output string output file path (defaults to stdout)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos generate upgrade¶
Generate an upgrade playbook from knowledge directories
Options¶
--discover try to discover OLM channels from cluster (default true)
-h, --help help for upgrade
--namespace string operator namespace (defaults to first model's namespace)
--operator string operator name (defaults to first model's operator)
--output string output file path (defaults to stdout)
--source string source knowledge directory (required)
--target string target knowledge directory (required)
Options inherited from parent commands¶
¶
operator-chaos init¶
Generate a skeleton experiment YAML
Options¶
--component string target component name (required)
-h, --help help for init
--namespace string target namespace (default "default")
--operator string target operator (required)
--type string injection type (PodKill|NetworkPartition|CRDMutation|ConfigDrift|WebhookDisrupt|RBACRevoke|FinalizerBlock|ClientFault|OwnerRefOrphan|QuotaExhaustion|WebhookLatency|NamespaceDeletion|LabelStomping) (default "PodKill")
Options inherited from parent commands¶
¶
operator-chaos playbook¶
Execute upgrade and chaos playbooks
Synopsis¶
Run multi-step playbooks that orchestrate upgrades, chaos experiments, and validation steps. Supports both UpgradePlaybook and ChaosPlaybook kinds.
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos playbook run¶
Execute a playbook (UpgradePlaybook or ChaosPlaybook)
Options¶
--allow-shell Allow kubectl steps with shell commands
--dry-run Print execution plan without running
--force-resume Allow resume without state file
-h, --help help for run
--playbook string Path to playbook YAML (required)
--report-dir string Directory for reports
--resume-from string Resume from failed step
--skip-manual Use autoCheck for manual steps in CI
--state-dir string Directory for state files
--timeout duration Overall timeout (default 1h0m0s)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos preflight¶
Check cluster readiness before running chaos experiments
Synopsis¶
Preflight verifies that all resources declared in an operator knowledge file exist and are healthy on the cluster. Use --local to validate the knowledge file structure without connecting to a cluster.
Options¶
-h, --help help for preflight
--knowledge string path to operator knowledge YAML (required)
--local skip cluster checks, only validate knowledge file
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos report¶
Generate reports from experiment results
Synopsis¶
Reads JSON experiment results from a directory and generates reports in the specified format.
Options¶
--format string output format (summary, json, junit, html, markdown) (default "summary")
-h, --help help for report
--output string output file path (default: stdout for summary/markdown, auto-named file for json/junit/html)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos run¶
Run a chaos experiment
Options¶
--distributed-lock use Kubernetes Lease-based distributed locking
--dry-run validate without injecting
-h, --help help for run
--knowledge stringArray path to operator knowledge YAML (repeatable)
--knowledge-dir string directory of operator knowledge YAMLs
--lock-namespace string namespace for distributed lock leases (default "default")
--max-tier int32 skip experiments above this tier (0 = no filter)
--report-dir string directory for report output
--timeout duration total experiment timeout (default 10m0s)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos simulate-upgrade¶
Simulate an upgrade by computing diff and generating experiments
Synopsis¶
Compares source and target versioned knowledge directories, computes the structural diff, and generates chaos experiments that simulate the effects of each detected change. Use --dry-run to preview the generated experiments without executing them.
Options¶
--component string limit to a specific component
--distributed-lock use Kubernetes Lease-based distributed locking
--dry-run output generated experiments without executing
-h, --help help for simulate-upgrade
--knowledge stringArray path to operator knowledge YAML (for live execution)
--knowledge-dir string directory of operator knowledge YAMLs (for live execution)
--lock-namespace string namespace for distributed lock leases (default "default")
--report-dir string directory for reports
--source string path to source version knowledge directory (required)
--target string path to target version knowledge directory (required)
--timeout duration timeout per experiment (default 10m0s)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos suite¶
Run all experiments in a directory
Options¶
--cooldown duration delay between sequential experiments to allow cluster recovery (e.g. 30s)
--distributed-lock use Kubernetes Lease-based distributed locking
--dry-run validate without running
-h, --help help for suite
--knowledge stringArray path to operator knowledge YAML (repeatable)
--knowledge-dir string directory of operator knowledge YAMLs
--lock-namespace string namespace for distributed lock leases (default "default")
--max-tier int32 skip experiments above this tier (0 = no filter)
--parallel int max concurrent experiments (default 1)
--report-dir string directory for report output
--timeout duration timeout per experiment (default 10m0s)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos types¶
List available injection types
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos upgrade¶
OLM upgrade management and playbook execution
Synopsis¶
Manage operator upgrades via OLM. Subcommands cover the full upgrade lifecycle: discover available channels, trigger single-hop upgrades, monitor in-progress upgrades, and execute multi-step upgrade playbooks.
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos upgrade discover¶
Show available OLM channels and versions for an operator
Options¶
--format string Output format: table, json (default "table")
-h, --help help for discover
--namespace string Subscription namespace (required)
--operator string OLM operator package name (required)
Options inherited from parent commands¶
¶
operator-chaos upgrade monitor¶
Watch an in-progress OLM upgrade
Options¶
-h, --help help for monitor
--namespace string Subscription namespace (required)
--operator string OLM operator package name (required)
--timeout duration Max watch time (default 30m0s)
Options inherited from parent commands¶
¶
operator-chaos upgrade run¶
Execute an upgrade playbook
Options¶
--allow-shell Allow kubectl steps with shell commands
--dry-run Print execution plan without running
--force-resume Allow resume without state file
-h, --help help for run
--playbook string Path to upgrade playbook YAML (required)
--report-dir string Directory for reports
--resume-from string Resume from failed step
--skip-manual Use autoCheck for manual steps in CI
--state-dir string Directory for state files
--timeout duration Overall timeout (default 1h0m0s)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos upgrade trigger¶
Trigger a single OLM channel hop
Options¶
--channel string Target OLM channel (required)
-h, --help help for trigger
--namespace string Subscription namespace (required)
--operator string OLM operator package name (required)
--timeout duration Max wait for CSV ready (default 20m0s)
Options inherited from parent commands¶
¶
operator-chaos validate-version¶
Validate versioned knowledge models against a live cluster
Synopsis¶
Loads all knowledge models from a versioned directory and checks that the expected managed resources exist on the cluster. Useful for verifying that a knowledge directory accurately describes the current cluster state.
Options¶
--format string output format: table or json (default "table")
-h, --help help for validate-version
--knowledge-dir string path to versioned knowledge directory (required)
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos validate¶
Validate experiment or knowledge YAML without running
Options¶
-h, --help help for validate
--knowledge validate an OperatorKnowledge YAML file instead of an experiment
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output
¶
operator-chaos version¶
Print the version
Options¶
Options inherited from parent commands¶
--kubeconfig string path to kubeconfig file
--namespace string target namespace (default "default")
-v, --verbose verbose output