summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb35
-rw-r--r--config/database.yml.env17
-rw-r--r--config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml23
-rw-r--r--config/events/1651053267_event_create_service_action_active_users_project_repo.yml23
-rw-r--r--config/events/1651580551_groups_controller_show_render.yml21
-rw-r--r--config/events/1651581659_projects_controller_show_render.yml21
-rw-r--r--config/feature_categories.yml10
-rw-r--r--config/feature_flags/development/async_mr_close_issue.yml (renamed from config/feature_flags/development/push_rules_supersede_code_owners.yml)10
-rw-r--r--config/feature_flags/development/automated_email_provision.yml2
-rw-r--r--config/feature_flags/development/blame_page_pagination.yml (renamed from config/feature_flags/development/distribute_github_parallel_import.yml)8
-rw-r--r--config/feature_flags/development/ci_expand_environment_name_and_url.yml2
-rw-r--r--config/feature_flags/development/ci_fix_rules_if_comparison_with_regexp_variable.yml8
-rw-r--r--config/feature_flags/development/ci_minutes_cost_factor_for_all_public_projects.yml (renamed from config/feature_flags/development/ci_pending_builds_table_resiliency.yml)10
-rw-r--r--config/feature_flags/development/ci_namespace_mirrors_consistency_check.yml2
-rw-r--r--config/feature_flags/development/ci_project_mirrors_consistency_check.yml2
-rw-r--r--config/feature_flags/development/ci_recreate_downstream_pipeline.yml (renamed from config/feature_flags/development/environment_multiple_stop_actions.yml)8
-rw-r--r--config/feature_flags/development/confidential_notes.yml2
-rw-r--r--config/feature_flags/development/contacts_autocomplete.yml2
-rw-r--r--config/feature_flags/development/container_registry_expiration_policies_throttling.yml8
-rw-r--r--config/feature_flags/development/container_registry_migration_phase2_capacity_2.yml (renamed from config/feature_flags/development/gitaly_replace_wiki_update_page.yml)8
-rw-r--r--config/feature_flags/development/container_registry_migration_phase2_capacity_5.yml8
-rw-r--r--config/feature_flags/development/container_registry_migration_phase2_enqueue_twice.yml (renamed from config/feature_flags/development/create_project_settings.yml)10
-rw-r--r--config/feature_flags/development/container_registry_migration_phase2_enqueuer_loop.yml8
-rw-r--r--config/feature_flags/development/container_registry_project_statistics.yml8
-rw-r--r--config/feature_flags/development/customer_relations.yml2
-rw-r--r--config/feature_flags/development/delayed_project_import_schedule_worker.yml8
-rw-r--r--config/feature_flags/development/dependency_proxy_for_private_groups.yml8
-rw-r--r--config/feature_flags/development/deployment_approval_rules.yml8
-rw-r--r--config/feature_flags/development/detect_android_projects.yml (renamed from config/feature_flags/development/group_releases_finder_inoperator.yml)10
-rw-r--r--config/feature_flags/development/downstream_retry_action.yml8
-rw-r--r--config/feature_flags/development/enforce_security_report_validation.yml2
-rw-r--r--config/feature_flags/development/enhanced_notify_css.yml4
-rw-r--r--config/feature_flags/development/env_last_deployment_by_finished_at.yml8
-rw-r--r--config/feature_flags/development/failed_jobs_tab_vue.yml (renamed from config/feature_flags/development/ci_variables_builder_config_variables.yml)8
-rw-r--r--config/feature_flags/development/filter_quarantined_commits.yml (renamed from config/feature_flags/development/lfk_fair_queueing.yml)10
-rw-r--r--config/feature_flags/development/fix_related_environments_for_merge_requests.yml8
-rw-r--r--config/feature_flags/development/geo_use_clone_on_first_sync.yml2
-rw-r--r--config/feature_flags/development/gitlab_shell_upload_pack_sidechannel.yml8
-rw-r--r--config/feature_flags/development/graphql_ci_runner_executor.yml8
-rw-r--r--config/feature_flags/development/inactive_projects_deletion.yml8
-rw-r--r--config/feature_flags/development/ipynbdiff_notes_tracker.yml8
-rw-r--r--config/feature_flags/development/jira_connect_oauth_self_managed.yml8
-rw-r--r--config/feature_flags/development/markdown_continue_lists.yml8
-rw-r--r--config/feature_flags/development/measure_service_ping_metric_collection.yml (renamed from config/feature_flags/development/container_registry_follow_redirects_middleware.yml)10
-rw-r--r--config/feature_flags/development/monitor_logging.yml (renamed from config/feature_flags/development/ukraine_support_tanuki.yml)8
-rw-r--r--config/feature_flags/development/monitor_tracing.yml (renamed from config/feature_flags/development/settings_operations_prometheus_service.yml)8
-rw-r--r--config/feature_flags/development/moved_mr_sidebar.yml8
-rw-r--r--config/feature_flags/development/namespace_storage_limit_bypass_date_check.yml8
-rw-r--r--config/feature_flags/development/omit_epic_subscribed.yml (renamed from config/feature_flags/development/runner_list_group_view_vue_ui.yml)10
-rw-r--r--config/feature_flags/development/omniauth_initializer_fullhost_proc.yml4
-rw-r--r--config/feature_flags/development/optimized_followed_users_queries.yml4
-rw-r--r--config/feature_flags/development/optimized_project_and_group_activity_queries.yml8
-rw-r--r--config/feature_flags/development/pipeline_editor_file_tree.yml8
-rw-r--r--config/feature_flags/development/preserve_unchanged_markdown.yml (renamed from config/feature_flags/development/group_wiki_settings_toggle.yml)8
-rw-r--r--config/feature_flags/development/refactor_mr_widget_test_summary.yml8
-rw-r--r--config/feature_flags/development/registry_migration_guard_thresholds.yml (renamed from config/feature_flags/development/secure_vulnerability_training.yml)12
-rw-r--r--config/feature_flags/development/remove_diff_header_icons.yml8
-rw-r--r--config/feature_flags/development/remove_sha_from_releases_json.yml (renamed from config/feature_flags/development/job_deployment_count.yml)8
-rw-r--r--config/feature_flags/development/rendered_diffs_viewer.yml4
-rw-r--r--config/feature_flags/development/replace_order_by_created_at_with_id.yml8
-rw-r--r--config/feature_flags/development/route_hll_to_snowplow.yml2
-rw-r--r--config/feature_flags/development/slack_app_use_v2_flow.yml8
-rw-r--r--config/feature_flags/development/updated_diff_expansion_buttons.yml (renamed from config/feature_flags/development/nullify_in_batches_on_user_deletion.yml)6
-rw-r--r--config/feature_flags/development/updated_mr_header.yml (renamed from config/feature_flags/development/new_vulnerability_form.yml)6
-rw-r--r--config/feature_flags/development/usage_data_diff_searches.yml7
-rw-r--r--config/feature_flags/development/usage_data_static_site_editor_commits.yml8
-rw-r--r--config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml8
-rw-r--r--config/feature_flags/development/use_vsa_aggregated_tables.yml2
-rw-r--r--config/feature_flags/development/vsa_reaggregation_worker.yml2
-rw-r--r--config/feature_flags/development/vulnerability_reads_table.yml8
-rw-r--r--config/feature_flags/development/vulnerability_report_pagination.yml8
-rw-r--r--config/feature_flags/development/workhorse_use_sidechannel.yml8
-rw-r--r--config/feature_flags/experiment/build_ios_app_guide_email.yml8
-rw-r--r--config/feature_flags/ops/certificate_based_clusters.yml2
-rw-r--r--config/feature_flags/ops/ci_runner_separation_by_plan.yml (renamed from config/feature_flags/development/runner_read_only_admin_view.yml)12
-rw-r--r--config/feature_flags/ops/deprecated_serverless.yml8
-rw-r--r--config/feature_flags/ops/jira_raise_timeouts.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_enforce_requests_limits.yml (renamed from config/feature_flags/development/gitaly_enforce_requests_limits.yml)2
-rw-r--r--config/feature_flags/undefined/gitaly_go_user_merge_branch.yml (renamed from config/feature_flags/development/gitaly_go_user_merge_branch.yml)2
-rw-r--r--config/feature_flags/undefined/gitaly_mep_mep.yml (renamed from config/feature_flags/development/gitaly_mep_mep.yml)2
-rw-r--r--config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml (renamed from config/feature_flags/development/gitaly_pack_objects_hook_with_sidechannel.yml)2
-rw-r--r--config/feature_flags/undefined/gitaly_replace_wiki_create_page.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml (renamed from config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml)2
-rw-r--r--config/feature_flags/undefined/gitaly_user_merge_branch_access_error.yml (renamed from config/feature_flags/development/gitaly_user_merge_branch_access_error.yml)2
-rw-r--r--config/gitlab.yml.example54
-rw-r--r--config/gitlab_loose_foreign_keys.yml2
-rw-r--r--config/initializers/00_connection_logger.rb26
-rw-r--r--config/initializers/0_marginalia.rb9
-rw-r--r--config/initializers/1_settings.rb63
-rw-r--r--config/initializers/7_prometheus_metrics.rb18
-rw-r--r--config/initializers/active_record_lifecycle.rb8
-rw-r--r--config/initializers/active_record_transaction_observer.rb2
-rw-r--r--config/initializers/attr_encrypted_no_db_connection.rb19
-rw-r--r--config/initializers/carrierwave_patch.rb2
-rw-r--r--config/initializers/content_security_policy.rb2
-rw-r--r--config/initializers/doorkeeper.rb10
-rw-r--r--config/initializers/elastic_client_setup.rb26
-rw-r--r--config/initializers/omniauth.rb2
-rw-r--r--config/initializers/request_profiler.rb1
-rw-r--r--config/initializers/sidekiq.rb17
-rw-r--r--config/initializers/validate_database_config.rb6
-rw-r--r--config/initializers_before_autoloader/004_zeitwerk.rb1
-rw-r--r--config/metrics/aggregates/code_review.yml12
-rw-r--r--config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml2
-rw-r--r--config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml2
-rw-r--r--config/metrics/counts_28d/20210216180814_events.yml2
-rw-r--r--config/metrics/counts_28d/20210216181923_successful_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181924_failed_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181937_failed_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216181941_successful_deployments.yml2
-rw-r--r--config/metrics/counts_28d/20210216182051_protected_branches.yml2
-rw-r--r--config/metrics/counts_28d/20210216183644_gitlab_project.yml3
-rw-r--r--config/metrics/counts_28d/20210216183646_gitlab.yml3
-rw-r--r--config/metrics/counts_28d/20210216183648_github.yml3
-rw-r--r--config/metrics/counts_28d/20210216183650_bitbucket.yml3
-rw-r--r--config/metrics/counts_28d/20210216183652_bitbucket_server.yml3
-rw-r--r--config/metrics/counts_28d/20210216183653_gitea.yml3
-rw-r--r--config/metrics/counts_28d/20210216183655_git.yml3
-rw-r--r--config/metrics/counts_28d/20210216183657_manifest.yml3
-rw-r--r--config/metrics/counts_28d/20210216183659_gitlab_migration.yml3
-rw-r--r--config/metrics/counts_28d/20210216183703_fogbugz.yml3
-rw-r--r--config/metrics/counts_28d/20210216183705_phabricator.yml3
-rw-r--r--config/metrics/counts_28d/20210216183711_gitlab_migration.yml3
-rw-r--r--config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml2
-rwxr-xr-xconfig/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20210715094458_releases_with_milestones.yml2
-rw-r--r--config/metrics/counts_28d/20210901221659_p_ci_templates_security_cluster_image_scanning_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210901221849_p_ci_templates_managed_cluster_applications_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml4
-rw-r--r--config/metrics/counts_28d/20210910132229_user_auth_by_provider.yml2
-rw-r--r--config/metrics/counts_28d/20211126090835_p_analytics_ci_cd_deployment_frequency_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20211126091206_p_analytics_ci_cd_lead_time_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20220309001640_p_ci_templates_jobs_secret_detection_latest_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20220428154012_live_preview.yml26
-rw-r--r--config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml26
-rwxr-xr-xconfig/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml2
-rw-r--r--config/metrics/counts_7d/20210901221654_p_ci_templates_security_cluster_image_scanning_weekly.yml4
-rw-r--r--config/metrics/counts_7d/20210901221844_p_ci_templates_managed_cluster_applications_weekly.yml4
-rw-r--r--config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml4
-rw-r--r--config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml4
-rw-r--r--config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20220309001635_p_ci_templates_jobs_secret_detection_latest_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml26
-rw-r--r--config/metrics/counts_all/20210216175446_network_policy_forwards.yml4
-rw-r--r--config/metrics/counts_all/20210216175448_network_policy_drops.yml4
-rw-r--r--config/metrics/counts_all/20210216175516_ci_pipeline_config_auto_devops.yml2
-rw-r--r--config/metrics/counts_all/20210216175525_ci_builds.yml2
-rw-r--r--config/metrics/counts_all/20210216180638_gitlab_project.yml3
-rw-r--r--config/metrics/counts_all/20210216180639_gitlab.yml3
-rw-r--r--config/metrics/counts_all/20210216180641_github.yml3
-rw-r--r--config/metrics/counts_all/20210216180643_bitbucket.yml3
-rw-r--r--config/metrics/counts_all/20210216180645_bitbucket_server.yml3
-rw-r--r--config/metrics/counts_all/20210216180647_gitea.yml3
-rw-r--r--config/metrics/counts_all/20210216180649_git.yml3
-rw-r--r--config/metrics/counts_all/20210216180650_manifest.yml3
-rw-r--r--config/metrics/counts_all/20210216180652_gitlab_migration.yml3
-rw-r--r--config/metrics/counts_all/20210216180656_fogbugz.yml3
-rw-r--r--config/metrics/counts_all/20210216180658_phabricator.yml3
-rw-r--r--config/metrics/counts_all/20210216180703_gitlab_migration.yml3
-rw-r--r--config/metrics/counts_all/20210216180754_events.yml2
-rw-r--r--config/metrics/counts_all/20210216180931_projects_prometheus_active.yml2
-rw-r--r--config/metrics/counts_all/20210216181249_feature_flags.yml2
-rw-r--r--config/metrics/counts_all/20210216181914_environments.yml2
-rw-r--r--config/metrics/counts_all/20210423005644_i_analytics_dev_ops_adoption.yml2
-rw-r--r--config/metrics/counts_all/20210502045402_ci_runners_instance_type_active.yml2
-rw-r--r--config/metrics/counts_all/20210502050341_ci_runners_group_type_active.yml2
-rw-r--r--config/metrics/counts_all/20210502050834_ci_runners_project_type_active.yml2
-rw-r--r--config/metrics/counts_all/20210514141520_project_imports_total.yml2
-rw-r--r--config/metrics/license/20210204124829_active_user_count.yml2
-rw-r--r--config/metrics/schema.json3
-rw-r--r--config/metrics/settings/20210204124912_prometheus_enabled.yml2
-rw-r--r--config/object_store_settings.rb21
-rw-r--r--config/pseudonymizer.yml472
-rw-r--r--config/routes.rb5
-rw-r--r--config/routes/admin.rb5
-rw-r--r--config/routes/project.rb11
-rw-r--r--config/routes/user.rb2
-rw-r--r--config/settings.rb6
-rw-r--r--config/sidekiq_queues.yml12
187 files changed, 998 insertions, 970 deletions
diff --git a/config/application.rb b/config/application.rb
index aa1a0b26d60..8a40aaa8bd6 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -72,7 +72,7 @@ module Gitlab
require_dependency Rails.root.join('lib/gitlab/patch/database_config')
require_dependency Rails.root.join('lib/gitlab/exceptions_app')
- config.exceptions_app = Gitlab::ExceptionsApp.new(Rails.public_path)
+ config.exceptions_app = Gitlab::ExceptionsApp.new(Gitlab.jh? ? Rails.root.join('jh/public') : Rails.public_path)
# This preload is required to:
#
@@ -141,6 +141,9 @@ module Gitlab
Gitlab.ee { config.autoload_paths.push("#{config.root}/ee/lib/generators") }
Gitlab.jh { config.autoload_paths.push("#{config.root}/jh/lib/generators") }
+ # Add JH initializer into rails initializers path
+ Gitlab.jh { config.paths["config/initializers"] << "#{config.root}/jh/config/initializers" }
+
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named.
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
@@ -272,6 +275,7 @@ module Gitlab
config.assets.precompile << "page_bundles/import.css"
config.assets.precompile << "page_bundles/incident_management_list.css"
config.assets.precompile << "page_bundles/issues_list.css"
+ config.assets.precompile << "page_bundles/issues_show.css"
config.assets.precompile << "page_bundles/jira_connect.css"
config.assets.precompile << "page_bundles/jira_connect_users.css"
config.assets.precompile << "page_bundles/learn_gitlab.css"
@@ -286,6 +290,7 @@ module Gitlab
config.assets.precompile << "page_bundles/pipeline.css"
config.assets.precompile << "page_bundles/pipeline_schedules.css"
config.assets.precompile << "page_bundles/pipelines.css"
+ config.assets.precompile << "page_bundles/pipeline_editor.css"
config.assets.precompile << "page_bundles/productivity_analytics.css"
config.assets.precompile << "page_bundles/profile_two_factor_auth.css"
config.assets.precompile << "page_bundles/project.css"
@@ -486,19 +491,17 @@ module Gitlab
end
end
- # Load JH initializers under JH. Load ordering is:
- # 1. prepend_helpers_path
- # 2. before_zeitwerk
- # 3. let_zeitwerk_take_over
- # 4. move_initializers
- # 5. load_config_initializers
- # 6. load_jh_config_initializers
- Gitlab.jh do
- initializer :load_jh_config_initializers, after: :load_config_initializers do
- Dir[Rails.root.join('jh/config/initializers/*.rb')].sort.each do |initializer|
- load_config_initializer(initializer)
- end
- end
+ # We know Rails closes database connections in the
+ # active_record.clear_active_connections initializer, so only log database
+ # connections opened after that.
+ initializer :start_logging_new_postgresql_connections, after: :finisher_hook do
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.warn_on_new_connection = true
+ end
+
+ # It is legitimate to open database connections after initializers so stop
+ # logging
+ initializer :stop_logging_new_postgresql_connections, after: :set_routes_reloader_hook do
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.warn_on_new_connection = false
end
# Add assets for variants of GitLab. They should take precedence over CE.
@@ -509,7 +512,7 @@ module Gitlab
# app/assets/stylesheets/example.scss
#
# The jh/ version will be preferred.
- initializer :prefer_specialized_assets, after: :append_assets_path do |app|
+ initializer :prefer_specialized_assets, after: :append_assets_path, before: :build_middleware_stack do |app|
Gitlab.extensions.each do |extension|
%w[images javascripts stylesheets].each do |path|
app.config.assets.paths.unshift("#{config.root}/#{extension}/app/assets/#{path}")
@@ -521,8 +524,10 @@ module Gitlab
# because we connect to database from routes
# https://github.com/rails/rails/blob/fdf840f69a2e33d78a9d40b91d9b7fddb76711e9/activerecord/lib/active_record/railtie.rb#L308
initializer :clear_active_connections_again, after: :set_routes_reloader_hook do
+ # rubocop:disable Database/MultipleDatabases
ActiveRecord::Base.clear_active_connections!
ActiveRecord::Base.flush_idle_connections!
+ # rubocop:enable Database/MultipleDatabases
end
# DO NOT PLACE ANY INITIALIZERS AFTER THIS.
diff --git a/config/database.yml.env b/config/database.yml.env
deleted file mode 100644
index 1e35651c9a6..00000000000
--- a/config/database.yml.env
+++ /dev/null
@@ -1,17 +0,0 @@
-<%= ENV['RAILS_ENV'] %>:
- ## Connection information
- # Please be aware that the DATABASE_URL environment variable will take
- # precedence over the following 6 parameters. For more information, see
- # doc/administration/environment_variables.md
- adapter: <%= ENV['GITLAB_DATABASE_ADAPTER'] || 'postgresql' %>
- database: <%= ENV['GITLAB_DATABASE_DATABASE'] || "gitlab_#{ENV['RAILS_ENV']}" %>
- username: <%= ENV['GITLAB_DATABASE_USERNAME'] || 'root' %>
- password: <%= ENV['GITLAB_DATABASE_PASSWORD'] || '' %>
- host: <%= ENV['GITLAB_DATABASE_HOST'] || 'localhost' %>
- port: <%= ENV['GITLAB_DATABASE_PORT'] || '5432' %>
-
- ## Behavior information
- # The following parameters will be used even if you're using the DATABASE_URL
- # environment variable.
- encoding: <%= ENV['GITLAB_DATABASE_ENCODING'] || 'unicode' %>
- pool: <%= ENV['GITLAB_DATABASE_POOL'] || '10' %>
diff --git a/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml b/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml
new file mode 100644
index 00000000000..47234c07f59
--- /dev/null
+++ b/config/events/1651052988_gitlab__usage_data_counters__ci_template_unique_counter_ci_templates_unique.yml
@@ -0,0 +1,23 @@
+---
+description: Run Pipeline
+category: Gitlab::UsageDataCounters::CiTemplateUniqueCounter
+action: ci_templates_unique
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+product_section: ops
+product_stage: configure
+product_group: group::configure
+product_category: infrastructure_as_code
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84337
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1651053267_event_create_service_action_active_users_project_repo.yml b/config/events/1651053267_event_create_service_action_active_users_project_repo.yml
new file mode 100644
index 00000000000..bab5dd9e7b3
--- /dev/null
+++ b/config/events/1651053267_event_create_service_action_active_users_project_repo.yml
@@ -0,0 +1,23 @@
+---
+description: Perform Git operation (read/write/push)
+category: EventCreateService
+action: action_active_users_project_repo
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+product_section: dev
+product_stage: create
+product_group: group::source code
+product_category: source_code_management
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83795
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1651580551_groups_controller_show_render.yml b/config/events/1651580551_groups_controller_show_render.yml
new file mode 100644
index 00000000000..60b078c5ba5
--- /dev/null
+++ b/config/events/1651580551_groups_controller_show_render.yml
@@ -0,0 +1,21 @@
+description: Render event to understand if users view this page more on average
+category: group_overview
+action: show
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+product_section: growth
+product_stage:
+product_group: group::conversion
+product_category:
+milestone: "15.0"
+introduced_by_url:
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/events/1651581659_projects_controller_show_render.yml b/config/events/1651581659_projects_controller_show_render.yml
new file mode 100644
index 00000000000..411d02ae77d
--- /dev/null
+++ b/config/events/1651581659_projects_controller_show_render.yml
@@ -0,0 +1,21 @@
+description: Render event to understand if users view this page more on average
+category: project_overview
+action: show
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+product_section: growth
+product_stage:
+product_group: group::conversion
+product_category:
+milestone: "15.0"
+introduced_by_url:
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index c991d3e3720..473cf240864 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -24,16 +24,16 @@
- code_review
- code_testing
- compliance_management
-- container_host_security
-- container_network_security
- container_registry
- container_scanning
- continuous_delivery
- continuous_integration
- continuous_integration_scaling
- continuous_verification
+- credential_management
- database
- dataops
+- dedicated
- delivery
- dependency_firewall
- dependency_proxy
@@ -54,6 +54,7 @@
- experimentation_expansion
- feature_flags
- five_minute_production_app
+- fulfillment_platform
- fuzz_testing
- geo_replication
- git_lfs
@@ -61,7 +62,6 @@
- gitlab_docs
- global_search
- helm_chart_registry
-- horse
- importers
- incident_management
- infrastructure_as_code
@@ -87,6 +87,7 @@
- package_registry
- pages
- performance_testing
+- permissions
- pipeline_authoring
- planning_analytics
- portfolio_management
@@ -99,6 +100,7 @@
- redis
- release_evidence
- release_orchestration
+- remote_development
- requirements_management
- review_apps
- runbooks
@@ -118,8 +120,10 @@
- static_application_security_testing
- static_site_editor
- subgroups
+- system_access
- team_planning
- tracing
+- user_management
- users
- utilization
- value_stream_management
diff --git a/config/feature_flags/development/push_rules_supersede_code_owners.yml b/config/feature_flags/development/async_mr_close_issue.yml
index 2341556502f..84db0a57fd6 100644
--- a/config/feature_flags/development/push_rules_supersede_code_owners.yml
+++ b/config/feature_flags/development/async_mr_close_issue.yml
@@ -1,8 +1,8 @@
---
-name: push_rules_supersede_code_owners
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44126
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/262019
+name: async_mr_close_issue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86328
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361320
+milestone: '15.0'
type: development
group: group::code review
-default_enabled: true
-milestone: '13.5'
+default_enabled: false
diff --git a/config/feature_flags/development/automated_email_provision.yml b/config/feature_flags/development/automated_email_provision.yml
index 2b3fee208ab..2734413dd8f 100644
--- a/config/feature_flags/development/automated_email_provision.yml
+++ b/config/feature_flags/development/automated_email_provision.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/348317
milestone: '14.6'
type: development
group: group::license
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/distribute_github_parallel_import.yml b/config/feature_flags/development/blame_page_pagination.yml
index e7f9ac78afb..49fb1a7f605 100644
--- a/config/feature_flags/development/distribute_github_parallel_import.yml
+++ b/config/feature_flags/development/blame_page_pagination.yml
@@ -1,8 +1,8 @@
---
-name: distribute_github_parallel_import
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83616
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356800
-milestone: '14.10'
+name: blame_page_pagination
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85827
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360927
+milestone: '15.0'
type: development
group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/ci_expand_environment_name_and_url.yml b/config/feature_flags/development/ci_expand_environment_name_and_url.yml
index 58626cdfc46..beb7065cf53 100644
--- a/config/feature_flags/development/ci_expand_environment_name_and_url.yml
+++ b/config/feature_flags/development/ci_expand_environment_name_and_url.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358831
milestone: '14.10'
type: development
group: group::pipeline authoring
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_fix_rules_if_comparison_with_regexp_variable.yml b/config/feature_flags/development/ci_fix_rules_if_comparison_with_regexp_variable.yml
new file mode 100644
index 00000000000..be21707d376
--- /dev/null
+++ b/config/feature_flags/development/ci_fix_rules_if_comparison_with_regexp_variable.yml
@@ -0,0 +1,8 @@
+---
+name: ci_fix_rules_if_comparison_with_regexp_variable
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85310
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359740
+milestone: '15.0'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/ci_pending_builds_table_resiliency.yml b/config/feature_flags/development/ci_minutes_cost_factor_for_all_public_projects.yml
index 2e53bf2c9a1..24932e0cfe4 100644
--- a/config/feature_flags/development/ci_pending_builds_table_resiliency.yml
+++ b/config/feature_flags/development/ci_minutes_cost_factor_for_all_public_projects.yml
@@ -1,8 +1,8 @@
---
-name: ci_pending_builds_table_resiliency
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84359
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357988
-milestone: '14.10'
+name: ci_minutes_cost_factor_for_all_public_projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85357
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359094
+milestone: '15.0'
type: development
group: group::pipeline execution
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/ci_namespace_mirrors_consistency_check.yml b/config/feature_flags/development/ci_namespace_mirrors_consistency_check.yml
index 965fb904a15..6d4e50c2753 100644
--- a/config/feature_flags/development/ci_namespace_mirrors_consistency_check.yml
+++ b/config/feature_flags/development/ci_namespace_mirrors_consistency_check.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356577
milestone: '14.10'
type: development
group: group::sharding
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_project_mirrors_consistency_check.yml b/config/feature_flags/development/ci_project_mirrors_consistency_check.yml
index 9ba2865216d..5fc88ef9bfb 100644
--- a/config/feature_flags/development/ci_project_mirrors_consistency_check.yml
+++ b/config/feature_flags/development/ci_project_mirrors_consistency_check.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356583
milestone: '14.10'
type: development
group: group::sharding
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/environment_multiple_stop_actions.yml b/config/feature_flags/development/ci_recreate_downstream_pipeline.yml
index 514d5e8cf52..17b8a0965fc 100644
--- a/config/feature_flags/development/environment_multiple_stop_actions.yml
+++ b/config/feature_flags/development/ci_recreate_downstream_pipeline.yml
@@ -1,8 +1,8 @@
---
-name: environment_multiple_stop_actions
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84922
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358911
+name: ci_recreate_downstream_pipeline
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83613
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358409
milestone: '14.10'
type: development
-group: group::release
+group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/confidential_notes.yml b/config/feature_flags/development/confidential_notes.yml
index 4e9add5eb3c..8c7197d2ef9 100644
--- a/config/feature_flags/development/confidential_notes.yml
+++ b/config/feature_flags/development/confidential_notes.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207474
milestone: '13.9'
type: development
group: group::product planning
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/contacts_autocomplete.yml b/config/feature_flags/development/contacts_autocomplete.yml
index 9d6960f6713..2b0908e7343 100644
--- a/config/feature_flags/development/contacts_autocomplete.yml
+++ b/config/feature_flags/development/contacts_autocomplete.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/352123
milestone: '14.8'
type: development
group: group::product planning
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/container_registry_expiration_policies_throttling.yml b/config/feature_flags/development/container_registry_expiration_policies_throttling.yml
deleted file mode 100644
index e22c7c3177b..00000000000
--- a/config/feature_flags/development/container_registry_expiration_policies_throttling.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: container_registry_expiration_policies_throttling
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36319
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238190
-milestone: '13.4'
-type: development
-group: group::package
-default_enabled: true
diff --git a/config/feature_flags/development/gitaly_replace_wiki_update_page.yml b/config/feature_flags/development/container_registry_migration_phase2_capacity_2.yml
index 9fabf5edde8..11e66a5531e 100644
--- a/config/feature_flags/development/gitaly_replace_wiki_update_page.yml
+++ b/config/feature_flags/development/container_registry_migration_phase2_capacity_2.yml
@@ -1,8 +1,8 @@
---
-name: gitaly_replace_wiki_update_page
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83833
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357246
+name: container_registry_migration_phase2_capacity_2
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85277
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350543
milestone: '14.10'
type: development
-group: group::editor
+group: group::package
default_enabled: false
diff --git a/config/feature_flags/development/container_registry_migration_phase2_capacity_5.yml b/config/feature_flags/development/container_registry_migration_phase2_capacity_5.yml
new file mode 100644
index 00000000000..544354f1b84
--- /dev/null
+++ b/config/feature_flags/development/container_registry_migration_phase2_capacity_5.yml
@@ -0,0 +1,8 @@
+---
+name: container_registry_migration_phase2_capacity_5
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85908
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350543
+milestone: '15.0'
+type: development
+group: group::package
+default_enabled: false
diff --git a/config/feature_flags/development/create_project_settings.yml b/config/feature_flags/development/container_registry_migration_phase2_enqueue_twice.yml
index 8c536d1f3fa..83ae4e8c761 100644
--- a/config/feature_flags/development/create_project_settings.yml
+++ b/config/feature_flags/development/container_registry_migration_phase2_enqueue_twice.yml
@@ -1,8 +1,8 @@
---
-name: create_project_settings
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84502
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358136
-milestone: '14.10'
+name: container_registry_migration_phase2_enqueue_twice
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86596
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350543
+milestone: '15.0'
type: development
-group: group::authentication and authorization
+group: group::package
default_enabled: false
diff --git a/config/feature_flags/development/container_registry_migration_phase2_enqueuer_loop.yml b/config/feature_flags/development/container_registry_migration_phase2_enqueuer_loop.yml
new file mode 100644
index 00000000000..abd14090007
--- /dev/null
+++ b/config/feature_flags/development/container_registry_migration_phase2_enqueuer_loop.yml
@@ -0,0 +1,8 @@
+---
+name: container_registry_migration_phase2_enqueuer_loop
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87168
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350543
+milestone: '15.0'
+type: development
+group: group::package
+default_enabled: false
diff --git a/config/feature_flags/development/container_registry_project_statistics.yml b/config/feature_flags/development/container_registry_project_statistics.yml
new file mode 100644
index 00000000000..e17fb8406b3
--- /dev/null
+++ b/config/feature_flags/development/container_registry_project_statistics.yml
@@ -0,0 +1,8 @@
+---
+name: container_registry_project_statistics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84923
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359852
+milestone: '15.0'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/customer_relations.yml b/config/feature_flags/development/customer_relations.yml
index 58783708921..d68e299758a 100644
--- a/config/feature_flags/development/customer_relations.yml
+++ b/config/feature_flags/development/customer_relations.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346082
milestone: '14.3'
type: development
group: group::product planning
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/delayed_project_import_schedule_worker.yml b/config/feature_flags/development/delayed_project_import_schedule_worker.yml
new file mode 100644
index 00000000000..cdf42fbb8ec
--- /dev/null
+++ b/config/feature_flags/development/delayed_project_import_schedule_worker.yml
@@ -0,0 +1,8 @@
+---
+name: delayed_project_import_schedule_worker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87438
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1681
+milestone: '15.0'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/dependency_proxy_for_private_groups.yml b/config/feature_flags/development/dependency_proxy_for_private_groups.yml
deleted file mode 100644
index 0bc795ba02e..00000000000
--- a/config/feature_flags/development/dependency_proxy_for_private_groups.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: dependency_proxy_for_private_groups
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46042
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276777
-milestone: '13.7'
-type: development
-group: group::package
-default_enabled: true
diff --git a/config/feature_flags/development/deployment_approval_rules.yml b/config/feature_flags/development/deployment_approval_rules.yml
deleted file mode 100644
index 1658f9c4fe0..00000000000
--- a/config/feature_flags/development/deployment_approval_rules.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: deployment_approval_rules
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83495
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354726
-milestone: '14.10'
-type: development
-group: group::release
-default_enabled: true
diff --git a/config/feature_flags/development/group_releases_finder_inoperator.yml b/config/feature_flags/development/detect_android_projects.yml
index c76c328b5bf..4270cbdff7c 100644
--- a/config/feature_flags/development/group_releases_finder_inoperator.yml
+++ b/config/feature_flags/development/detect_android_projects.yml
@@ -1,8 +1,8 @@
---
-name: group_releases_finder_inoperator
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80093
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/355463
-milestone: '14.9'
+name: detect_android_projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85681
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360902
+milestone: '15.0'
type: development
-group: group::release
+group: group::activation
default_enabled: false
diff --git a/config/feature_flags/development/downstream_retry_action.yml b/config/feature_flags/development/downstream_retry_action.yml
new file mode 100644
index 00000000000..7031c7565ce
--- /dev/null
+++ b/config/feature_flags/development/downstream_retry_action.yml
@@ -0,0 +1,8 @@
+---
+name: downstream_retry_action
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83751
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357406
+milestone: '15.0'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/enforce_security_report_validation.yml b/config/feature_flags/development/enforce_security_report_validation.yml
index 0478033c55b..2a8d3e32ec4 100644
--- a/config/feature_flags/development/enforce_security_report_validation.yml
+++ b/config/feature_flags/development/enforce_security_report_validation.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351000
milestone: '14.9'
type: development
group: group::threat insights
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/enhanced_notify_css.yml b/config/feature_flags/development/enhanced_notify_css.yml
index 010b80caf5d..c17da36c7ed 100644
--- a/config/feature_flags/development/enhanced_notify_css.yml
+++ b/config/feature_flags/development/enhanced_notify_css.yml
@@ -2,7 +2,7 @@
name: enhanced_notify_css
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78604
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/355907
-milestone: '14.8'
+milestone: '14.9'
type: development
group: group::project management
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/env_last_deployment_by_finished_at.yml b/config/feature_flags/development/env_last_deployment_by_finished_at.yml
deleted file mode 100644
index 36163b167d0..00000000000
--- a/config/feature_flags/development/env_last_deployment_by_finished_at.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: env_last_deployment_by_finished_at
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83558
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357299
-milestone: '14.10'
-type: development
-group: group::release
-default_enabled: true
diff --git a/config/feature_flags/development/ci_variables_builder_config_variables.yml b/config/feature_flags/development/failed_jobs_tab_vue.yml
index eb74993f90f..1c70bd5b418 100644
--- a/config/feature_flags/development/ci_variables_builder_config_variables.yml
+++ b/config/feature_flags/development/failed_jobs_tab_vue.yml
@@ -1,8 +1,8 @@
---
-name: ci_variables_builder_config_variables
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79935
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358791
-milestone: '14.10'
+name: failed_jobs_tab_vue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86151
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360849
+milestone: '15.0'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/lfk_fair_queueing.yml b/config/feature_flags/development/filter_quarantined_commits.yml
index 6dc6cb72e56..2c18e83d947 100644
--- a/config/feature_flags/development/lfk_fair_queueing.yml
+++ b/config/feature_flags/development/filter_quarantined_commits.yml
@@ -1,8 +1,8 @@
---
-name: lfk_fair_queueing
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79116
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351082
-milestone: '14.8'
+name: filter_quarantined_commits
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86440
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361174
+milestone: '15.0'
type: development
-group: group::sharding
+group: group::gitaly
default_enabled: true
diff --git a/config/feature_flags/development/fix_related_environments_for_merge_requests.yml b/config/feature_flags/development/fix_related_environments_for_merge_requests.yml
deleted file mode 100644
index d958f1d4de0..00000000000
--- a/config/feature_flags/development/fix_related_environments_for_merge_requests.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: fix_related_environments_for_merge_requests
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83382
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356642
-milestone: '14.10'
-type: development
-group: group::release
-default_enabled: true
diff --git a/config/feature_flags/development/geo_use_clone_on_first_sync.yml b/config/feature_flags/development/geo_use_clone_on_first_sync.yml
index 6eb41ee2f56..ae9dcf9a7bb 100644
--- a/config/feature_flags/development/geo_use_clone_on_first_sync.yml
+++ b/config/feature_flags/development/geo_use_clone_on_first_sync.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357462
milestone: '14.10'
type: development
group: group::geo
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/gitlab_shell_upload_pack_sidechannel.yml b/config/feature_flags/development/gitlab_shell_upload_pack_sidechannel.yml
deleted file mode 100644
index e329959d36f..00000000000
--- a/config/feature_flags/development/gitlab_shell_upload_pack_sidechannel.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gitlab_shell_upload_pack_sidechannel
-introduced_by_url:
-rollout_issue_url:
-milestone: '14.8'
-type: development
-group: group::scalability
-default_enabled: false
diff --git a/config/feature_flags/development/graphql_ci_runner_executor.yml b/config/feature_flags/development/graphql_ci_runner_executor.yml
deleted file mode 100644
index f58482b32d8..00000000000
--- a/config/feature_flags/development/graphql_ci_runner_executor.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: graphql_ci_runner_executor
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76534
-rollout_issue_url:
-milestone: '14.7'
-type: development
-group: group::runner
-default_enabled: false
diff --git a/config/feature_flags/development/inactive_projects_deletion.yml b/config/feature_flags/development/inactive_projects_deletion.yml
new file mode 100644
index 00000000000..e9bb91f62cc
--- /dev/null
+++ b/config/feature_flags/development/inactive_projects_deletion.yml
@@ -0,0 +1,8 @@
+---
+name: inactive_projects_deletion
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85689
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357968
+milestone: '15.0'
+type: development
+group: group::compliance
+default_enabled: false
diff --git a/config/feature_flags/development/ipynbdiff_notes_tracker.yml b/config/feature_flags/development/ipynbdiff_notes_tracker.yml
new file mode 100644
index 00000000000..af471a3f6ee
--- /dev/null
+++ b/config/feature_flags/development/ipynbdiff_notes_tracker.yml
@@ -0,0 +1,8 @@
+---
+name: ipynbdiff_notes_tracker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85398
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/362232
+milestone: '15.0'
+type: development
+group: group::incubation
+default_enabled: false
diff --git a/config/feature_flags/development/jira_connect_oauth_self_managed.yml b/config/feature_flags/development/jira_connect_oauth_self_managed.yml
new file mode 100644
index 00000000000..dd7a8b6cd29
--- /dev/null
+++ b/config/feature_flags/development/jira_connect_oauth_self_managed.yml
@@ -0,0 +1,8 @@
+---
+name: jira_connect_oauth_self_managed
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85483
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359940
+milestone: '15.0'
+type: development
+group: group::integrations
+default_enabled: false
diff --git a/config/feature_flags/development/markdown_continue_lists.yml b/config/feature_flags/development/markdown_continue_lists.yml
deleted file mode 100644
index 8be9a3008da..00000000000
--- a/config/feature_flags/development/markdown_continue_lists.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: markdown_continue_lists
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79161
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351386
-milestone: '14.8'
-type: development
-group: group::project management
-default_enabled: false
diff --git a/config/feature_flags/development/container_registry_follow_redirects_middleware.yml b/config/feature_flags/development/measure_service_ping_metric_collection.yml
index 6b0ded9dbc4..c480bdedae6 100644
--- a/config/feature_flags/development/container_registry_follow_redirects_middleware.yml
+++ b/config/feature_flags/development/measure_service_ping_metric_collection.yml
@@ -1,8 +1,8 @@
---
-name: container_registry_follow_redirects_middleware
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81056
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353291
-milestone: '14.9'
+name: measure_service_ping_metric_collection
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82607
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358128
+milestone: '15.0'
type: development
-group: group::package
+group: group::product intelligence
default_enabled: true
diff --git a/config/feature_flags/development/ukraine_support_tanuki.yml b/config/feature_flags/development/monitor_logging.yml
index 3a2c64a5aa4..e9e3f49a3bb 100644
--- a/config/feature_flags/development/ukraine_support_tanuki.yml
+++ b/config/feature_flags/development/monitor_logging.yml
@@ -1,8 +1,8 @@
---
-name: ukraine_support_tanuki
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82050
+name: monitor_logging
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86214
rollout_issue_url:
-milestone: '14.9'
+milestone: '15.0'
type: development
-group: group::editor
+group: group::respond
default_enabled: false
diff --git a/config/feature_flags/development/settings_operations_prometheus_service.yml b/config/feature_flags/development/monitor_tracing.yml
index 93afe504b21..e4de215cc97 100644
--- a/config/feature_flags/development/settings_operations_prometheus_service.yml
+++ b/config/feature_flags/development/monitor_tracing.yml
@@ -1,8 +1,8 @@
---
-name: settings_operations_prometheus_service
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24296
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258560
-milestone: '12.8'
+name: monitor_tracing
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85877
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359904
+milestone: '15.0'
type: development
group: group::respond
default_enabled: false
diff --git a/config/feature_flags/development/moved_mr_sidebar.yml b/config/feature_flags/development/moved_mr_sidebar.yml
new file mode 100644
index 00000000000..b12d3023e3c
--- /dev/null
+++ b/config/feature_flags/development/moved_mr_sidebar.yml
@@ -0,0 +1,8 @@
+---
+name: moved_mr_sidebar
+introduced_by_url:
+rollout_issue_url:
+milestone: '14.10'
+type: development
+group: group::code review
+default_enabled: false
diff --git a/config/feature_flags/development/namespace_storage_limit_bypass_date_check.yml b/config/feature_flags/development/namespace_storage_limit_bypass_date_check.yml
new file mode 100644
index 00000000000..f70e60d14b5
--- /dev/null
+++ b/config/feature_flags/development/namespace_storage_limit_bypass_date_check.yml
@@ -0,0 +1,8 @@
+---
+name: namespace_storage_limit_bypass_date_check
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86794
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361785
+milestone: '15.0'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/runner_list_group_view_vue_ui.yml b/config/feature_flags/development/omit_epic_subscribed.yml
index 542bad1b236..885636d6626 100644
--- a/config/feature_flags/development/runner_list_group_view_vue_ui.yml
+++ b/config/feature_flags/development/omit_epic_subscribed.yml
@@ -1,8 +1,8 @@
---
-name: runner_list_group_view_vue_ui
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/66376
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/336405
-milestone: '14.2'
+name: omit_epic_subscribed
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86016
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360663
+milestone: '15.0'
type: development
-group: group::runner
+group: group::product planning
default_enabled: true
diff --git a/config/feature_flags/development/omniauth_initializer_fullhost_proc.yml b/config/feature_flags/development/omniauth_initializer_fullhost_proc.yml
index 75ed8e642c6..52743818b5a 100644
--- a/config/feature_flags/development/omniauth_initializer_fullhost_proc.yml
+++ b/config/feature_flags/development/omniauth_initializer_fullhost_proc.yml
@@ -1,8 +1,8 @@
---
name: omniauth_initializer_fullhost_proc
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82401
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82703
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/355579
milestone: '14.10'
type: development
group: group::geo
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/optimized_followed_users_queries.yml b/config/feature_flags/development/optimized_followed_users_queries.yml
index 514c3c91829..9e08810659b 100644
--- a/config/feature_flags/development/optimized_followed_users_queries.yml
+++ b/config/feature_flags/development/optimized_followed_users_queries.yml
@@ -2,7 +2,7 @@
name: optimized_followed_users_queries
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84856
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358649
-milestone: '14.10'
+milestone: '15.0'
type: development
group: group::optimize
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/optimized_project_and_group_activity_queries.yml b/config/feature_flags/development/optimized_project_and_group_activity_queries.yml
new file mode 100644
index 00000000000..6efb0a3818a
--- /dev/null
+++ b/config/feature_flags/development/optimized_project_and_group_activity_queries.yml
@@ -0,0 +1,8 @@
+---
+name: optimized_project_and_group_activity_queries
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85810
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360458
+milestone: '15.0'
+type: development
+group: group::workspace
+default_enabled: false
diff --git a/config/feature_flags/development/pipeline_editor_file_tree.yml b/config/feature_flags/development/pipeline_editor_file_tree.yml
new file mode 100644
index 00000000000..db31133a530
--- /dev/null
+++ b/config/feature_flags/development/pipeline_editor_file_tree.yml
@@ -0,0 +1,8 @@
+---
+name: pipeline_editor_file_tree
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83910
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357219
+milestone: '15.0'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/group_wiki_settings_toggle.yml b/config/feature_flags/development/preserve_unchanged_markdown.yml
index 083453a6944..55e5d913389 100644
--- a/config/feature_flags/development/group_wiki_settings_toggle.yml
+++ b/config/feature_flags/development/preserve_unchanged_markdown.yml
@@ -1,8 +1,8 @@
---
-name: group_wiki_settings_toggle
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82298
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358387
-milestone: '14.10'
+name: preserve_unchanged_markdown
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86060
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360713
+milestone: '15.0'
type: development
group: group::editor
default_enabled: false
diff --git a/config/feature_flags/development/refactor_mr_widget_test_summary.yml b/config/feature_flags/development/refactor_mr_widget_test_summary.yml
new file mode 100644
index 00000000000..902248f1d85
--- /dev/null
+++ b/config/feature_flags/development/refactor_mr_widget_test_summary.yml
@@ -0,0 +1,8 @@
+---
+name: refactor_mr_widget_test_summary
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83631
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/358208
+milestone: '15.0'
+type: development
+group: group::pipeline insights
+default_enabled: false
diff --git a/config/feature_flags/development/secure_vulnerability_training.yml b/config/feature_flags/development/registry_migration_guard_thresholds.yml
index 7dbc25f1ebf..664897c9e87 100644
--- a/config/feature_flags/development/secure_vulnerability_training.yml
+++ b/config/feature_flags/development/registry_migration_guard_thresholds.yml
@@ -1,8 +1,8 @@
---
-name: secure_vulnerability_training
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346074
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346308
-milestone: '14.6'
+name: registry_migration_guard_thresholds
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360790
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350543
+milestone: '15.0'
type: development
-group: group::threat insights
-default_enabled: true
+group: group::package
+default_enabled: false
diff --git a/config/feature_flags/development/remove_diff_header_icons.yml b/config/feature_flags/development/remove_diff_header_icons.yml
new file mode 100644
index 00000000000..213e911c414
--- /dev/null
+++ b/config/feature_flags/development/remove_diff_header_icons.yml
@@ -0,0 +1,8 @@
+---
+name: remove_diff_header_icons
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87289
+rollout_issue_url:
+milestone: '15.0'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/job_deployment_count.yml b/config/feature_flags/development/remove_sha_from_releases_json.yml
index 9a101da9a99..27b62c62978 100644
--- a/config/feature_flags/development/job_deployment_count.yml
+++ b/config/feature_flags/development/remove_sha_from_releases_json.yml
@@ -1,8 +1,8 @@
---
-name: job_deployment_count
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79272
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351591
-milestone: '14.8'
+name: remove_sha_from_releases_json
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86233
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360903
+milestone: '15.0'
type: development
group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/rendered_diffs_viewer.yml b/config/feature_flags/development/rendered_diffs_viewer.yml
index e159b2656e1..bca0d638eaf 100644
--- a/config/feature_flags/development/rendered_diffs_viewer.yml
+++ b/config/feature_flags/development/rendered_diffs_viewer.yml
@@ -2,7 +2,7 @@
name: rendered_diffs_viewer
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75500
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/352831
-milestone: '14.9'
+milestone: '15.0'
type: development
group: group::incubation
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/replace_order_by_created_at_with_id.yml b/config/feature_flags/development/replace_order_by_created_at_with_id.yml
new file mode 100644
index 00000000000..c370b172cd3
--- /dev/null
+++ b/config/feature_flags/development/replace_order_by_created_at_with_id.yml
@@ -0,0 +1,8 @@
+---
+name: replace_order_by_created_at_with_id
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86104
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360757
+milestone: '15.0'
+type: development
+group: group::workspace
+default_enabled: false
diff --git a/config/feature_flags/development/route_hll_to_snowplow.yml b/config/feature_flags/development/route_hll_to_snowplow.yml
index 3c8f7826a0a..0caaf1446ca 100644
--- a/config/feature_flags/development/route_hll_to_snowplow.yml
+++ b/config/feature_flags/development/route_hll_to_snowplow.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354442
milestone: '14.9'
type: development
group: group::product intelligence
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/slack_app_use_v2_flow.yml b/config/feature_flags/development/slack_app_use_v2_flow.yml
new file mode 100644
index 00000000000..2f696629cee
--- /dev/null
+++ b/config/feature_flags/development/slack_app_use_v2_flow.yml
@@ -0,0 +1,8 @@
+---
+name: slack_app_use_v2_flow
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85726
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/360680
+milestone: '15.0'
+type: development
+group: group::integrations
+default_enabled: false
diff --git a/config/feature_flags/development/nullify_in_batches_on_user_deletion.yml b/config/feature_flags/development/updated_diff_expansion_buttons.yml
index d97b4974f27..a566eab6047 100644
--- a/config/feature_flags/development/nullify_in_batches_on_user_deletion.yml
+++ b/config/feature_flags/development/updated_diff_expansion_buttons.yml
@@ -1,8 +1,8 @@
---
-name: 'nullify_in_batches_on_user_deletion'
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84709
+name: updated_diff_expansion_buttons
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80890
rollout_issue_url:
milestone: '14.10'
type: development
-group: group::optimize
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/new_vulnerability_form.yml b/config/feature_flags/development/updated_mr_header.yml
index 8f73b18876c..7268076b587 100644
--- a/config/feature_flags/development/new_vulnerability_form.yml
+++ b/config/feature_flags/development/updated_mr_header.yml
@@ -1,8 +1,8 @@
---
-name: new_vulnerability_form
+name: updated_mr_header
introduced_by_url:
rollout_issue_url:
-milestone: '14.9'
+milestone: '14.10'
type: development
-group: group::threat insights
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_diff_searches.yml b/config/feature_flags/development/usage_data_diff_searches.yml
new file mode 100644
index 00000000000..70c053b7a17
--- /dev/null
+++ b/config/feature_flags/development/usage_data_diff_searches.yml
@@ -0,0 +1,7 @@
+name: usage_data_diff_searches
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86603
+rollout_issue_url:
+milestone: '15.0'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_static_site_editor_commits.yml b/config/feature_flags/development/usage_data_static_site_editor_commits.yml
deleted file mode 100644
index a1d790b3505..00000000000
--- a/config/feature_flags/development/usage_data_static_site_editor_commits.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: usage_data_static_site_editor_commits
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47309
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284082
-milestone: '13.6'
-type: development
-group: group::static_site_editor
-default_enabled: false
diff --git a/config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml b/config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml
deleted file mode 100644
index b68e4d12915..00000000000
--- a/config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: usage_data_static_site_editor_merge_requests
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47309
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284083
-milestone: '13.6'
-type: development
-group: group::static_site_editor
-default_enabled: false
diff --git a/config/feature_flags/development/use_vsa_aggregated_tables.yml b/config/feature_flags/development/use_vsa_aggregated_tables.yml
index d2adec3633b..89c24181eb1 100644
--- a/config/feature_flags/development/use_vsa_aggregated_tables.yml
+++ b/config/feature_flags/development/use_vsa_aggregated_tables.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/343429
milestone: '14.5'
type: development
group: group::optimize
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/vsa_reaggregation_worker.yml b/config/feature_flags/development/vsa_reaggregation_worker.yml
index d5218d6e7e3..a3cc83722a3 100644
--- a/config/feature_flags/development/vsa_reaggregation_worker.yml
+++ b/config/feature_flags/development/vsa_reaggregation_worker.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357647
milestone: '14.10'
type: development
group: group::optimize
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/vulnerability_reads_table.yml b/config/feature_flags/development/vulnerability_reads_table.yml
deleted file mode 100644
index 0269c5330ae..00000000000
--- a/config/feature_flags/development/vulnerability_reads_table.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: vulnerability_reads_table
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76220
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/348151
-milestone: '14.9'
-type: development
-group: group::threat insights
-default_enabled: true
diff --git a/config/feature_flags/development/vulnerability_report_pagination.yml b/config/feature_flags/development/vulnerability_report_pagination.yml
deleted file mode 100644
index 677cc1efe11..00000000000
--- a/config/feature_flags/development/vulnerability_report_pagination.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: vulnerability_report_pagination
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/79834
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351975
-milestone: '14.8'
-type: development
-group: group::threat insights
-default_enabled: true
diff --git a/config/feature_flags/development/workhorse_use_sidechannel.yml b/config/feature_flags/development/workhorse_use_sidechannel.yml
deleted file mode 100644
index 1ba32be28c1..00000000000
--- a/config/feature_flags/development/workhorse_use_sidechannel.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: workhorse_use_sidechannel
-introduced_by_url:
-rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1193
-milestone: '14.4'
-type: development
-group: 'group::scalability'
-default_enabled: true
diff --git a/config/feature_flags/experiment/build_ios_app_guide_email.yml b/config/feature_flags/experiment/build_ios_app_guide_email.yml
new file mode 100644
index 00000000000..4e90b036063
--- /dev/null
+++ b/config/feature_flags/experiment/build_ios_app_guide_email.yml
@@ -0,0 +1,8 @@
+---
+name: build_ios_app_guide_email
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83817
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357803
+milestone: '15.0'
+type: experiment
+group: group::activation
+default_enabled: false
diff --git a/config/feature_flags/ops/certificate_based_clusters.yml b/config/feature_flags/ops/certificate_based_clusters.yml
index eaf4151b80a..65a05377774 100644
--- a/config/feature_flags/ops/certificate_based_clusters.yml
+++ b/config/feature_flags/ops/certificate_based_clusters.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353410
milestone: '14.9'
type: ops
group: group::configure
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/runner_read_only_admin_view.yml b/config/feature_flags/ops/ci_runner_separation_by_plan.yml
index 7a412e70dd9..37f4303abe3 100644
--- a/config/feature_flags/development/runner_read_only_admin_view.yml
+++ b/config/feature_flags/ops/ci_runner_separation_by_plan.yml
@@ -1,8 +1,8 @@
---
-name: runner_read_only_admin_view
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77682
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350164
-milestone: '14.7'
-type: development
+name: ci_runner_separation_by_plan
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83780
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361639
+milestone: '15.0'
+type: ops
group: group::runner
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/ops/deprecated_serverless.yml b/config/feature_flags/ops/deprecated_serverless.yml
deleted file mode 100644
index 0982778f139..00000000000
--- a/config/feature_flags/ops/deprecated_serverless.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: deprecated_serverless
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81493'
-rollout_issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/353901'
-milestone: '14.9'
-type: ops
-group: 'group::configure'
-default_enabled: true
diff --git a/config/feature_flags/ops/jira_raise_timeouts.yml b/config/feature_flags/ops/jira_raise_timeouts.yml
new file mode 100644
index 00000000000..d1ab0ff0670
--- /dev/null
+++ b/config/feature_flags/ops/jira_raise_timeouts.yml
@@ -0,0 +1,8 @@
+---
+name: jira_raise_timeouts
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86439
+rollout_issue_url:
+milestone: '15.0'
+type: ops
+group: group::integrations
+default_enabled: false
diff --git a/config/feature_flags/development/gitaly_enforce_requests_limits.yml b/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml
index cacfd87f203..d624694d7b0 100644
--- a/config/feature_flags/development/gitaly_enforce_requests_limits.yml
+++ b/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml
@@ -3,6 +3,6 @@ name: gitaly_enforce_requests_limits
introduced_by_url:
rollout_issue_url:
milestone:
-type: development
+type: undefined
group:
default_enabled: false
diff --git a/config/feature_flags/development/gitaly_go_user_merge_branch.yml b/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml
index 3804a3f56b5..51b40b6aa38 100644
--- a/config/feature_flags/development/gitaly_go_user_merge_branch.yml
+++ b/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml
@@ -3,6 +3,6 @@ name: gitaly_go_user_merge_branch
introduced_by_url:
rollout_issue_url:
milestone:
-type: development
+type: undefined
group:
default_enabled: false
diff --git a/config/feature_flags/development/gitaly_mep_mep.yml b/config/feature_flags/undefined/gitaly_mep_mep.yml
index 75cac13fe83..7f903b26539 100644
--- a/config/feature_flags/development/gitaly_mep_mep.yml
+++ b/config/feature_flags/undefined/gitaly_mep_mep.yml
@@ -3,6 +3,6 @@ name: gitaly_mep_mep
introduced_by_url:
rollout_issue_url:
milestone:
-type: development
+type: undefined
group:
default_enabled: false
diff --git a/config/feature_flags/development/gitaly_pack_objects_hook_with_sidechannel.yml b/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml
index 14cebc656c1..a09daecbfa5 100644
--- a/config/feature_flags/development/gitaly_pack_objects_hook_with_sidechannel.yml
+++ b/config/feature_flags/undefined/gitaly_pack_objects_hook_with_sidechannel.yml
@@ -3,6 +3,6 @@ name: gitaly_pack_objects_hook_with_sidechannel
introduced_by_url: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3758
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/1187
milestone: '14.3'
-type: development
+type: undefined
group: 'team::Scalability'
default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_replace_wiki_create_page.yml b/config/feature_flags/undefined/gitaly_replace_wiki_create_page.yml
new file mode 100644
index 00000000000..9b7a36cb2c0
--- /dev/null
+++ b/config/feature_flags/undefined/gitaly_replace_wiki_create_page.yml
@@ -0,0 +1,8 @@
+---
+name: gitaly_replace_wiki_create_page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/83734
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/356983
+milestone: '15.0'
+type: undefined
+group: group::editor
+default_enabled: false
diff --git a/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml b/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml
index 86e268af772..5d09ba62152 100644
--- a/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml
+++ b/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml
@@ -3,6 +3,6 @@ name: gitaly_upload_pack_gitaly_hooks
introduced_by_url:
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/807
milestone: '13.9'
-type: development
+type: undefined
group:
default_enabled: false
diff --git a/config/feature_flags/development/gitaly_user_merge_branch_access_error.yml b/config/feature_flags/undefined/gitaly_user_merge_branch_access_error.yml
index 6e52112b754..2b732c3f1ec 100644
--- a/config/feature_flags/development/gitaly_user_merge_branch_access_error.yml
+++ b/config/feature_flags/undefined/gitaly_user_merge_branch_access_error.yml
@@ -3,6 +3,6 @@ name: gitaly_user_merge_branch_access_error
introduced_by_url: https://gitlab.com/gitlab-org/gitaly/-/merge_requests/3705
rollout_issue_url: https://gitlab.com/gitlab-org/gitaly/-/issues/3757
milestone: '14.3'
-type: development
+type: undefined
group: group::gitaly
default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 57106120fb2..54a92f5b8b4 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -220,7 +220,7 @@ production: &base
#
# log_path: log/mail_room_json.log
- # Whether to expunge (permanently remove) messages from the mailbox when they are deleted after delivery
+ # Whether to expunge (permanently remove) messages from the mailbox when they are marked as deleted after delivery
expunge_deleted: false
# For Microsoft Graph support
@@ -288,7 +288,6 @@ production: &base
# object_store:
# enabled: false
# remote_directory: artifacts # The bucket name
- # background_upload: false # Temporary option to limit automatic upload (Default: true)
# proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
# connection:
# provider: AWS # Only AWS supported at the moment
@@ -308,7 +307,6 @@ production: &base
# object_store:
# enabled: false
# remote_directory: external-diffs
- # background_upload: false
# proxy_download: false
# connection:
# provider: AWS
@@ -324,8 +322,6 @@ production: &base
object_store:
enabled: false
remote_directory: lfs-objects # Bucket name
- # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
- # background_upload: false # Temporary option to limit automatic upload (Default: true)
# proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
connection:
provider: AWS
@@ -346,8 +342,6 @@ production: &base
object_store:
enabled: false
remote_directory: uploads # Bucket name
- # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
- # background_upload: false # Temporary option to limit automatic upload (Default: true)
# proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
connection:
provider: AWS
@@ -368,8 +362,6 @@ production: &base
object_store:
enabled: false
remote_directory: packages # The bucket name
- # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
- # background_upload: false # Temporary option to limit automatic upload (Default: true)
# proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
connection:
provider: AWS
@@ -389,8 +381,6 @@ production: &base
object_store:
enabled: false
remote_directory: dependency_proxy # The bucket name
- # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
- # background_upload: false # Temporary option to limit automatic upload (Default: true)
# proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
connection:
provider: AWS
@@ -592,20 +582,11 @@ production: &base
geo_secondary_registry_consistency_worker:
cron: "* * * * *"
- # GitLab Geo file download dispatch worker
- # NOTE: This will only take effect if Geo is enabled (secondary nodes only)
- geo_file_download_dispatch_worker:
- cron: "*/1 * * * *"
-
# GitLab Geo registry sync worker (for backfilling)
# NOTE: This will only take effect if Geo is enabled (secondary nodes only)
geo_registry_sync_worker:
cron: "*/1 * * * *"
- # Export pseudonymized data in CSV format for analysis
- pseudonymizer_worker:
- cron: "0 * * * *"
-
# Elasticsearch bulk updater for incremental updates.
# NOTE: This will only take effect if elasticsearch is enabled.
elastic_index_bulk_cron_worker:
@@ -621,6 +602,10 @@ production: &base
elastic_index_initial_bulk_cron_worker:
cron: "*/10 * * * *"
+ # Periodically prune stale runners from namespaces having opted-in.
+ ci_runners_stale_group_runners_prune_worker_cron:
+ cron: "30 * * * *"
+
registry:
# enabled: true
# host: registry.example.com
@@ -1215,20 +1200,6 @@ production: &base
# # server_side_encryption: 'aws:kms'
# # server_side_encryption_kms_key_id: 'arn:aws:kms:YOUR-KEY-ID-HERE'
- ## Pseudonymizer exporter
- pseudonymizer:
- # Tables manifest that specifies the fields to extract and pseudonymize.
- manifest: config/pseudonymizer.yml
- upload:
- remote_directory: 'gitlab-elt'
- # Fog storage connection settings, see http://fog.io/storage/ .
- connection:
- # provider: AWS
- # region: eu-west-1
- # aws_access_key_id: AKIAKIAKI
- # aws_secret_access_key: 'secret123'
- # # The remote 'directory' to store the CSV files. For S3, this would be the bucket name.
-
## GitLab Shell settings
gitlab_shell:
path: /home/git/gitlab-shell/
@@ -1304,9 +1275,8 @@ production: &base
sidekiq_health_checks:
# enabled: true
- # log_enabled: false
# address: localhost
- # port: 8082
+ # port: 8092
# Web exporter is a dedicated Rack server running alongside Puma to expose Prometheus metrics
# It runs alongside the `/metrics` endpoints to ease the publish of metrics
@@ -1438,7 +1408,6 @@ test:
object_store:
enabled: false
remote_directory: artifacts # The bucket name
- background_upload: false
connection:
provider: AWS # Only AWS supported at the moment
aws_access_key_id: AWS_ACCESS_KEY_ID
@@ -1534,17 +1503,6 @@ test:
backup:
path: tmp/tests/backups
gitaly_backup_path: tmp/tests/gitaly/_build/bin/gitaly-backup
- pseudonymizer:
- manifest: config/pseudonymizer.yml
- upload:
- # The remote 'directory' to store the CSV files. For S3, this would be the bucket name.
- remote_directory: gitlab-elt.test
- # Fog storage connection settings, see http://fog.io/storage/
- connection:
- provider: AWS # Only AWS supported at the moment
- aws_access_key_id: AWS_ACCESS_KEY_ID
- aws_secret_access_key: AWS_SECRET_ACCESS_KEY
- region: us-east-1
gitlab_shell:
path: tmp/tests/gitlab-shell/
authorized_keys_file: tmp/tests/authorized_keys
diff --git a/config/gitlab_loose_foreign_keys.yml b/config/gitlab_loose_foreign_keys.yml
index 8f228120c8e..ae6c2bde081 100644
--- a/config/gitlab_loose_foreign_keys.yml
+++ b/config/gitlab_loose_foreign_keys.yml
@@ -186,7 +186,7 @@ external_pull_requests:
merge_request_metrics:
- table: ci_pipelines
column: pipeline_id
- on_delete: async_delete
+ on_delete: async_nullify
merge_requests:
- table: ci_pipelines
column: head_pipeline_id
diff --git a/config/initializers/00_connection_logger.rb b/config/initializers/00_connection_logger.rb
new file mode 100644
index 00000000000..9f03d13f95f
--- /dev/null
+++ b/config/initializers/00_connection_logger.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+module NewConnectionLogger
+ extend ActiveSupport::Concern
+
+ prepended do |base|
+ base.class_attribute :warn_on_new_connection, default: false
+ end
+
+ class_methods do
+ def new_client(...)
+ if warn_on_new_connection && !ENV['SKIP_LOG_INITIALIZER_CONNECTIONS']
+ cleaned_caller = Gitlab::BacktraceCleaner.clean_backtrace(caller)
+ message = "Database connection should not be called during initializers. Read more at https://docs.gitlab.com/ee/development/rails_initializers.html#database-connections-in-initializers"
+
+ ActiveSupport::Deprecation.warn(message, cleaned_caller)
+
+ warn caller if ENV['DEBUG_INITIALIZER_CONNECTIONS']
+ end
+
+ super
+ end
+ end
+end
+
+ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(NewConnectionLogger)
diff --git a/config/initializers/0_marginalia.rb b/config/initializers/0_marginalia.rb
index 805a9e33347..e88599fd93c 100644
--- a/config/initializers/0_marginalia.rb
+++ b/config/initializers/0_marginalia.rb
@@ -17,11 +17,14 @@ Marginalia::Comment.components = [:application, :correlation_id, :jid, :endpoint
# As mentioned in https://github.com/basecamp/marginalia/pull/93/files,
# adding :line has some overhead because a regexp on the backtrace has
-# to be run on every SQL query. Only enable this in development because
+# to be run on every SQL query. Only enable this in development and test because
# we've seen it slow things down.
-if Rails.env.development?
+if Gitlab.dev_or_test_env?
Marginalia::Comment.components << :line
- Marginalia::Comment.lines_to_ignore = Regexp.union(Gitlab::BacktraceCleaner::IGNORE_BACKTRACES + %w(lib/ruby/gems/ lib/gem_extensions/ lib/ruby/))
+ Marginalia::Comment.lines_to_ignore = Regexp.union(
+ Gitlab::BacktraceCleaner::IGNORE_BACKTRACES + %w[
+ lib/ruby/gems/ lib/gem_extensions/ lib/ruby/ lib/gitlab/marginalia/ gems/
+ ])
end
Gitlab::Marginalia.set_application_name
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index c0dc18c60c9..05d480f267e 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -252,7 +252,7 @@ Settings.gitlab_ci['url'] ||= Settings.__send__(:build_gitlab_ci
Settings['ci_secure_files'] ||= Settingslogic.new({})
Settings.ci_secure_files['enabled'] = true if Settings.ci_secure_files['enabled'].nil?
Settings.ci_secure_files['storage_path'] = Settings.absolute(Settings.ci_secure_files['storage_path'] || File.join(Settings.shared['path'], "ci_secure_files"))
-Settings.ci_secure_files['object_store'] = ObjectStoreSettings.legacy_parse(Settings.ci_secure_files['object_store'])
+Settings.ci_secure_files['object_store'] = ObjectStoreSettings.legacy_parse(Settings.ci_secure_files['object_store'], 'secure_files')
#
# Reply by email
@@ -276,7 +276,7 @@ Settings.artifacts['storage_path'] = Settings.absolute(Settings.artifacts.values
# Settings.artifact['path'] is deprecated, use `storage_path` instead
Settings.artifacts['path'] = Settings.artifacts['storage_path']
Settings.artifacts['max_size'] ||= 100 # in megabytes
-Settings.artifacts['object_store'] = ObjectStoreSettings.legacy_parse(Settings.artifacts['object_store'])
+Settings.artifacts['object_store'] = ObjectStoreSettings.legacy_parse(Settings.artifacts['object_store'], 'artifacts')
#
# Registry
@@ -321,7 +321,7 @@ Settings.pages['secret_file'] ||= Rails.root.join('.gitlab_pages_secret')
# We want pages zip archives to be stored on the same directory as old pages hierarchical structure
# this will allow us to easier migrate existing instances with NFS
Settings.pages['storage_path'] = Settings.pages['path']
-Settings.pages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.pages['object_store'])
+Settings.pages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.pages['object_store'], 'pages')
Settings.pages['local_store'] ||= Settingslogic.new({})
Settings.pages['local_store']['path'] = Settings.absolute(Settings.pages['local_store']['path'] || File.join(Settings.shared['path'], "pages"))
Settings.pages['local_store']['enabled'] = true if Settings.pages['local_store']['enabled'].nil?
@@ -362,7 +362,7 @@ Settings['external_diffs'] ||= Settingslogic.new({})
Settings.external_diffs['enabled'] = false if Settings.external_diffs['enabled'].nil?
Settings.external_diffs['when'] = 'always' if Settings.external_diffs['when'].nil?
Settings.external_diffs['storage_path'] = Settings.absolute(Settings.external_diffs['storage_path'] || File.join(Settings.shared['path'], 'external-diffs'))
-Settings.external_diffs['object_store'] = ObjectStoreSettings.legacy_parse(Settings.external_diffs['object_store'])
+Settings.external_diffs['object_store'] = ObjectStoreSettings.legacy_parse(Settings.external_diffs['object_store'], 'external_diffs')
#
# Git LFS
@@ -370,7 +370,7 @@ Settings.external_diffs['object_store'] = ObjectStoreSettings.legacy_parse(Setti
Settings['lfs'] ||= Settingslogic.new({})
Settings.lfs['enabled'] = true if Settings.lfs['enabled'].nil?
Settings.lfs['storage_path'] = Settings.absolute(Settings.lfs['storage_path'] || File.join(Settings.shared['path'], "lfs-objects"))
-Settings.lfs['object_store'] = ObjectStoreSettings.legacy_parse(Settings.lfs['object_store'])
+Settings.lfs['object_store'] = ObjectStoreSettings.legacy_parse(Settings.lfs['object_store'], 'lfs')
#
# Uploads
@@ -378,7 +378,7 @@ Settings.lfs['object_store'] = ObjectStoreSettings.legacy_parse(Settings.lfs['ob
Settings['uploads'] ||= Settingslogic.new({})
Settings.uploads['storage_path'] = Settings.absolute(Settings.uploads['storage_path'] || 'public')
Settings.uploads['base_dir'] = Settings.uploads['base_dir'] || 'uploads/-/system'
-Settings.uploads['object_store'] = ObjectStoreSettings.legacy_parse(Settings.uploads['object_store'])
+Settings.uploads['object_store'] = ObjectStoreSettings.legacy_parse(Settings.uploads['object_store'], 'uploads')
Settings.uploads['object_store']['remote_directory'] ||= 'uploads'
#
@@ -388,7 +388,7 @@ Settings['packages'] ||= Settingslogic.new({})
Settings.packages['enabled'] = true if Settings.packages['enabled'].nil?
Settings.packages['dpkg_deb_path'] = '/usr/bin/dpkg-deb' if Settings.packages['dpkg_deb_path'].nil?
Settings.packages['storage_path'] = Settings.absolute(Settings.packages['storage_path'] || File.join(Settings.shared['path'], "packages"))
-Settings.packages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.packages['object_store'])
+Settings.packages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.packages['object_store'], 'packages')
#
# Dependency Proxy
@@ -396,7 +396,7 @@ Settings.packages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.p
Settings['dependency_proxy'] ||= Settingslogic.new({})
Settings.dependency_proxy['enabled'] = true if Settings.dependency_proxy['enabled'].nil?
Settings.dependency_proxy['storage_path'] = Settings.absolute(Settings.dependency_proxy['storage_path'] || File.join(Settings.shared['path'], "dependency_proxy"))
-Settings.dependency_proxy['object_store'] = ObjectStoreSettings.legacy_parse(Settings.dependency_proxy['object_store'])
+Settings.dependency_proxy['object_store'] = ObjectStoreSettings.legacy_parse(Settings.dependency_proxy['object_store'], 'dependency_proxy')
# For first iteration dependency proxy uses Rails server to download blobs.
# To ensure acceptable performance we only allow feature to be used with
@@ -410,7 +410,7 @@ Settings.dependency_proxy['enabled'] = false unless Gitlab::Runtime.puma?
Settings['terraform_state'] ||= Settingslogic.new({})
Settings.terraform_state['enabled'] = true if Settings.terraform_state['enabled'].nil?
Settings.terraform_state['storage_path'] = Settings.absolute(Settings.terraform_state['storage_path'] || File.join(Settings.shared['path'], "terraform_state"))
-Settings.terraform_state['object_store'] = ObjectStoreSettings.legacy_parse(Settings.terraform_state['object_store'])
+Settings.terraform_state['object_store'] = ObjectStoreSettings.legacy_parse(Settings.terraform_state['object_store'], 'terraform_state')
#
# Mattermost
@@ -482,9 +482,6 @@ Settings.cron_jobs['import_export_project_cleanup_worker']['job_class'] = 'Impor
Settings.cron_jobs['ci_archive_traces_cron_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['ci_archive_traces_cron_worker']['cron'] ||= '17 * * * *'
Settings.cron_jobs['ci_archive_traces_cron_worker']['job_class'] = 'Ci::ArchiveTracesCronWorker'
-Settings.cron_jobs['requests_profiles_worker'] ||= Settingslogic.new({})
-Settings.cron_jobs['requests_profiles_worker']['cron'] ||= '0 0 * * *'
-Settings.cron_jobs['requests_profiles_worker']['job_class'] = 'RequestsProfilesWorker'
Settings.cron_jobs['remove_expired_members_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['remove_expired_members_worker']['cron'] ||= '10 0 * * *'
Settings.cron_jobs['remove_expired_members_worker']['job_class'] = 'RemoveExpiredMembersWorker'
@@ -629,6 +626,9 @@ Settings.cron_jobs['clusters_integrations_check_prometheus_health_worker']['job_
Settings.cron_jobs['projects_schedule_refresh_build_artifacts_size_statistics_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['projects_schedule_refresh_build_artifacts_size_statistics_worker']['cron'] ||= '2/17 * * * *'
Settings.cron_jobs['projects_schedule_refresh_build_artifacts_size_statistics_worker']['job_class'] = 'Projects::ScheduleRefreshBuildArtifactsSizeStatisticsWorker'
+Settings.cron_jobs['inactive_projects_deletion_cron_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['inactive_projects_deletion_cron_worker']['cron'] ||= '0 1 * * *'
+Settings.cron_jobs['inactive_projects_deletion_cron_worker']['job_class'] = 'Projects::InactiveProjectsDeletionCronWorker'
Gitlab.ee do
Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= Settingslogic.new({})
@@ -664,9 +664,6 @@ Gitlab.ee do
Settings.cron_jobs['geo_secondary_usage_data_cron_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['geo_secondary_usage_data_cron_worker']['cron'] ||= '0 0 * * 0'
Settings.cron_jobs['geo_secondary_usage_data_cron_worker']['job_class'] ||= 'Geo::SecondaryUsageDataCronWorker'
- Settings.cron_jobs['geo_file_download_dispatch_worker'] ||= Settingslogic.new({})
- Settings.cron_jobs['geo_file_download_dispatch_worker']['cron'] ||= '*/1 * * * *'
- Settings.cron_jobs['geo_file_download_dispatch_worker']['job_class'] ||= 'Geo::FileDownloadDispatchWorker'
Settings.cron_jobs['geo_registry_sync_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['geo_registry_sync_worker']['cron'] ||= '*/1 * * * *'
Settings.cron_jobs['geo_registry_sync_worker']['job_class'] ||= 'Geo::RegistrySyncWorker'
@@ -712,9 +709,9 @@ Gitlab.ee do
Settings.cron_jobs['ldap_sync_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['ldap_sync_worker']['cron'] ||= '30 1 * * *'
Settings.cron_jobs['ldap_sync_worker']['job_class'] = 'LdapSyncWorker'
- Settings.cron_jobs['pseudonymizer_worker'] ||= Settingslogic.new({})
- Settings.cron_jobs['pseudonymizer_worker']['cron'] ||= '0 23 * * *'
- Settings.cron_jobs['pseudonymizer_worker']['job_class'] ||= 'PseudonymizerWorker'
+ Settings.cron_jobs['free_user_cap_data_remediation'] ||= Settingslogic.new({})
+ Settings.cron_jobs['free_user_cap_data_remediation']['cron'] ||= '17 6,10,14,18 * * *'
+ Settings.cron_jobs['free_user_cap_data_remediation']['job_class'] = 'Namespaces::FreeUserCapWorker'
Settings.cron_jobs['update_max_seats_used_for_gitlab_com_subscriptions_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['update_max_seats_used_for_gitlab_com_subscriptions_worker']['cron'] ||= '0 12 * * *'
Settings.cron_jobs['update_max_seats_used_for_gitlab_com_subscriptions_worker']['job_class'] = 'UpdateMaxSeatsUsedForGitlabComSubscriptionsWorker'
@@ -739,9 +736,6 @@ Gitlab.ee do
Settings.cron_jobs['users_create_statistics_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['users_create_statistics_worker']['cron'] ||= '2 15 * * *'
Settings.cron_jobs['users_create_statistics_worker']['job_class'] = 'Users::CreateStatisticsWorker'
- Settings.cron_jobs['network_policy_metrics_worker'] ||= Settingslogic.new({})
- Settings.cron_jobs['network_policy_metrics_worker']['cron'] ||= '0 3 * * 0'
- Settings.cron_jobs['network_policy_metrics_worker']['job_class'] = 'NetworkPolicyMetricsWorker'
Settings.cron_jobs['iterations_update_status_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['iterations_update_status_worker']['cron'] ||= '5 0 * * *'
Settings.cron_jobs['iterations_update_status_worker']['job_class'] = 'IterationsUpdateStatusWorker'
@@ -775,6 +769,12 @@ Gitlab.ee do
Settings.cron_jobs['ci_project_mirrors_consistency_check_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['ci_project_mirrors_consistency_check_worker']['cron'] ||= '2-58/4 * * * *'
Settings.cron_jobs['ci_project_mirrors_consistency_check_worker']['job_class'] = 'Database::CiProjectMirrorsConsistencyCheckWorker'
+ Settings.cron_jobs['arkose_blocked_users_report_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['arkose_blocked_users_report_worker']['cron'] ||= '0 6 * * *'
+ Settings.cron_jobs['arkose_blocked_users_report_worker']['job_class'] = 'Arkose::BlockedUsersReportWorker'
+ Settings.cron_jobs['ci_runners_stale_group_runners_prune_worker_cron'] ||= Settingslogic.new({})
+ Settings.cron_jobs['ci_runners_stale_group_runners_prune_worker_cron']['cron'] ||= '30 * * * *'
+ Settings.cron_jobs['ci_runners_stale_group_runners_prune_worker_cron']['job_class'] = 'Ci::Runners::StaleGroupRunnersPruneCronWorker'
end
#
@@ -864,16 +864,6 @@ Settings.backup['upload']['storage_class'] ||= nil
Settings.backup['gitaly_backup_path'] ||= Gitlab::Utils.which('gitaly-backup')
#
-# Pseudonymizer
-#
-Gitlab.ee do
- Settings['pseudonymizer'] ||= Settingslogic.new({})
- Settings.pseudonymizer['manifest'] = Settings.absolute(Settings.pseudonymizer['manifest'] || Rails.root.join("config/pseudonymizer.yml"))
- Settings.pseudonymizer['upload'] ||= Settingslogic.new({ 'remote_directory' => nil, 'connection' => nil })
- # Settings.pseudonymizer['upload']['multipart_chunk_size'] ||= 104857600
-end
-
-#
# Git
#
Settings['git'] ||= Settingslogic.new({})
@@ -979,15 +969,10 @@ Settings.monitoring.sidekiq_exporter['log_enabled'] ||= false
Settings.monitoring.sidekiq_exporter['address'] ||= 'localhost'
Settings.monitoring.sidekiq_exporter['port'] ||= 8082
-# TODO: Once we split out health checks from SidekiqExporter, we
-# should not let this default to the same settings anymore; we only
-# do this for back-compat currently.
-# https://gitlab.com/gitlab-org/gitlab/-/issues/345804
Settings.monitoring['sidekiq_health_checks'] ||= Settingslogic.new({})
-Settings.monitoring.sidekiq_health_checks['enabled'] ||= Settings.monitoring.sidekiq_exporter['enabled']
-Settings.monitoring.sidekiq_health_checks['log_enabled'] ||= Settings.monitoring.sidekiq_exporter['log_enabled']
-Settings.monitoring.sidekiq_health_checks['address'] ||= Settings.monitoring.sidekiq_exporter['address']
-Settings.monitoring.sidekiq_health_checks['port'] ||= Settings.monitoring.sidekiq_exporter['port']
+Settings.monitoring.sidekiq_health_checks['enabled'] ||= false
+Settings.monitoring.sidekiq_health_checks['address'] ||= 'localhost'
+Settings.monitoring.sidekiq_health_checks['port'] ||= 8092
Settings.monitoring['web_exporter'] ||= Settingslogic.new({})
Settings.monitoring.web_exporter['enabled'] ||= false
diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb
index 6953de670a7..a8e8bdf2c9f 100644
--- a/config/initializers/7_prometheus_metrics.rb
+++ b/config/initializers/7_prometheus_metrics.rb
@@ -58,24 +58,6 @@ end
# context (i.e. not in the Rails console or rspec) and when users have enabled metrics.
return if Rails.env.test? || !Gitlab::Runtime.application? || !Gitlab::Metrics.prometheus_metrics_enabled?
-if Gitlab::Runtime.sidekiq? && (!ENV['SIDEKIQ_WORKER_ID'] || ENV['SIDEKIQ_WORKER_ID'] == '0')
- # The single worker outside of a sidekiq-cluster, or the first worker (sidekiq_0)
- # in a cluster of processes, is responsible for serving health checks.
- #
- # Do not clean the metrics directory here - the supervisor script should
- # have already taken care of that.
- Sidekiq.configure_server do |config|
- config.on(:startup) do
- # In https://gitlab.com/gitlab-org/gitlab/-/issues/345804 we are looking to
- # only serve health-checks from a worker process; for backwards compatibility
- # we still go through the metrics exporter server, but start to configure it
- # with the new settings keys.
- exporter_settings = Settings.monitoring.sidekiq_health_checks
- Gitlab::Metrics::Exporter::SidekiqExporter.instance(exporter_settings).start
- end
- end
-end
-
Gitlab::Cluster::LifecycleEvents.on_master_start do
Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION, revision: Gitlab.revision }, 1)
diff --git a/config/initializers/active_record_lifecycle.rb b/config/initializers/active_record_lifecycle.rb
index 92cc1d81617..73df2b41a04 100644
--- a/config/initializers/active_record_lifecycle.rb
+++ b/config/initializers/active_record_lifecycle.rb
@@ -5,7 +5,9 @@
if defined?(ActiveRecord::Base) && !Gitlab::Runtime.sidekiq?
Gitlab::Cluster::LifecycleEvents.on_worker_start do
ActiveSupport.on_load(:active_record) do
- ActiveRecord::Base.establish_connection # rubocop: disable Database/EstablishConnection
+ # rubocop:disable Database/MultipleDatabases
+ ActiveRecord::Base.establish_connection # rubocop:disable Database/EstablishConnection
+ # rubocop:enable Database/MultipleDatabases
Gitlab::AppLogger.debug("ActiveRecord connection established")
end
@@ -18,8 +20,8 @@ if defined?(ActiveRecord::Base)
# the following is highly recommended for Rails + "preload_app true"
# as there's no need for the master process to hold a connection
- ActiveRecord::Base.connection.disconnect!
+ ActiveRecord::Base.clear_all_connections! # rubocop:disable Database/MultipleDatabases
- Gitlab::AppLogger.debug("ActiveRecord connection disconnected")
+ Gitlab::AppLogger.debug("ActiveRecord connections disconnected")
end
end
diff --git a/config/initializers/active_record_transaction_observer.rb b/config/initializers/active_record_transaction_observer.rb
index b90b3a39ac1..1dc7b55ed5a 100644
--- a/config/initializers/active_record_transaction_observer.rb
+++ b/config/initializers/active_record_transaction_observer.rb
@@ -3,7 +3,7 @@
return unless Gitlab.com? || Gitlab.dev_or_test_env?
Gitlab::Application.configure do
- if Feature.feature_flags_available? && ::Feature.enabled?(:active_record_transactions_tracking, type: :ops, default_enabled: :yaml)
+ if Feature.feature_flags_available? && ::Feature.enabled?(:active_record_transactions_tracking, type: :ops)
Gitlab::Database::Transaction::Observer.register!
end
end
diff --git a/config/initializers/attr_encrypted_no_db_connection.rb b/config/initializers/attr_encrypted_no_db_connection.rb
index 91eef7d0a5c..d9e943bd249 100644
--- a/config/initializers/attr_encrypted_no_db_connection.rb
+++ b/config/initializers/attr_encrypted_no_db_connection.rb
@@ -1,5 +1,7 @@
# frozen_string_literal: true
+raise 'This patch is only tested with attr_encrypted v3.1.0' unless AttrEncrypted::Version.string == '3.1.0'
+
module AttrEncrypted
module Adapters
module ActiveRecord
@@ -11,23 +13,6 @@ module AttrEncrypted
false
end
- # Prevent attr_encrypted from checking out a database connection
- # indefinitely. The result of this method is only used when the former
- # is true, but it is called unconditionally, so there is still value to
- # ensuring the connection is released
- def attribute_instance_methods_as_symbols
- # Use with_connection so the connection doesn't stay pinned to the thread.
- connected = ::ActiveRecord::Base.connection_pool.with_connection(&:active?) rescue false
-
- if connected
- # Call version from AttrEncrypted::Adapters::ActiveRecord
- super
- else
- # Call version from AttrEncrypted, i.e., `super` with regards to AttrEncrypted::Adapters::ActiveRecord
- AttrEncrypted.instance_method(:attribute_instance_methods_as_symbols).bind(self).call
- end
- end
-
protected
# The attr_encrypted gem is not actively maintained
diff --git a/config/initializers/carrierwave_patch.rb b/config/initializers/carrierwave_patch.rb
index a9c74478541..6053154489f 100644
--- a/config/initializers/carrierwave_patch.rb
+++ b/config/initializers/carrierwave_patch.rb
@@ -22,7 +22,7 @@ module CarrierWave
# multithreaded uploads (https://github.com/fog/fog-aws/pull/579).
# Multithreaded uploads are essential for copying large amounts of data
# within the request timeout.
- if ::Feature.enabled?(:s3_multithreaded_uploads, default_enabled: true) && fog_provider == 'AWS'
+ if ::Feature.enabled?(:s3_multithreaded_uploads) && fog_provider == 'AWS'
# AWS SDK uses 10 threads by default and a multipart chunk size of 10 MB
file.concurrency = 10
file.multipart_chunk_size = 10485760
diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb
index 3c6606066cd..f7c3f4e98b5 100644
--- a/config/initializers/content_security_policy.rb
+++ b/config/initializers/content_security_policy.rb
@@ -7,8 +7,6 @@ csp_settings['report_only'] = false if csp_settings['report_only'].nil?
csp_settings['directives'] ||= {}
if csp_settings['enabled']
- csp_settings['directives'] = ::Gitlab::ContentSecurityPolicy::ConfigLoader.default_directives if csp_settings['directives'].empty?
-
# See https://guides.rubyonrails.org/security.html#content-security-policy
Rails.application.config.content_security_policy do |policy|
loader = ::Gitlab::ContentSecurityPolicy::ConfigLoader.new(csp_settings['directives'].to_h)
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index 25bf164c96a..7827ad8f168 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -37,13 +37,6 @@ Doorkeeper.configure do
# Authorization Code expiration time (default 10 minutes).
# authorization_code_expires_in 10.minutes
- # Access token expiration time (default 2 hours).
- # Until 15.0, applications can opt-out of expiring tokens.
- # Removal issue: https://gitlab.com/gitlab-org/gitlab/-/issues/340848
- custom_access_token_expires_in do |context|
- context.client&.expire_access_tokens ? 2.hours : Float::INFINITY
- end
-
# Reuse access token for the same resource owner within an application (disabled by default)
# Rationale: https://github.com/doorkeeper-gem/doorkeeper/issues/383
reuse_access_token
@@ -97,11 +90,10 @@ Doorkeeper.configure do
# strings and the flows they enable are:
#
# "authorization_code" => Authorization Code Grant Flow
- # "implicit" => Implicit Grant Flow
# "password" => Resource Owner Password Credentials Grant Flow
# "client_credentials" => Client Credentials Grant Flow
#
- grant_flows %w(authorization_code implicit password client_credentials)
+ grant_flows %w(authorization_code password client_credentials)
# Under some circumstances you might want to have applications auto-approved,
# so that the user skips the authorization step.
diff --git a/config/initializers/elastic_client_setup.rb b/config/initializers/elastic_client_setup.rb
index 67b5032a2ee..dd68a3f7999 100644
--- a/config/initializers/elastic_client_setup.rb
+++ b/config/initializers/elastic_client_setup.rb
@@ -19,32 +19,6 @@ Gitlab.ee do
Elasticsearch::Model::ClassMethods.prepend GemExtensions::Elasticsearch::Model::Client
Elasticsearch::Model.singleton_class.prepend GemExtensions::Elasticsearch::Model::Client
- # This monkey patch cannot be handled by prepend like the above since this
- # module is included into other classes.
- module Elasticsearch
- module Model
- module Response
- module Base
- if Gem::Version.new(Elasticsearch::Model::VERSION) >= Gem::Version.new('7.0.0')
- raise "elasticsearch-model was upgraded, please remove this monkey patch in #{__FILE__}"
- end
-
- # Handle ES7 API where total is returned as an object. This
- # change is taken from the V7 gem
- # https://github.com/elastic/elasticsearch-rails/commit/9c40f630e1b549f0b7889fe33dcd826b485af6fc
- # and can be removed when we upgrade the gem to V7
- def total
- if response.response['hits']['total'].respond_to?(:keys)
- response.response['hits']['total']['value']
- else
- response.response['hits']['total']
- end
- end
- end
- end
- end
- end
-
### Modified from elasticsearch-model/lib/elasticsearch/model/searching.rb
module Elasticsearch
diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb
index 24040d7b076..2c7034f758d 100644
--- a/config/initializers/omniauth.rb
+++ b/config/initializers/omniauth.rb
@@ -12,7 +12,7 @@ if Gitlab::Auth::Ldap::Config.enabled?
end
OmniAuth.config.full_host =
- if Feature.feature_flags_available? && ::Feature.enabled?(:omniauth_initializer_fullhost_proc, default_enabled: :yaml)
+ if Feature.feature_flags_available? && ::Feature.enabled?(:omniauth_initializer_fullhost_proc)
Gitlab::AppLogger.debug("Using OmniAuth proc initializer")
Gitlab::OmniauthInitializer.full_host
else
diff --git a/config/initializers/request_profiler.rb b/config/initializers/request_profiler.rb
index c368568ec51..7b588ded1ea 100644
--- a/config/initializers/request_profiler.rb
+++ b/config/initializers/request_profiler.rb
@@ -1,7 +1,6 @@
# frozen_string_literal: true
Rails.application.configure do |config|
- config.middleware.use(Gitlab::RequestProfiler::Middleware)
config.middleware.use(Gitlab::Middleware::Speedscope)
config.middleware.use(Gitlab::Middleware::MemoryReport)
end
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 25984c45318..29df6da6ef1 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -8,13 +8,13 @@ end
def enable_reliable_fetch?
return true unless Feature::FlipperFeature.table_exists?
- Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, type: :ops, default_enabled: true)
+ Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, type: :ops)
end
def enable_semi_reliable_fetch_mode?
return true unless Feature::FlipperFeature.table_exists?
- Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, type: :ops, default_enabled: true)
+ Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, type: :ops)
end
# Custom Queues configuration
@@ -56,13 +56,24 @@ Sidekiq.configure_server do |config|
config.on :startup do
# Clear any connections that might have been obtained before starting
# Sidekiq (e.g. in an initializer).
- ActiveRecord::Base.clear_all_connections!
+ ActiveRecord::Base.clear_all_connections! # rubocop:disable Database/MultipleDatabases
# Start monitor to track running jobs. By default, cancel job is not enabled
# To cancel job, it requires `SIDEKIQ_MONITOR_WORKER=1` to enable notification channel
Gitlab::SidekiqDaemon::Monitor.instance.start
Gitlab::SidekiqDaemon::MemoryKiller.instance.start if enable_sidekiq_memory_killer && use_sidekiq_daemon_memory_killer
+
+ first_sidekiq_worker = !ENV['SIDEKIQ_WORKER_ID'] || ENV['SIDEKIQ_WORKER_ID'] == '0'
+ health_checks = Settings.monitoring.sidekiq_health_checks
+
+ # Start health-check in-process server
+ if first_sidekiq_worker && health_checks.enabled
+ Gitlab::HealthChecks::Server.instance(
+ address: health_checks.address,
+ port: health_checks.port
+ ).start
+ end
end
if enable_reliable_fetch?
diff --git a/config/initializers/validate_database_config.rb b/config/initializers/validate_database_config.rb
index d5e73cdc1ee..d381dbac2ed 100644
--- a/config/initializers/validate_database_config.rb
+++ b/config/initializers/validate_database_config.rb
@@ -4,12 +4,6 @@ if Gitlab::Utils.to_boolean(ENV['SKIP_DATABASE_CONFIG_VALIDATION'], default: fal
return
end
-if Rails.application.config.uses_legacy_database_config
- warn "WARNING: This installation of GitLab uses a deprecated syntax for 'config/database.yml'. " \
- "The support for this syntax will be removed in 15.0. " \
- "More information can be found here: https://gitlab.com/gitlab-org/gitlab/-/issues/338182"
-end
-
if configurations = ActiveRecord::Base.configurations.configurations
if configurations.first.name != Gitlab::Database::MAIN_DATABASE_NAME
raise "ERROR: This installation of GitLab uses unsupported 'config/database.yml'. " \
diff --git a/config/initializers_before_autoloader/004_zeitwerk.rb b/config/initializers_before_autoloader/004_zeitwerk.rb
index ff96a84166a..db0688d1559 100644
--- a/config/initializers_before_autoloader/004_zeitwerk.rb
+++ b/config/initializers_before_autoloader/004_zeitwerk.rb
@@ -27,7 +27,6 @@ Rails.autoloaders.each do |autoloader|
'dn' => 'DN',
'gitlab_cli_activity_unique_counter' => 'GitLabCliActivityUniqueCounter',
'global_id_type' => 'GlobalIDType',
- 'global_id_compatibility' => 'GlobalIDCompatibility',
'hll' => 'HLL',
'hll_redis_counter' => 'HLLRedisCounter',
'redis_hll_metric' => 'RedisHLLMetric',
diff --git a/config/metrics/aggregates/code_review.yml b/config/metrics/aggregates/code_review.yml
index 004f155864e..a25222b8d6b 100644
--- a/config/metrics/aggregates/code_review.yml
+++ b/config/metrics/aggregates/code_review.yml
@@ -75,6 +75,12 @@
- 'i_code_review_post_merge_submit_cherry_pick_modal'
- 'i_code_review_user_jetbrains_api_request'
- 'i_code_review_user_gitlab_cli_api_request'
+ - 'i_code_review_user_create_note_in_ipynb_diff'
+ - 'i_code_review_user_create_note_in_ipynb_diff_mr'
+ - 'i_code_review_user_create_note_in_ipynb_diff_commit'
+ - 'i_code_review_create_note_in_ipynb_diff'
+ - 'i_code_review_create_note_in_ipynb_diff_mr'
+ - 'i_code_review_create_note_in_ipynb_diff_commit'
- name: code_review_category_monthly_active_users
operator: OR
source: redis
@@ -140,6 +146,12 @@
- 'i_code_review_post_merge_click_cherry_pick'
- 'i_code_review_post_merge_submit_revert_modal'
- 'i_code_review_post_merge_submit_cherry_pick_modal'
+ - 'i_code_review_user_create_note_in_ipynb_diff'
+ - 'i_code_review_user_create_note_in_ipynb_diff_mr'
+ - 'i_code_review_user_create_note_in_ipynb_diff_commit'
+ - 'i_code_review_create_note_in_ipynb_diff'
+ - 'i_code_review_create_note_in_ipynb_diff_mr'
+ - 'i_code_review_create_note_in_ipynb_diff_commit'
- name: code_review_extension_category_monthly_active_users
operator: OR
source: redis
diff --git a/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml b/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
index 9c4356db883..934d9f77c24 100644
--- a/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
+++ b/config/metrics/counts_28d/20210216175548_ci_pipeline_config_auto_devops.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.verify.ci_pipeline_config_auto_devops
description: Distinct users that ran an auto DevOps pipeline without a .gitlab-ci.yml file.
product_section: ops
diff --git a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
index b53069b4962..76e24559ff2 100644
--- a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
+++ b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_ide_edit
description: Number of unique users per month who edited a file from any web editor
product_section: dev
diff --git a/config/metrics/counts_28d/20210216180814_events.yml b/config/metrics/counts_28d/20210216180814_events.yml
index 082dc3b8853..8e974979ae8 100644
--- a/config/metrics/counts_28d/20210216180814_events.yml
+++ b/config/metrics/counts_28d/20210216180814_events.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.manage.events
description: Number of distinct users who have generated a manage event by month
product_section: dev
diff --git a/config/metrics/counts_28d/20210216181923_successful_deployments.yml b/config/metrics/counts_28d/20210216181923_successful_deployments.yml
index 2bf7204facc..675a7972ddc 100644
--- a/config/metrics/counts_28d/20210216181923_successful_deployments.yml
+++ b/config/metrics/counts_28d/20210216181923_successful_deployments.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts_monthly.successful_deployments
description: Total successful deployments
product_section: ops
diff --git a/config/metrics/counts_28d/20210216181924_failed_deployments.yml b/config/metrics/counts_28d/20210216181924_failed_deployments.yml
index 1a0840f2cee..b173c4dd125 100644
--- a/config/metrics/counts_28d/20210216181924_failed_deployments.yml
+++ b/config/metrics/counts_28d/20210216181924_failed_deployments.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts_monthly.failed_deployments
description: Total failed deployments
product_section: ops
diff --git a/config/metrics/counts_28d/20210216181937_failed_deployments.yml b/config/metrics/counts_28d/20210216181937_failed_deployments.yml
index 78622151915..00967fc519c 100644
--- a/config/metrics/counts_28d/20210216181937_failed_deployments.yml
+++ b/config/metrics/counts_28d/20210216181937_failed_deployments.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.release.failed_deployments
description: Disinct users who initiated a failed deployment.
product_section: ops
diff --git a/config/metrics/counts_28d/20210216181941_successful_deployments.yml b/config/metrics/counts_28d/20210216181941_successful_deployments.yml
index 10c9de1817f..cc176feb5d3 100644
--- a/config/metrics/counts_28d/20210216181941_successful_deployments.yml
+++ b/config/metrics/counts_28d/20210216181941_successful_deployments.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.release.successful_deployments
description: Disinct users who initiated a successful deployment.
product_section: ops
diff --git a/config/metrics/counts_28d/20210216182051_protected_branches.yml b/config/metrics/counts_28d/20210216182051_protected_branches.yml
index 1e9f66b0d22..3718bef319c 100644
--- a/config/metrics/counts_28d/20210216182051_protected_branches.yml
+++ b/config/metrics/counts_28d/20210216182051_protected_branches.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage_monthly.create.protected_branches
description: Count of users creating projects with repositories making use of at least
one protected branch in last 28 days.
diff --git a/config/metrics/counts_28d/20210216183644_gitlab_project.yml b/config/metrics/counts_28d/20210216183644_gitlab_project.yml
index a370f8d5f52..c74e5c56a8d 100644
--- a/config/metrics/counts_28d/20210216183644_gitlab_project.yml
+++ b/config/metrics/counts_28d/20210216183644_gitlab_project.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitlab_project
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183646_gitlab.yml b/config/metrics/counts_28d/20210216183646_gitlab.yml
index a19c8d6ac0e..511f9cd279c 100644
--- a/config/metrics/counts_28d/20210216183646_gitlab.yml
+++ b/config/metrics/counts_28d/20210216183646_gitlab.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitlab
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183648_github.yml b/config/metrics/counts_28d/20210216183648_github.yml
index c33cc1809af..0894998c7c4 100644
--- a/config/metrics/counts_28d/20210216183648_github.yml
+++ b/config/metrics/counts_28d/20210216183648_github.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: github
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183650_bitbucket.yml b/config/metrics/counts_28d/20210216183650_bitbucket.yml
index 557a38cad1c..2f205a8995a 100644
--- a/config/metrics/counts_28d/20210216183650_bitbucket.yml
+++ b/config/metrics/counts_28d/20210216183650_bitbucket.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: bitbucket
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183652_bitbucket_server.yml b/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
index d9f255a0b2d..7f470f7955f 100644
--- a/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
+++ b/config/metrics/counts_28d/20210216183652_bitbucket_server.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: bitbucket_server
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183653_gitea.yml b/config/metrics/counts_28d/20210216183653_gitea.yml
index 996749bba7d..37e3ed2bf43 100644
--- a/config/metrics/counts_28d/20210216183653_gitea.yml
+++ b/config/metrics/counts_28d/20210216183653_gitea.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitea
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183655_git.yml b/config/metrics/counts_28d/20210216183655_git.yml
index 20fde277b5d..daf8875ad12 100644
--- a/config/metrics/counts_28d/20210216183655_git.yml
+++ b/config/metrics/counts_28d/20210216183655_git.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: git
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183657_manifest.yml b/config/metrics/counts_28d/20210216183657_manifest.yml
index 00ded898baa..d597be585f3 100644
--- a/config/metrics/counts_28d/20210216183657_manifest.yml
+++ b/config/metrics/counts_28d/20210216183657_manifest.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: manifest
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183659_gitlab_migration.yml b/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
index a27be901a49..68d5d3604a0 100644
--- a/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
+++ b/config/metrics/counts_28d/20210216183659_gitlab_migration.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountBulkImportsEntitiesMetric
+options:
+ source_type: project_entity
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183703_fogbugz.yml b/config/metrics/counts_28d/20210216183703_fogbugz.yml
index ea7ecc67a8b..e3286c11f2a 100644
--- a/config/metrics/counts_28d/20210216183703_fogbugz.yml
+++ b/config/metrics/counts_28d/20210216183703_fogbugz.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: fogbugz
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183705_phabricator.yml b/config/metrics/counts_28d/20210216183705_phabricator.yml
index b982bdace5a..942f5e9dabc 100644
--- a/config/metrics/counts_28d/20210216183705_phabricator.yml
+++ b/config/metrics/counts_28d/20210216183705_phabricator.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: phabricator
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216183711_gitlab_migration.yml b/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
index b44b46ddf1d..4c80d88c922 100644
--- a/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
+++ b/config/metrics/counts_28d/20210216183711_gitlab_migration.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: 28d
data_source: database
+instrumentation_class: CountBulkImportsEntitiesMetric
+options:
+ source_type: group_entity
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml b/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
index 6c33950166a..19e4aa14577 100644
--- a/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
+++ b/config/metrics/counts_28d/20210216184303_o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: redis_hll_counters.pipeline_authoring.o_pipeline_authoring_unique_users_committing_ciconfigfile_monthly
description: Monthly unique user count doing commits which contains the CI config
file
diff --git a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
index b8ca7aaa5ad..df70ef7c718 100755
--- a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
@@ -88,7 +88,9 @@ options:
- p_ci_templates_jobs_load_performance_testing
- p_ci_templates_jobs_helm_2to3
- p_ci_templates_jobs_sast
+ - p_ci_templates_jobs_sast_latest
- p_ci_templates_jobs_secret_detection
+ - p_ci_templates_jobs_secret_detection_latest
- p_ci_templates_jobs_code_intelligence
- p_ci_templates_jobs_code_quality
- p_ci_templates_jobs_dependency_scanning
diff --git a/config/metrics/counts_28d/20210715094458_releases_with_milestones.yml b/config/metrics/counts_28d/20210715094458_releases_with_milestones.yml
index 74f9406a133..d5656bcc80b 100644
--- a/config/metrics/counts_28d/20210715094458_releases_with_milestones.yml
+++ b/config/metrics/counts_28d/20210715094458_releases_with_milestones.yml
@@ -1,7 +1,7 @@
---
key_path: usage_activity_by_stage_monthly.release.releases_with_milestones
description: Unique users creating releases with milestones associated
-performance_indicator_type: [smau]
+performance_indicator_type: []
product_section: ops
product_stage: release
product_group: 'group::release'
diff --git a/config/metrics/counts_28d/20210901221659_p_ci_templates_security_cluster_image_scanning_monthly.yml b/config/metrics/counts_28d/20210901221659_p_ci_templates_security_cluster_image_scanning_monthly.yml
index f3a696627fe..4e1407fd8e3 100644
--- a/config/metrics/counts_28d/20210901221659_p_ci_templates_security_cluster_image_scanning_monthly.yml
+++ b/config/metrics/counts_28d/20210901221659_p_ci_templates_security_cluster_image_scanning_monthly.yml
@@ -6,7 +6,9 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
+milestone_removed: '15.0'
+removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210901221849_p_ci_templates_managed_cluster_applications_monthly.yml b/config/metrics/counts_28d/20210901221849_p_ci_templates_managed_cluster_applications_monthly.yml
index 92c0ea14727..6f98773d30a 100644
--- a/config/metrics/counts_28d/20210901221849_p_ci_templates_managed_cluster_applications_monthly.yml
+++ b/config/metrics/counts_28d/20210901221849_p_ci_templates_managed_cluster_applications_monthly.yml
@@ -6,9 +6,11 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267
+milestone_removed: '15.0'
time_frame: 28d
data_source: redis_hll
data_category: optional
diff --git a/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml b/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml
index 9dab50a9e6c..c30375c57d4 100644
--- a/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml
+++ b/config/metrics/counts_28d/20210901221932_p_ci_templates_serverless_monthly.yml
@@ -6,9 +6,11 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267
+milestone_removed: '15.0'
time_frame: 28d
data_source: redis_hll
data_category: optional
diff --git a/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml b/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml
index ddf785a71bd..25c535315d2 100644
--- a/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml
+++ b/config/metrics/counts_28d/20210901223916_p_ci_templates_implicit_security_cluster_image_scanning_monthly.yml
@@ -6,7 +6,9 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
+milestone_removed: '15.0'
+removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
time_frame: 28d
diff --git a/config/metrics/counts_28d/20210910132229_user_auth_by_provider.yml b/config/metrics/counts_28d/20210910132229_user_auth_by_provider.yml
index 9a2d93e597e..9704fcc43dd 100644
--- a/config/metrics/counts_28d/20210910132229_user_auth_by_provider.yml
+++ b/config/metrics/counts_28d/20210910132229_user_auth_by_provider.yml
@@ -12,7 +12,7 @@ milestone: "14.3"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70061
time_frame: 28d
data_source: database
-data_category: optional
+data_category: operational
performance_indicator_type: []
distribution:
- ce
diff --git a/config/metrics/counts_28d/20211126090835_p_analytics_ci_cd_deployment_frequency_monthly.yml b/config/metrics/counts_28d/20211126090835_p_analytics_ci_cd_deployment_frequency_monthly.yml
index 54118e30127..9a829f0b172 100644
--- a/config/metrics/counts_28d/20211126090835_p_analytics_ci_cd_deployment_frequency_monthly.yml
+++ b/config/metrics/counts_28d/20211126090835_p_analytics_ci_cd_deployment_frequency_monthly.yml
@@ -11,7 +11,7 @@ milestone: '14.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75187
time_frame: 28d
data_source: redis_hll
-data_category: optional
+data_category: operational
instrumentation_class: RedisHLLMetric
performance_indicator_type: []
distribution:
diff --git a/config/metrics/counts_28d/20211126091206_p_analytics_ci_cd_lead_time_monthly.yml b/config/metrics/counts_28d/20211126091206_p_analytics_ci_cd_lead_time_monthly.yml
index 9a2e194ed1a..b053926a87a 100644
--- a/config/metrics/counts_28d/20211126091206_p_analytics_ci_cd_lead_time_monthly.yml
+++ b/config/metrics/counts_28d/20211126091206_p_analytics_ci_cd_lead_time_monthly.yml
@@ -11,7 +11,7 @@ milestone: '14.6'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/75187
time_frame: 28d
data_source: redis_hll
-data_category: optional
+data_category: operational
instrumentation_class: RedisHLLMetric
performance_indicator_type: []
distribution:
diff --git a/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml b/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml
new file mode 100644
index 00000000000..260bae1061f
--- /dev/null
+++ b/config/metrics/counts_28d/20220308234005_p_ci_templates_jobs_sast_latest_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_latest_monthly
+description: Weekly counts for SAST CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_sast_latest
diff --git a/config/metrics/counts_28d/20220309001640_p_ci_templates_jobs_secret_detection_latest_monthly.yml b/config/metrics/counts_28d/20220309001640_p_ci_templates_jobs_secret_detection_latest_monthly.yml
new file mode 100644
index 00000000000..163fc9c9ad6
--- /dev/null
+++ b/config/metrics/counts_28d/20220309001640_p_ci_templates_jobs_secret_detection_latest_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_secret_detection_latest_monthly
+description: Weekly counts for Secret Detection CI Latest template (Security folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_secret_detection_latest
diff --git a/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml b/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml
new file mode 100644
index 00000000000..2d3ca5386f7
--- /dev/null
+++ b/config/metrics/counts_28d/20220310213320_p_ci_templates_implicit_jobs_secret_detection_latest_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_latest_monthly
+description: Weekly counts for implicit use of Secret Detection CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_implicit_jobs_secret_detection_latest
diff --git a/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml b/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml
new file mode 100644
index 00000000000..72d37ffb037
--- /dev/null
+++ b/config/metrics/counts_28d/20220310213749_p_ci_templates_implicit_jobs_sast_latest_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_latest_monthly
+description: Weekly counts for implicit use of SAST CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_implicit_jobs_sast_latest
diff --git a/config/metrics/counts_28d/20220428154012_live_preview.yml b/config/metrics/counts_28d/20220428154012_live_preview.yml
new file mode 100644
index 00000000000..8d2954cb825
--- /dev/null
+++ b/config/metrics/counts_28d/20220428154012_live_preview.yml
@@ -0,0 +1,26 @@
+---
+data_category: optional
+key_path: usage_activity_by_stage_monthly.create.action_monthly_active_users_live_preview_edit
+description: Count of monthly unique users that successfully connect to Live Preview
+product_section: dev
+product_stage: create
+product_group: group::editor
+product_category: web_ide
+value_type: number
+status: active
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85420
+time_frame: 28d
+data_source: redis_hll
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - g_edit_by_live_preview
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "15.0"
diff --git a/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml b/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml
new file mode 100644
index 00000000000..b14d684b908
--- /dev/null
+++ b/config/metrics/counts_28d/20220510024223_p_ci_templates_jobs_sast_iac_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_monthly
+description: Count of pipelines using the stable SAST IaC template
+product_section: sec
+product_stage: secure
+product_group: "group::static analysis"
+product_category: SAST
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_sast_iac
diff --git a/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml b/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml
new file mode 100644
index 00000000000..0925312f33a
--- /dev/null
+++ b/config/metrics/counts_28d/20220510024223_p_ci_templates_security_sast_iac_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_monthly
+description: Count of pipelines using the stable SAST IaC template
+product_section: sec
+product_stage: secure
+product_group: "group::static analysis"
+product_category: SAST
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_security_sast_iac
diff --git a/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml b/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
index b0cca62db12..a3696ba0098 100755
--- a/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
+++ b/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
@@ -88,7 +88,9 @@ options:
- p_ci_templates_jobs_load_performance_testing
- p_ci_templates_jobs_helm_2to3
- p_ci_templates_jobs_sast
+ - p_ci_templates_jobs_sast_latest
- p_ci_templates_jobs_secret_detection
+ - p_ci_templates_jobs_secret_detection_latest
- p_ci_templates_jobs_code_intelligence
- p_ci_templates_jobs_code_quality
- p_ci_templates_jobs_dependency_scanning
diff --git a/config/metrics/counts_7d/20210901221654_p_ci_templates_security_cluster_image_scanning_weekly.yml b/config/metrics/counts_7d/20210901221654_p_ci_templates_security_cluster_image_scanning_weekly.yml
index 200f46ac22d..b7fd799f8a6 100644
--- a/config/metrics/counts_7d/20210901221654_p_ci_templates_security_cluster_image_scanning_weekly.yml
+++ b/config/metrics/counts_7d/20210901221654_p_ci_templates_security_cluster_image_scanning_weekly.yml
@@ -6,7 +6,9 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
+milestone_removed: '15.0'
+removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
time_frame: 7d
diff --git a/config/metrics/counts_7d/20210901221844_p_ci_templates_managed_cluster_applications_weekly.yml b/config/metrics/counts_7d/20210901221844_p_ci_templates_managed_cluster_applications_weekly.yml
index 592f52a0681..b93751d3c30 100644
--- a/config/metrics/counts_7d/20210901221844_p_ci_templates_managed_cluster_applications_weekly.yml
+++ b/config/metrics/counts_7d/20210901221844_p_ci_templates_managed_cluster_applications_weekly.yml
@@ -6,9 +6,11 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267
+milestone_removed: '15.0'
time_frame: 7d
data_source: redis_hll
data_category: optional
diff --git a/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml b/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml
index 86c3ca6e3df..060893ca349 100644
--- a/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml
+++ b/config/metrics/counts_7d/20210901221928_p_ci_templates_serverless_weekly.yml
@@ -6,9 +6,11 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86267
+milestone_removed: '15.0'
time_frame: 7d
data_source: redis_hll
data_category: optional
diff --git a/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml b/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml
index e1ee3f9fd1d..04ba99db306 100644
--- a/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml
+++ b/config/metrics/counts_7d/20210901223912_p_ci_templates_implicit_security_cluster_image_scanning_weekly.yml
@@ -6,7 +6,9 @@ product_stage: ''
product_group: ''
product_category: ''
value_type: number
-status: active
+status: removed
+milestone_removed: '15.0'
+removed_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87000'
milestone: '14.3'
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/69204
time_frame: 7d
diff --git a/config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml b/config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml
new file mode 100644
index 00000000000..1b65c7b1c84
--- /dev/null
+++ b/config/metrics/counts_7d/20220308233959_p_ci_templates_jobs_sast_latest_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_latest_weekly
+description: Weekly counts for SAST CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_sast_latest
diff --git a/config/metrics/counts_7d/20220309001635_p_ci_templates_jobs_secret_detection_latest_weekly.yml b/config/metrics/counts_7d/20220309001635_p_ci_templates_jobs_secret_detection_latest_weekly.yml
new file mode 100644
index 00000000000..64760e33d59
--- /dev/null
+++ b/config/metrics/counts_7d/20220309001635_p_ci_templates_jobs_secret_detection_latest_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_secret_detection_latest_weekly
+description: Weekly counts for Secret Detection CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_secret_detection_latest
diff --git a/config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml b/config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml
new file mode 100644
index 00000000000..13d03d6c833
--- /dev/null
+++ b/config/metrics/counts_7d/20220310213315_p_ci_templates_implicit_jobs_secret_detection_latest_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_secret_detection_latest_weekly
+description: Weekly counts for implicit use of Secret Detection CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_implicit_jobs_secret_detection_latest
diff --git a/config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml b/config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml
new file mode 100644
index 00000000000..74eb8fffa9a
--- /dev/null
+++ b/config/metrics/counts_7d/20220310213743_p_ci_templates_implicit_jobs_sast_latest_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_implicit_jobs_sast_latest_weekly
+description: Weekly counts for implicit use of SAST CI Latest template (Jobs folder)
+product_section: sec
+product_stage: secure
+product_group: group::static analysis
+product_category: static_application_security_testing
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81847'
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_implicit_jobs_sast_latest
diff --git a/config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml b/config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml
new file mode 100644
index 00000000000..9bba92b5162
--- /dev/null
+++ b/config/metrics/counts_7d/20220510024437_p_ci_templates_jobs_sast_iac_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_jobs_sast_iac_weekly
+description: Count of pipelines using the stable SAST IaC template
+product_section: sec
+product_stage: secure
+product_group: "group::static analysis"
+product_category: SAST
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_jobs_sast_iac
diff --git a/config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml b/config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml
new file mode 100644
index 00000000000..c28dfd94cad
--- /dev/null
+++ b/config/metrics/counts_7d/20220510024437_p_ci_templates_security_sast_iac_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_sast_iac_weekly
+description: Count of pipelines using the stable SAST IaC template
+product_section: sec
+product_stage: secure
+product_group: "group::static analysis"
+product_category: SAST
+value_type: number
+status: active
+milestone: "15.0"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86275
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_security_sast_iac
diff --git a/config/metrics/counts_all/20210216175446_network_policy_forwards.yml b/config/metrics/counts_all/20210216175446_network_policy_forwards.yml
index ef2b37bb001..64d7a9434be 100644
--- a/config/metrics/counts_all/20210216175446_network_policy_forwards.yml
+++ b/config/metrics/counts_all/20210216175446_network_policy_forwards.yml
@@ -8,7 +8,9 @@ product_stage: protect
product_group: group::container security
product_category: container_network_security
value_type: number
-status: active
+status: removed
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86351
+milestone_removed: 15.0
time_frame: all
data_source: redis
distribution:
diff --git a/config/metrics/counts_all/20210216175448_network_policy_drops.yml b/config/metrics/counts_all/20210216175448_network_policy_drops.yml
index 933363c0a14..d3a874253f9 100644
--- a/config/metrics/counts_all/20210216175448_network_policy_drops.yml
+++ b/config/metrics/counts_all/20210216175448_network_policy_drops.yml
@@ -8,7 +8,9 @@ product_stage: protect
product_group: group::container security
product_category: container_network_security
value_type: number
-status: active
+status: removed
+removed_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86351
+milestone_removed: "15.0"
time_frame: all
data_source: redis
distribution:
diff --git a/config/metrics/counts_all/20210216175516_ci_pipeline_config_auto_devops.yml b/config/metrics/counts_all/20210216175516_ci_pipeline_config_auto_devops.yml
index d5bfa361905..7dc2a7a756b 100644
--- a/config/metrics/counts_all/20210216175516_ci_pipeline_config_auto_devops.yml
+++ b/config/metrics/counts_all/20210216175516_ci_pipeline_config_auto_devops.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.ci_pipeline_config_auto_devops
description: Total pipelines from an Auto DevOps template
product_section: ops
diff --git a/config/metrics/counts_all/20210216175525_ci_builds.yml b/config/metrics/counts_all/20210216175525_ci_builds.yml
index 885996afdf9..cfa86761e7e 100644
--- a/config/metrics/counts_all/20210216175525_ci_builds.yml
+++ b/config/metrics/counts_all/20210216175525_ci_builds.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage.verify.ci_builds
description: Unique count of builds in project
product_section: ops
diff --git a/config/metrics/counts_all/20210216180638_gitlab_project.yml b/config/metrics/counts_all/20210216180638_gitlab_project.yml
index 9f31a887b87..a3991441a70 100644
--- a/config/metrics/counts_all/20210216180638_gitlab_project.yml
+++ b/config/metrics/counts_all/20210216180638_gitlab_project.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitlab_project
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180639_gitlab.yml b/config/metrics/counts_all/20210216180639_gitlab.yml
index a19b04ac6e1..3497675a00c 100644
--- a/config/metrics/counts_all/20210216180639_gitlab.yml
+++ b/config/metrics/counts_all/20210216180639_gitlab.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitlab
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180641_github.yml b/config/metrics/counts_all/20210216180641_github.yml
index a6ab0bd5b7f..930c96898de 100644
--- a/config/metrics/counts_all/20210216180641_github.yml
+++ b/config/metrics/counts_all/20210216180641_github.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: github
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180643_bitbucket.yml b/config/metrics/counts_all/20210216180643_bitbucket.yml
index 9239f592c23..2e612b09057 100644
--- a/config/metrics/counts_all/20210216180643_bitbucket.yml
+++ b/config/metrics/counts_all/20210216180643_bitbucket.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: bitbucket
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180645_bitbucket_server.yml b/config/metrics/counts_all/20210216180645_bitbucket_server.yml
index bbeb3b2c7d3..fc5df480f75 100644
--- a/config/metrics/counts_all/20210216180645_bitbucket_server.yml
+++ b/config/metrics/counts_all/20210216180645_bitbucket_server.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: bitbucket_server
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180647_gitea.yml b/config/metrics/counts_all/20210216180647_gitea.yml
index 448663cda8b..584d0f26cb1 100644
--- a/config/metrics/counts_all/20210216180647_gitea.yml
+++ b/config/metrics/counts_all/20210216180647_gitea.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: gitea
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180649_git.yml b/config/metrics/counts_all/20210216180649_git.yml
index 3fee6391a56..d5569d2a56e 100644
--- a/config/metrics/counts_all/20210216180649_git.yml
+++ b/config/metrics/counts_all/20210216180649_git.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: git
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180650_manifest.yml b/config/metrics/counts_all/20210216180650_manifest.yml
index af2a3567e74..e6578f840bb 100644
--- a/config/metrics/counts_all/20210216180650_manifest.yml
+++ b/config/metrics/counts_all/20210216180650_manifest.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: manifest
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180652_gitlab_migration.yml b/config/metrics/counts_all/20210216180652_gitlab_migration.yml
index 2652673fff7..7e9e9b6d261 100644
--- a/config/metrics/counts_all/20210216180652_gitlab_migration.yml
+++ b/config/metrics/counts_all/20210216180652_gitlab_migration.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountBulkImportsEntitiesMetric
+options:
+ source_type: project_entity
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180656_fogbugz.yml b/config/metrics/counts_all/20210216180656_fogbugz.yml
index 217a8d6013c..ef5baf27291 100644
--- a/config/metrics/counts_all/20210216180656_fogbugz.yml
+++ b/config/metrics/counts_all/20210216180656_fogbugz.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: fogbugz
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180658_phabricator.yml b/config/metrics/counts_all/20210216180658_phabricator.yml
index becf44044df..1f48180200b 100644
--- a/config/metrics/counts_all/20210216180658_phabricator.yml
+++ b/config/metrics/counts_all/20210216180658_phabricator.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountImportedProjectsMetric
+options:
+ import_type: phabricator
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180703_gitlab_migration.yml b/config/metrics/counts_all/20210216180703_gitlab_migration.yml
index b25e0d72ad8..a4aca8f7859 100644
--- a/config/metrics/counts_all/20210216180703_gitlab_migration.yml
+++ b/config/metrics/counts_all/20210216180703_gitlab_migration.yml
@@ -10,6 +10,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountBulkImportsEntitiesMetric
+options:
+ source_type: group_entity
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180754_events.yml b/config/metrics/counts_all/20210216180754_events.yml
index dce6352d266..85875448f00 100644
--- a/config/metrics/counts_all/20210216180754_events.yml
+++ b/config/metrics/counts_all/20210216180754_events.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage.manage.events
description: Number of distinct users who have generated a manage event
product_section: dev
diff --git a/config/metrics/counts_all/20210216180931_projects_prometheus_active.yml b/config/metrics/counts_all/20210216180931_projects_prometheus_active.yml
index c79a1ee24b9..c753ae06c09 100644
--- a/config/metrics/counts_all/20210216180931_projects_prometheus_active.yml
+++ b/config/metrics/counts_all/20210216180931_projects_prometheus_active.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.projects_prometheus_active
description: Count of projects with active integrations for Prometheus
product_section: ops
diff --git a/config/metrics/counts_all/20210216181249_feature_flags.yml b/config/metrics/counts_all/20210216181249_feature_flags.yml
index 17feacedd54..70e6e6c04eb 100644
--- a/config/metrics/counts_all/20210216181249_feature_flags.yml
+++ b/config/metrics/counts_all/20210216181249_feature_flags.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.feature_flags
description: Number of feature flag toggles
product_section: ops
diff --git a/config/metrics/counts_all/20210216181914_environments.yml b/config/metrics/counts_all/20210216181914_environments.yml
index 23bb7bf3dda..ce6fb171f79 100644
--- a/config/metrics/counts_all/20210216181914_environments.yml
+++ b/config/metrics/counts_all/20210216181914_environments.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.environments
description: Total available and stopped environments
product_section: ops
diff --git a/config/metrics/counts_all/20210423005644_i_analytics_dev_ops_adoption.yml b/config/metrics/counts_all/20210423005644_i_analytics_dev_ops_adoption.yml
index 5a7073d3525..7a524dee720 100644
--- a/config/metrics/counts_all/20210423005644_i_analytics_dev_ops_adoption.yml
+++ b/config/metrics/counts_all/20210423005644_i_analytics_dev_ops_adoption.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: analytics_unique_visits.i_analytics_dev_ops_adoption
description: Unique users viewing analytics devops adoption
product_section: dev
diff --git a/config/metrics/counts_all/20210502045402_ci_runners_instance_type_active.yml b/config/metrics/counts_all/20210502045402_ci_runners_instance_type_active.yml
index b23d63a3ff8..d0331a65b0b 100644
--- a/config/metrics/counts_all/20210502045402_ci_runners_instance_type_active.yml
+++ b/config/metrics/counts_all/20210502045402_ci_runners_instance_type_active.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.ci_runners_instance_type_active
name: "count_active_instance_ci_runners"
description: Total active Shared (Instance) Runners
diff --git a/config/metrics/counts_all/20210502050341_ci_runners_group_type_active.yml b/config/metrics/counts_all/20210502050341_ci_runners_group_type_active.yml
index d09fd9e7578..b1a360df561 100644
--- a/config/metrics/counts_all/20210502050341_ci_runners_group_type_active.yml
+++ b/config/metrics/counts_all/20210502050341_ci_runners_group_type_active.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.ci_runners_group_type_active
name: "count_active_group_ci_runners"
description: Total active Group Runners
diff --git a/config/metrics/counts_all/20210502050834_ci_runners_project_type_active.yml b/config/metrics/counts_all/20210502050834_ci_runners_project_type_active.yml
index 11b5626dc1e..b344f64c250 100644
--- a/config/metrics/counts_all/20210502050834_ci_runners_project_type_active.yml
+++ b/config/metrics/counts_all/20210502050834_ci_runners_project_type_active.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: counts.ci_runners_project_type_active
name: "count_active_project_ci_runners"
description: Total active Specific (Project) Runners
diff --git a/config/metrics/counts_all/20210514141520_project_imports_total.yml b/config/metrics/counts_all/20210514141520_project_imports_total.yml
index 1c5a42c4892..2608714799a 100644
--- a/config/metrics/counts_all/20210514141520_project_imports_total.yml
+++ b/config/metrics/counts_all/20210514141520_project_imports_total.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: usage_activity_by_stage.manage.project_imports.total
description: Number of projects imported
product_section: dev
diff --git a/config/metrics/license/20210204124829_active_user_count.yml b/config/metrics/license/20210204124829_active_user_count.yml
index c6e0895a918..e4347ebef9d 100644
--- a/config/metrics/license/20210204124829_active_user_count.yml
+++ b/config/metrics/license/20210204124829_active_user_count.yml
@@ -5,7 +5,7 @@ product_section: growth
product_stage: growth
product_group: group::product intelligence
product_category: collection
-value_type: string
+value_type: number
status: active
milestone: "<13.9"
data_category: subscription
diff --git a/config/metrics/schema.json b/config/metrics/schema.json
index 09376e32ef0..bb024eac8c1 100644
--- a/config/metrics/schema.json
+++ b/config/metrics/schema.json
@@ -43,6 +43,9 @@
"introduced_by_url": {
"type": ["string", "null"]
},
+ "removed_by_url": {
+ "type": ["string", "null"]
+ },
"repair_issue_url": {
"type": ["string"]
},
diff --git a/config/metrics/settings/20210204124912_prometheus_enabled.yml b/config/metrics/settings/20210204124912_prometheus_enabled.yml
index 236e1656a6b..e19d5ff781a 100644
--- a/config/metrics/settings/20210204124912_prometheus_enabled.yml
+++ b/config/metrics/settings/20210204124912_prometheus_enabled.yml
@@ -1,5 +1,5 @@
---
-data_category: optional
+data_category: operational
key_path: prometheus_enabled
description: Whether the bundled Prometheus is enabled
product_section: growth
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 53fbfb088db..ea954b7061a 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -16,15 +16,26 @@ class ObjectStoreSettings
# we don't need to raise an error in that case
ALLOWED_INCOMPLETE_TYPES = %w(pages).freeze
+ # A fallback switch in case anyone gets a trouble with background upload removal
+ # Epic: https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/734
+ LEGACY_BACKGROUND_UPLOADS_ENV = "GITLAB_LEGACY_BACKGROUND_UPLOADS"
+
attr_accessor :settings
# Legacy parser
- def self.legacy_parse(object_store)
+ def self.legacy_parse(object_store, object_store_type)
object_store ||= Settingslogic.new({})
object_store['enabled'] = false if object_store['enabled'].nil?
object_store['remote_directory'] ||= nil
- object_store['direct_upload'] = false if object_store['direct_upload'].nil?
- object_store['background_upload'] = true if object_store['background_upload'].nil?
+
+ if support_legacy_background_upload?(object_store_type)
+ object_store['direct_upload'] = false
+ object_store['background_upload'] = true
+ else
+ object_store['direct_upload'] = true
+ object_store['background_upload'] = false
+ end
+
object_store['proxy_download'] = false if object_store['proxy_download'].nil?
object_store['storage_options'] ||= {}
@@ -33,6 +44,10 @@ class ObjectStoreSettings
object_store
end
+ def self.support_legacy_background_upload?(object_store_type)
+ ENV[LEGACY_BACKGROUND_UPLOADS_ENV].to_s.split(',').map(&:strip).include?(object_store_type)
+ end
+
def initialize(settings)
@settings = settings
end
diff --git a/config/pseudonymizer.yml b/config/pseudonymizer.yml
deleted file mode 100644
index cd8db9d8dc5..00000000000
--- a/config/pseudonymizer.yml
+++ /dev/null
@@ -1,472 +0,0 @@
-tables:
- approvals:
- whitelist:
- - id
- - merge_request_id
- - user_id
- - created_at
- - updated_at
- approver_groups:
- whitelist:
- - id
- - target_type
- - group_id
- - created_at
- - updated_at
- board_assignees:
- whitelist:
- - id
- - board_id
- - assignee_id
- board_labels:
- whitelist:
- - id
- - board_id
- - label_id
- boards:
- whitelist:
- - id
- - project_id
- - created_at
- - updated_at
- - milestone_id
- - group_id
- - weight
- epic_issues:
- whitelist:
- - id
- - epic_id
- - issue_id
- - relative_position
- epic_metrics:
- whitelist:
- - id
- - epic_id
- - created_at
- - updated_at
- epics:
- whitelist:
- - id
- - group_id
- - author_id
- - assignee_id
- - iid
- - updated_by_id
- - last_edited_by_id
- - lock_version
- - start_date
- - end_date
- - last_edited_at
- - created_at
- - updated_at
- - title
- - description
- issue_assignees:
- whitelist:
- - user_id
- - issue_id
- issue_links:
- whitelist:
- - id
- - source_id
- - target_id
- - created_at
- - updated_at
- issue_metrics:
- whitelist:
- - id
- - issue_id
- - first_mentioned_in_commit_at
- - first_associated_with_milestone_at
- - first_added_to_board_at
- - created_at
- - updated_at
- issues:
- whitelist:
- - id
- - title
- - author_id
- - project_id
- - created_at
- - confidential
- - updated_at
- - description
- - milestone_id
- - state_id
- - updated_by_id
- - weight
- - due_date
- - moved_to_id
- - duplicated_to_id
- - lock_version
- - time_estimate
- - last_edited_at
- - last_edited_by_id
- - discussion_locked
- - closed_at
- label_links:
- whitelist:
- - id
- - label_id
- - target_id
- - target_type
- - created_at
- - updated_at
- label_priorities:
- whitelist:
- - id
- - project_id
- - label_id
- - priority
- - created_at
- - updated_at
- labels:
- whitelist:
- - id
- - title
- - color
- - project_id
- - created_at
- - updated_at
- - template
- - type
- - group_id
- licenses:
- whitelist:
- - id
- - created_at
- - updated_at
- merge_request_diffs:
- whitelist:
- - id
- - state
- - merge_request_id
- - created_at
- - updated_at
- - base_commit_sha
- - real_size
- - head_commit_sha
- - start_commit_sha
- - commits_count
- merge_request_metrics:
- whitelist:
- - id
- - merge_request_id
- - latest_build_started_at
- - latest_build_finished_at
- - first_deployed_to_production_at
- - merged_at
- - created_at
- - updated_at
- - pipeline_id
- - merged_by_id
- - latest_closed_by_id
- - latest_closed_at
- merge_requests:
- whitelist:
- - id
- - target_branch
- - source_branch
- - source_project_id
- - author_id
- - assignee_id
- - created_at
- - updated_at
- - milestone_id
- - state_id
- - merge_status
- - target_project_id
- - updated_by_id
- - merge_error
- - merge_params
- - merge_when_pipeline_succeeds
- - merge_user_id
- - approvals_before_merge
- - lock_version
- - time_estimate
- - squash
- - last_edited_at
- - last_edited_by_id
- - head_pipeline_id
- - discussion_locked
- - latest_merge_request_diff_id
- - allow_maintainer_to_push
- merge_requests_closing_issues:
- whitelist:
- - id
- - merge_request_id
- - issue_id
- - created_at
- - updated_at
- milestones:
- whitelist:
- - id
- - project_id
- - due_date
- - created_at
- - updated_at
- - state
- - start_date
- - group_id
- namespace_statistics:
- whitelist:
- - id
- - namespace_id
- - shared_runners_seconds
- - shared_runners_seconds_last_reset
- namespaces:
- whitelist:
- - id
- - name
- - path
- - owner_id
- - created_at
- - updated_at
- - type
- - avatar
- - membership_lock
- - share_with_group_lock
- - visibility_level
- - request_access_enabled
- - ldap_sync_status
- - ldap_sync_error
- - ldap_sync_last_update_at
- - ldap_sync_last_successful_update_at
- - ldap_sync_last_sync_at
- - lfs_enabled
- - parent_id
- - shared_runners_minutes_limit
- - repository_size_limit
- - require_two_factor_authentication
- - two_factor_grace_period
- - project_creation_level
- members:
- whitelist:
- - id
- - access_level
- - source_id
- - source_type
- - user_id
- - notification_level
- - type
- - created_by_id
- - invite_email
- - invite_accepted_at
- - requested_at
- - expires_at
- - ldap
- - override
- notification_settings:
- whitelist:
- - id
- - user_id
- - source_id
- - source_type
- - level
- - created_at
- - updated_at
- - new_note
- - new_issue
- - reopen_issue
- - close_issue
- - reassign_issue
- - new_merge_request
- - reopen_merge_request
- - close_merge_request
- - reassign_merge_request
- - merge_merge_request
- - failed_pipeline
- - success_pipeline
- project_authorizations:
- whitelist:
- - user_id
- - project_id
- - access_level
- project_auto_devops:
- whitelist:
- - id
- - project_id
- - created_at
- - updated_at
- - enabled
- project_custom_attributes:
- whitelist:
- - id
- - created_at
- - updated_at
- - project_id
- - key
- - value
- project_features:
- whitelist:
- - id
- - project_id
- - merge_requests_access_level
- - issues_access_level
- - wiki_access_level
- - snippets_access_level
- - builds_access_level
- - created_at
- - updated_at
- - repository_access_level
- project_group_links:
- whitelist:
- - id
- - project_id
- - group_id
- - created_at
- - updated_at
- - group_access
- - expires_at
- project_import_data:
- whitelist:
- - id
- - project_id
- project_mirror_data:
- whitelist:
- - id
- - project_id
- - retry_count
- - last_update_started_at
- - last_update_scheduled_at
- - next_execution_timestamp
- project_repository_states:
- whitelist:
- - id
- - project_id
- - repository_verification_checksum
- - wiki_verification_checksum
- - last_repository_verification_failure
- - last_wiki_verification_failure
- project_statistics:
- whitelist:
- - id
- - project_id
- - namespace_id
- - commit_count
- - storage_size
- - repository_size
- - lfs_objects_size
- - build_artifacts_size
- - shared_runners_seconds
- - shared_runners_seconds_last_reset
- projects:
- whitelist:
- - id
- - name
- - path
- - description
- - created_at
- - updated_at
- - creator_id
- - namespace_id
- - last_activity_at
- - import_url
- - visibility_level
- - archived
- - avatar
- - merge_requests_template
- - star_count
- - merge_requests_rebase_enabled
- - import_type
- - import_source
- - approvals_before_merge
- - reset_approvals_on_push
- - merge_requests_ff_only_enabled
- - issues_template
- - mirror
- - mirror_user_id
- - shared_runners_enabled
- - build_coverage_regex
- - build_allow_git_fetch
- - build_timeout
- - mirror_trigger_builds
- - pending_delete
- - public_builds
- - last_repository_check_failed
- - last_repository_check_at
- - only_allow_merge_if_pipeline_succeeds
- - has_external_issue_tracker
- - repository_storage
- - repository_read_only
- - request_access_enabled
- - has_external_wiki
- - ci_config_path
- - lfs_enabled
- - only_allow_merge_if_all_discussions_are_resolved
- - repository_size_limit
- - printing_merge_request_link_enabled
- - auto_cancel_pending_pipelines
- - service_desk_enabled
- - delete_error
- - last_repository_updated_at
- - disable_overriding_approvers_per_merge_request
- - storage_version
- - resolve_outdated_diff_discussions
- - remote_mirror_available_overridden
- - only_mirror_protected_branches
- - pull_mirror_available_overridden
- - mirror_overwrites_diverged_branches
- - external_authorization_classification_label
- subscriptions:
- whitelist:
- - id
- - user_id
- - subscribable_id
- - subscribable_type
- - subscribed
- - created_at
- - updated_at
- - project_id
- users:
- whitelist:
- - id
- - remember_created_at
- - sign_in_count
- - current_sign_in_at
- - last_sign_in_at
- - current_sign_in_ip
- - last_sign_in_ip
- - created_at
- - updated_at
- - admin
- - projects_limit
- - failed_attempts
- - locked_at
- - can_create_group
- - can_create_team
- - state
- - color_scheme_id
- - password_expires_at
- - created_by_id
- - last_credential_check_at
- - avatar
- - confirmed_at
- - confirmation_sent_at
- - unconfirmed_email
- - hide_no_ssh_key
- - website_url
- - admin_email_unsubscribed_at
- - notification_email
- - hide_no_password
- - password_automatically_set
- - location
- - public_email
- - dashboard
- - project_view
- - consumed_timestep
- - layout
- - hide_project_limit
- - note
- - otp_grace_period_started_at
- - external
- - organization
- - auditor
- - require_two_factor_authentication_from_group
- - two_factor_grace_period
- - last_activity_on
- - notified_of_own_activity
- - user_type
- - preferred_language
- - theme_id
-
diff --git a/config/routes.rb b/config/routes.rb
index 41f06a412a3..b2b4bece68a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -116,6 +116,8 @@ Rails.application.routes.draw do
get '/whats_new' => 'whats_new#index'
+ get 'offline' => "pwa#offline"
+
# '/-/health' implemented by BasicHealthCheck middleware
get 'liveness' => 'health#liveness'
get 'readiness' => 'health#readiness'
@@ -234,12 +236,11 @@ Rails.application.routes.draw do
# End of the /-/ scope.
concern :clusterable do
- resources :clusters, only: [:index, :new, :show, :update, :destroy] do
+ resources :clusters, only: [:index, :show, :update, :destroy] do
collection do
get :connect
get :new_cluster_docs
post :create_user
- post :create_gcp
post :create_aws
post :authorize_aws_role
end
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index d066dd2fb35..8148e92d0e5 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -88,7 +88,9 @@ namespace :admin do
get :instance_review, to: 'instance_review#index'
- resources :background_migrations, only: [:index] do
+ resources :background_migrations, only: [:index, :show] do
+ resources :batched_jobs, only: [:show]
+
member do
post :pause
post :resume
@@ -100,7 +102,6 @@ namespace :admin do
resource :background_jobs, controller: 'background_jobs', only: [:show]
resource :system_info, controller: 'system_info', only: [:show]
- resources :requests_profiles, only: [:index, :show], param: :name, constraints: { name: /.+\.(html|txt)/ }
resources :projects, only: [:index]
diff --git a/config/routes/project.rb b/config/routes/project.rb
index a3f6139a6ef..6b2a9700686 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -303,15 +303,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
concerns :clusterable
- namespace :serverless do
- scope :functions do
- get '/:environment_id/:id', to: 'functions#show'
- get '/:environment_id/:id/metrics', to: 'functions#metrics', as: :metrics
- end
-
- resources :functions, only: [:index]
- end
-
resources :terraform, only: [:index]
resources :google_cloud, only: [:index]
@@ -517,7 +508,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
namespace :prometheus do
- resources :alerts, constraints: { id: /\d+/ }, only: [:index, :create, :show, :update, :destroy] do # rubocop: disable Cop/PutProjectRoutesUnderScope
+ resources :alerts, constraints: { id: /\d+/ }, only: [:index, :show] do # rubocop: disable Cop/PutProjectRoutesUnderScope
post :notify, on: :collection # rubocop:todo Cop/PutProjectRoutesUnderScope
member do
get :metrics_dashboard # rubocop:todo Cop/PutProjectRoutesUnderScope
diff --git a/config/routes/user.rb b/config/routes/user.rb
index 64dc56e18ec..ccacf817cc5 100644
--- a/config/routes/user.rb
+++ b/config/routes/user.rb
@@ -27,7 +27,7 @@ devise_controllers = { omniauth_callbacks: :omniauth_callbacks,
sessions: :sessions,
confirmations: :confirmations }
-if ::Gitlab.ee? && ::Gitlab::Geo.connected? && ::Gitlab::Geo.secondary?
+if ::Gitlab.ee? && ::Gitlab::Geo.secondary?(infer_without_database: true)
devise_for :users, controllers: devise_controllers, path_names: { sign_in: 'auth/geo/sign_in',
sign_out: 'auth/geo/sign_out' }
# When using Geo, the other type of routes should be present as well, as browsers
diff --git a/config/settings.rb b/config/settings.rb
index 1860ea0f659..df67fdc8c53 100644
--- a/config/settings.rb
+++ b/config/settings.rb
@@ -195,9 +195,9 @@ class Settings < Settingslogic
# Set a default UUID for the case when the UUID hasn't been initialized.
uuid = Gitlab::CurrentSettings.uuid || 'uuid-not-set'
- minute = Digest::MD5.hexdigest(uuid + 'minute').to_i(16) % 60
- hour = Digest::MD5.hexdigest(uuid + 'hour').to_i(16) % 24
- day_of_week = Digest::MD5.hexdigest(uuid).to_i(16) % 7
+ minute = Digest::SHA256.hexdigest(uuid + 'minute').to_i(16) % 60
+ hour = Digest::SHA256.hexdigest(uuid + 'hour').to_i(16) % 24
+ day_of_week = Digest::SHA256.hexdigest(uuid).to_i(16) % 7
"#{minute} #{hour} * * #{day_of_week}"
end
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index 7ec142344ee..11c232df4e0 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -161,8 +161,6 @@
- 1
- - experiments_record_conversion_event
- 1
-- - expire_build_instance_artifacts
- - 1
- - export_csv
- 1
- - external_service_reactive_caching
@@ -263,6 +261,8 @@
- 1
- - merge_request_reset_approvals
- 1
+- - merge_requests_close_issue
+ - 1
- - merge_requests_delete_source_branch
- 1
- - merge_requests_handle_assignees_change
@@ -355,8 +355,12 @@
- 1
- - project_template_export
- 1
+- - projects_after_import
+ - 1
- - projects_git_garbage_collect
- 1
+- - projects_inactive_projects_deletion_notification
+ - 1
- - projects_post_creation
- 1
- - projects_process_sync_events
@@ -415,10 +419,14 @@
- 1
- - security_findings_delete_by_job_id
- 1
+- - security_generate_scan_finding_rules
+ - 1
- - security_orchestration_policy_rule_schedule_namespace
- 1
- - security_scans
- 2
+- - security_sync_scan_policies
+ - 1
- - self_monitoring_project_create
- 2
- - self_monitoring_project_delete