Skip to content

docs(settings-gen): add applies_to and nested settings to schema#253746

Merged
theletterf merged 8 commits intoelastic:mainfrom
theletterf:docs/settings-gen-applies-to-schema
Feb 19, 2026
Merged

docs(settings-gen): add applies_to and nested settings to schema#253746
theletterf merged 8 commits intoelastic:mainfrom
theletterf:docs/settings-gen-applies-to-schema

Conversation

@theletterf
Copy link
Copy Markdown
Member

Summary

  • Document applies_to support in the settings-gen YAML schema, including both mapping and inline list forms.
  • Document nested settings support for hierarchical settings, including inheritance and overrides.
  • Add a fully worked example showing multiple applies_to statements.

Closes #250871.

LLM usage

This PR was drafted with assistance from an LLM (OpenAI GPT-5.2).

Made with Cursor

Add schema guidance for applies_to tags (mapping and inline list forms) and allow nested settings with inheritance semantics.

Co-authored-by: OpenAI GPT-5.2 <noreply@openai.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@theletterf theletterf requested a review from a team as a code owner February 18, 2026 15:40
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 18, 2026

🔍 Preview links for changed docs

@theletterf theletterf self-assigned this Feb 18, 2026
@theletterf theletterf added docs release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting labels Feb 18, 2026
@kilfoyle
Copy link
Copy Markdown
Contributor

Thanks @theletterf! This looks great!

One question: Do we have examples of nested settings in the docs currently? I'm aware of nested groups of settings, but I think perhaps that's a separate problem. Taking the Kibana Security settings as an example, we currently have nested groups of settings:

  • Security settings in Kibana (YAML file)
    • Authentication security settings (group within Yaml file)
      • Valid settings for all authentication providers
      • SAML authentication provider settings
        • Discontinued SAML settings
      • OpenID Connect authentication provider settings
        ...
    • Encrypted saved object settings (group within Yaml file
      • Audit logging settings
      • File appender
      • Rolling file appender

I'm not sure how we'd support this case, or perhaps we should limit our yaml so that we don't support nesting groups in this way.

@kilfoyle
Copy link
Copy Markdown
Contributor

I really like the applies_to support!

@kilfoyle
Copy link
Copy Markdown
Contributor

As I think about it, the nested settings could be useful for documenting the yaml config files used in the various ingest tools!

@florent-leborgne
Copy link
Copy Markdown
Member

Nice one @theletterf. The main thing that comes to mind right now is the redundancy between keys:

  • applies_to
  • status
  • platforms

If we add applies_to, then the 2 others become irrelevant. I think we should keep either applies_to, or status + platforms
What could be interesting if we keep the latter is that it's a bit more semantic. I'm open to different perspective here :)

The second point is that they should be mandatory. For example, maybe we want to force the "platforms" (or applies_to > deployments) to be clearly defined as available or unavailable, so that there's no surprise or doubt when something is not specified.

Happy to help brainstorm.

Comment thread docs/settings-gen/readme.md Outdated
Comment thread docs/settings-gen/readme.md Outdated
theletterf and others added 2 commits February 18, 2026 18:00
Co-authored-by: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com>
Co-authored-by: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com>
@theletterf
Copy link
Copy Markdown
Member Author

@florent-leborgne Following @kilfoyle 's suggestions, I've removed platform and status from the schema —- agree that they're redundant.

@kilfoyle As per your last comment, are you happy with the proposed nesting mechanisms then? Would you also like to have support for nested groups?

