Add single observability feature flag and licensed feature
What does this MR do and why?
Observability features ( logs, tracing and metrics ) are currently gated by 3 different feature flag (observability_tracing
, observability_metrics
observability_logs
) and licensed features (tracing
, metrics_observability
, logs_observability
). This was done to simplify development and release while the features were being worked on.
Since now all 3 features are in a similar state of maturity and given we won't be releasing them separately, we decided to gate them behind a single feature flag and licensed features.
Even though we only have a few internal users at the moment, we still want to make this as little disruptive as possible.
Summary of the change:
- Remove
observability_logs
,observability_metrics
feature flags. Keepobservability_tracing
for backward compatibility ( all existing users have at leastobservability_tracing
enabled ) - Add new
observability_features
feature flag - Merged observability licensed features into single
observability
feature - Change existing policies (
[read|write]_[tracing|logs|metrics]
) into a singleread_observability
policy ( no need forwrite
anymore ) - Enable
read_observability
policy if licensedobservability
feature is valid and if either (deprecated)observability_tracing
or (new)observability_features
feature flag is on
After this is merged, the plan is to enable the new observability_features
for all existing users, and then remove observability_tracing
Part of gitlab-org/opstrace/opstrace#2847 (closed)
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
NA
How to set up and validate locally
- Enable
observability_tracing
FF - Check that http://gdk.test:3443/flightjs/Flight/-/metrics http://gdk.test:3443/flightjs/Flight/-/logs and http://gdk.test:3443/flightjs/Flight/-/tracing are available
- Disable
observability_tracing
FF. EnableEnable
observability_featuresFF
( might need to restart rails ) - Check that http://gdk.test:3443/flightjs/Flight/-/metrics http://gdk.test:3443/flightjs/Flight/-/logs and http://gdk.test:3443/flightjs/Flight/-/tracing are available