[Fleet] Add rename message processor validation#690
Merged
jillguyonnet merged 16 commits intoelastic:mainfrom Jan 30, 2024
Merged
[Fleet] Add rename message processor validation#690jillguyonnet merged 16 commits intoelastic:mainfrom
jillguyonnet merged 16 commits intoelastic:mainfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This PR adds the following validation rule for ingest pipeline processors.
If an ingest pipeline contains a
renameprocessor withfield: messageandtarget_field: event.original, then:renameprocessor should also containif: 'ctx.event?.original == null'removeprocessor withfield: messageExamples
Valid pipeline definition:
Invalid pipeline definition:
Invalid pipeline definition:
Skipping validation
The validation error has the
JSE00001error code that allows packages to skip it (cf.skip_pipeline_rename_validationtest package).Why is it important?
There is an existing issue for integrations using a
renameprocessor when the target field already exists: elastic/integrations#3451 (comment). This validation aims to check that no field calledevent.originalexists if there is a rename processor that renamesmessagetoevent.original(what was done in elastic/integrations#7026).Additional changes
Checklist
test/packagesthat prove my change is effective.spec/changelog.yml.Related issues