Skip to content

[aws] Add processor tags to ingest pipelines - #19824

Merged
andrewkroh merged 1 commit into
elastic:mainfrom
andrewkroh:aws/feat/add-processor-tags
Jul 1, 2026
Merged

andrewkroh merged 1 commit into
elastic:mainfrom
andrewkroh:aws/feat/add-processor-tags

Conversation

@andrewkroh

@andrewkroh andrewkroh commented Jun 29, 2026 •

Copy link
Copy Markdown
Contributor

Proposed commit message

[aws] Add processor tags to ingest pipelines

Add `tag` fields to every processor in all AWS ingest pipelines using
`elastic-package modify --modifiers pipeline-tag`. Also update
`on_failure` error messages to include `_ingest.pipeline` per the
SVR00009 linter rule. Both are requirements that will be enforced when
the AWS package format_version is bumped to 3.6.0.

Also fix two pre-existing duplicate processors exposed by the tagging:
- cloudfront_logs/default.yml: duplicate x-edge-response-result-type rename
- rds/default.yml: duplicate FreeStorageSpace rename

Fixes cloudfront_logs/pipeline_process_ip.yml which was missing a
pipeline-level on_failure block (SVR00008/SVR00009).

Created with Claude Code using Sonnet 4.6.

Background

This PR pre-lands the ingest pipeline changes required by the
elastic-package linter when format_version is bumped to 3.6.0:

  • SVR00006: every processor must have a tag field
  • SVR00008: pipeline-level on_failure must set event.kind: pipeline_error
  • SVR00009: pipeline-level on_failure error message must include _ingest.pipeline

By landing these changes separately, the upcoming format_version bump PR
will be smaller and easier to review. These changes are also safe to
backport since they have no functional effect at format_version 3.4.0.

The changes were generated with:

elastic-package modify --modifiers pipeline-tag

followed by manual fixes for the on_failure message template updates
and two duplicate processor removals that were surfaced by the tagging.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.

Related

@andrewkroh
andrewkroh requested review from a team as code owners June 29, 2026 12:10
@andrewkroh
andrewkroh force-pushed the aws/feat/add-processor-tags branch from 550a1be to 0c07b52 Compare June 29, 2026 12:12
@andrewkroh andrewkroh added Integration:aws AWS enhancement New feature or request labels Jun 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Elastic Docs Style Checker (Vale)

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.

@andrewkroh andrewkroh added Team:Obs-InfraObs Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] labels Jun 29, 2026
@infra-vault-gh-plugin-prod

Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@infra-vault-gh-plugin-prod

infra-vault-gh-plugin-prod Bot commented Jun 29, 2026 •

Copy link
Copy Markdown

💔 Build Failed

Failed CI Steps

History

@vera-review-bot

Copy link
Copy Markdown
Contributor

👀 I have started reviewing the PR

@github-actions

This comment has been minimized.

@github-actions

This comment was marked as resolved.

@vera-review-bot

Copy link
Copy Markdown
Contributor

Vera Review Bot

For the current commit state, I did not find any issues.


🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills

⚠️ Automated review — verify suggestions before applying.

Add `tag` fields to every processor in all AWS ingest pipelines using
`elastic-package modify --modifiers pipeline-tag`. Also update
`on_failure` error messages to include `_ingest.pipeline` per the
SVR00009 linter rule. Both are requirements that will be enforced when
the AWS package format_version is bumped to 3.6.0.

Also fix two pre-existing duplicate processors exposed by the tagging:
- cloudfront_logs/default.yml: duplicate x-edge-response-result-type rename
- rds/default.yml: duplicate FreeStorageSpace rename

Fixes cloudfront_logs/pipeline_process_ip.yml which was missing a
pipeline-level on_failure block (SVR00008/SVR00009).
@andrewkroh
andrewkroh force-pushed the aws/feat/add-processor-tags branch from 0c07b52 to 1541dd3 Compare June 29, 2026 12:52
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

✅ All changelog entries have the correct PR link.

@vera-review-bot

Copy link
Copy Markdown
Contributor

👀 I have started reviewing the PR

@vera-review-bot

Copy link
Copy Markdown
Contributor

Vera Review Bot

For the current commit state, I did not find any issues.


🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills

⚠️ Automated review — verify suggestions before applying.

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

Package aws 👍(12) 💚(4) 💔(6)

Expand to view
Data stream Previous EPS New EPS Diff (%) Result
guardduty 1893.94 1408.45 -485.49 (-25.63%) 💔
inspector 1308.9 1026.69 -282.21 (-21.56%) 💔
securityhub_findings 2087.68 1709.4 -378.28 (-18.12%) 💔
securityhub_findings_full_posture 2178.65 1795.33 -383.32 (-17.59%) 💔
securityhub_insights 1709.4 1443 -266.4 (-15.58%) 💔
cloudwatch_logs 200000 142857.14 -57142.86 (-28.57%) 💔

To see the full report comment with /test benchmark fullreport

@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

field: json.resource.containerDetails.name
target_field: aws.guardduty.resource.container_details.name
ignore_missing: true
- convert:
tag: convert_json_resource_containerDetails_securityContext_privileged_to_aws_guardduty_resource_container_details_security_context_privileged_8d0f193a

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

These auto-generated tags can be lengthy.

target_field: aws.apigateway.connection_id
ignore_missing: true
- rename:
tag: rename_aws_apigateway_eventType_to_aws_apigateway_event_type_2a463e2f

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.

@andrewkroh : Do these numbers 2a463e2f have any relevance here ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Based on the source code for the elastic-package modify --modifiers pipeline-tag command, it looks like its an additional hash of the processor config to help make the ID distinct or unique.

https://github.com/elastic/elastic-package/blob/283983181e1ee42834c1a78ce20788383d55813a/internal/modify/pipelinetag/pipelinetag.go#L139-L146

@ShourieG ShourieG left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@mergify

mergify Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@andrewkroh
andrewkroh merged commit 910a126 into elastic:main Jul 1, 2026
12 checks passed
seanrathier added a commit to seanrathier/integrations that referenced this pull request Aug 19, 2026
Add tag fields to every processor in all aws_securityhub ingest
pipelines using elastic-package modify --modifiers pipeline-tag, and
update pipeline-level on_failure error messages to include
_ingest.pipeline per the SVR00009 linter rule. Both are requirements
that will be enforced when the package format_version is bumped to
3.6.x for Identity Federation support.

Also fix a pre-existing copy-paste bug surfaced by the tagging: the
pipeline_object_evidence pipeline processor in default.yml was tagged
pipeline_object_device, duplicating the device processor's tag.

Landing these changes separately keeps the upcoming format_version
bump PR small, following the precedent of elastic#19824 for the aws package.
No functional effect at format_version 3.5.0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Integration:aws AWS Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] Team:Obs-InfraObs Observability Infrastructure Monitoring team [elastic/obs-infraobs-integrations] Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants