Skip to content

Clarify Fleet Server connectivity requirement in the “Remote Elasticsearch output” doc#5108

Open
vishaangelova wants to merge 3 commits intomainfrom
4026-clarify-remote-es-output
Open

Clarify Fleet Server connectivity requirement in the “Remote Elasticsearch output” doc#5108
vishaangelova wants to merge 3 commits intomainfrom
4026-clarify-remote-es-output

Conversation

@vishaangelova
Copy link
Contributor

@vishaangelova vishaangelova commented Feb 11, 2026

Summary

This PR:

  • Clarifies the Fleet Server to remote cluster connectivity requirement
  • Adds a step for configuring SSL CA
  • Updates the stepper to use step titles
  • Adds an applies_to for a feature configuration, and removes incorrect use of serverless in an in-line applies_to (remote ES output is not available in Serverless)

Resolves #4026

Preview

reference/fleet/remote-elasticsearch-output.md

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Cursor 2.4.31 with claude-4.5-sonnet

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

🔍 Preview links for changed docs

- Clarified the Fleet Server to remote cluster connectivity requirement
- Added step for configuring SSL CA
- Updated stepper to use step titles
@vishaangelova vishaangelova force-pushed the 4026-clarify-remote-es-output branch from ecf55f6 to 8823f2e Compare February 11, 2026 17:19
Copy link
Contributor

@eedugon eedugon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments shared!

- **Server SSL certificate authorities**: Add the certificate authority (CA) used to sign the remote {{es}} cluster's SSL certificate. This allows {{fleet-server}} to validate the remote cluster's certificate.
- **Client SSL certificate** (optional): Add a client certificate if the remote {{es}} cluster requires mutual TLS (mTLS) authentication.
- **Client SSL certificate key** (optional): Add the private key for the client certificate.
Expand the **Authentication** section, then paste the certificate content into the **Server SSL certificate authorities** field.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new UI also allows to configure a path instead of the content of the CA. I mention it because you are mentioning it in all other places with alternatively, .....

Comment on lines +121 to +122
- **Client SSL certificate**: Paste the client certificate content that {{agents}} will use to authenticate with the remote cluster.
- **Client SSL certificate key**: Paste the private key content associated with the client certificate.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sane as before, the new UI also allows setting paths instead of the content of the cert and key. So they could use /path/to/client-cert.pem and /path/to/client-cert.key.

Co-authored-by: Edu González de la Herrán <25320357+eedugon@users.noreply.github.com>
These limitations apply to remote {{es}} output:

* {{fleet-server}} must be able to reach the remote {{es}} cluster with a service token to create API keys for any {{agents}} that use the remote {{es}} output.
* At least one {{fleet-server}} must be able to reach the remote {{es}} cluster with a service token to generate API keys for the {{agents}} that use the remote output for data ingestion.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All need to be able to reach, otherwise a request could be routed to one that cannot and that will fail. There is no internal routing that knows which one can access and which one cannot. So they all must be able to reach the remote ES cluster.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote that comment, before I got to the bottom. The at least one is still not correct here, but it doesn't have to be all of them. It must accessible by all Fleet Servers that the Elastic Agent's in that policy that will access the remote ES. This ties into defining the URL to the Fleet Server. If the Fleet Servers that the Elastic Agent's will communicate with all need to have access to the remote ES cluster.

If 2 of the Fleet Servers are used for a separate network and those agents are never going to connect to those Fleet Servers and are never going to communicate with that remote ES, then it doesn't need to have access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Website]: Improve documentation for Fleet -> remote Elasticsearch output

3 participants