-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: HTTP Processing & Secrets Retrieval #77
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Super cool feature add, unlocks the whole web for enrichment and processing. 🕸️ 🌐
Left some comments around the secrets package but otherwise looks super.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks for adding the tests!
Description
Motivation and Context
Similar to the DNS processor, the HTTP processor lets users enrich data by making HTTP requests (GET or POST). This one is more complex than DNS for two reasons:
We're addressing authentication through a feature referred to as secrets retrieval. Components across the system (conditions, processors, sinks) can opt in to secrets retrieval and interpolate secrets with configuration files during runtime. Here's a summary of how this works:
${SECRETS ...}
(the same design is used in other regexp-based libraries) to identify secrets inside of configurationsSecrets retrieval is designed similar to internal/file, so new secrets locations can be added as needed.
We're addressing the diversity of content and use cases by allowing more flexibility in the processor's data and object handling patterns compared to other processors. These are the known use cases it supports, though there may be more:
How Has This Been Tested?
The changes were integration tested using the two new examples files. The HTTP processor use cases was tested with these external services:
Types of changes
Checklist: