Skip to content

Conversation

@alexandra5000
Copy link
Contributor

Summary

This PR adds detailed guides for deploying Fleet Server and Elastic Agent, including configuration flags, environment variables, and mutual TLS (mTLS) setup. The new documents provide organized information for various deployment models, ensuring users have access to best practices and prerequisites for successful implementation. Additionally, tips for configuration management and security considerations are included to aid users in effectively managing their deployments.

Closes #4146

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: Claude Sonnet 4.5 via Cursor

@github-actions
Copy link
Contributor

github-actions bot commented Dec 15, 2025

Vale Linting Results

Summary: 11 suggestions found

💡 Suggestions (11)
File Line Rule Message
reference/fleet/_snippets/best-practices-certificates.md 6 Elastic.FutureTense 'will be' might be in future tense. Write in the present tense to describe the state of the product as it is now.
reference/fleet/deploy-elastic-agent.md 57 Elastic.Acronyms 'SHA' has no definition.
reference/fleet/deploy-elastic-agent.md 114 Elastic.Capitalization 'or other outputs' should use sentence-style capitalization.
reference/fleet/deploy-elastic-agent.md 176 Elastic.Capitalization 'output configuration' should use sentence-style capitalization.
reference/fleet/deploy-elastic-agent.md 228 Elastic.Semicolons Use semicolons judiciously.
reference/fleet/deploy-elastic-agent.md 230 Elastic.Capitalization 'Mutual TLS (mTLS) configuration' should use sentence-style capitalization.
reference/fleet/deploy-fleet-server.md 57 Elastic.Acronyms 'SHA' has no definition.
reference/fleet/deploy-fleet-server.md 149 Elastic.Acronyms 'SAN' has no definition.
reference/fleet/deploy-fleet-server.md 217 Elastic.Capitalization 'Mutual TLS (mTLS) configuration' should use sentence-style capitalization.
reference/fleet/install-fleet-managed-elastic-agent.md 45 Elastic.FutureTense 'will also' might be in future tense. Write in the present tense to describe the state of the product as it is now.
reference/fleet/install-fleet-managed-elastic-agent.md 47 Elastic.WordChoice Consider using 'can, might' instead of 'may', unless the term is in the UI.

@alexandra5000
Copy link
Contributor Author

Hi @karenzone - sorry to call you out like this, but would you have some time to review this?

The idea behind the PR is to create new pages that consolidate the (so far a bit scattered) info on Fleet/Agent deployments. The guides are split into sections by connection type. I decided to keep the platform-specific guides as separate pages and added links to the new pages where I thought it was relevant.

I was mostly working based on the existing docs and configuration examples, so in reality I didn't write a lot of truly "new" content, but still I feel like someone with Agent/Fleet experience should take a look at this - that's why I'm asking you 🙂

@alexandra5000 alexandra5000 marked this pull request as ready for review December 16, 2025 10:11
@alexandra5000 alexandra5000 requested a review from a team as a code owner December 16, 2025 10:11
@karenzone
Copy link
Contributor

Hi @karenzone - sorry to call you out like this, but would you have some time to review this?

@alexandra5000, I am OOO tomorrow, and returning on Thursday. I can review then.

Copy link
Contributor

@karenzone karenzone left a comment

Choose a reason for hiding this comment

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

@alexandra5000, made a first pass to get a sense of what's going on here. I will make another pass tomorrow with some suggestions.

I understand why you placed these new topics where you did in the TOC. As they're so similar, I'm wondering if they should be closer together to reinforce that these two tasks are quite similar. I'll kick that around a bit.

@alexandra5000
Copy link
Contributor Author

@karenzone the problem I had with this is that the only logical place to put them together would be at the very top level (same as deployment-models.md, for example). I didn't feel like they belonged so high up though - this is more suitable for general or more abstract/informational pages IMO.

I'm looking forward to hearing your thoughts on this!

@vishaangelova
Copy link
Contributor

vishaangelova commented Dec 19, 2025

