feat(scol): validate oauth2 token_url scheme at vector validate time#100
Open
JuanMantica45 wants to merge 1 commit into
Open
feat(scol): validate oauth2 token_url scheme at vector validate time#100JuanMantica45 wants to merge 1 commit into
JuanMantica45 wants to merge 1 commit into
Conversation
Call Config::validate_auth() synchronously in SourceConfig::build() before boxing the source future, so vector validate catches invalid token_url values at the Component configuration step rather than silently deferring to runtime. Bump lib/observo/private to ef53ab5 which adds SAuth::validate() and Config::validate_auth() in the dataplane-private submodule.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
Summary
Wires
token_urlscheme validation intoSourceConfig::build()for the SCOL source so thatvector validaterejects invalid OAuth2 URLs before the source is started.Changes:
src/sources/scol/mod.rs— callsself.validate_auth()?synchronously before boxing the source future; this is the only codepath that executes duringvector validatelib/observo/private— submodule bumped toef53ab5(dataplane-privatejm-token-url-validation) which adds:SAuth::validate()— lightweight scheme-only checkConfig::validate_auth()— iterateshttp_cfgs.defaultand allhttp_cfgs.overridesDependency
dataplane-private PR #42: https://ghe.eng.sentinelone.tech/sentinel-one/dataplane-private/pull/42
Why validate() and not build()
SourceConfig::build()returnsOk(Box::pin(future))without polling the future —vector validatecallsbuild(), receives the box, and moves on. Anything insidebuild_source()is invisible to validate.validate_auth()runs synchronously before the box is created, so errors surface at theComponent errorsstep.Smoke test