conduitctl
conduitctl runs a local Conduit with one command and helps connect agents
to it. It needs only Docker: the quickstart’s compose files are built into
the binary, and the released, signed images are pulled.
Install
Download the archive for your platform from the
latest release, check
it, and put conduitctl on your PATH:
# Linux and macOS; pick linux|darwin and amd64|arm64
V=v0.2.0 OS=darwin ARCH=arm64
curl -LO https://github.com/tjscanlan/conduit/releases/download/$V/conduitctl_${V}_${OS}_${ARCH}.tar.gz
curl -LO https://github.com/tjscanlan/conduit/releases/download/$V/SHA256SUMS
curl -LO https://github.com/tjscanlan/conduit/releases/download/$V/SHA256SUMS.sigstore.json
cosign verify-blob SHA256SUMS --bundle SHA256SUMS.sigstore.json \
--certificate-identity "https://github.com/tjscanlan/conduit/.github/workflows/release.yml@refs/tags/$V" \
--certificate-oidc-issuer https://token.actions.githubusercontent.com # optional, recommended
shasum -a 256 -c SHA256SUMS --ignore-missing
tar -xzf conduitctl_${V}_${OS}_${ARCH}.tar.gz && sudo mv conduitctl_${V}_${OS}_${ARCH}/conduitctl /usr/local/bin/
Or, with Go: go install github.com/tjscanlan/conduit/cmd/conduitctl@latest.
conduitctl ships with v0.2.0 and later (v0.1.0 has no binaries, and its
images lack the quickstart’s conduit-init and conduit-demo-agent).
From a checkout, make quickstart runs the same stack.
Commands
| Command | What it does |
|---|---|
conduitctl quickstart |
Writes the compose bundle and generated secrets to ~/.conduit/quickstart, starts the stack, waits for health and the first demo trace, and prints the UI login and the CONDUIT_* settings for your agent. Running it again restarts with the same data and credentials. |
conduitctl status |
Shows the services, the login, and the settings again. |
conduitctl agent-cert NAME |
Issues a client certificate for agent NAME, signed by the quickstart’s CA, and prints how to use it. Valid existing certificates are kept. |
conduitctl doctor |
Checks Docker (running, Compose v2, at least 2 GiB of memory), free ports, every service’s health, the UI, the gateway (an mTLS call as my-agent), and that demo data reached ClickHouse. Each failure says what to do. |
conduitctl down |
Stops the stack, keeping data and credentials. |
conduitctl reset |
Stops the stack and deletes its data and credentials. |
conduitctl version |
Prints the version; images default to the same tag. |
Flags (all commands): -dir (default ~/.conduit/quickstart), -ui-port
(default 8080), -gateway-port (default 4317), -images (image tag; default
is the CLI’s own version), and -no-demo (skip the simulated demo-agent).
Things to know
- Local evaluation only: the CA key sits next to the certificates it
signs, and only
127.0.0.1ports are opened. For anything shared, see Deployment. - One local stack at a time:
conduitctlandmake quickstartrun the same compose project (conduit-quickstart) and share its data volumes. Sodocker compose -p conduit-quickstart logs gatewayworks with either. - Keep
-dirunder your home directory: Docker Desktop and Colima share only some host folders with containers, usually your home. - Development builds: a
conduitctlbuilt from a checkout reports versiondevand needs-images.scripts/build-quickstart-images.sh ci-localbuilds every image locally for-images ci-local; CI tests the CLI this way.