Support feature flags in the CI #209
Open
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.
Create
LocalFeatureFlagManagervsCIFeatureFlagManager, these are two different subclasses because they are quite different in the way they retrieve secrets, and the context they provide.Also add some documentation about how to use feature flags in actual
ddacode.Using the feature flag in the CI expect you to pass some keys as environment variable. As the way the secrets can be retrieved is not the same on the different OSes and that the parameter name can be different, you need the following environment variables in
.gitlab-ci.yamlto configure token retrieval for dda features flagsDDA_FEATURE_FLAGS_CI_VAULT_KEYDDA_FEATURE_FLAGS_CI_VAULT_PATHDDA_FEATURE_FLAGS_CI_VAULT_KEY_MACOSDDA_FEATURE_FLAGS_CI_VAULT_PATH_MACOSDDA_FEATURE_FLAGS_CI_SSM_KEY_WINDOWSExample of jobs running with that on datadog-agent side: https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/1184492696