-
Notifications
You must be signed in to change notification settings - Fork 17
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
Runtime config retrieval and application #1290
Merged
BehnamMozafari
merged 45 commits into
main
from
bmz-UID2-4606-runtime-config-application
Feb 3, 2025
Merged
Runtime config retrieval and application #1290
BehnamMozafari
merged 45 commits into
main
from
bmz-UID2-4606-runtime-config-application
Feb 3, 2025
Conversation
This file contains 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
…tants and config.
…edConfig method rather than storing config
…e in UIDOperatorVerticleTest "identity_token_expires_after_seconds", "max_bidstream_lifetime_seconds", "max_sharing_lifetime_seconds" and "sharing_token_expiry_seconds" now are retrieved from RoutingContext in handlers.
…nfigService Moved validation logic from UIDOperatorVerticle and UIDOperatorService to ConfigValidatorUtil configValidationHandler is set as a config processor for configRetriever in ConfigService
…e UIDOperatorServiceTest
…rticle, Updated UIDOperatorVerticleTest
…datorUtilTest to test handling null values
ConfigService returns a Future when created and takes ConfigRetriever in "create" method "run()" method in Main waits for ConfigService Future to complete before creating UIDOperatorVerticle
Removed use of reflection to access private attributes/methods Removed unnecessary tests Updated remaining tests to inject ConfigRetriever into ConfigService
…ication # Conflicts: # src/main/java/com/uid2/operator/Main.java # src/main/java/com/uid2/operator/service/UIDOperatorService.java
Set http store to optional
Added default value for max_bidstream_lifetime_seconds
ConfigServiceManager handles switching between dynamic and static config StaticConfigService implements IConfigService, serving config from static files
Main creates new ConfigServiceManager instance and injects it into UIDOperatorVerticle Also Added feature flag config value to local-config.json, Made create method static in ConfigServiceManager
Removed ConfigServiceManager from constructor
Allows for switches between static and dynamic config services without having to change UIDOperatorVerticle
ConfigRetriever in Main listens for feature flag changes and publishes to eventbus ConfigServiceManager listens to eventbus and updates DelegatingConfigService active ConfigService
Added tests to verify config changes are reflected in endpoints
static config values are set from main config rather than ConfigService
- removed bootstrap config as a store from ConfigRetrieverFactory
- exclusive config retriever to listen to changes in mounted configmap - listener directly interacts with ConfigServiceManager rather than publishing to EventBus
BehnamMozafari
commented
Jan 21, 2025
BehnamMozafari
commented
Jan 21, 2025
BehnamMozafari
commented
Jan 21, 2025
BehnamMozafari
commented
Jan 21, 2025
- Made feature flag json file generic - Small refactoring
- ConfigRetrieverFactory now creates ConfigRetriever from bootstrap config - Add runtime-config-defaults.json to serve as defaults for running locally
src/main/java/com/uid2/operator/service/ConfigValidatorUtil.java
Outdated
Show resolved
Hide resolved
- Refactor Const names in Const.Config - Update ConfigValidatorUtil log messages
jon8787
reviewed
Jan 24, 2025
src/main/java/com/uid2/operator/service/DelegatingConfigService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/uid2/operator/service/UIDOperatorService.java
Outdated
Show resolved
Hide resolved
src/main/java/com/uid2/operator/service/UIDOperatorService.java
Outdated
Show resolved
Hide resolved
- update config scan period for local-config.json - remove unnecessary config values - make ConfigRetrieverFactory create method static - extract runtime config creation to helper method in Main - Added token config validation to UIDOperatorService
- fix type inconsistencies - minor code cleanup - replace getConfig() method from BenchmarkCommon with final static fields
- Copy feat-flag.json file in dockerfiles - Remove unnecessary config values - Add runtime_config_store config value
mcollins-ttd
approved these changes
Feb 3, 2025
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.
Feature Flag:
/conf/remote-config-feat-flag/remote-config-feat-flag.json
used to toggle feature flag, will be overridden by volume mounted configmapremote-config-feat-flag.json
and calls ConfigServiceManager