Deployment orchestrator for the Disentangle Network. Single CLI from infrastructure provisioning through FluxCD bootstrap across OCI, Talos, and bare-metal clusters with post-quantum Nebula mesh overlay.
| Command | Description |
|---|---|
launch-disentangle setup |
Initialize config and verify environment |
launch-disentangle preflight |
Check required tools and credentials |
launch-disentangle infra {init,plan,apply,destroy,output,kubeconfig} |
OCI infrastructure via OpenTofu |
launch-disentangle fleet init |
Initialize GitOps fleet repository |
launch-disentangle fleet status |
Show fleet repo state and clusters |
launch-disentangle cluster add <name> |
Register cluster in fleet |
launch-disentangle cluster import <name> <kubeconfig> |
Import kubeconfig from any source |
launch-disentangle secrets init |
Bootstrap SOPS age keys |
launch-disentangle bootstrap |
FluxCD bootstrap on cluster |
launch-disentangle mesh init |
Initialize Nebula-PQ CA |
launch-disentangle mesh add <name> |
Add node to mesh overlay |
launch-disentangle status |
Show pipeline state and cluster health |
Every command displays next-step hints on completion.
brew install disentangle-network/tap/disentangle-launchFrom source:
go install github.com/disentangle-network/launch@latest~/.config/launch/config.yaml:
oci_region: us-phoenix-1
oci_compartment_id: ocid1.tenancy.oc1..xxx
cloudflare_account_id: xxx
domain: disentangle.network
github_org: disentangle-network
github_user: your-github-username
repos:
k8s_oci_foundation: /path/to/k8s-oci-foundation
deploy: /path/to/deploy
fleet: /path/to/fleet
cluster_name: oci-dev
environment: dev
protocol_image: ghcr.io/disentangle-network/disentangle-node
protocol_version: v0.4.0Secrets (Cloudflare API token) are resolved automatically from 1Password (op://Infrastructure/disentangle/cloudflare), falling back to CLOUDFLARE_API_TOKEN env var.
launch-disentangle setup → preflight → infra plan → infra apply → infra kubeconfig
↓
fleet init → cluster import → cluster add
↓
secrets init → bootstrap → status
↓
mesh init → mesh add
Supports three deployment topologies: OCI cloud (via OpenTofu), Talos bare-metal (via Omni or talosctl), and Raspberry Pi edge nodes. All kubeconfigs merge into ~/.config/launch/kubeconfig.
| Flag | Description |
|---|---|
--config |
Path to config file |
--verbose / -v |
Verbose output |
--dry-run |
Show commands without executing |
--yes / -y |
Non-interactive mode |
Run launch-disentangle preflight to check all prerequisites: tofu/terraform, kubectl, helm, flux, gh, sops, age, nebula-cert.
Apache-2.0