{"id":"9f7a673ff37d32c1","repo":"docker/cli","slug":"no-ca-information-available","errorCode":null,"errorMessage":"no CA information available","messagePattern":"no CA information available","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/command/swarm/ca.go","lineNumber":144,"sourceCode":"\n\terr := jsonstream.Display(ctx, pipeReader, dockerCLI.Out())\n\tif err == nil {\n\t\terr = <-errChan\n\t}\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tres, err := apiClient.SwarmInspect(ctx, client.SwarmInspectOptions{})\n\tif err != nil {\n\t\treturn err\n\t}\n\treturn displayTrustRoot(dockerCLI.Out(), res)\n}\n\nfunc displayTrustRoot(out io.Writer, info client.SwarmInspectResult) error {\n\tif info.Swarm.ClusterInfo.TLSInfo.TrustRoot == \"\" {\n\t\treturn errors.New(\"no CA information available\")\n\t}\n\t_, _ = fmt.Fprintln(out, strings.TrimSpace(info.Swarm.ClusterInfo.TLSInfo.TrustRoot))\n\treturn nil\n}\n","sourceCodeStart":126,"sourceCodeEnd":149,"githubUrl":"https://github.com/docker/cli/blob/e9452d6e785f6e365712b9d71bd7517591773c86/cli/command/swarm/ca.go#L126-L149","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":["docker","swarm","tls","certificate-authority"],"analyzedSha":"e9452d6e785f6e365712b9d71bd7517591773c86","analyzedAt":"2026-08-01T07:09:22.474Z","schemaVersion":2}