docker/cli · error
no CA information available
Error message
no CA information available
What it means
Returned by `docker swarm ca` when the swarm's TLS info contains an empty TrustRoot. After a SwarmInspect call, displayTrustRoot prints the cluster's root CA certificate; if ClusterInfo.TLSInfo.TrustRoot is the empty string there is no CA certificate to display, indicating the swarm's CA state was not populated in the inspect response.
Source
Thrown at cli/command/swarm/ca.go:144
err := jsonstream.Display(ctx, pipeReader, dockerCLI.Out())
if err == nil {
err = <-errChan
}
if err != nil {
return err
}
res, err := apiClient.SwarmInspect(ctx, client.SwarmInspectOptions{})
if err != nil {
return err
}
return displayTrustRoot(dockerCLI.Out(), res)
}
func displayTrustRoot(out io.Writer, info client.SwarmInspectResult) error {
if info.Swarm.ClusterInfo.TLSInfo.TrustRoot == "" {
return errors.New("no CA information available")
}
_, _ = fmt.Fprintln(out, strings.TrimSpace(info.Swarm.ClusterInfo.TLSInfo.TrustRoot))
return nil
}
View on GitHub (pinned to e9452d6e78)
Solutions
- Check daemon and API version with `docker version` and upgrade the engine if it predates swarm TLSInfo support (API < 1.30).
- Verify swarm health with `docker info` and `docker node ls` on a manager node.
- If CA rotation is stuck, complete or restart it with `docker swarm ca --rotate`.
- Retry after a few seconds if the swarm was just initialized.
When it happens
Trigger: Running `docker swarm ca` (view mode) when SwarmInspect returns Swarm.ClusterInfo.TLSInfo.TrustRoot == "" — typically against a daemon whose swarm state lacks TLS info, e.g. an older API version that doesn't populate TLSInfo, or a cluster mid-initialization/CA-rotation where the trust root isn't yet committed.
Common situations: Pointing the CLI at an old daemon (TLSInfo added in API 1.30); querying immediately after `docker swarm init` before CA material propagates; a swarm in a broken CA-rotation state; querying a node whose swarm info is incomplete.
Related errors
- node ID not found in /info
- cannot supply extra formatting options to the pretty templat
- role was already set to the requested value
- replicas can only be used with replicated or replicated-job
- replicas-max-per-node can only be used with replicated or re
AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01).
Data as JSON: /data/errors/9f7a673ff37d32c1.json.
Report an issue: GitHub.