Skip to content

[Fleet] Fix asset for template path filter#240750

Merged
teresaromero merged 2 commits intoelastic:mainfrom
teresaromero:fix-templatepath-search-assets
Oct 29, 2025
Merged

[Fleet] Fix asset for template path filter#240750
teresaromero merged 2 commits intoelastic:mainfrom
teresaromero:fix-templatepath-search-assets

Conversation

@teresaromero
Copy link
Contributor

@teresaromero teresaromero commented Oct 27, 2025

Summary

This PR fixes the filter that was selecting the asset for a given template_path. When compiling the template for a given input, fleet was selecting it through the asset map taking into account the rule "path ends with X". This method opened the door to some bug behavour in the following case:

  • A template path log.yml.hbs
  • An asset map with log.yml.hbs and syslog.yml.hbs

Both assets where selected, the first one was chosen, but not necessary the first was log.yml.hbs although both end with this string.

The change introduces a change when selecting the template path to get the exact file, although a fallback to the old logic is kept as there are cases where the endsWith logic makes sense. This is when a default template path is used (stream.yml.hbs) and the asset is called filestream.yml.hbs

Related change at package-spec elastic/package-spec#1002
Original issue elastic/package-spec#703

Checklist

Check the PR satisfies following conditions.

Reviewers should verify this PR satisfies this list as well.

  • Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support
  • Documentation was added for features that require explanation or tutorials
  • Unit or functional tests were updated or added to match the most common scenarios
  • If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker list
  • This was checked for breaking HTTP API changes, and any breaking changes have been approved by the breaking-change committee. The release_note:breaking label should be applied in these situations.
  • Flaky Test Runner was used on any tests changed
  • The PR description includes the appropriate Release Notes section, and the correct release_note:* label is applied per the guidelines
  • Review the backport guidelines and apply applicable backport:* labels.

Release note

Fixes template_path asset selection for some cases of integration packages

@teresaromero teresaromero requested a review from a team as a code owner October 27, 2025 08:44
@botelastic botelastic bot added the Team:Fleet Team label for Observability Data Collection Fleet team label Oct 27, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/fleet (Team:Fleet)

Copy link
Member

@jsoriano jsoriano left a comment

Choose a reason for hiding this comment

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

👍

@teresaromero teresaromero added backport:version Backport to applied version labels v9.3.0 backport:skip This PR does not require backporting and removed backport:version Backport to applied version labels v9.3.0 labels Oct 27, 2025
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

✅ unchanged

@jen-huang jen-huang added backport:version Backport to applied version labels v9.3.0 and removed backport:skip This PR does not require backporting labels Oct 27, 2025
@teresaromero teresaromero merged commit aca8d6f into elastic:main Oct 29, 2025
32 checks passed
@kibanamachine kibanamachine added backport:skip This PR does not require backporting and removed backport:version Backport to applied version labels labels Oct 29, 2025
tkajtoch pushed a commit to tkajtoch/kibana that referenced this pull request Oct 29, 2025
## Summary

This PR fixes the filter that was selecting the asset for a given
`template_path`. When compiling the template for a given input, fleet
was selecting it through the asset map taking into account the rule
"path ends with X". This method opened the door to some bug behavour in
the following case:

- A template path `log.yml.hbs`
- An asset map with `log.yml.hbs` and `syslog.yml.hbs` 

Both assets where selected, the first one was chosen, but not necessary
the first was `log.yml.hbs` although both end with this string.

The change introduces a change when selecting the template path to get
the exact file, although a fallback to the old logic is kept as there
are cases where the endsWith logic makes sense. This is when a default
template path is used (`stream.yml.hbs`) and the asset is called
`filestream.yml.hbs`

Related change at package-spec
elastic/package-spec#1002
Original issue elastic/package-spec#703

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

## Release note

Fixes `template_path` asset selection for some cases of integration
packages
qn895 pushed a commit to qn895/kibana that referenced this pull request Oct 30, 2025
## Summary

This PR fixes the filter that was selecting the asset for a given
`template_path`. When compiling the template for a given input, fleet
was selecting it through the asset map taking into account the rule
"path ends with X". This method opened the door to some bug behavour in
the following case:

- A template path `log.yml.hbs`
- An asset map with `log.yml.hbs` and `syslog.yml.hbs` 

Both assets where selected, the first one was chosen, but not necessary
the first was `log.yml.hbs` although both end with this string.

The change introduces a change when selecting the template path to get
the exact file, although a fallback to the old logic is kept as there
are cases where the endsWith logic makes sense. This is when a default
template path is used (`stream.yml.hbs`) and the asset is called
`filestream.yml.hbs`

Related change at package-spec
elastic/package-spec#1002
Original issue elastic/package-spec#703

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

## Release note

Fixes `template_path` asset selection for some cases of integration
packages
ana-davydova pushed a commit to ana-davydova/kibana that referenced this pull request Nov 3, 2025
## Summary

This PR fixes the filter that was selecting the asset for a given
`template_path`. When compiling the template for a given input, fleet
was selecting it through the asset map taking into account the rule
"path ends with X". This method opened the door to some bug behavour in
the following case:

- A template path `log.yml.hbs`
- An asset map with `log.yml.hbs` and `syslog.yml.hbs` 

Both assets where selected, the first one was chosen, but not necessary
the first was `log.yml.hbs` although both end with this string.

The change introduces a change when selecting the template path to get
the exact file, although a fallback to the old logic is kept as there
are cases where the endsWith logic makes sense. This is when a default
template path is used (`stream.yml.hbs`) and the asset is called
`filestream.yml.hbs`

Related change at package-spec
elastic/package-spec#1002
Original issue elastic/package-spec#703

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

## Release note

Fixes `template_path` asset selection for some cases of integration
packages
albertoblaz pushed a commit to albertoblaz/kibana that referenced this pull request Nov 4, 2025
## Summary

This PR fixes the filter that was selecting the asset for a given
`template_path`. When compiling the template for a given input, fleet
was selecting it through the asset map taking into account the rule
"path ends with X". This method opened the door to some bug behavour in
the following case:

- A template path `log.yml.hbs`
- An asset map with `log.yml.hbs` and `syslog.yml.hbs` 

Both assets where selected, the first one was chosen, but not necessary
the first was `log.yml.hbs` although both end with this string.

The change introduces a change when selecting the template path to get
the exact file, although a fallback to the old logic is kept as there
are cases where the endsWith logic makes sense. This is when a default
template path is used (`stream.yml.hbs`) and the asset is called
`filestream.yml.hbs`

Related change at package-spec
elastic/package-spec#1002
Original issue elastic/package-spec#703

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
- [ ] Review the [backport
guidelines](https://docs.google.com/document/d/1VyN5k91e5OVumlc0Gb9RPa3h1ewuPE705nRtioPiTvY/edit?usp=sharing)
and apply applicable `backport:*` labels.

## Release note

Fixes `template_path` asset selection for some cases of integration
packages
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 release_note:fix Team:Fleet Team label for Observability Data Collection Fleet team v9.3.0

5 participants