Hey @alexandra5000 — we merged the PR adding applies_to tags to ingest-docs (#3238), which caused a number of conflicts in this PR. (Sorry about that!)

When you address the merge conflicts, please take into account the changes in #3238 as they have already been reviewed and approved by @karenzone and @bmorelli25.

@karenzone
Copy link
Contributor

karenzone commented Dec 22, 2025

The book has outgrown its initial IA, and is tricky to add to. This PR could benefit from more pre-IA analysis with regard to the approach and location.

Fleet Server is an Elastic Agent with additional capabilities enabled, and the settings are similar for both. Maintaining the same content in two different places sets us up for content diverging. We have some capabilities for single sourcing content, and that approach is worth considering.

AI tends to be wordier than needed, and leans toward admonitions instead of normal content. Worth a look in context of this PR.

@alexandra5000
Copy link
Contributor Author

alexandra5000 commented Dec 30, 2025

@vishaangelova Conflicts resolved, I paid attention to keep what you had in your PR 🫡

@karenzone Right, good points all. I made some changes to the content itself and the placement. I've also added some snippets to hopefully make it easier to maintain. I'm still thinking about other good ways to single-source the content.

Comment on lines +3 to +4
applies_to:
stack: ga
Copy link
Contributor

@vishaangelova vishaangelova Jan 6, 2026

Choose a reason for hiding this comment

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

Let’s remove this as the applies_to in the metadata for this file is already added on lines 7-9 (current line numbering)

Suggested change
applies_to:
stack: ga

Comment on lines +10 to +12
sub:
component_name: "Elastic Agent"
component_ref: "{{agent}}"
Copy link
Contributor

@vishaangelova vishaangelova Jan 6, 2026

Choose a reason for hiding this comment

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

I don’t think you need to define the sub here, it’s not a local substitution, it’s already in the docs-content’s docset.yml: https://github.com/elastic/docs-content/blob/main/docset.yml#L134

So it would be enough to just use {{agent}} as a sub across all of the docs.

Comment on lines +5 to +6
applies_to:
stack: ga
Copy link
Contributor

Choose a reason for hiding this comment

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

Regardless of how the agent is deployed on the host, you can use that agent with a Serverless project… With my current understanding of using applies_to in the frontmatter, I think here it should also include Serverless.

Suggested change
applies_to:
stack: ga
applies_to:
stack: ga
serverless: ga

Comment on lines +3 to +4
mapped_pages:
- https://www.elastic.co/guide/en/fleet/current/deploy-elastic-agent.html
Copy link
Contributor

@vishaangelova vishaangelova Jan 6, 2026

Choose a reason for hiding this comment

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

This page did not exist in previous doc versions, so you don’t need to add mapped_pages.

Suggested change
mapped_pages:
- https://www.elastic.co/guide/en/fleet/current/deploy-elastic-agent.html

Comment on lines +10 to +12
sub:
component_name: "Fleet Server"
component_ref: "{{fleet-server}}"
Copy link
Contributor

@vishaangelova vishaangelova Jan 6, 2026

Choose a reason for hiding this comment

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

Similarly to my comment for the other doc, this sub is already defined in docs-content’s docset.yml: https://github.com/elastic/docs-content/blob/main/docset.yml#L137

You can just use {{fleet-server}} as a sub across all of the docs.

Comment on lines +3 to +4
mapped_pages:
- https://www.elastic.co/guide/en/fleet/current/deploy-fleet-server.html
Copy link
Contributor

Choose a reason for hiding this comment

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

Similarly to my previous comment:

Suggested change
mapped_pages:
- https://www.elastic.co/guide/en/fleet/current/deploy-fleet-server.html

Comment on lines +5 to +6
applies_to:
stack: ga
Copy link
Contributor

Choose a reason for hiding this comment

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

This should probably say serverlesss: unavailable because self-managed Fleet Server is not available on Serverless.

Suggested change
applies_to:
stack: ga
applies_to:
stack: ga
serverless: unavailable

Copy link
Contributor

Choose a reason for hiding this comment

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

I don’t agree with the deletions in this file. Let’s discuss this.

* When using the **Advanced** option, its recommended to generate a unique service token for each {{fleet-server}}. For other ways to generate service tokens, refer to [`elasticsearch-service-tokens`](elasticsearch://reference/elasticsearch/command-line-tools/service-tokens-command.md).
* If youve configured a non-default port for {{fleet-server}} in the {{fleet-server}} integration, you need to include the `--fleet-server-host` and `--fleet-server-port` options in the `elastic-agent install` command. Refer to the [install command documentation](/reference/fleet/agent-command-reference.md#elastic-agent-install-command) for details.
* When using the **Advanced** option, it's recommended to generate a unique service token for each {{fleet-server}}. For other ways to generate service tokens, refer to [`elasticsearch-service-tokens`](elasticsearch://reference/elasticsearch/command-line-tools/service-tokens-command.md).
* If you've configured a non-default port for {{fleet-server}} in the {{fleet-server}} integration, you need to include the `--fleet-server-host` and `--fleet-server-port` options in the `elastic-agent install` command. For detailed information about all available configuration flags and environment variables, refer to [How to deploy Fleet Server](/reference/fleet/deploy-fleet-server.md).
Copy link
Contributor

@vishaangelova vishaangelova Jan 6, 2026

Choose a reason for hiding this comment

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

I disagree with the deletion of the link to the elastic-agent install command reference. I think this should still point to the agent command reference doc, and not to the “how-to” doc as the command reference doc should be the ultimate go-to for all available flags.


* Before running the `install` command, make sure you replace the values in angle brackets.
* The URL specified by `--url` must match the DNS name used to generate the certificate specified by `--fleet-server-cert`.
* For comprehensive configuration details, including all available flags and environment variables, refer to [How to deploy Fleet Server](/reference/fleet/deploy-fleet-server.md).
Copy link
Contributor

Choose a reason for hiding this comment

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

This line doesn’t fit the list items or the purpose of the list. This info is also added on line 119… (parent list item)

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.

[Fleet, Elastic Agent] Review the SSL/TLS/CA parameters in the Fleet Server & Elastic Agent pages

3 participants