CLI Reference
On this page
The Launch Kit binary is invoked as l8k and exposes a set of subcommands. l8k --help and l8k <subcommand> --help print labelled flag groups identical to the sections below.
Global Flags
Available on all subcommands:
Flag |
Description |
|---|---|
|
Output format: |
|
Auto-confirm all prompts. Implied by |
|
Suppress informational output. |
|
Log level: |
|
Write logs to file instead of stderr. |
|
Show help. |
l8k discover
Probes cluster hardware and writes a cluster-config.yaml.
Flag |
Description |
|---|---|
|
Path to kubeconfig file (falls back to |
|
Base config to merge with discovered hardware. If |
|
Output path for the discovered cluster configuration. Defaults to |
|
Override the Network Operator namespace (default: |
|
Pin discovery to a Network Operator release line. Supported: |
|
Filter nodes for discovery by label. Default: |
|
Image pull secret names for NicClusterPolicy (comma-separated). |
|
Comma-separated list of plugins to enable (default: |
l8k generate
Renders Kubernetes manifests from a cluster configuration and a profile selection. Optionally deploys them.
Profile Selection
Flag |
Description |
|---|---|
|
Cluster configuration file. Auto-detected from |
|
Generate for a hardware preset without running discovery. Requires |
|
Fabric type: |
|
Deployment type: |
|
Enable multirail deployment. Auto-defaults to |
|
Enable Spectrum-X. Value is the SPC-X RA version: |
|
Multiplane mode: |
|
Number of planes: |
|
Pin to a Network Operator release line. Supported: |
|
Restrict output to the named source groups (comma-separated, matched case-sensitively against |
|
Restrict output to source groups whose |
|
Node selector for the synthesized |
Output and Deployment
Flag |
Description |
|---|---|
|
Output directory for generated YAML files (default: |
|
Apply generated manifests to the cluster. |
|
Preview deployment without applying (requires |
|
Path to kubeconfig (required with |
Customization
Flag |
Description |
|---|---|
|
Enable DOCA driver deployment. |
|
Path to a custom workload manifest. Launch Kit patches network annotations, resource requests, and node affinity. See Generate Workflow. |
|
Image pull secret names for NicClusterPolicy (comma-separated). Propagates to per-group NicNodePolicy sub-specs. |
|
Override the Network Operator namespace. |
|
Namespace for pods and network resources. |
|
Comma-separated list of plugins to enable (default: |
l8k deploy
Applies previously generated manifests to the cluster in four phases: NicClusterPolicy first (await ready), per-group NicNodePolicy (await each), all remaining CRs in one batch (controllers reconcile concurrently), then verify every manifest reached a terminal state. Example workload manifests (*example*) are skipped here — they’re applied by l8k validate --connectivity / l8k deploy --verify as part of the data-plane phase. See Deploy Workflow for the full deployment-ordering description.
Flag |
Description |
|---|---|
|
Path to kubeconfig (falls back to |
|
Directory containing the manifests to apply (default: |
|
End-to-end wall-clock budget for the apply + reconciliation phase (e.g., |
|
After a successful apply, chain the connectivity matrix (same flow as |
|
Preview what would be applied without changing the cluster. |
l8k validate
Verifies a deployment by running four checks back-to-back: Network Operator Helm release version (compared against networkOperator.selectedRelease in cluster-config.yaml); per-component version cross-check that walks the live NicClusterPolicy + NicNodePolicy and confirms each section’s .version field matches the catalog (catches out-of-band edits and partial upgrades the Helm check misses); per-manifest state classification (READY / IN-PROGRESS / ERROR / MISSING via the per-Kind validator registry); and a data-plane connectivity matrix (apply the example DaemonSet, ping every rail across every pod pair). Writes a self-contained HTML report to <deployment-files>/verify-report.html by default. Exits 4 on any missing/error manifest, Helm-version mismatch, component-version mismatch, or connectivity-matrix failure. See Validate Workflow for full details.
Flag |
Description |
|---|---|
|
Path to kubeconfig (falls back to |
|
Cluster config file. Lookup order: explicit path → |
|
Directory containing the manifests to verify (default: |
|
Run the data-plane ping matrix. Default |
|
Wall-clock budget for the connectivity phase (default: |
|
Number of ICMP echoes per |
|
Leave the test DaemonSet running after |
|
Block validate up to this duration waiting for in-progress manifests to reach a terminal state. |
|
Write the HTML report to this path. Empty (default) writes to |
l8k preset list
Lists locally available cluster topology presets.
l8k preset list
l8k preset update
Downloads the latest presets from a Git repository.
Flag |
Description |
|---|---|
|
Git repository URL. |
|
Branch or tag to fetch from (default: |
|
Subdirectory within the repo containing presets. |
See Cluster Topology Presets for usage.
l8k sosreport
Collects diagnostic data from the cluster.
Flag |
Description |
|---|---|
|
Path to kubeconfig (falls back to |
|
Directory to save the sosreport (default: |
See Troubleshooting for analysis guidance.
l8k schema
Outputs a JSON description of l8k’s capabilities — supported commands, fabrics, deployment types, exit codes, and output formats. Used by AI agents and automation tooling to discover l8k capabilities programmatically. See Automation and CI/CD.
l8k schema
l8k version
Prints the version. Supports --output json for structured output.
Exit Codes
Code |
Meaning |
|---|---|
0 |
Success. |
1 |
General error. |
2 |
Validation error (invalid flags or configuration). |
3 |
Cluster error (API unreachable, discovery failed). |
4 |
Deployment error (apply failed). |
5 |
Partial success (discovery completed but deployment failed). |
See Also
Configuration Reference —
l8k-config.yamlschemaAutomation and CI/CD — JSON output and exit-code-driven retries
Overview — the meaning behind the flags