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_metricsfeature flags. Keepobservability_tracingfor backward compatibility ( all existing users have at leastobservability_tracingenabled ) - Add new
observability_featuresfeature flag - Merged observability licensed features into single
observabilityfeature - Change existing policies (
[read|write]_[tracing|logs|metrics]) into a singleread_observabilitypolicy ( no need forwriteanymore ) - Enable
read_observabilitypolicy if licensedobservabilityfeature is valid and if either (deprecated)observability_tracingor (new)observability_featuresfeature 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_tracingFF - 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_tracingFF. EnableEnableobservability_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