Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-07-19 17:16:28 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-07-19 17:16:28 +0300
commite4384360a16dd9a19d4d2d25d0ef1f2b862ed2a6 (patch)
tree2fcdfa7dcdb9db8f5208b2562f4b4e803d671243 /config
parentffda4e7bcac36987f936b4ba515995a6698698f0 (diff)
Add latest changes from gitlab-org/gitlab@16-2-stable-eev16.2.0-rc42
Diffstat (limited to 'config')
-rw-r--r--config/application.rb37
-rw-r--r--config/click_house.yml.example6
-rw-r--r--config/database.yml.decomposed-clusterwide-postgresql86
-rw-r--r--config/environments/test.rb5
-rw-r--r--config/events/g_project_management_issue_created.yml24
-rw-r--r--config/feature_flags/development/ai_chat_prompt_alternative.yml (renamed from config/feature_flags/development/ai_chat_history_context.yml)8
-rw-r--r--config/feature_flags/development/allow_protected_branches_for_group.yml2
-rw-r--r--config/feature_flags/development/auto_merge_labels_mr_widget.yml8
-rw-r--r--config/feature_flags/development/batch_delay_jira_branch_sync_worker.yml2
-rw-r--r--config/feature_flags/development/batched_api_mergeability_checks.yml (renamed from config/feature_flags/development/add_ignore_all_white_spaces.yml)8
-rw-r--r--config/feature_flags/development/bulk_imports_batched_import_export.yml4
-rw-r--r--config/feature_flags/development/ci_group_env_scope_graphql.yml (renamed from config/feature_flags/development/ci_limit_environment_scope.yml)8
-rw-r--r--config/feature_flags/development/ci_includable_files_interpolation.yml8
-rw-r--r--config/feature_flags/development/ci_refactoring_pipeline_schedule_create_service.yml (renamed from config/feature_flags/development/ci_reset_skipped_jobs_in_atomic_processing.yml)8
-rw-r--r--config/feature_flags/development/ci_support_include_rules_when_never.yml8
-rw-r--r--config/feature_flags/development/code_suggestions_tokens_from_customers_dot.yml (renamed from config/feature_flags/development/graphql_generic_tracing_metrics_deactivate.yml)8
-rw-r--r--config/feature_flags/development/command_palette.yml2
-rw-r--r--config/feature_flags/development/complete_p_ci_builds_partitioning.yml (renamed from config/feature_flags/development/pipeline_details_header_vue.yml)8
-rw-r--r--config/feature_flags/development/compliance_adherence_report.yml (renamed from config/feature_flags/development/remove_startup_css.yml)10
-rw-r--r--config/feature_flags/development/content_editor_on_issues.yml4
-rw-r--r--config/feature_flags/development/create_runner_workflow_for_namespace.yml8
-rw-r--r--config/feature_flags/development/deprecate_vulnerabilities_feedback.yml8
-rw-r--r--config/feature_flags/development/emoji_webhooks.yml8
-rw-r--r--config/feature_flags/development/enable_vulnerability_remediations_from_records.yml8
-rw-r--r--config/feature_flags/development/explain_code_vertex_ai.yml (renamed from config/feature_flags/development/adapt_deprecated_approvals.yml)10
-rw-r--r--config/feature_flags/development/expose_authorized_cluster_agents.yml8
-rw-r--r--config/feature_flags/development/filter_vulnerability_findings_dismissed_on_default.yml8
-rw-r--r--config/feature_flags/development/frozen_outbound_job_token_scopes_override.yml8
-rw-r--r--config/feature_flags/development/global_file_size_check.yml8
-rw-r--r--config/feature_flags/development/group_analytics_dashboards.yml8
-rw-r--r--config/feature_flags/development/group_mentions.yml (renamed from config/feature_flags/development/job_webhook_retries_count.yml)10
-rw-r--r--config/feature_flags/development/group_protected_branches.yml2
-rw-r--r--config/feature_flags/development/hide_projects_of_banned_users.yml8
-rw-r--r--config/feature_flags/development/highlight_js_worker.yml8
-rw-r--r--config/feature_flags/development/introduce_rules_with_needs.yml8
-rw-r--r--config/feature_flags/development/issue_type_uses_work_item_types_table.yml8
-rw-r--r--config/feature_flags/development/issues_full_text_search.yml8
-rw-r--r--config/feature_flags/development/jira_deployment_issue_keys.yml (renamed from config/feature_flags/development/create_runner_workflow_for_admin.yml)10
-rw-r--r--config/feature_flags/development/kas_user_access.yml8
-rw-r--r--config/feature_flags/development/kas_user_access_project.yml8
-rw-r--r--config/feature_flags/development/kubernetes_namespace_for_environment.yml (renamed from config/feature_flags/development/cluster_agents_limit_tokens_created.yml)10
-rw-r--r--config/feature_flags/development/linear_group_descendants_finder_upto.yml8
-rw-r--r--config/feature_flags/development/log_response_length.yml8
-rw-r--r--config/feature_flags/development/merge_request_cleanup_ref_worker_async.yml8
-rw-r--r--config/feature_flags/development/mirror_only_branches_match_regex.yml8
-rw-r--r--config/feature_flags/development/ml_experiment_tracking.yml2
-rw-r--r--config/feature_flags/development/move_close_into_dropdown.yml8
-rw-r--r--config/feature_flags/development/moved_mr_sidebar.yml2
-rw-r--r--config/feature_flags/development/notify_kas_on_git_push.yml2
-rw-r--r--config/feature_flags/development/observability_tracing.yml8
-rw-r--r--config/feature_flags/development/packages_dependency_proxy_maven.yml8
-rw-r--r--config/feature_flags/development/pat_reuse_detection.yml8
-rw-r--r--config/feature_flags/development/persist_failed_pipelines_from_schedules.yml (renamed from config/feature_flags/development/frozen_outbound_job_token_scopes.yml)8
-rw-r--r--config/feature_flags/development/pipeline_cleanup_ref_worker_async.yml8
-rw-r--r--config/feature_flags/development/product_intelligence_database_event_tracking.yml8
-rw-r--r--config/feature_flags/development/redirect_with_ref_type.yml8
-rw-r--r--config/feature_flags/development/remove_deployments_api_ref_sort.yml (renamed from config/feature_flags/development/environment_settings_to_graphql.yml)8
-rw-r--r--config/feature_flags/development/runners_dashboard.yml8
-rw-r--r--config/feature_flags/development/scan_execution_policy_pipelines.yml (renamed from config/feature_flags/development/config/feature_flags/development/ci_jwt_v2_ref_uri_claim.yml)8
-rw-r--r--config/feature_flags/development/service_desk_ticket.yml8
-rw-r--r--config/feature_flags/development/service_desk_vue_list.yml (renamed from config/feature_flags/development/load_merge_request_via_links.yml)8
-rw-r--r--config/feature_flags/development/sidekiq_queueing_application_slis.yml8
-rw-r--r--config/feature_flags/development/support_group_level_merge_checks_setting.yml2
-rw-r--r--config/feature_flags/development/tanuki_bot_breadcrumbs_entry_point.yml8
-rw-r--r--config/feature_flags/development/update_personal_access_token_usage_information_every_10_minutes.yml8
-rw-r--r--config/feature_flags/development/use_metric_definitions_for_events_list.yml (renamed from config/feature_flags/development/product_intelligence_database_event_tracking_batch2.yml)10
-rw-r--r--config/feature_flags/development/use_repository_info_for_repository_size.yml (renamed from config/feature_flags/development/find_changed_paths_new_format.yml)6
-rw-r--r--config/feature_flags/development/use_traversal_ids_for_ancestors.yml8
-rw-r--r--config/feature_flags/development/use_traversal_ids_for_ancestors_upto.yml8
-rw-r--r--config/feature_flags/development/use_traversal_ids_for_descendants_scopes.yml8
-rw-r--r--config/feature_flags/development/use_traversal_ids_for_self_and_hierarchy.yml8
-rw-r--r--config/feature_flags/development/use_traversal_ids_roots.yml8
-rw-r--r--config/feature_flags/development/user_profile_overflow_menu_vue.yml8
-rw-r--r--config/feature_flags/development/validate_environment_tier_presence.yml7
-rw-r--r--config/feature_flags/development/vsd_graphql_dora_and_flow_metrics.yml2
-rw-r--r--config/feature_flags/experiment/phone_verification_for_low_risk_users.yml (renamed from config/feature_flags/experiment/show_pages_in_deployments_menu.yml)10
-rw-r--r--config/feature_flags/ops/disable_keep_around_refs.yml (renamed from config/feature_flags/development/comment_on_files.yml)10
-rw-r--r--config/feature_flags/ops/gtm_nonce.yml2
-rw-r--r--config/feature_flags/ops/search_index_curation_epics.yml (renamed from config/feature_flags/development/autocomplete_users_use_search_service.yml)10
-rw-r--r--config/feature_flags/ops/search_index_curation_projects.yml8
-rw-r--r--config/gitlab_loose_foreign_keys.yml4
-rw-r--r--config/initializers/00_deprecations.rb4
-rw-r--r--config/initializers/00_rails_disable_joins.rb16
-rw-r--r--config/initializers/01_active_record_database_tasks_configuration_flag.rb37
-rw-r--r--config/initializers/1_active_record_data_types.rb18
-rw-r--r--config/initializers/1_settings.rb12
-rw-r--r--config/initializers/7_redis.rb17
-rw-r--r--config/initializers/action_cable.rb1
-rw-r--r--config/initializers/action_dispatch_journey_router.rb51
-rw-r--r--config/initializers/active_record_migrations.rb21
-rw-r--r--config/initializers/active_record_postgresql_adapter.rb4
-rw-r--r--config/initializers/active_record_preloader.rb70
-rw-r--r--config/initializers/click_house.rb31
-rw-r--r--config/initializers/grpc_patch.rb31
-rw-r--r--config/initializers/internal_events.rb3
-rw-r--r--config/initializers/remove_active_job_execute_callback.rb4
-rw-r--r--config/initializers/sidekiq.rb2
-rw-r--r--config/initializers/wrap_parameters.rb16
-rw-r--r--config/initializers_before_autoloader/000_inflections.rb1
-rw-r--r--config/locales/doorkeeper.en.yml5
-rw-r--r--config/locales/en.yml7
-rw-r--r--config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20210216175436_projects_slack_notifications_active.yml21
-rw-r--r--config/metrics/counts_28d/20210216175437_projects_slack_slash_active.yml21
-rw-r--r--config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml2
-rw-r--r--config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml5
-rw-r--r--config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_ci_access_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_ci_access_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20230630153556_flux_git_push_notified_unique_projects_monthly.yml25
-rw-r--r--config/metrics/counts_7d/20210216175130_i_code_review_user_create_mr_weekly.yml5
-rw-r--r--config/metrics/counts_7d/20210216181321_g_project_management_issue_created_weekly.yml5
-rw-r--r--config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_agents_via_ci_access_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_users_via_ci_access_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20230630153554_flux_git_push_notified_unique_projects_weekly.yml25
-rw-r--r--config/metrics/counts_all/20210216175400_projects_slack_notifications_active.yml20
-rw-r--r--config/metrics/counts_all/20210216175402_projects_slack_slash_active.yml20
-rw-r--r--config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml3
-rw-r--r--config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml3
-rw-r--r--config/metrics/counts_all/20210216181122_service_desk_enabled_projects.yml2
-rw-r--r--config/metrics/counts_all/20220607141129_slack_app_installations_gbp.yml21
-rw-r--r--config/metrics/counts_all/20220607141417_slack_app_installations.yml21
-rw-r--r--config/metrics/counts_all/20230620073845_kubernetes_agent_k8s_api_proxy_requests_via_ci_access.yml25
-rw-r--r--config/metrics/counts_all/20230620074102_kubernetes_agent_k8s_api_proxy_requests_via_user_access.yml25
-rw-r--r--config/metrics/objects_schemas/batched_background_migrations_metric.json18
-rw-r--r--config/metrics/objects_schemas/schema_inconsistencies_metric.json22
-rw-r--r--config/metrics/schema.json26
-rw-r--r--config/metrics/settings/20210216175606_ldap_encrypted_secrets_enabled.yml1
-rw-r--r--config/metrics/settings/20210225045628_operating_system.yml1
-rw-r--r--config/metrics/settings/20210321224827_gitaly_apdex.yml1
-rw-r--r--config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml1
-rw-r--r--config/metrics/settings/20230602180038_batched_background_migrations_metric.yml24
-rw-r--r--config/metrics/settings/20230612132238_schema_inconsistencies_metric.yml24
-rw-r--r--config/object_store_settings.rb5
-rw-r--r--config/redis.yml.example6
-rw-r--r--config/routes.rb1
-rw-r--r--config/routes/admin.rb3
-rw-r--r--config/routes/directs/subscription_portal.rb4
-rw-r--r--config/routes/explore.rb2
-rw-r--r--config/routes/organizations.rb4
-rw-r--r--config/routes/project.rb20
-rw-r--r--config/sidekiq_queues.yml24
-rw-r--r--config/webpack.config.js29
149 files changed, 1305 insertions, 476 deletions
diff --git a/config/application.rb b/config/application.rb
index 7eeb75a73cd..1e2a6a69dc8 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -12,14 +12,13 @@ require 'action_mailer/railtie'
require 'action_cable/engine'
require 'rails/test_unit/railtie'
+require 'gitlab/utils/all'
+
Bundler.require(*Rails.groups)
module Gitlab
class Application < Rails::Application
- config.load_defaults 6.1
-
- config.active_support.hash_digest_class = ::OpenSSL::Digest::SHA256
-
+ config.load_defaults 7.0
# This section contains configuration from Rails upgrades to override the new defaults so that we
# keep existing behavior.
#
@@ -29,6 +28,22 @@ module Gitlab
#
# To switch a setting to the new default value, we just need to delete the specific line here.
+ # Rails 7.0
+ config.action_controller.raise_on_open_redirects = false
+ config.action_dispatch.return_only_request_media_type_on_content_type = true
+ config.action_mailer.smtp_timeout = nil # New default is 5
+ config.action_view.button_to_generates_button_tag = nil # New default is true
+ config.active_record.automatic_scope_inversing = nil # New default is true
+ config.active_record.verify_foreign_keys_for_fixtures = nil # New default is true
+ config.active_record.partial_inserts = true # New default is false
+ config.active_support.cache_format_version = nil # New default is 7.0
+ config.active_support.disable_to_s_conversion = false # New default is true
+ config.active_support.executor_around_test_case = nil # New default is true
+ config.active_support.isolation_level = nil # New default is thread
+ config.active_support.key_generator_hash_digest_class = nil # New default is OpenSSL::Digest::SHA256
+ config.active_support.remove_deprecated_time_with_zone_name = nil # New default is true
+ config.active_support.use_rfc4122_namespaced_uuids = nil # New default is true
+
# Rails 6.1
config.action_dispatch.cookies_same_site_protection = nil # New default is :lax
ActiveSupport.utc_to_local_returns_utc_offset_times = false
@@ -49,7 +64,6 @@ module Gitlab
ActiveSupport.to_time_preserves_timezone = false
require_dependency Rails.root.join('lib/gitlab')
- require_dependency Rails.root.join('lib/gitlab/utils')
require_dependency Rails.root.join('lib/gitlab/action_cable/config')
require_dependency Rails.root.join('lib/gitlab/redis/wrapper')
require_dependency Rails.root.join('lib/gitlab/redis/cache')
@@ -216,6 +230,9 @@ module Gitlab
sharedSecret
)
+ # This config option can be removed after Rails 7.1 by https://gitlab.com/gitlab-org/gitlab/-/issues/416270
+ config.active_support.use_rfc4122_namespaced_uuids = true
+
# Enable escaping HTML in JSON.
config.active_support.escape_html_entities_in_json = true
@@ -318,7 +335,6 @@ module Gitlab
config.assets.precompile << "page_bundles/project.css"
config.assets.precompile << "page_bundles/projects_edit.css"
config.assets.precompile << "page_bundles/projects_usage_quotas.css"
- config.assets.precompile << "page_bundles/prometheus.css"
config.assets.precompile << "page_bundles/promotions.css"
config.assets.precompile << "page_bundles/releases.css"
config.assets.precompile << "page_bundles/remote_development.css"
@@ -361,7 +377,6 @@ module Gitlab
# Import woff2 for fonts
config.assets.paths << "#{config.root}/node_modules/@gitlab/fonts/"
config.assets.precompile << "gitlab-sans/*.woff2"
- config.assets.precompile << "jetbrains-mono/*.woff2"
config.assets.precompile << "gitlab-mono/*.woff2"
# Import gitlab-svgs directly from vendored directory
@@ -546,15 +561,15 @@ module Gitlab
app.config.assets.precompile << LOOSE_APP_ASSETS
end
- # This empty initializer forces the :let_zeitwerk_take_over initializer to run before we load
+ # This empty initializer forces the :setup_main_autoloader initializer to run before we load
# initializers in config/initializers. This is done because autoloading before Zeitwerk takes
# over is deprecated but our initializers do a lot of autoloading.
# See https://gitlab.com/gitlab-org/gitlab/issues/197346 for more details
- initializer :move_initializers, before: :load_config_initializers, after: :let_zeitwerk_take_over do
+ initializer :move_initializers, before: :load_config_initializers, after: :setup_main_autoloader do
end
# We need this for initializers that need to be run before Zeitwerk is loaded
- initializer :before_zeitwerk, before: :let_zeitwerk_take_over, after: :prepend_helpers_path do
+ initializer :before_zeitwerk, before: :setup_main_autoloader, after: :prepend_helpers_path do
Dir[Rails.root.join('config/initializers_before_autoloader/*.rb')].sort.each do |initializer|
load_config_initializer(initializer)
end
@@ -627,7 +642,7 @@ module Gitlab
# [0]: https://github.com/rails/rails/commit/94d81c3c39e3ddc441c3af3f874e53b197cf3f54
# [1]: https://salsa.debian.org/ruby-team/rails/-/commit/5663e598b41dc4e2058db22e1ee0d678e5c483ba
#
- ActiveRecord::Base.yaml_column_permitted_classes = config.active_record.yaml_column_permitted_classes
+ ActiveRecord.yaml_column_permitted_classes = config.active_record.yaml_column_permitted_classes
# on_master_start yields immediately in unclustered environments and runs
# when the primary process is done initializing otherwise.
diff --git a/config/click_house.yml.example b/config/click_house.yml.example
new file mode 100644
index 00000000000..aa790115f10
--- /dev/null
+++ b/config/click_house.yml.example
@@ -0,0 +1,6 @@
+test:
+ main:
+ database: gitlab_clickhouse_test
+ url: 'http://localhost:8123'
+ username: clickhouse
+ password: clickhouse
diff --git a/config/database.yml.decomposed-clusterwide-postgresql b/config/database.yml.decomposed-clusterwide-postgresql
new file mode 100644
index 00000000000..6439788524e
--- /dev/null
+++ b/config/database.yml.decomposed-clusterwide-postgresql
@@ -0,0 +1,86 @@
+# Defaults
+
+defaults: &defaults
+ adapter: postgresql
+ encoding: unicode
+ host: localhost
+ username: git
+ password: "secure password"
+
+#
+# PRODUCTION
+#
+production:
+ main: &main
+ <<: *defaults
+ database: gitlabhq_production
+ ci:
+ <<: *defaults
+ database: gitlabhq_production_ci
+ main_clusterwide:
+ <: *main
+ database_tasks: false
+ geo:
+ <<: *defaults
+ database: gitlabhq_geo_production
+
+#
+# Development specific
+#
+development:
+ main: &main
+ <<: *defaults
+ database: gitlabhq_development
+ username: postgres
+ variables:
+ statement_timeout: 15s
+ ci:
+ <<: *defaults
+ database: gitlabhq_development_ci
+ username: postgres
+ variables:
+ statement_timeout: 15s
+ main_clusterwide:
+ <<: *main
+ database_tasks: false
+ variables:
+ statement_timeout: 15s
+ geo:
+ <<: *defaults
+ database: gitlabhq_geo_development
+ username: postgres
+
+# Warning: The database defined as "test" will be erased and
+# re-generated from your development database when you run "rake".
+# Do not set this db to the same as development or production.
+test:
+ main: &main
+ <<: *defaults
+ database: gitlabhq_test
+ username: postgres
+ password:
+ prepared_statements: false
+ variables:
+ statement_timeout: 15s
+ ci:
+ <<: *defaults
+ database: gitlabhq_test_ci
+ username: postgres
+ password:
+ prepared_statements: false
+ variables:
+ statement_timeout: 15s
+ main_clusterwide:
+ <<: *main
+ database_tasks: false
+ geo:
+ <<: *defaults
+ database: gitlabhq_geo_test
+ username: postgres
+ password:
+ embedding:
+ <<: *defaults
+ database: gitlabhq_embedding_test
+ username: postgres
+ password:
+
diff --git a/config/environments/test.rb b/config/environments/test.rb
index da91752549e..e29fcf31664 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -4,7 +4,8 @@ require 'gitlab/testing/request_blocker_middleware'
require 'gitlab/testing/robots_blocker_middleware'
require 'gitlab/testing/request_inspector_middleware'
require 'gitlab/testing/clear_process_memory_cache_middleware'
-require 'gitlab/utils'
+require 'gitlab/testing/action_cable_blocker'
+require 'gitlab/utils/all'
Rails.application.configure do
# Make sure the middleware is inserted first in middleware chain
@@ -13,6 +14,8 @@ Rails.application.configure do
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestInspectorMiddleware)
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::ClearProcessMemoryCacheMiddleware)
+ Gitlab::Testing::ActionCableBlocker.install
+
# Settings specified here will take precedence over those in config/application.rb
# The test environment is used exclusively to run your application's
diff --git a/config/events/g_project_management_issue_created.yml b/config/events/g_project_management_issue_created.yml
new file mode 100644
index 00000000000..0fe5dd5f82e
--- /dev/null
+++ b/config/events/g_project_management_issue_created.yml
@@ -0,0 +1,24 @@
+---
+description: An issue has been created
+category: InternalEventTracking
+action: g_project_management_issue_created
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+ - namespace
+ - project
+ - user
+product_section: dev
+product_stage: plan
+product_group: project_management
+milestone: "16.1"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123184
+distributions:
+ - ce
+ - ee
+tiers:
+ - free
+ - premium
+ - ultimate
diff --git a/config/feature_flags/development/ai_chat_history_context.yml b/config/feature_flags/development/ai_chat_prompt_alternative.yml
index cc264093cd5..f568abcec24 100644
--- a/config/feature_flags/development/ai_chat_history_context.yml
+++ b/config/feature_flags/development/ai_chat_prompt_alternative.yml
@@ -1,8 +1,8 @@
---
-name: ai_chat_history_context
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122920
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414606
-milestone: '16.1'
+name: ai_chat_prompt_alternative
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125092
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/417230
+milestone: '16.2'
type: development
group: group::ai-enablement
default_enabled: false
diff --git a/config/feature_flags/development/allow_protected_branches_for_group.yml b/config/feature_flags/development/allow_protected_branches_for_group.yml
index 16b06182f7c..88695ddf245 100644
--- a/config/feature_flags/development/allow_protected_branches_for_group.yml
+++ b/config/feature_flags/development/allow_protected_branches_for_group.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/116779
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383178
milestone: '15.11'
type: development
-group: group::compliance
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/auto_merge_labels_mr_widget.yml b/config/feature_flags/development/auto_merge_labels_mr_widget.yml
deleted file mode 100644
index ea689058ee2..00000000000
--- a/config/feature_flags/development/auto_merge_labels_mr_widget.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: auto_merge_labels_mr_widget
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115436
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/409530
-milestone: '15.11'
-type: development
-group: group::pipeline execution
-default_enabled: true
diff --git a/config/feature_flags/development/batch_delay_jira_branch_sync_worker.yml b/config/feature_flags/development/batch_delay_jira_branch_sync_worker.yml
index f10403e98e9..171af0a1690 100644
--- a/config/feature_flags/development/batch_delay_jira_branch_sync_worker.yml
+++ b/config/feature_flags/development/batch_delay_jira_branch_sync_worker.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/411865
milestone: '16.1'
type: development
group: group::source code
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/add_ignore_all_white_spaces.yml b/config/feature_flags/development/batched_api_mergeability_checks.yml
index 6d343500fa6..2a5e85f7566 100644
--- a/config/feature_flags/development/add_ignore_all_white_spaces.yml
+++ b/config/feature_flags/development/batched_api_mergeability_checks.yml
@@ -1,8 +1,8 @@
---
-name: add_ignore_all_white_spaces
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111055
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390657
-milestone: '15.9'
+name: batched_api_mergeability_checks
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121980
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413232
+milestone: '16.1'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/bulk_imports_batched_import_export.yml b/config/feature_flags/development/bulk_imports_batched_import_export.yml
index 45c6c07c720..4afb715b1ee 100644
--- a/config/feature_flags/development/bulk_imports_batched_import_export.yml
+++ b/config/feature_flags/development/bulk_imports_batched_import_export.yml
@@ -1,8 +1,8 @@
---
name: bulk_imports_batched_import_export
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117243
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124434
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/406559
-milestone: '16.0'
+milestone: '16.2'
type: development
group: group::import and integrate
default_enabled: false
diff --git a/config/feature_flags/development/ci_limit_environment_scope.yml b/config/feature_flags/development/ci_group_env_scope_graphql.yml
index 0beed23a151..04b080c67d4 100644
--- a/config/feature_flags/development/ci_limit_environment_scope.yml
+++ b/config/feature_flags/development/ci_group_env_scope_graphql.yml
@@ -1,8 +1,8 @@
---
-name: ci_limit_environment_scope
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113171
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/395003
-milestone: '15.10'
+name: ci_group_env_scope_graphql
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124134
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416385
+milestone: '16.2'
type: development
group: group::pipeline security
default_enabled: false
diff --git a/config/feature_flags/development/ci_includable_files_interpolation.yml b/config/feature_flags/development/ci_includable_files_interpolation.yml
deleted file mode 100644
index 7a6eef0f27c..00000000000
--- a/config/feature_flags/development/ci_includable_files_interpolation.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_includable_files_interpolation
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113211
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/399146
-milestone: '15.11'
-type: development
-group: group::pipeline authoring
-default_enabled: true
diff --git a/config/feature_flags/development/ci_reset_skipped_jobs_in_atomic_processing.yml b/config/feature_flags/development/ci_refactoring_pipeline_schedule_create_service.yml
index 3d6a863a6ba..40f2af0cc34 100644
--- a/config/feature_flags/development/ci_reset_skipped_jobs_in_atomic_processing.yml
+++ b/config/feature_flags/development/ci_refactoring_pipeline_schedule_create_service.yml
@@ -1,8 +1,8 @@
---
-name: ci_reset_skipped_jobs_in_atomic_processing
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118269
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/410203
-milestone: '16.1'
+name: ci_refactoring_pipeline_schedule_create_service
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124696
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416359
+milestone: '16.2'
type: development
group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/ci_support_include_rules_when_never.yml b/config/feature_flags/development/ci_support_include_rules_when_never.yml
deleted file mode 100644
index 594da30ec97..00000000000
--- a/config/feature_flags/development/ci_support_include_rules_when_never.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_support_include_rules_when_never
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122810
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414517
-milestone: '16.1'
-type: development
-group: group::pipeline authoring
-default_enabled: false
diff --git a/config/feature_flags/development/graphql_generic_tracing_metrics_deactivate.yml b/config/feature_flags/development/code_suggestions_tokens_from_customers_dot.yml
index c2954e791d6..4abbd56482c 100644
--- a/config/feature_flags/development/graphql_generic_tracing_metrics_deactivate.yml
+++ b/config/feature_flags/development/code_suggestions_tokens_from_customers_dot.yml
@@ -1,8 +1,8 @@
---
-name: graphql_generic_tracing_metrics_deactivate
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123228
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415004
-milestone: '16.1'
+name: code_suggestions_tokens_from_customers_dot
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125405
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/417762
+milestone: '16.3'
type: development
group: group::application performance
default_enabled: false
diff --git a/config/feature_flags/development/command_palette.yml b/config/feature_flags/development/command_palette.yml
index cba513c305e..3a7935e6bf5 100644
--- a/config/feature_flags/development/command_palette.yml
+++ b/config/feature_flags/development/command_palette.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413060
milestone: '16.1'
type: development
group: group::foundations
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/pipeline_details_header_vue.yml b/config/feature_flags/development/complete_p_ci_builds_partitioning.yml
index 4e4968bc686..bd6ed2644af 100644
--- a/config/feature_flags/development/pipeline_details_header_vue.yml
+++ b/config/feature_flags/development/complete_p_ci_builds_partitioning.yml
@@ -1,8 +1,8 @@
---
-name: pipeline_details_header_vue
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/120634
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/411442
-milestone: '16.0'
+name: complete_p_ci_builds_partitioning
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/126701
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414396
+milestone: '16.2'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/remove_startup_css.yml b/config/feature_flags/development/compliance_adherence_report.yml
index 91e78682755..b4a19625a5d 100644
--- a/config/feature_flags/development/remove_startup_css.yml
+++ b/config/feature_flags/development/compliance_adherence_report.yml
@@ -1,8 +1,8 @@
---
-name: remove_startup_css
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117495
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/407140
-milestone: '15.11'
+name: compliance_adherence_report
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124167
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416988
+milestone: '16.2'
type: development
-group: group::project management
+group: group::compliance
default_enabled: false
diff --git a/config/feature_flags/development/content_editor_on_issues.yml b/config/feature_flags/development/content_editor_on_issues.yml
index 4527ea3b807..79aaccee828 100644
--- a/config/feature_flags/development/content_editor_on_issues.yml
+++ b/config/feature_flags/development/content_editor_on_issues.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98703
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/375172
milestone: '15.5'
type: development
-group: group::editor
-default_enabled: false
+group: group::knowledge
+default_enabled: true
diff --git a/config/feature_flags/development/create_runner_workflow_for_namespace.yml b/config/feature_flags/development/create_runner_workflow_for_namespace.yml
deleted file mode 100644
index 032a5b49ffd..00000000000
--- a/config/feature_flags/development/create_runner_workflow_for_namespace.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: create_runner_workflow_for_namespace
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113535
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/393919
-milestone: '15.10'
-type: development
-group: group::runner
-default_enabled: true
diff --git a/config/feature_flags/development/deprecate_vulnerabilities_feedback.yml b/config/feature_flags/development/deprecate_vulnerabilities_feedback.yml
deleted file mode 100644
index 25e33effa1d..00000000000
--- a/config/feature_flags/development/deprecate_vulnerabilities_feedback.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: deprecate_vulnerabilities_feedback
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/86497
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361797
-milestone: '15.0'
-type: development
-group: group::threat insights
-default_enabled: true
diff --git a/config/feature_flags/development/emoji_webhooks.yml b/config/feature_flags/development/emoji_webhooks.yml
new file mode 100644
index 00000000000..98d1918d365
--- /dev/null
+++ b/config/feature_flags/development/emoji_webhooks.yml
@@ -0,0 +1,8 @@
+---
+name: emoji_webhooks
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123952
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/417288
+milestone: '16.2'
+type: development
+group: group::import and integrate
+default_enabled: false
diff --git a/config/feature_flags/development/enable_vulnerability_remediations_from_records.yml b/config/feature_flags/development/enable_vulnerability_remediations_from_records.yml
deleted file mode 100644
index c557ad751f2..00000000000
--- a/config/feature_flags/development/enable_vulnerability_remediations_from_records.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: enable_vulnerability_remediations_from_records
-introduced_by_url:
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/362283
-milestone: '15.1'
-type: development
-group: group::threat insights
-default_enabled: false
diff --git a/config/feature_flags/development/adapt_deprecated_approvals.yml b/config/feature_flags/development/explain_code_vertex_ai.yml
index 0f2ba559033..4eb4d64ed30 100644
--- a/config/feature_flags/development/adapt_deprecated_approvals.yml
+++ b/config/feature_flags/development/explain_code_vertex_ai.yml
@@ -1,8 +1,8 @@
---
-name: adapt_deprecated_approvals
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118036
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/409686
-milestone: '16.0'
+name: explain_code_vertex_ai
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125292
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416907
+milestone: '16.2'
type: development
group: group::source code
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/expose_authorized_cluster_agents.yml b/config/feature_flags/development/expose_authorized_cluster_agents.yml
deleted file mode 100644
index b5a44d5d309..00000000000
--- a/config/feature_flags/development/expose_authorized_cluster_agents.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: expose_authorized_cluster_agents
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117128
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/407841
-milestone: '16.0'
-type: development
-group: group::environments
-default_enabled: true
diff --git a/config/feature_flags/development/filter_vulnerability_findings_dismissed_on_default.yml b/config/feature_flags/development/filter_vulnerability_findings_dismissed_on_default.yml
deleted file mode 100644
index 93d79757511..00000000000
--- a/config/feature_flags/development/filter_vulnerability_findings_dismissed_on_default.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: filter_vulnerability_findings_dismissed_on_default
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/113711
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/396747
-milestone: '15.11'
-type: development
-group: group::threat insights
-default_enabled: true
diff --git a/config/feature_flags/development/frozen_outbound_job_token_scopes_override.yml b/config/feature_flags/development/frozen_outbound_job_token_scopes_override.yml
deleted file mode 100644
index 44dcb134318..00000000000
--- a/config/feature_flags/development/frozen_outbound_job_token_scopes_override.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: frozen_outbound_job_token_scopes_override
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118254
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/407401
-milestone: '16.0'
-type: development
-group: group::pipeline execution
-default_enabled: false
diff --git a/config/feature_flags/development/global_file_size_check.yml b/config/feature_flags/development/global_file_size_check.yml
new file mode 100644
index 00000000000..eea775cdad5
--- /dev/null
+++ b/config/feature_flags/development/global_file_size_check.yml
@@ -0,0 +1,8 @@
+---
+name: global_file_size_check
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125956
+rollout_issue_url:
+milestone: '16.2'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/group_analytics_dashboards.yml b/config/feature_flags/development/group_analytics_dashboards.yml
new file mode 100644
index 00000000000..55001b99452
--- /dev/null
+++ b/config/feature_flags/development/group_analytics_dashboards.yml
@@ -0,0 +1,8 @@
+---
+name: group_analytics_dashboards
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125337
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416970
+milestone: '16.2'
+type: development
+group: group::optimize
+default_enabled: false
diff --git a/config/feature_flags/development/job_webhook_retries_count.yml b/config/feature_flags/development/group_mentions.yml
index 96b33695440..4f536b2b583 100644
--- a/config/feature_flags/development/job_webhook_retries_count.yml
+++ b/config/feature_flags/development/group_mentions.yml
@@ -1,8 +1,8 @@
---
-name: job_webhook_retries_count
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101618
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382046
-milestone: '15.6'
+name: group_mentions
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96684
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414856
+milestone: '16.2'
type: development
-group: group::delivery
+group: group::import and integrate
default_enabled: false
diff --git a/config/feature_flags/development/group_protected_branches.yml b/config/feature_flags/development/group_protected_branches.yml
index 4d580734dc4..5c1a39a0e3b 100644
--- a/config/feature_flags/development/group_protected_branches.yml
+++ b/config/feature_flags/development/group_protected_branches.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/372816
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383178
milestone: '15.7'
type: development
-group: group::compliance
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/hide_projects_of_banned_users.yml b/config/feature_flags/development/hide_projects_of_banned_users.yml
new file mode 100644
index 00000000000..374782c359a
--- /dev/null
+++ b/config/feature_flags/development/hide_projects_of_banned_users.yml
@@ -0,0 +1,8 @@
+---
+name: hide_projects_of_banned_users
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121488
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412621
+milestone: '16.2'
+type: development
+group: group::anti-abuse
+default_enabled: false
diff --git a/config/feature_flags/development/highlight_js_worker.yml b/config/feature_flags/development/highlight_js_worker.yml
new file mode 100644
index 00000000000..ee74cbb7004
--- /dev/null
+++ b/config/feature_flags/development/highlight_js_worker.yml
@@ -0,0 +1,8 @@
+---
+name: highlight_js_worker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124276
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415755
+milestone: '16.2'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/introduce_rules_with_needs.yml b/config/feature_flags/development/introduce_rules_with_needs.yml
deleted file mode 100644
index 8b2940438ee..00000000000
--- a/config/feature_flags/development/introduce_rules_with_needs.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: introduce_rules_with_needs
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/112725
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/394769
-milestone: '16.0'
-type: development
-group: group::pipeline authoring
-default_enabled: false
diff --git a/config/feature_flags/development/issue_type_uses_work_item_types_table.yml b/config/feature_flags/development/issue_type_uses_work_item_types_table.yml
deleted file mode 100644
index 4ce66b7ab33..00000000000
--- a/config/feature_flags/development/issue_type_uses_work_item_types_table.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: issue_type_uses_work_item_types_table
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107690
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386603
-milestone: '15.8'
-type: development
-group: group::project management
-default_enabled: false
diff --git a/config/feature_flags/development/issues_full_text_search.yml b/config/feature_flags/development/issues_full_text_search.yml
deleted file mode 100644
index 31fe543e35e..00000000000
--- a/config/feature_flags/development/issues_full_text_search.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: issues_full_text_search
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/71913
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354784
-milestone: '14.5'
-type: development
-group: group::project management
-default_enabled: true
diff --git a/config/feature_flags/development/create_runner_workflow_for_admin.yml b/config/feature_flags/development/jira_deployment_issue_keys.yml
index 7d13be6760b..e2b9db8020d 100644
--- a/config/feature_flags/development/create_runner_workflow_for_admin.yml
+++ b/config/feature_flags/development/jira_deployment_issue_keys.yml
@@ -1,8 +1,8 @@
---
-name: create_runner_workflow_for_admin
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109497
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389269
-milestone: '15.9'
+name: jira_deployment_issue_keys
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123455
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415025
+milestone: '16.2'
type: development
-group: group::runner
+group: group::import and integrate
default_enabled: true
diff --git a/config/feature_flags/development/kas_user_access.yml b/config/feature_flags/development/kas_user_access.yml
deleted file mode 100644
index 47ce7cd660a..00000000000
--- a/config/feature_flags/development/kas_user_access.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: kas_user_access
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104504'
-rollout_issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/391201'
-milestone: '15.10'
-type: development
-group: group::environments
-default_enabled: true
diff --git a/config/feature_flags/development/kas_user_access_project.yml b/config/feature_flags/development/kas_user_access_project.yml
deleted file mode 100644
index 16106a36d8d..00000000000
--- a/config/feature_flags/development/kas_user_access_project.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: kas_user_access_project
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104504'
-rollout_issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/391211'
-milestone: '15.10'
-type: development
-group: group::environments
-default_enabled: true
diff --git a/config/feature_flags/development/cluster_agents_limit_tokens_created.yml b/config/feature_flags/development/kubernetes_namespace_for_environment.yml
index 77a4bae6a56..f5da9ea7c9a 100644
--- a/config/feature_flags/development/cluster_agents_limit_tokens_created.yml
+++ b/config/feature_flags/development/kubernetes_namespace_for_environment.yml
@@ -1,8 +1,8 @@
---
-name: cluster_agents_limit_tokens_created
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/120825
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412399
-milestone: '16.1'
+name: kubernetes_namespace_for_environment
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125191
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/417129
+milestone: '16.2'
type: development
group: group::environments
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/linear_group_descendants_finder_upto.yml b/config/feature_flags/development/linear_group_descendants_finder_upto.yml
deleted file mode 100644
index 3955332bd90..00000000000
--- a/config/feature_flags/development/linear_group_descendants_finder_upto.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: linear_group_descendants_finder_upto
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78991
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350972
-milestone: '14.8'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/log_response_length.yml b/config/feature_flags/development/log_response_length.yml
deleted file mode 100644
index 83cafe20de9..00000000000
--- a/config/feature_flags/development/log_response_length.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: log_response_length
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91448
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/366854
-milestone: '15.3'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/merge_request_cleanup_ref_worker_async.yml b/config/feature_flags/development/merge_request_cleanup_ref_worker_async.yml
new file mode 100644
index 00000000000..75d7541fdef
--- /dev/null
+++ b/config/feature_flags/development/merge_request_cleanup_ref_worker_async.yml
@@ -0,0 +1,8 @@
+---
+name: merge_request_cleanup_ref_worker_async
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125109
+rollout_issue_url: https://gitlab.com/gitlab-org/gitaly/-/issues/5369
+milestone: '16.2'
+type: development
+group: group::tenant scale
+default_enabled: false
diff --git a/config/feature_flags/development/mirror_only_branches_match_regex.yml b/config/feature_flags/development/mirror_only_branches_match_regex.yml
deleted file mode 100644
index 3311187e3b4..00000000000
--- a/config/feature_flags/development/mirror_only_branches_match_regex.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: mirror_only_branches_match_regex
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99201
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381667
-milestone: '15.6'
-type: development
-group: "group::source code"
-default_enabled: true
diff --git a/config/feature_flags/development/ml_experiment_tracking.yml b/config/feature_flags/development/ml_experiment_tracking.yml
index 19f14196591..b39c7395bbc 100644
--- a/config/feature_flags/development/ml_experiment_tracking.yml
+++ b/config/feature_flags/development/ml_experiment_tracking.yml
@@ -5,5 +5,5 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371669
milestone: '15.6'
type: development
group: group::incubation
-default_enabled: false
+default_enabled: true
log_state_changes: true
diff --git a/config/feature_flags/development/move_close_into_dropdown.yml b/config/feature_flags/development/move_close_into_dropdown.yml
new file mode 100644
index 00000000000..65777f09eb7
--- /dev/null
+++ b/config/feature_flags/development/move_close_into_dropdown.yml
@@ -0,0 +1,8 @@
+---
+name: move_close_into_dropdown
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125173
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416861
+milestone: '16.2'
+type: development
+group: group::ux paper cuts
+default_enabled: false
diff --git a/config/feature_flags/development/moved_mr_sidebar.yml b/config/feature_flags/development/moved_mr_sidebar.yml
index 1e542a5a60e..0a54e51e57f 100644
--- a/config/feature_flags/development/moved_mr_sidebar.yml
+++ b/config/feature_flags/development/moved_mr_sidebar.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385460
milestone: '14.10'
type: development
group: group::code review
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/notify_kas_on_git_push.yml b/config/feature_flags/development/notify_kas_on_git_push.yml
index df90a4d1942..32806418bce 100644
--- a/config/feature_flags/development/notify_kas_on_git_push.yml
+++ b/config/feature_flags/development/notify_kas_on_git_push.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/410429
milestone: '16.0'
type: development
group: group::environments
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/observability_tracing.yml b/config/feature_flags/development/observability_tracing.yml
new file mode 100644
index 00000000000..a32d8409608
--- /dev/null
+++ b/config/feature_flags/development/observability_tracing.yml
@@ -0,0 +1,8 @@
+---
+name: observability_tracing
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124966
+rollout_issue_url: https://gitlab.com/gitlab-org/opstrace/opstrace/-/issues/2252
+milestone: '16.2'
+type: development
+group: group::observability
+default_enabled: false
diff --git a/config/feature_flags/development/packages_dependency_proxy_maven.yml b/config/feature_flags/development/packages_dependency_proxy_maven.yml
new file mode 100644
index 00000000000..8cf2f5a2879
--- /dev/null
+++ b/config/feature_flags/development/packages_dependency_proxy_maven.yml
@@ -0,0 +1,8 @@
+---
+name: packages_dependency_proxy_maven
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123491
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415218
+milestone: '16.2'
+type: development
+group: group::package registry
+default_enabled: false
diff --git a/config/feature_flags/development/pat_reuse_detection.yml b/config/feature_flags/development/pat_reuse_detection.yml
new file mode 100644
index 00000000000..8000b362296
--- /dev/null
+++ b/config/feature_flags/development/pat_reuse_detection.yml
@@ -0,0 +1,8 @@
+---
+name: pat_reuse_detection
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/126600
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/418336
+milestone: '16.2'
+type: development
+group: group::authentication and authorization
+default_enabled: false
diff --git a/config/feature_flags/development/frozen_outbound_job_token_scopes.yml b/config/feature_flags/development/persist_failed_pipelines_from_schedules.yml
index f8ebc46d7f9..8912e30c2e8 100644
--- a/config/feature_flags/development/frozen_outbound_job_token_scopes.yml
+++ b/config/feature_flags/development/persist_failed_pipelines_from_schedules.yml
@@ -1,8 +1,8 @@
---
-name: frozen_outbound_job_token_scopes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/118254
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/407401
-milestone: '16.0'
+name: persist_failed_pipelines_from_schedules
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124371
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416297
+milestone: '16.2'
type: development
group: group::pipeline execution
default_enabled: true
diff --git a/config/feature_flags/development/pipeline_cleanup_ref_worker_async.yml b/config/feature_flags/development/pipeline_cleanup_ref_worker_async.yml
new file mode 100644
index 00000000000..e8e97404556
--- /dev/null
+++ b/config/feature_flags/development/pipeline_cleanup_ref_worker_async.yml
@@ -0,0 +1,8 @@
+---
+name: pipeline_cleanup_ref_worker_async
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123976
+rollout_issue_url: https://gitlab.com/gitlab-org/gitaly/-/issues/5369
+milestone: '16.1'
+type: development
+group: group::tenant scale
+default_enabled: false
diff --git a/config/feature_flags/development/product_intelligence_database_event_tracking.yml b/config/feature_flags/development/product_intelligence_database_event_tracking.yml
deleted file mode 100644
index 63b53996eea..00000000000
--- a/config/feature_flags/development/product_intelligence_database_event_tracking.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: product_intelligence_database_event_tracking
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92079
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368976
-milestone: '15.3'
-type: development
-group: group::product intelligence
-default_enabled: true
diff --git a/config/feature_flags/development/redirect_with_ref_type.yml b/config/feature_flags/development/redirect_with_ref_type.yml
new file mode 100644
index 00000000000..74a4d31eb2f
--- /dev/null
+++ b/config/feature_flags/development/redirect_with_ref_type.yml
@@ -0,0 +1,8 @@
+---
+name: redirect_with_ref_type
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122237
+rollout_issue_url:
+milestone: '16.2'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/environment_settings_to_graphql.yml b/config/feature_flags/development/remove_deployments_api_ref_sort.yml
index fc9d54eb3b3..584012ba2bf 100644
--- a/config/feature_flags/development/environment_settings_to_graphql.yml
+++ b/config/feature_flags/development/remove_deployments_api_ref_sort.yml
@@ -1,8 +1,8 @@
---
-name: environment_settings_to_graphql
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121091
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412332
-milestone: '16.1'
+name: remove_deployments_api_ref_sort
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124229
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416305
+milestone: '16.2'
type: development
group: group::environments
default_enabled: true
diff --git a/config/feature_flags/development/runners_dashboard.yml b/config/feature_flags/development/runners_dashboard.yml
new file mode 100644
index 00000000000..dd773c5e337
--- /dev/null
+++ b/config/feature_flags/development/runners_dashboard.yml
@@ -0,0 +1,8 @@
+---
+name: runners_dashboard
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125301
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/417002
+milestone: '16.2'
+type: development
+group: group::runner
+default_enabled: false
diff --git a/config/feature_flags/development/config/feature_flags/development/ci_jwt_v2_ref_uri_claim.yml b/config/feature_flags/development/scan_execution_policy_pipelines.yml
index 9f3e3d7143b..b062b9940c3 100644
--- a/config/feature_flags/development/config/feature_flags/development/ci_jwt_v2_ref_uri_claim.yml
+++ b/config/feature_flags/development/scan_execution_policy_pipelines.yml
@@ -1,8 +1,8 @@
---
-name: ci_jwt_v2_ref_uri_claim
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122373
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412926
+name: scan_execution_policy_pipelines
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121087
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415607
milestone: '16.1'
type: development
group: group::security policies
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/service_desk_ticket.yml b/config/feature_flags/development/service_desk_ticket.yml
new file mode 100644
index 00000000000..119dbac61b7
--- /dev/null
+++ b/config/feature_flags/development/service_desk_ticket.yml
@@ -0,0 +1,8 @@
+---
+name: service_desk_ticket
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124681
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416343
+milestone: '16.2'
+type: development
+group: group::respond
+default_enabled: false
diff --git a/config/feature_flags/development/load_merge_request_via_links.yml b/config/feature_flags/development/service_desk_vue_list.yml
index a9db587a7a9..8cd260289cf 100644
--- a/config/feature_flags/development/load_merge_request_via_links.yml
+++ b/config/feature_flags/development/service_desk_vue_list.yml
@@ -1,8 +1,8 @@
---
-name: load_merge_request_via_links
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/117321
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412177
+name: service_desk_vue_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123064
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415385
milestone: '16.1'
type: development
-group: group::threat insights
+group: group::respond
default_enabled: false
diff --git a/config/feature_flags/development/sidekiq_queueing_application_slis.yml b/config/feature_flags/development/sidekiq_queueing_application_slis.yml
new file mode 100644
index 00000000000..9968948e42b
--- /dev/null
+++ b/config/feature_flags/development/sidekiq_queueing_application_slis.yml
@@ -0,0 +1,8 @@
+---
+name: sidekiq_queueing_application_slis
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121141
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/412092
+milestone: '16.2'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/support_group_level_merge_checks_setting.yml b/config/feature_flags/development/support_group_level_merge_checks_setting.yml
index 66cb9830261..282fa289c91 100644
--- a/config/feature_flags/development/support_group_level_merge_checks_setting.yml
+++ b/config/feature_flags/development/support_group_level_merge_checks_setting.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102864
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/377723
milestone: '15.8'
type: development
-group: group::compliance
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/tanuki_bot_breadcrumbs_entry_point.yml b/config/feature_flags/development/tanuki_bot_breadcrumbs_entry_point.yml
new file mode 100644
index 00000000000..92fbcddd3cc
--- /dev/null
+++ b/config/feature_flags/development/tanuki_bot_breadcrumbs_entry_point.yml
@@ -0,0 +1,8 @@
+---
+name: tanuki_bot_breadcrumbs_entry_point
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123530
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416423
+milestone: '16.2'
+type: development
+group: group::foundations
+default_enabled: false
diff --git a/config/feature_flags/development/update_personal_access_token_usage_information_every_10_minutes.yml b/config/feature_flags/development/update_personal_access_token_usage_information_every_10_minutes.yml
deleted file mode 100644
index fbcd7bb15ae..00000000000
--- a/config/feature_flags/development/update_personal_access_token_usage_information_every_10_minutes.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: update_personal_access_token_usage_information_every_10_minutes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123154
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414945
-milestone: '16.1'
-type: development
-group: group::authentication and authorization
-default_enabled: true
diff --git a/config/feature_flags/development/product_intelligence_database_event_tracking_batch2.yml b/config/feature_flags/development/use_metric_definitions_for_events_list.yml
index 825f684ed8c..fee19608502 100644
--- a/config/feature_flags/development/product_intelligence_database_event_tracking_batch2.yml
+++ b/config/feature_flags/development/use_metric_definitions_for_events_list.yml
@@ -1,8 +1,8 @@
---
-name: product_intelligence_database_event_tracking_batch2
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/116125
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/403041
-milestone: '16.0'
+name: use_metric_definitions_for_events_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122840
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416893
+milestone: '16.2'
type: development
group: group::analytics instrumentation
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/find_changed_paths_new_format.yml b/config/feature_flags/development/use_repository_info_for_repository_size.yml
index 1964edf38da..0de415d4d36 100644
--- a/config/feature_flags/development/find_changed_paths_new_format.yml
+++ b/config/feature_flags/development/use_repository_info_for_repository_size.yml
@@ -1,7 +1,7 @@
---
-name: find_changed_paths_new_format
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122768
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414463
+name: use_repository_info_for_repository_size
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124477
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/416490
milestone: '16.1'
type: development
group: group::source code
diff --git a/config/feature_flags/development/use_traversal_ids_for_ancestors.yml b/config/feature_flags/development/use_traversal_ids_for_ancestors.yml
deleted file mode 100644
index 64ba5b17513..00000000000
--- a/config/feature_flags/development/use_traversal_ids_for_ancestors.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_traversal_ids_for_ancestors
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57137
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/334952
-milestone: '13.12'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/use_traversal_ids_for_ancestors_upto.yml b/config/feature_flags/development/use_traversal_ids_for_ancestors_upto.yml
deleted file mode 100644
index 910cf3e2d83..00000000000
--- a/config/feature_flags/development/use_traversal_ids_for_ancestors_upto.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_traversal_ids_for_ancestors_upto
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/72662
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/343619
-milestone: '14.6'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/use_traversal_ids_for_descendants_scopes.yml b/config/feature_flags/development/use_traversal_ids_for_descendants_scopes.yml
deleted file mode 100644
index 74b6d6d2f70..00000000000
--- a/config/feature_flags/development/use_traversal_ids_for_descendants_scopes.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_traversal_ids_for_descendants_scopes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78542
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350637
-milestone: '14.8'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/use_traversal_ids_for_self_and_hierarchy.yml b/config/feature_flags/development/use_traversal_ids_for_self_and_hierarchy.yml
deleted file mode 100644
index e1f1ec0df35..00000000000
--- a/config/feature_flags/development/use_traversal_ids_for_self_and_hierarchy.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_traversal_ids_for_self_and_hierarchy
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/76814
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/348527
-milestone: '14.7'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/use_traversal_ids_roots.yml b/config/feature_flags/development/use_traversal_ids_roots.yml
deleted file mode 100644
index d1f4cec7517..00000000000
--- a/config/feature_flags/development/use_traversal_ids_roots.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_traversal_ids_roots
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/74148
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345438
-milestone: '14.5'
-type: development
-group: group::tenant scale
-default_enabled: true
diff --git a/config/feature_flags/development/user_profile_overflow_menu_vue.yml b/config/feature_flags/development/user_profile_overflow_menu_vue.yml
new file mode 100644
index 00000000000..42a792414cf
--- /dev/null
+++ b/config/feature_flags/development/user_profile_overflow_menu_vue.yml
@@ -0,0 +1,8 @@
+---
+name: user_profile_overflow_menu_vue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122971
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/414773
+milestone: '16.1'
+type: development
+group: group::tenant scale
+default_enabled: false
diff --git a/config/feature_flags/development/validate_environment_tier_presence.yml b/config/feature_flags/development/validate_environment_tier_presence.yml
deleted file mode 100644
index 5cc16b36f19..00000000000
--- a/config/feature_flags/development/validate_environment_tier_presence.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-name: validate_environment_tier_presence
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111011
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/391293
-milestone: '15.9'
-type: development
-group: group::configure
-default_enabled: true
diff --git a/config/feature_flags/development/vsd_graphql_dora_and_flow_metrics.yml b/config/feature_flags/development/vsd_graphql_dora_and_flow_metrics.yml
index 16d0bffb151..c0588ce992d 100644
--- a/config/feature_flags/development/vsd_graphql_dora_and_flow_metrics.yml
+++ b/config/feature_flags/development/vsd_graphql_dora_and_flow_metrics.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/409499
milestone: '16.1'
type: development
group: group::optimize
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/experiment/show_pages_in_deployments_menu.yml b/config/feature_flags/experiment/phone_verification_for_low_risk_users.yml
index e72e5fd3af9..9e4b76980b7 100644
--- a/config/feature_flags/experiment/show_pages_in_deployments_menu.yml
+++ b/config/feature_flags/experiment/phone_verification_for_low_risk_users.yml
@@ -1,8 +1,8 @@
---
-name: show_pages_in_deployments_menu
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97783
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373561
-milestone: '15.4'
+name: phone_verification_for_low_risk_users
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124090
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/415674
+milestone: '16.2'
type: experiment
-group: group::incubation
+group: group::anti-abuse
default_enabled: false
diff --git a/config/feature_flags/development/comment_on_files.yml b/config/feature_flags/ops/disable_keep_around_refs.yml
index 3482486eefa..2a894defd65 100644
--- a/config/feature_flags/development/comment_on_files.yml
+++ b/config/feature_flags/ops/disable_keep_around_refs.yml
@@ -1,8 +1,8 @@
---
-name: comment_on_files
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121429
+name: disable_keep_around_refs
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124123
rollout_issue_url:
milestone: '16.1'
-type: development
-group: group::code review
-default_enabled: true
+type: ops
+group: group::gitaly
+default_enabled: false
diff --git a/config/feature_flags/ops/gtm_nonce.yml b/config/feature_flags/ops/gtm_nonce.yml
index b4007732aa2..c206efd2a08 100644
--- a/config/feature_flags/ops/gtm_nonce.yml
+++ b/config/feature_flags/ops/gtm_nonce.yml
@@ -1,7 +1,7 @@
---
name: gtm_nonce
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/58494
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346322
milestone: '14.6'
type: ops
group: group::product intelligence
diff --git a/config/feature_flags/development/autocomplete_users_use_search_service.yml b/config/feature_flags/ops/search_index_curation_epics.yml
index 1fe9b295076..73eab662cb6 100644
--- a/config/feature_flags/development/autocomplete_users_use_search_service.yml
+++ b/config/feature_flags/ops/search_index_curation_epics.yml
@@ -1,8 +1,8 @@
---
-name: autocomplete_users_use_search_service
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122289
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413972
-milestone: '16.1'
-type: development
+name: search_index_curation_epics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121635
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/413605
+milestone: '16.2'
+type: ops
group: group::global search
default_enabled: false
diff --git a/config/feature_flags/ops/search_index_curation_projects.yml b/config/feature_flags/ops/search_index_curation_projects.yml
new file mode 100644
index 00000000000..fb8dcaed778
--- /dev/null
+++ b/config/feature_flags/ops/search_index_curation_projects.yml
@@ -0,0 +1,8 @@
+---
+name: search_index_curation_projects
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122193"
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383093
+milestone: '16.2'
+type: ops
+group: group::global search
+default_enabled: false
diff --git a/config/gitlab_loose_foreign_keys.yml b/config/gitlab_loose_foreign_keys.yml
index 1f97975a806..dfc4861d1f7 100644
--- a/config/gitlab_loose_foreign_keys.yml
+++ b/config/gitlab_loose_foreign_keys.yml
@@ -247,6 +247,10 @@ ml_candidates:
- table: ci_builds
column: ci_build_id
on_delete: async_nullify
+namespaces:
+ - table: organizations
+ column: organization_id
+ on_delete: async_nullify
p_ci_builds_metadata:
- table: projects
column: project_id
diff --git a/config/initializers/00_deprecations.rb b/config/initializers/00_deprecations.rb
index c45f7ab7a5a..3d6a6491176 100644
--- a/config/initializers/00_deprecations.rb
+++ b/config/initializers/00_deprecations.rb
@@ -42,7 +42,9 @@ else
# https://gitlab.com/gitlab-org/gitlab/-/issues/410086
/Using `return`, `break` or `throw` to exit a transaction block/,
# https://gitlab.com/gitlab-org/gitlab/-/issues/414556
- /Merging .* no longer maintain both conditions, and will be replaced by the latter in Rails 7\.0/
+ /Merging .* no longer maintain both conditions, and will be replaced by the latter in Rails 7\.0/,
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/415890
+ /(Date|Time|TimeWithZone)#to_s.+ is deprecated/
]
view_component_3_warnings = [
diff --git a/config/initializers/00_rails_disable_joins.rb b/config/initializers/00_rails_disable_joins.rb
deleted file mode 100644
index 4274365ccad..00000000000
--- a/config/initializers/00_rails_disable_joins.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-# Backported from Rails 7.0
-# Initial support for has_many :through was implemented in https://github.com/rails/rails/pull/41937
-# Support for has_one :through was implemented in https://github.com/rails/rails/pull/42079
-raise 'DisableJoins patch is only to be used with versions of Rails < 7.0' unless Rails::VERSION::MAJOR < 7
-
-ActiveRecord::Associations::Association.prepend(GemExtensions::ActiveRecord::Association)
-# Temporarily allow :disable_joins to accept a lambda argument, to control rollout with feature flags
-ActiveRecord::Associations::Association.prepend(GemExtensions::ActiveRecord::ConfigurableDisableJoins)
-ActiveRecord::Associations::Builder::HasOne.prepend(GemExtensions::ActiveRecord::Associations::Builder::HasOne)
-ActiveRecord::Associations::Builder::HasMany.prepend(GemExtensions::ActiveRecord::Associations::Builder::HasMany)
-ActiveRecord::Associations::HasOneThroughAssociation.prepend(GemExtensions::ActiveRecord::Associations::HasOneThroughAssociation)
-ActiveRecord::Associations::HasManyThroughAssociation.prepend(GemExtensions::ActiveRecord::Associations::HasManyThroughAssociation)
-ActiveRecord::Associations::Preloader::ThroughAssociation.prepend(GemExtensions::ActiveRecord::Associations::Preloader::ThroughAssociation)
-ActiveRecord::Base.extend(GemExtensions::ActiveRecord::DelegateCache)
diff --git a/config/initializers/01_active_record_database_tasks_configuration_flag.rb b/config/initializers/01_active_record_database_tasks_configuration_flag.rb
deleted file mode 100644
index 37374a41a30..00000000000
--- a/config/initializers/01_active_record_database_tasks_configuration_flag.rb
+++ /dev/null
@@ -1,37 +0,0 @@
-# frozen_string_literal: true
-
-if Rails::VERSION::MAJOR >= 7
- raise "Remove `#{__FILE__}`. This is backport of `database_tasks:` Rails 7.x feature."
-end
-
-# This backports `database_tasks:` feature to skip running migrations for some databases
-# PR: https://github.com/rails/rails/pull/42794/files
-
-module DatabaseTasks
- module ActiveRecordDatabaseConfigurations
- def configs_for(env_name: nil, name: nil, include_replicas: false)
- configs = super
-
- unless include_replicas
- if name
- configs = nil unless configs&.database_tasks?
- else
- configs = configs.select do |db_config|
- db_config.database_tasks?
- end
- end
- end
-
- configs
- end
- end
-
- module ActiveRecordDatabaseConfigurationsHashConfig
- def database_tasks? # :nodoc:
- !replica? && !!configuration_hash.fetch(:database_tasks, true)
- end
- end
-end
-
-ActiveRecord::DatabaseConfigurations.prepend(DatabaseTasks::ActiveRecordDatabaseConfigurations)
-ActiveRecord::DatabaseConfigurations::HashConfig.prepend(DatabaseTasks::ActiveRecordDatabaseConfigurationsHashConfig)
diff --git a/config/initializers/1_active_record_data_types.rb b/config/initializers/1_active_record_data_types.rb
index ba4ca8b3b5c..5c0671f2ca3 100644
--- a/config/initializers/1_active_record_data_types.rb
+++ b/config/initializers/1_active_record_data_types.rb
@@ -26,14 +26,16 @@ module RegisterDateTimeWithTimeZone
#
# When schema dumping, `timestamptz` columns will be output as
# `t.datetime_with_timezone`.
- def initialize_type_map(mapping = type_map)
- super mapping
-
- register_class_with_precision(
- mapping,
- 'timestamptz',
- ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::OID::DateTimeWithTimeZone
- )
+ class << self
+ def initialize_type_map(mapping = type_map)
+ super mapping
+
+ register_class_with_precision(
+ mapping,
+ 'timestamptz',
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::OID::DateTimeWithTimeZone
+ )
+ end
end
end
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 33225c1945d..50d26236a29 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -807,6 +807,9 @@ Gitlab.ee do
Settings.cron_jobs['vulnerability_historical_statistics_deletion_worker'] ||= {}
Settings.cron_jobs['vulnerability_historical_statistics_deletion_worker']['cron'] ||= '15 3 * * *'
Settings.cron_jobs['vulnerability_historical_statistics_deletion_worker']['job_class'] = 'Vulnerabilities::HistoricalStatistics::DeletionWorker'
+ Settings.cron_jobs['vulnerability_orphaned_remediations_cleanup_worker'] ||= {}
+ Settings.cron_jobs['vulnerability_orphaned_remediations_cleanup_worker']['job_class'] = 'Vulnerabilities::OrphanedRemediationsCleanupWorker'
+ Settings.cron_jobs['vulnerability_orphaned_remediations_cleanup_worker']['cron'] ||= '15 3 3 * *'
Settings.cron_jobs['security_create_orchestration_policy_worker'] ||= {}
Settings.cron_jobs['security_create_orchestration_policy_worker']['cron'] ||= '*/10 * * * *'
Settings.cron_jobs['security_create_orchestration_policy_worker']['job_class'] = 'Security::CreateOrchestrationPolicyWorker'
@@ -837,15 +840,18 @@ Gitlab.ee do
Settings.cron_jobs['abandoned_trial_emails'] ||= {}
Settings.cron_jobs['abandoned_trial_emails']['cron'] ||= "0 1 * * *"
Settings.cron_jobs['abandoned_trial_emails']['job_class'] = 'Emails::AbandonedTrialEmailsCronWorker'
- Settings.cron_jobs['package_metadata_sync_worker'] ||= {}
- Settings.cron_jobs['package_metadata_sync_worker']['cron'] ||= "*/5 * * * *"
- Settings.cron_jobs['package_metadata_sync_worker']['job_class'] = 'PackageMetadata::SyncWorker'
+ Settings.cron_jobs['package_metadata_licenses_sync_worker'] ||= {}
+ Settings.cron_jobs['package_metadata_licenses_sync_worker']['cron'] ||= "*/5 * * * *"
+ Settings.cron_jobs['package_metadata_licenses_sync_worker']['job_class'] = 'PackageMetadata::LicensesSyncWorker'
Settings.cron_jobs['compliance_violations_consistency_worker'] ||= {}
Settings.cron_jobs['compliance_violations_consistency_worker']['cron'] ||= '0 1 * * *'
Settings.cron_jobs['compliance_violations_consistency_worker']['job_class'] = 'ComplianceManagement::MergeRequests::ComplianceViolationsConsistencyWorker'
Settings.cron_jobs['users_delete_unconfirmed_users_worker'] ||= {}
Settings.cron_jobs['users_delete_unconfirmed_users_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['users_delete_unconfirmed_users_worker']['job_class'] = 'Users::UnconfirmedUsersDeletionCronWorker'
+ Settings.cron_jobs['package_metadata_advisories_sync_worker'] ||= {}
+ Settings.cron_jobs['package_metadata_advisories_sync_worker']['cron'] ||= "*/5 * * * *"
+ Settings.cron_jobs['package_metadata_advisories_sync_worker']['job_class'] = 'PackageMetadata::AdvisoriesSyncWorker'
Gitlab.com do
Settings.cron_jobs['free_user_cap_backfill_notification_jobs_worker'] ||= {}
diff --git a/config/initializers/7_redis.rb b/config/initializers/7_redis.rb
index 61b660ec6a3..b66a5e70f56 100644
--- a/config/initializers/7_redis.rb
+++ b/config/initializers/7_redis.rb
@@ -4,6 +4,23 @@ require 'gitlab/redis'
Redis.raise_deprecations = true unless Rails.env.production?
+# rubocop:disable Gitlab/NoCodeCoverageComment
+# :nocov: This snippet is for local development only, reloading in specs would raise NameError
+if Rails.env.development?
+ # reset all pools in the event of a reload
+ # This makes sure that there are no stale references to classes in the `Gitlab::Redis` namespace
+ # that also got reloaded.
+ Gitlab::Application.config.to_prepare do
+ Gitlab::Redis::ALL_CLASSES.each do |redis_instance|
+ redis_instance.instance_variable_set(:@pool, nil)
+ end
+
+ Rails.cache = ActiveSupport::Cache::RedisCacheStore.new(**Gitlab::Redis::Cache.active_support_config)
+ end
+end
+# :nocov:
+# rubocop:enable Gitlab/NoCodeCoverageComment
+
Redis::Client.prepend(Gitlab::Instrumentation::RedisInterceptor)
Redis::Cluster::NodeLoader.prepend(Gitlab::Patch::NodeLoader)
Redis::Cluster.prepend(Gitlab::Patch::RedisCluster)
diff --git a/config/initializers/action_cable.rb b/config/initializers/action_cable.rb
index 3f9ceb7cfa7..0d2073586be 100644
--- a/config/initializers/action_cable.rb
+++ b/config/initializers/action_cable.rb
@@ -10,7 +10,6 @@ Rails.application.configure do
end
ActionCable::SubscriptionAdapter::Base.prepend(Gitlab::Patch::ActionCableSubscriptionAdapterIdentifier)
-ActionCable::SubscriptionAdapter::Redis::Listener.prepend(Gitlab::Patch::ActionCableRedisListener)
# https://github.com/rails/rails/blob/bb5ac1623e8de08c1b7b62b1368758f0d3bb6379/actioncable/lib/action_cable/subscription_adapter/redis.rb#L18
ActionCable::SubscriptionAdapter::Redis.redis_connector = lambda do |config|
diff --git a/config/initializers/action_dispatch_journey_router.rb b/config/initializers/action_dispatch_journey_router.rb
new file mode 100644
index 00000000000..14f5ee367a6
--- /dev/null
+++ b/config/initializers/action_dispatch_journey_router.rb
@@ -0,0 +1,51 @@
+# frozen_string_literal: true
+
+module ActionDispatch
+ module Journey
+ class Router
+ private
+
+ # Besides the patch, this method is a duplicate for the original method defined in Rails:
+ # https://github.com/rails/rails/blob/v7.0.5/actionpack/lib/action_dispatch/journey/router.rb#L109-L132
+ # See https://github.com/rails/rails/issues/47244
+ def find_routes(req)
+ path_info = req.path_info
+ routes = filter_routes(path_info).concat custom_routes.find_all { |r|
+ r.path.match?(path_info)
+ }
+
+ if req.head?
+ routes = match_head_routes(routes, req)
+ else
+ routes.select! { |r| r.matches?(req) }
+ end
+
+ routes.sort_by!(&:precedence)
+
+ routes.map! do |r|
+ match_data = r.path.match(path_info)
+ path_parameters = {}
+
+ # This is the patch we are adding. This handles routes where `r.matches?` above is true
+ # but the route does not actually match due to other constraints
+ #
+ # Without this line the following error is raised:
+ #
+ # NoMethodError:
+ # undefined method `names' for nil:NilClass
+ #
+ # The behavior is covered by spec/initializers/action_dispatch_journey_router_spec.rb
+ next if match_data.nil?
+
+ match_data.names.each_with_index do |name, i|
+ val = match_data[i + 1]
+ path_parameters[name.to_sym] = Utils.unescape_uri(val) if val
+ end
+ [match_data, path_parameters, r]
+ end.compact!
+
+ routes
+ end
+ end
+ end
+end
diff --git a/config/initializers/active_record_migrations.rb b/config/initializers/active_record_migrations.rb
index 6e5d519e11b..6465753aa2e 100644
--- a/config/initializers/active_record_migrations.rb
+++ b/config/initializers/active_record_migrations.rb
@@ -3,3 +3,24 @@
Gitlab::Database::Migrations::LockRetryMixin.patch!
Gitlab::Database::Migrations::PgBackendPid.patch!
Gitlab::Database::Migrations::RunnerBackoff::ActiveRecordMixin.patch!
+
+# This patch rolls back to Rails 6.1 behavior:
+#
+# https://github.com/rails/rails/blob/v6.1.4.3/activerecord/lib/active_record/migration.rb#L1044
+#
+# It fixes the tests that relies on the fact that the same constants have the same object_id.
+# For example to make sure that stub_const works correctly.
+#
+# It overrides the new behavior that removes the constant first:
+#
+# https://github.com/rails/rails/blob/v7.0.5/activerecord/lib/active_record/migration.rb#L1054
+module ActiveRecord
+ class MigrationProxy
+ private
+
+ def load_migration
+ require(File.expand_path(filename))
+ name.constantize.new(name, version)
+ end
+ end
+end
diff --git a/config/initializers/active_record_postgresql_adapter.rb b/config/initializers/active_record_postgresql_adapter.rb
index 14bc7153f44..7bb03a0af96 100644
--- a/config/initializers/active_record_postgresql_adapter.rb
+++ b/config/initializers/active_record_postgresql_adapter.rb
@@ -1,9 +1,5 @@
# frozen_string_literal: true
-if Gitlab::Utils.to_boolean(ENV['ENABLE_ACTIVERECORD_EMPTY_PING'], default: true)
- ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Database::PostgresqlAdapter::EmptyQueryPing)
-end
-
if Gitlab::Utils.to_boolean(ENV['ENABLE_ACTIVERECORD_TYPEMAP_CACHE'], default: true)
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Database::PostgresqlAdapter::TypeMapCache)
end
diff --git a/config/initializers/active_record_preloader.rb b/config/initializers/active_record_preloader.rb
index 19ca380a866..6443ce66b51 100644
--- a/config/initializers/active_record_preloader.rb
+++ b/config/initializers/active_record_preloader.rb
@@ -1,42 +1,64 @@
# frozen_string_literal: true
+# Some polymorphic associations may refer to an object which is not a subclass of ActiveRecord.
+# This patch skips preloading of these associations.
+#
+# For example, a note's noteable can be an Issue, Merge Request, or Commit, where Commit is
+# not a subclass of ActiveRecord. When you run something like:
+#
+# Note.includes(noteable: :assignees).to_a
+#
+# This patch allows preloading of issues, merge requests, and their assignees while skipping
+# commits.
+
module ActiveRecord
module Associations
class Preloader
- def initialize(records: nil, associations: nil)
- super()
-
- @records = records
- @associations = associations
- end
+ class Association
+ class LoaderQuery
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/385739
+ module HandlePreloadsForDifferentClassesSeparately
+ def eql?(other)
+ scope.klass == other.scope.klass && super
+ end
- def call
- preload(@records, @associations)
- end
+ def hash
+ [scope.klass, association_key_name, scope.table_name, scope.values_for_queries].hash
+ end
+ end
- class NullPreloader
- def self.new(*args, **kwargs)
- self
+ prepend HandlePreloadsForDifferentClassesSeparately
end
- def self.run
- self
- end
+ module NonActiveRecordPreloader
+ # https://github.com/rails/rails/blob/v7.0.5/activerecord/lib/active_record/associations/preloader/association.rb#L114-L116
+ def run?
+ return true unless klass < ActiveRecord::Base
- def self.preloaded_records
- []
- end
- end
+ super
+ end
- module NoCommitPreloader
- def preloader_for(reflection, owners)
- return NullPreloader if owners.first.association(reflection.name).klass == ::Commit
+ # https://github.com/rails/rails/blob/v7.0.5/activerecord/lib/active_record/associations/preloader/association.rb#L137-L141
+ def preloaded_records
+ return [] unless klass < ActiveRecord::Base
- super
+ super
+ end
end
+
+ prepend NonActiveRecordPreloader
end
- prepend NoCommitPreloader
+ class Branch
+ module NonActiveRecordPreloader
+ # https://github.com/rails/rails/blob/v7.0.5/activerecord/lib/active_record/associations/preloader/branch.rb#L37-L45
+ def target_classes
+ super.delete_if { |klass| !(klass < ActiveRecord::Base) }
+ end
+ end
+
+ prepend NonActiveRecordPreloader
+ end
end
end
end
diff --git a/config/initializers/click_house.rb b/config/initializers/click_house.rb
new file mode 100644
index 00000000000..c1bec683c6b
--- /dev/null
+++ b/config/initializers/click_house.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+return unless File.exist?(Rails.root.join('config/click_house.yml'))
+
+raw_config = Rails.application.config_for(:click_house)
+
+return if raw_config.blank?
+
+ClickHouse::Client.configure do |config|
+ raw_config.each do |database_identifier, db_config|
+ config.register_database(database_identifier,
+ database: db_config[:database],
+ url: db_config[:url],
+ username: db_config[:username],
+ password: db_config[:password],
+ variables: db_config[:variables] || {}
+ )
+ end
+
+ config.json_parser = Gitlab::Json
+ config.http_post_proc = ->(url, headers, body) do
+ options = {
+ headers: headers,
+ body: body,
+ allow_local_requests: Rails.env.development? || Rails.env.test?
+ }
+
+ response = Gitlab::HTTP.post(url, options)
+ ClickHouse::Client::Response.new(response.body, response.code)
+ end
+end
diff --git a/config/initializers/grpc_patch.rb b/config/initializers/grpc_patch.rb
new file mode 100644
index 00000000000..a6094f85c94
--- /dev/null
+++ b/config/initializers/grpc_patch.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+require 'grpc'
+
+# grpc v1.42 and up introduced a regression where a non-standard
+# exception, `GRPC::Core::CallError`, is raised instead of
+# DeadlineExceeded: https://github.com/grpc/grpc/issues/33283.
+# This patch applies https://github.com/grpc/grpc/pull/33565.
+module Gitlab
+ module GRPCPatch
+ module ActiveCall
+ def remote_read
+ super
+ ensure
+ # Ensure we don't attempt to request the initial metadata again
+ # in case an exception occurs.
+ @metadata_received = true # rubocop:disable Gitlab/ModuleWithInstanceVariables
+ end
+
+ def receive_and_check_status
+ super
+ ensure
+ # Ensure we don't attempt to request the initial metadata again
+ # in case an exception occurs.
+ @metadata_received = true # rubocop:disable Gitlab/ModuleWithInstanceVariables
+ end
+ end
+ end
+end
+
+GRPC::ActiveCall.prepend Gitlab::GRPCPatch::ActiveCall
diff --git a/config/initializers/internal_events.rb b/config/initializers/internal_events.rb
new file mode 100644
index 00000000000..6101bf84f3d
--- /dev/null
+++ b/config/initializers/internal_events.rb
@@ -0,0 +1,3 @@
+# frozen_string_literal: true
+
+Gitlab::InternalEvents::EventDefinitions.load_configurations
diff --git a/config/initializers/remove_active_job_execute_callback.rb b/config/initializers/remove_active_job_execute_callback.rb
index c8efcb11202..c8fc9a6b98b 100644
--- a/config/initializers/remove_active_job_execute_callback.rb
+++ b/config/initializers/remove_active_job_execute_callback.rb
@@ -16,8 +16,8 @@ Rails.application.configure do
callbacks &&
callbacks.send(:chain).size == 1 &&
callbacks.first.kind == :around &&
- callbacks.first.raw_filter.is_a?(Proc) &&
- callbacks.first.raw_filter.source_location.first.ends_with?('lib/active_job/railtie.rb')
+ callbacks.first.filter.is_a?(Proc) &&
+ callbacks.first.filter.source_location.first.ends_with?('lib/active_job/railtie.rb')
end
if active_job_railtie_callback?
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 40c56d27eb9..2b47455f17f 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -53,7 +53,7 @@ Sidekiq.configure_server do |config|
config.server_middleware(&Gitlab::SidekiqMiddleware.server_configurator(
metrics: Settings.monitoring.sidekiq_exporter,
arguments_logger: SidekiqLogArguments.enabled? && !enable_json_logs,
- defer_jobs: Gitlab::Utils.to_boolean(ENV['SIDEKIQ_DEFER_JOBS'], default: true)
+ skip_jobs: Gitlab::Utils.to_boolean(ENV['SIDEKIQ_SKIP_JOBS'], default: true)
))
config.client_middleware(&Gitlab::SidekiqMiddleware.client_configurator)
diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb
deleted file mode 100644
index 85b2d840618..00000000000
--- a/config/initializers/wrap_parameters.rb
+++ /dev/null
@@ -1,16 +0,0 @@
-# frozen_string_literal: true
-
-# Be sure to restart your server when you modify this file.
-#
-# This file contains settings for ActionController::ParamsWrapper which
-# is enabled by default.
-
-# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
-ActiveSupport.on_load(:action_controller) do
- wrap_parameters format: [:json]
-end
-
-# Disable root element in JSON by default.
-ActiveSupport.on_load(:active_record) do
- self.include_root_in_json = false
-end
diff --git a/config/initializers_before_autoloader/000_inflections.rb b/config/initializers_before_autoloader/000_inflections.rb
index 41ffa454b4f..178fb50b7f3 100644
--- a/config/initializers_before_autoloader/000_inflections.rb
+++ b/config/initializers_before_autoloader/000_inflections.rb
@@ -34,6 +34,7 @@ ActiveSupport::Inflector.inflections do |inflect|
project_auto_devops
project_registry
project_wiki_repository_registry
+ project_repository_registry
project_statistics
snippet_repository_registry
system_note_metadata
diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml
index 63bbab67039..b571801c006 100644
--- a/config/locales/doorkeeper.en.yml
+++ b/config/locales/doorkeeper.en.yml
@@ -76,6 +76,7 @@ en:
profile: Allows read-only access to the user's personal information using OpenID Connect
email: Allows read-only access to the user's primary email address using OpenID Connect
admin_mode: Admin Mode is a functionality designed to limit the access level of administrator's personal access tokens.
+ create_runner: Grants create access to the runners
scope_desc:
api:
Grants complete read/write access to the API, including all groups and projects, the container registry, and the package registry.
@@ -105,6 +106,8 @@ en:
Grants read-only access to the user's primary email address using OpenID Connect.
admin_mode:
Grants permission to perform API actions as an administrator, when Admin Mode is enabled.
+ create_runner:
+ Grants create access to the runners.
project_access_token_scope_desc:
api:
Grants complete read and write access to the scoped project API, including the Package Registry.
@@ -118,6 +121,8 @@ en:
Grants read access (pull) to the Container Registry images if a project is private and authorization is required.
write_registry:
Grants write access (push) to the Container Registry.
+ create_runner:
+ Grants create access to the runners.
flash:
applications:
create:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 1de1c20259d..9f00439294c 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -25,6 +25,8 @@ en:
member:
user: "The member's email address"
invite_email: "The member's email address"
+ personal_access_token:
+ expires_at: "Expiration date"
project/error_tracking_setting:
token: "Auth Token"
project: "Project"
@@ -37,6 +39,11 @@ en:
grafana_enabled: "Grafana integration enabled"
service_desk_setting:
project_key: "Project name suffix"
+ system_access/microsoft_application:
+ tenant_xid: "Tenant ID"
+ client_xid: "Client ID"
+ login_endpoint: "Login API endpoint"
+ graph_endpoint: "Graph API endpoint"
user/user_detail:
job_title: 'Job title'
bio: 'Bio'
diff --git a/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml b/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
index fbcacf73dfc..400d7f2600d 100644
--- a/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
+++ b/config/metrics/counts_28d/20210216175132_i_code_review_user_create_mr_monthly.yml
@@ -8,7 +8,7 @@ product_group: code_review
value_type: number
status: active
time_frame: 28d
-data_source: redis_hll
+data_source: internal_events
instrumentation_class: RedisHLLMetric
options:
events:
diff --git a/config/metrics/counts_28d/20210216175436_projects_slack_notifications_active.yml b/config/metrics/counts_28d/20210216175436_projects_slack_notifications_active.yml
new file mode 100644
index 00000000000..46dbe74dde4
--- /dev/null
+++ b/config/metrics/counts_28d/20210216175436_projects_slack_notifications_active.yml
@@ -0,0 +1,21 @@
+---
+data_category: optional
+key_path: usage_activity_by_stage_monthly.configure.projects_slack_notifications_active
+description: Unique projects created in the past 28 days that have Slack notifications
+ enabled
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: 28d
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "<13.9"
diff --git a/config/metrics/counts_28d/20210216175437_projects_slack_slash_active.yml b/config/metrics/counts_28d/20210216175437_projects_slack_slash_active.yml
new file mode 100644
index 00000000000..cdb00803aad
--- /dev/null
+++ b/config/metrics/counts_28d/20210216175437_projects_slack_slash_active.yml
@@ -0,0 +1,21 @@
+---
+data_category: optional
+key_path: usage_activity_by_stage_monthly.configure.projects_slack_slash_active
+description: Unique projects created in the past 28 days that have Slack ‘/’ commands
+ enabled
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: 28d
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "<13.9"
diff --git a/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml b/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
index f45f7be3022..0e9945546f3 100644
--- a/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
+++ b/config/metrics/counts_28d/20210216181147_service_desk_enabled_projects.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage_monthly.plan.service_desk_enabled_projects
-description: Count creator ids from projects with service desk enabled
+description: Count unique users who created projects (creator_id) with service desk enabled
product_section: ops
product_stage: monitor
product_group: respond
diff --git a/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml b/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
index 0389fe6a513..1171cf48812 100644
--- a/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
+++ b/config/metrics/counts_28d/20210216181323_g_project_management_issue_created_monthly.yml
@@ -8,11 +8,14 @@ product_group: project_management
value_type: number
status: active
time_frame: 28d
-data_source: redis_hll
+data_source: internal_events
instrumentation_class: RedisHLLMetric
options:
events:
- g_project_management_issue_created
+events:
+ - name: g_project_management_issue_created
+ unique: user.id
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml b/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml
new file mode 100644
index 00000000000..b15681e4ec9
--- /dev/null
+++ b/config/metrics/counts_28d/20211118200530_p_ci_templates_security_dast_on_demand_api_scan_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_dast_on_demand_api_scan_monthly
+name: "dast_on_demand_api_scan"
+description: Count of pipelines using the latest DAST API template
+product_section: sec
+product_stage: secure
+product_group: "dynamic_analysis"
+value_type: number
+status: active
+milestone: "14.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73564
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - p_ci_templates_security_dast_on_demand_api_scan
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
index 6952fdc5ba6..a16dbc17f05 100644
--- a/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
+++ b/config/metrics/counts_28d/20220729001651_agent_users_using_ci_tunnel_monthly.yml
@@ -3,7 +3,7 @@ key_path: redis_hll_counters.kubernetes_agent.agent_users_using_ci_tunnel_monthl
description: MAU of the Agent for Kubernetes CI/CD Tunnel
product_section: ops
product_stage: deploy
-product_group: environment
+product_group: environments
product_category: deployment_management
value_type: number
status: active
diff --git a/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_ci_access_monthly.yml b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_ci_access_monthly.yml
new file mode 100644
index 00000000000..7520def5bda
--- /dev/null
+++ b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_ci_access_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_agents_via_ci_access_monthly
+description: MAU of the unique Agents using the CI/CD Tunnel via Ci Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_agents_via_ci_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_monthly.yml b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_monthly.yml
new file mode 100644
index 00000000000..53b6914b8e0
--- /dev/null
+++ b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_agents_via_user_access_monthly
+description: MAU of the unique Agents using the CI/CD Tunnel via User Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_agents_via_user_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_ci_access_monthly.yml b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_ci_access_monthly.yml
new file mode 100644
index 00000000000..10e0c13e8e3
--- /dev/null
+++ b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_ci_access_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_users_via_ci_access_monthly
+description: MAU of the unique Users using the CI/CD Tunnel via Ci Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_users_via_ci_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_monthly.yml b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_monthly.yml
new file mode 100644
index 00000000000..0ffcd3e9c75
--- /dev/null
+++ b/config/metrics/counts_28d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_users_via_user_access_monthly
+description: MAU of the unique Users using the CI/CD Tunnel via User Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_users_via_user_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230630153556_flux_git_push_notified_unique_projects_monthly.yml b/config/metrics/counts_28d/20230630153556_flux_git_push_notified_unique_projects_monthly.yml
new file mode 100644
index 00000000000..90cee0ab415
--- /dev/null
+++ b/config/metrics/counts_28d/20230630153556_flux_git_push_notified_unique_projects_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.flux_git_push_notified_unique_projects_monthly
+description: MAU of the unique projects which were notified by agentk about new Git push events in order to reconcile their Flux workloads
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125146
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - flux_git_push_notified_unique_projects
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20210216175130_i_code_review_user_create_mr_weekly.yml b/config/metrics/counts_7d/20210216175130_i_code_review_user_create_mr_weekly.yml
index ab96036053d..71a0be2fe13 100644
--- a/config/metrics/counts_7d/20210216175130_i_code_review_user_create_mr_weekly.yml
+++ b/config/metrics/counts_7d/20210216175130_i_code_review_user_create_mr_weekly.yml
@@ -8,11 +8,14 @@ product_group: code_review
value_type: number
status: active
time_frame: 7d
-data_source: redis_hll
+data_source: internal_events
instrumentation_class: RedisHLLMetric
options:
events:
- i_code_review_user_create_mr
+events:
+ - name: i_code_review_user_create_mr
+ unique: user.id
distribution:
- ce
- ee
diff --git a/config/metrics/counts_7d/20210216181321_g_project_management_issue_created_weekly.yml b/config/metrics/counts_7d/20210216181321_g_project_management_issue_created_weekly.yml
index e12d8240d5f..97c32f8f7ae 100644
--- a/config/metrics/counts_7d/20210216181321_g_project_management_issue_created_weekly.yml
+++ b/config/metrics/counts_7d/20210216181321_g_project_management_issue_created_weekly.yml
@@ -8,11 +8,14 @@ product_group: project_management
value_type: number
status: active
time_frame: 7d
-data_source: redis_hll
+data_source: internal_events
instrumentation_class: RedisHLLMetric
options:
events:
- g_project_management_issue_created
+events:
+ - name: g_project_management_issue_created
+ unique: user.id
distribution:
- ce
- ee
diff --git a/config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml b/config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml
new file mode 100644
index 00000000000..8509bf20835
--- /dev/null
+++ b/config/metrics/counts_7d/20211118200524_p_ci_templates_security_dast_on_demand_api_scan_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_security_dast_on_demand_api_scan_weekly
+name: "dast_on_demand_api_scan"
+description: Count of pipelines using the latest DAST API template
+product_section: sec
+product_stage: secure
+product_group: "dynamic_analysis"
+value_type: number
+status: active
+milestone: "14.7"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73564
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - p_ci_templates_security_dast_on_demand_api_scan
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_agents_via_ci_access_weekly.yml b/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_agents_via_ci_access_weekly.yml
new file mode 100644
index 00000000000..41f97e698a2
--- /dev/null
+++ b/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_agents_via_ci_access_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_agents_via_ci_access_weekly
+description: WAU of the unique Agents using the CI/CD Tunnel via Ci Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_agents_via_ci_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_users_via_ci_access_weekly.yml b/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_users_via_ci_access_weekly.yml
new file mode 100644
index 00000000000..22580c0cf4a
--- /dev/null
+++ b/config/metrics/counts_7d/20230620070722_k8s_api_proxy_requests_unique_users_via_ci_access_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_users_via_ci_access_weekly
+description: WAU of the unique Users using the CI/CD Tunnel via Ci Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_users_via_ci_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_weekly.yml b/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_weekly.yml
new file mode 100644
index 00000000000..5bd58ecd99d
--- /dev/null
+++ b/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_agents_via_user_access_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_agents_via_user_access_weekly
+description: WAU of the unique Agents using the CI/CD Tunnel via User Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_agents_via_user_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_weekly.yml b/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_weekly.yml
new file mode 100644
index 00000000000..35d1fe7346b
--- /dev/null
+++ b/config/metrics/counts_7d/20230620070723_k8s_api_proxy_requests_unique_users_via_user_access_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.k8s_api_proxy_requests_unique_users_via_user_access_weekly
+description: WAU of the unique Users using the CI/CD Tunnel via User Access
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - k8s_api_proxy_requests_unique_users_via_user_access
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230630153554_flux_git_push_notified_unique_projects_weekly.yml b/config/metrics/counts_7d/20230630153554_flux_git_push_notified_unique_projects_weekly.yml
new file mode 100644
index 00000000000..3618404d21b
--- /dev/null
+++ b/config/metrics/counts_7d/20230630153554_flux_git_push_notified_unique_projects_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.kubernetes_agent.flux_git_push_notified_unique_projects_weekly
+description: WAU of the unique projects which were notified by agentk about new Git push events in order to reconcile their Flux workloads
+product_section: ops
+product_stage: deploy
+product_group: environment
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125146
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - flux_git_push_notified_unique_projects
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210216175400_projects_slack_notifications_active.yml b/config/metrics/counts_all/20210216175400_projects_slack_notifications_active.yml
new file mode 100644
index 00000000000..603fcb34053
--- /dev/null
+++ b/config/metrics/counts_all/20210216175400_projects_slack_notifications_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: usage_activity_by_stage.configure.projects_slack_notifications_active
+description: Unique projects with Slack webhook enabled
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "<13.9"
diff --git a/config/metrics/counts_all/20210216175402_projects_slack_slash_active.yml b/config/metrics/counts_all/20210216175402_projects_slack_slash_active.yml
new file mode 100644
index 00000000000..4bbeabd7c87
--- /dev/null
+++ b/config/metrics/counts_all/20210216175402_projects_slack_slash_active.yml
@@ -0,0 +1,20 @@
+---
+data_category: optional
+key_path: usage_activity_by_stage.configure.projects_slack_slash_active
+description: Unique projects with Slack ‘/’ commands enabled
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+time_frame: all
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+performance_indicator_type: []
+milestone: "<13.9"
diff --git a/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml b/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
index 29edaa6ab3b..5bf8e1d6e78 100644
--- a/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
+++ b/config/metrics/counts_all/20210216180232_projects_jira_dvcs_cloud_active.yml
@@ -9,6 +9,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountProjectsWithJiraDvcsIntegrationMetric
+options:
+ cloud: true
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml b/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
index 9673956c7e1..bfb402c257e 100644
--- a/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
+++ b/config/metrics/counts_all/20210216180234_projects_jira_dvcs_server_active.yml
@@ -9,6 +9,9 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountProjectsWithJiraDvcsIntegrationMetric
+options:
+ cloud: false
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216181122_service_desk_enabled_projects.yml b/config/metrics/counts_all/20210216181122_service_desk_enabled_projects.yml
index 30318cd2d3c..83f259a6473 100644
--- a/config/metrics/counts_all/20210216181122_service_desk_enabled_projects.yml
+++ b/config/metrics/counts_all/20210216181122_service_desk_enabled_projects.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage.plan.service_desk_enabled_projects
-description: Count creator ids from projects with service desk enabled
+description: Count unique users who created projects (creator_id) with service desk enabled
product_section: ops
product_stage: monitor
product_group: respond
diff --git a/config/metrics/counts_all/20220607141129_slack_app_installations_gbp.yml b/config/metrics/counts_all/20220607141129_slack_app_installations_gbp.yml
new file mode 100644
index 00000000000..70ac24bbe36
--- /dev/null
+++ b/config/metrics/counts_all/20220607141129_slack_app_installations_gbp.yml
@@ -0,0 +1,21 @@
+---
+key_path: counts.slack_app_installations_gbp
+description: Count of Slack app installations using the new GBP version
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+milestone: "15.1"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89130
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountSlackAppInstallationsGbpMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20220607141417_slack_app_installations.yml b/config/metrics/counts_all/20220607141417_slack_app_installations.yml
new file mode 100644
index 00000000000..232b3a9ae56
--- /dev/null
+++ b/config/metrics/counts_all/20220607141417_slack_app_installations.yml
@@ -0,0 +1,21 @@
+---
+key_path: counts.slack_app_installations
+description: Count of Slack app installations
+product_section: dev
+product_stage: manage
+product_group: integrations
+value_type: number
+status: active
+milestone: "15.1"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89130
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountSlackAppInstallationsMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230620073845_kubernetes_agent_k8s_api_proxy_requests_via_ci_access.yml b/config/metrics/counts_all/20230620073845_kubernetes_agent_k8s_api_proxy_requests_via_ci_access.yml
new file mode 100644
index 00000000000..5724755ad55
--- /dev/null
+++ b/config/metrics/counts_all/20230620073845_kubernetes_agent_k8s_api_proxy_requests_via_ci_access.yml
@@ -0,0 +1,25 @@
+---
+key_path: counts.kubernetes_agent_k8s_api_proxy_requests_via_ci_access
+description: Count of Kubernetes API proxy requests using the CI tunnel via Ci Access
+product_section: ops
+product_stage: deploy
+product_group: environments
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: all
+data_source: redis
+data_category: optional
+instrumentation_class: RedisMetric
+performance_indicator_type: []
+options:
+ prefix: kubernetes_agent
+ event: k8s_api_proxy_requests_via_ci_access
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230620074102_kubernetes_agent_k8s_api_proxy_requests_via_user_access.yml b/config/metrics/counts_all/20230620074102_kubernetes_agent_k8s_api_proxy_requests_via_user_access.yml
new file mode 100644
index 00000000000..d480bbb922b
--- /dev/null
+++ b/config/metrics/counts_all/20230620074102_kubernetes_agent_k8s_api_proxy_requests_via_user_access.yml
@@ -0,0 +1,25 @@
+---
+key_path: counts.kubernetes_agent_k8s_api_proxy_requests_via_user_access
+description: Count of Kubernetes API proxy requests using the CI tunnel via User Access
+product_section: ops
+product_stage: deploy
+product_group: environments
+value_type: number
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124147
+time_frame: all
+data_source: redis
+data_category: optional
+instrumentation_class: RedisMetric
+performance_indicator_type: []
+options:
+ prefix: kubernetes_agent
+ event: k8s_api_proxy_requests_via_user_access
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/objects_schemas/batched_background_migrations_metric.json b/config/metrics/objects_schemas/batched_background_migrations_metric.json
new file mode 100644
index 00000000000..968e804f600
--- /dev/null
+++ b/config/metrics/objects_schemas/batched_background_migrations_metric.json
@@ -0,0 +1,18 @@
+{
+ "type": "array",
+ "items": {
+ "type": [
+ {
+ "type": "object",
+ "properties": {
+ "job_class_name": {
+ "type": "string"
+ },
+ "elapsed_time": {
+ "type": "integer"
+ }
+ }
+ }
+ ]
+ }
+}
diff --git a/config/metrics/objects_schemas/schema_inconsistencies_metric.json b/config/metrics/objects_schemas/schema_inconsistencies_metric.json
new file mode 100644
index 00000000000..533d753bec1
--- /dev/null
+++ b/config/metrics/objects_schemas/schema_inconsistencies_metric.json
@@ -0,0 +1,22 @@
+{
+ "type": "array",
+ "items": {
+ "type": [
+ {
+ "type": "object",
+ "properties": {
+ "object_name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of inconsistency"
+ },
+ "object_type": {
+ "type": "string"
+ }
+ }
+ }
+ ]
+ }
+}
diff --git a/config/metrics/schema.json b/config/metrics/schema.json
index d3afc779e14..90951f1b3dc 100644
--- a/config/metrics/schema.json
+++ b/config/metrics/schema.json
@@ -95,6 +95,29 @@
"options": {
"type": "object"
},
+ "events": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "required": [
+ "name",
+ "unique"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "unique": {
+ "type": "string",
+ "enum": [
+ "user.id",
+ "project.id",
+ "namespace.id"
+ ]
+ }
+ }
+ }
+ },
"time_frame": {
"type": "string",
"enum": [
@@ -112,7 +135,8 @@
"redis_hll",
"prometheus",
"system",
- "license"
+ "license",
+ "internal_events"
]
},
"data_category": {
diff --git a/config/metrics/settings/20210216175606_ldap_encrypted_secrets_enabled.yml b/config/metrics/settings/20210216175606_ldap_encrypted_secrets_enabled.yml
index b5880566d5e..1840bba6a64 100644
--- a/config/metrics/settings/20210216175606_ldap_encrypted_secrets_enabled.yml
+++ b/config/metrics/settings/20210216175606_ldap_encrypted_secrets_enabled.yml
@@ -9,6 +9,7 @@ value_type: boolean
status: active
time_frame: none
data_source: system
+instrumentation_class: LdapEncryptedSecretsMetric
distribution:
- ce
- ee
diff --git a/config/metrics/settings/20210225045628_operating_system.yml b/config/metrics/settings/20210225045628_operating_system.yml
index e1249aee2a7..b6d2d761c8d 100644
--- a/config/metrics/settings/20210225045628_operating_system.yml
+++ b/config/metrics/settings/20210225045628_operating_system.yml
@@ -11,6 +11,7 @@ milestone: "13.10"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54778
time_frame: none
data_source: system
+instrumentation_class: OperatingSystemMetric
distribution:
- ce
- ee
diff --git a/config/metrics/settings/20210321224827_gitaly_apdex.yml b/config/metrics/settings/20210321224827_gitaly_apdex.yml
index 3dcb8340628..b7c5ebec4a9 100644
--- a/config/metrics/settings/20210321224827_gitaly_apdex.yml
+++ b/config/metrics/settings/20210321224827_gitaly_apdex.yml
@@ -11,6 +11,7 @@ milestone: "13.11"
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47040
time_frame: none
data_source: prometheus
+instrumentation_class: GitalyApdexMetric
distribution:
- ce
- ee
diff --git a/config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml b/config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml
index 934daf472fa..e12bdb34aee 100644
--- a/config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml
+++ b/config/metrics/settings/20210812202137_smtp_encrypted_secrets_enabled.yml
@@ -11,6 +11,7 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/67802
time_frame: none
data_source: system
data_category: Optional
+instrumentation_class: SmtpEncryptedSecretsMetric
distribution:
- ce
- ee
diff --git a/config/metrics/settings/20230602180038_batched_background_migrations_metric.yml b/config/metrics/settings/20230602180038_batched_background_migrations_metric.yml
new file mode 100644
index 00000000000..aa96cb8da50
--- /dev/null
+++ b/config/metrics/settings/20230602180038_batched_background_migrations_metric.yml
@@ -0,0 +1,24 @@
+---
+key_path: batched_background_migrations_metric
+name: "batched_background_migrations"
+description: "Tracks the execution time of batched background migrations"
+product_section: enablement
+product_stage: data_stores
+product_group: database
+value_type: object
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122510
+time_frame: 7d
+data_source: database
+data_category: optional
+instrumentation_class: BatchedBackgroundMigrationsMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+value_json_schema: "config/metrics/objects_schemas/batched_background_migrations_metric.json"
diff --git a/config/metrics/settings/20230612132238_schema_inconsistencies_metric.yml b/config/metrics/settings/20230612132238_schema_inconsistencies_metric.yml
new file mode 100644
index 00000000000..1a154b4a2b0
--- /dev/null
+++ b/config/metrics/settings/20230612132238_schema_inconsistencies_metric.yml
@@ -0,0 +1,24 @@
+---
+key_path: schema_inconsistencies_metric
+name: "schema_inconsistencies"
+description: "List the schema inconsistencies in the database"
+product_section: enablement
+product_stage: enablement
+product_group: database
+value_type: boolean
+status: active
+milestone: "16.2"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123383
+time_frame: none
+data_source: system
+data_category: optional
+instrumentation_class: SchemaInconsistenciesMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+value_json_schema: "config/metrics/objects_schemas/schema_inconsistencies_metric.json"
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 22194d8c2de..4e8e950c797 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -31,8 +31,6 @@ class ObjectStoreSettings
object_store['proxy_download'] = false if object_store['proxy_download'].nil?
object_store['storage_options'] ||= {}
- # Convert upload connection settings to use string keys, to make Fog happy
- object_store['connection']&.deep_stringify_keys!
object_store
end
@@ -131,8 +129,7 @@ class ObjectStoreSettings
main_config = settings['object_store']
common_config = main_config.slice('enabled', 'connection', 'proxy_download', 'storage_options')
- # Convert connection settings to use string keys, to make Fog happy
- common_config['connection']&.deep_stringify_keys!
+
# These are no longer configurable if common config is used
common_config['direct_upload'] = true
common_config['storage_options'] ||= {}
diff --git a/config/redis.yml.example b/config/redis.yml.example
index fd54f32a068..950a98c9fd6 100644
--- a/config/redis.yml.example
+++ b/config/redis.yml.example
@@ -6,6 +6,9 @@ development:
cluster_cache:
cluster:
- redis://localhost:7001
+ feature_flag:
+ cluster:
+ - redis://localhost:7001
rate_limiting:
cluster:
- redis://localhost:7001
@@ -17,6 +20,9 @@ test:
cluster_cache:
cluster:
- redis://localhost:7001
+ feature_flag:
+ cluster:
+ - redis://localhost:7001
rate_limiting:
cluster:
- redis://localhost:7001
diff --git a/config/routes.rb b/config/routes.rb
index 3a9b6c1c0bf..740911f2e3f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -246,7 +246,6 @@ InitializerConnections.raise_if_new_database_connection do
end
get :metrics_dashboard
- get :'/prometheus/api/v1/*proxy_path', to: 'clusters#prometheus_proxy', as: :prometheus_api
get :cluster_status, format: :json
delete :clear_cache
end
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index d9cd60f8086..0123bf0627c 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -155,7 +155,8 @@ namespace :admin do
put :clear_repository_check_states
match :general, :integrations, :repository, :ci_cd, :reporting, :metrics_and_profiling, :network, :preferences, via: [:get, :patch]
get :lets_encrypt_terms_of_service
-
+ get :slack_app_manifest_download, format: :json
+ get :slack_app_manifest_share
get :service_usage_data
resource :appearances, only: [:show, :create, :update], path: 'appearance', module: 'application_settings' do
diff --git a/config/routes/directs/subscription_portal.rb b/config/routes/directs/subscription_portal.rb
index 188725d16c1..cc6a3d6b5c0 100644
--- a/config/routes/directs/subscription_portal.rb
+++ b/config/routes/directs/subscription_portal.rb
@@ -1,14 +1,14 @@
# frozen_string_literal: true
direct :subscription_portal_staging do
- ENV.fetch('STAGING_CUSTOMER_PORTAL_URL', 'https://customers.staging.gitlab.com')
+ ENV.fetch('STAGING_CUSTOMER_PORTAL_URL', Gitlab::SubscriptionPortal.default_staging_customer_portal_url)
end
direct :subscription_portal do
default_subscriptions_url = if ::Gitlab.dev_or_test_env?
subscription_portal_staging_url
else
- 'https://customers.gitlab.com'
+ Gitlab::SubscriptionPortal.default_production_customer_portal_url
end
ENV.fetch('CUSTOMER_PORTAL_URL', default_subscriptions_url)
diff --git a/config/routes/explore.rb b/config/routes/explore.rb
index 6ddf4d23138..6777571bb68 100644
--- a/config/routes/explore.rb
+++ b/config/routes/explore.rb
@@ -6,7 +6,7 @@ namespace :explore do
get :trending
get :starred
get :topics
- get 'topics/:topic_name', action: :topic, as: :topic, constraints: { topic_name: /.+/ }
+ get 'topics/:topic_name', action: :topic, as: :topic, constraints: { format: /(html|atom)/, topic_name: /.+?/ }
end
end
diff --git a/config/routes/organizations.rb b/config/routes/organizations.rb
index c35059cf411..4a8c9c25363 100644
--- a/config/routes/organizations.rb
+++ b/config/routes/organizations.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
-resources :organizations, only: [], param: :organization_path, controller: 'organizations/organizations' do
+resources :organizations, only: [:show], param: :organization_path, controller: 'organizations/organizations' do
member do
- get :directory
+ get :groups_and_projects
end
end
diff --git a/config/routes/project.rb b/config/routes/project.rb
index bf73f461629..73e4ed2fb8b 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -29,10 +29,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
# Use this scope for all new project routes.
scope '-' do
get 'archive/*id', format: true, constraints: { format: Gitlab::PathRegex.archive_formats_regex, id: /.+?/ }, to: 'repositories#archive', as: 'archive'
- get 'metrics(/:dashboard_path)', constraints: { dashboard_path: /.+\.yml/ },
- to: 'metrics_dashboard#show', as: :metrics_dashboard, format: false
- get 'metrics(/:dashboard_path)/panel/new', constraints: { dashboard_path: /.+\.yml/ },
- to: 'metrics_dashboard#show', as: :new_metrics_dashboard, format: false
namespace :metrics, module: :metrics do
namespace :dashboards do
@@ -250,11 +246,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resource :import, only: [:new, :create, :show]
resource :avatar, only: [:show, :destroy]
- scope :grafana, as: :grafana_api do
- get 'proxy/:datasource_id/*proxy_path', to: 'grafana_api#proxy'
- get :metrics_dashboard, to: 'grafana_api#metrics_dashboard'
- end
-
resource :mattermost, only: [:new, :create]
resource :variables, only: [:show, :update]
resources :triggers, only: [:index, :create, :edit, :update, :destroy]
@@ -330,9 +321,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post :stop
post :cancel_auto_stop
get :terminal
- get :metrics
- get :additional_metrics
- get :metrics_dashboard
# This route is also defined in gitlab-workhorse. Make sure to update accordingly.
get '/terminal.ws/authorize', to: 'environments#terminal_websocket_authorize', format: false
@@ -343,7 +331,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
collection do
- get :metrics, action: :metrics_redirect
get :folder, path: 'folders/*id', constraints: { format: /(html|json)/ }
get :search
end
@@ -412,6 +399,8 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
+ resources :tracing, only: [:index], controller: :tracing
+
namespace :design_management do
namespace :designs, path: 'designs/:design_id(/:sha)', constraints: -> (params) { params[:sha].nil? || Gitlab::Git.commit_id?(params[:sha]) } do
resource :raw_image, only: :show
@@ -493,6 +482,11 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
namespace :ml do
resources :experiments, only: [:index, :show, :destroy], controller: 'experiments', param: :iid
resources :candidates, only: [:show, :destroy], controller: 'candidates', param: :iid
+ resources :models, only: [:index], controller: 'models'
+ end
+
+ namespace :service_desk do
+ resource :custom_email, only: [:show, :create, :update, :destroy], controller: 'custom_email'
end
end
# End of the /-/ scope.
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index dc0b77ef99a..7f05b8af7bf 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -101,10 +101,14 @@
- 1
- - bulk_imports_export_request
- 1
+- - bulk_imports_finish_batched_pipeline
+ - 1
- - bulk_imports_finish_batched_relation_export
- 1
- - bulk_imports_pipeline
- 1
+- - bulk_imports_pipeline_batch
+ - 1
- - bulk_imports_relation_batch_export
- 1
- - bulk_imports_relation_export
@@ -137,6 +141,10 @@
- 1
- - compliance_management_merge_requests_compliance_violations
- 1
+- - compliance_management_standards_gitlab_prevent_approval_by_author
+ - 1
+- - compliance_management_standards_gitlab_prevent_approval_by_author_group
+ - 1
- - compliance_management_update_default_framework
- 1
- - container_repository
@@ -299,6 +307,8 @@
- 1
- - integrations_execute
- 1
+- - integrations_group_mention
+ - 1
- - integrations_irker
- 1
- - integrations_slack_event
@@ -343,6 +353,8 @@
- 1
- - merge_requests_capture_suggested_reviewers_accepted
- 1
+- - merge_requests_cleanup_ref
+ - 1
- - merge_requests_close_issue
- 1
- - merge_requests_create_approval_event
@@ -373,10 +385,6 @@
- 1
- - merge_requests_update_head_pipeline
- 1
-- - metrics_dashboard_prune_old_annotations
- - 1
-- - metrics_dashboard_sync_dashboards
- - 1
- - migrate_external_diffs
- 1
- - ml_experiment_tracking_associate_ml_candidate_to_package
@@ -403,6 +411,8 @@
- 1
- - object_storage
- 1
+- - onboarding_create_iterable_trigger
+ - 1
- - onboarding_issue_created
- 1
- - onboarding_pipeline_created
@@ -511,6 +521,8 @@
- 1
- - rebase
- 2
+- - redis_migration
+ - 1
- - refresh_license_compliance_checks
- 2
- - releases_create_evidence
@@ -535,6 +547,8 @@
- 1
- - sbom_reports
- 1
+- - search_elastic_group_association_deletion
+ - 1
- - search_namespace_index_integrity
- 1
- - search_project_index_integrity
@@ -577,6 +591,8 @@
- 1
- - sync_seat_link_request
- 1
+- - system_access_group_saml_microsoft_group_sync
+ - 1
- - system_hook_push
- 1
- - tasks_to_be_done_create
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 39052d29287..39dc08d15c6 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -311,6 +311,7 @@ let shouldExcludeFromCompliling = (modulePath) =>
if (EXPLICIT_VUE_VERSION) {
Object.assign(alias, {
'@gitlab/ui/scss_to_js': path.join(ROOT_PATH, 'node_modules/@gitlab/ui/scss_to_js'),
+ '@gitlab/ui/dist/tokens/js': path.join(ROOT_PATH, 'node_modules/@gitlab/ui/dist/tokens/js'),
'@gitlab/ui/dist': '@gitlab/ui/src',
'@gitlab/ui': '@gitlab/ui/src',
});
@@ -371,6 +372,20 @@ module.exports = {
loader: 'babel-loader',
},
{
+ test: /_worker\.js$/,
+ resourceQuery: /worker/,
+ use: [
+ {
+ loader: 'worker-loader',
+ options: {
+ name: '[name].[contenthash:8].worker.js',
+ inline: IS_DEV_SERVER,
+ },
+ },
+ 'babel-loader',
+ ],
+ },
+ {
test: /mermaid\/.*\.js?$/,
include: /node_modules/,
loader: 'babel-loader',
@@ -439,20 +454,6 @@ module.exports = {
options: { limit: 2048 },
},
{
- test: /_worker\.js$/,
- resourceQuery: /worker/,
- use: [
- {
- loader: 'worker-loader',
- options: {
- name: '[name].[contenthash:8].worker.js',
- inline: IS_DEV_SERVER,
- },
- },
- 'babel-loader',
- ],
- },
- {
test: /\.(worker(\.min)?\.js|pdf)$/,
exclude: /node_modules/,
loader: 'file-loader',