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

  1. Check daemon and API version with `docker version` and upgrade the engine if it predates swarm TLSInfo support (API < 1.30).
  2. Verify swarm health with `docker info` and `docker node ls` on a manager node.
  3. If CA rotation is stuck, complete or restart it with `docker swarm ca --rotate`.
  4. 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


AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01). Data as JSON: /data/errors/9f7a673ff37d32c1.json. Report an issue: GitHub.