Logging: Add feature flag to disable feature
Why are we doing this work
In 15.0, we start removing the code for Category:Logging. Before deleting code, we should introduce a feature flag to hide the feature. The guarantees we can effectively disable Logging in %15.0 and allows flexibility to complete the cleanup.
Tracking issue for all logging removal work: Monitor:Logging Deprecation (#346485 - closed)
Relevant links
-
Feature flag gates should be added for: -
Enable Elastic Stack integration
cluster option |app/views/clusters/clusters/\_integrations.html.haml
-
Link to logs from pod on env | app/assets/javascripts/vue_shared/components/deployment_instance.vue
-
View logs
link from metrics panelapp/assets/javascripts/monitoring/components/dashboard_panel.vue
-
Monitor > Logs
page (should 404) |app/controllers/projects/logs_controller.rb
-
Monitor > Logs
nav |lib/sidebars/projects/menus/monitor_menu.rb
-
Logging-related field values in Env API | app/serializers/environment_entity.rb
-
Logging-related field values in Cluster API | app/serializers/cluster_entity.rb
-
-
Add info about feature flag & timeline in: -
https://docs.gitlab.com/ee/operations/#aggregate-and-store-logs-deprecated -
https://docs.gitlab.com/ee/user/project/clusters/kubernetes_pod_logs.html -
https://docs.gitlab.com/ee/user/clusters/integrations.html#elastic-stack-cluster-integration -
https://docs.gitlab.com/ee/user/infrastructure/clusters/manage/management_project_applications/elasticstack -
https://docs.gitlab.com/ee/user/clusters/applications#install-elastic-stack-using-gitlab-cicd
-
-
Delete the elastic-stack
directory from the cluster management project template -
Remove references to Elastic Stack in https://docs.gitlab.com/ee/user/clusters/management_project_template.html#built-in-applications
Implementation plan
- Globally enable a flag called
monitor_logging
on dot-com (before the flag exists) - Add a feature flag in %15.0, called
monitor_logging
which is disabled by default.- The documentation should be updated to reflect our plans for removal explicitly, including timeline.
- For flag rollout, selectively disable the flag for test projects/staging/etc to verify the feature removal/disablement. Globally disable the flag or delete any actor overrides to disable the feature for everyone.
- Begin code deletions in %15.2 [out of scope of this issue]
- This gives self-managed users a milestone to quickly regroup if they ended up surprised by the removal, and allows us time to delete the code as we have availability.
Verification
These areas of the app should be unavailable:
Logs UI & left nav | Logs via metrics | Logs via envs | Logs Enablement UI |
---|---|---|---|
Edited by Sarah Yasonik