Skip to content

Add schema-compliant automated settings rendering#2909

Open
theletterf wants to merge 3 commits intomainfrom
settings-renderer
Open

Add schema-compliant automated settings rendering#2909
theletterf wants to merge 3 commits intomainfrom
settings-renderer

Conversation

@theletterf
Copy link
Contributor

@theletterf theletterf commented Mar 16, 2026

Summary

  • implement the full settings schema model for automated settings, including nested settings, applies_to, metadata, and setting-level admonitions/examples
  • render settings as definition lists in HTML and definition-style blocks in LLM markdown, with inline applies-to output and inherited applies-to resolution
  • normalize legacy AsciiDoc [source,*] snippets in settings text to markdown fenced code blocks, and expand docs/examples/tests for the new schema behavior

Closes #760

Contributes to elastic/docs-content#5355

Test plan

  • dotnet test tests/Elastic.Markdown.Tests/Elastic.Markdown.Tests.csproj --filter \"FullyQualifiedName~SettingsInclusion\"
  • dotnet test tests/authoring/authoring.fsproj --filter \"FullyQualifiedName~settings directive\"
  • Manual validation on http://localhost:3000/syntax/automated_settings for nested setting tip/admonition rendering and no raw ::: artifacts

Made with Cursor

…finitions.

Implement the new automated settings schema across HTML and LLM output, normalize legacy [source,*] snippets to markdown fences, and expand docs/tests with comprehensive applies_to and nested-setting examples.

Co-authored-by: OpenAI Assistant <assistant@openai.com>
Made-with: Cursor
@github-actions
Copy link

🔍 Preview links for changed docs

@theletterf
Copy link
Contributor Author

@kilfoyle @florent-leborgne @bmorelli25 First attempt at rendering the new settings schema with nesting and applies_to support. Please stress test this thing. :)

@kilfoyle
Copy link
Contributor

kilfoyle commented Mar 17, 2026

This looks great!

I added six test Kibana YAML-formatted settings files via commit 47a847f. Those files caused a ton of errors. Sorry!

In a short check, the errors seem to me to fall into four categories:

  • The “fleet” (kibana-fleet-settings.yml) and “general” (kibana-general-settings.yml) settings files are reported to contain invalid YAML.

    • Sample error message: Invalid YAML in settings file: '/home/runner/work/docs-builder/docs-builder/docs/syntax/kibana-general-settings.yml' contains invalid YAML syntax. Please check the file format matches the expected settings structure (groups, settings, etc.).
    • I used Claude to check the formatting of all six YAML files and it reported them to be clean: Each file was successfully parsed by Python's yaml.safe_load_all with no errors.
  • The build is unhappy about our variable subs:  {es} etc.

    • Sample error message: Substitution key {es} is undefined
  • There are several errors of this type: An error occured when rendering a diagnostic. Message: label column cannot start at the end of the line

  • There are many 100% expected broken link errors.

    • For example, in file kibana-alert-action-settings.yml we have many links like this: For a [{{webhook-cm}} connector](/reference/connectors-kibana/cases-webhook-action-type.md). These result in the error: Error: /reference/connectors-kibana/bedrock-action-type.md does not exist. If it was recently removed add a redirect. resolved to /home/runner/work/docs-builder/docs-builder/docs/reference/connectors-kibana/bedrock-action-type.md.
    • If it helps for testing, I could scrub these YAML files of all links that point outside of the directory that they're in.

If we can achieve a clean build using these six test files, it would be good to check the internal links within and across files. Here's an example of each:

Within-file linking

In the file kibana-security-settings.yml the description for setting xpack.security.authc.providers.<provider-type>.<provider-name>.session.idleTimeout at line 139 has a link to setting xpack.security.session.idleTimeout in the same file.

Cross-file linking

In file kibana-security-settings.yml the description for setting xpack.security.secureCookies at line 413 has a link to setting server.ssl.enabled: /reference/configuration-reference/general-settings.md#server-ssl-enabled, which now lives in kibana-general-settings.yml at line 1340.

If it helps for testing, I'd be happy to port these yaml files into a /reference/configuration-reference folder and create a mock .md file for each one to embed it.


kibana-alert-action-settings.yml
kibana-fleet-settings.yml
kibana-general-settings.yml
kibana-logging-settings.yml
kibana-monitoring-settings.yml
kibana-security-settings.yml

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Request] Generate config settings docs

2 participants