Comment thread docs/settings-gen/readme.md Outdated
# example: |
OPTIONAL
Multiline string. Can include tables, lists, code examples, etc.
```
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We also talked about being able to specify default values, that can potentially be different per deployment/project type (maybe that's a different issue?)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It's a good idea, but perhaps we could wait till we try apply the schema?

Copy link
Copy Markdown
Contributor

@kilfoyle kilfoyle left a comment

Choose a reason for hiding this comment

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

LGTM! 🚀 Thank you.

I agree with Florent that the applies_to should be mandatory.

Are you happy with the proposed nesting mechanisms then? Would you also like to have support for nested groups?

Yes! I was thinking that the intent was to solve the nested groups issue, but I think probably this was intended for the "yaml config file" settings use case. No harm in supporting that. :-) For now I don't think nested groups is a requirement because it would add a lot of unwanted complexity to the yaml.

theletterf and others added 2 commits February 19, 2026 10:17
Comment thread docs/settings-gen/readme.md Outdated
Comment thread docs/settings-gen/readme.md Outdated
Copy link
Copy Markdown
Member

@florent-leborgne florent-leborgne left a comment

Choose a reason for hiding this comment

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

LGTM, just commenting because I have some final comments to simplify

theletterf and others added 2 commits February 19, 2026 11:17
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
@theletterf
Copy link
Copy Markdown
Member Author

@florent-leborgne Applied, thanks!!

Copy link
Copy Markdown
Member

@florent-leborgne florent-leborgne left a comment

Choose a reason for hiding this comment

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

LGTM thanks! Let's see later for defaults handling

@theletterf theletterf enabled auto-merge (squash) February 19, 2026 10:26
@theletterf theletterf merged commit 6db6321 into elastic:main Feb 19, 2026
20 checks passed
ersin-erdal pushed a commit to ersin-erdal/kibana that referenced this pull request Feb 19, 2026
…stic#253746)

## Summary
- Document `applies_to` support in the settings-gen YAML schema,
including both mapping and inline list forms.
- Document nested `settings` support for hierarchical settings,
including inheritance and overrides.
- Add a fully worked example showing multiple `applies_to` statements.

Closes elastic#250871.

## LLM usage
This PR was drafted with assistance from an LLM (OpenAI GPT-5.2).

Made with [Cursor](https://cursor.com)

---------

Co-authored-by: OpenAI GPT-5.2 <noreply@openai.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: David Kilfoyle <41695641+kilfoyle@users.noreply.github.com>
Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
kilfoyle added a commit that referenced this pull request Mar 5, 2026
This updates the readme defining the schema for planned YAML-sourced
configuration settings in the docs.

Specifically:
- Removes "Serverless" from the example since, at least as far as I'm
aware, the config settings aren't supported on Serverless.
- Remove `Replace "ga" with` since I think that's a bit unclear if
someone is adding in a new section for a new setting.

@theletterf - Sorry I didn't catch these things in your previous PR:
#253746
DennisKo pushed a commit to DennisKo/kibana that referenced this pull request Mar 6, 2026
This updates the readme defining the schema for planned YAML-sourced
configuration settings in the docs.

Specifically:
- Removes "Serverless" from the example since, at least as far as I'm
aware, the config settings aren't supported on Serverless.
- Remove `Replace "ga" with` since I think that's a bit unclear if
someone is adding in a new section for a new setting.

@theletterf - Sorry I didn't catch these things in your previous PR:
elastic#253746
kapral18 pushed a commit to kapral18/kibana that referenced this pull request Mar 9, 2026
This updates the readme defining the schema for planned YAML-sourced
configuration settings in the docs.

Specifically:
- Removes "Serverless" from the example since, at least as far as I'm
aware, the config settings aren't supported on Serverless.
- Remove `Replace "ga" with` since I think that's a bit unclear if
someone is adding in a new section for a new setting.

@theletterf - Sorry I didn't catch these things in your previous PR:
elastic#253746
qn895 pushed a commit to qn895/kibana that referenced this pull request Mar 11, 2026
This updates the readme defining the schema for planned YAML-sourced
configuration settings in the docs.

Specifically:
- Removes "Serverless" from the example since, at least as far as I'm
aware, the config settings aren't supported on Serverless.
- Remove `Replace "ga" with` since I think that's a bit unclear if
someone is adding in a new section for a new setting.

@theletterf - Sorry I didn't catch these things in your previous PR:
elastic#253746
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:skip This PR does not require backporting docs release_note:skip Skip the PR/issue when compiling release notes skip-ci skipped-test v9.4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expand schema to feature applies_to and nested settings

4 participants