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-02-20 16:49:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-20 16:49:51 +0300
commit71786ddc8e28fbd3cb3fcc4b3ff15e5962a1c82e (patch)
tree6a2d93ef3fb2d353bb7739e4b57e6541f51cdd71 /config
parenta7253423e3403b8c08f8a161e5937e1488f5f407 (diff)
Add latest changes from gitlab-org/gitlab@15-9-stable-eev15.9.0-rc42
Diffstat (limited to 'config')
-rw-r--r--config/README.md19
-rw-r--r--config/application.rb5
-rw-r--r--config/audit_events/types/manually_trigger_housekeeping.yml9
-rw-r--r--config/database.yml.postgresql37
-rw-r--r--config/dependency_decisions.yml6
-rw-r--r--config/environments/development.rb6
-rw-r--r--config/environments/production.rb12
-rw-r--r--config/environments/test.rb6
-rw-r--r--config/events/1671198983_Gitlab__UsageDataCounters__MergeRequestActivityUniqueCounter_create.yml3
-rw-r--r--config/events/1671588492_Notes__CreateService_create_commit_comment.yml26
-rw-r--r--config/events/1671713111_Users__ActivityService_perform_action.yml23
-rw-r--r--config/events/1674504208_API__PackagesHelpers_push_package_by_deploy_token.yml26
-rw-r--r--config/events/1674843937_Ci__Build_create_id_tokens.yml26
-rw-r--r--config/events/1675075830_API__PackagesHelpers_pull_package_by_guest.yml26
-rw-r--r--config/events/1675167870_Gitlab__Ci__Pipeline__Chain__Metrics_create_pipeline_with_name.yml26
-rw-r--r--config/feature_categories.yml5
-rw-r--r--config/feature_flags/development/add_ignore_all_white_spaces.yml (renamed from config/feature_flags/development/limit_reviewer_and_assignee_size.yml)8
-rw-r--r--config/feature_flags/development/add_prepared_state_to_mr.yml (renamed from config/feature_flags/development/add_delete_branch_worker.yml)8
-rw-r--r--config/feature_flags/development/admin_jobs_vue.yml (renamed from config/feature_flags/development/jobs_api_keyset_pagination.yml)8
-rw-r--r--config/feature_flags/development/admin_mode_for_api.yml (renamed from config/feature_flags/development/admin_emails_vue.yml)8
-rw-r--r--config/feature_flags/development/advanced_search_decrease_indexing_timeout.yml8
-rw-r--r--config/feature_flags/development/airflow_dags.yml (renamed from config/feature_flags/development/preferred_language_switcher.yml)9
-rw-r--r--config/feature_flags/development/async_merge_request_diff_creation.yml8
-rw-r--r--config/feature_flags/development/bulk_update_issues_mutation.yml8
-rw-r--r--config/feature_flags/development/ci_inbound_job_token_scope.yml2
-rw-r--r--config/feature_flags/development/ci_include_components.yml (renamed from config/feature_flags/development/arkose_labs_signup_challenge.yml)10
-rw-r--r--config/feature_flags/development/ci_includes_count_duplicates.yml8
-rw-r--r--config/feature_flags/development/ci_job_assistant_drawer.yml7
-rw-r--r--config/feature_flags/development/ci_job_token_scope.yml2
-rw-r--r--config/feature_flags/development/ci_limit_complete_hierarchy_size.yml8
-rw-r--r--config/feature_flags/development/ci_multi_doc_yaml.yml8
-rw-r--r--config/feature_flags/development/ci_recreate_downstream_pipeline.yml8
-rw-r--r--config/feature_flags/development/ci_remove_ensure_stage_service.yml8
-rw-r--r--config/feature_flags/development/ci_reuse_build_in_seed_context.yml8
-rw-r--r--config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml8
-rw-r--r--config/feature_flags/development/code_basic_search_files_by_regexp.yml (renamed from config/feature_flags/development/search_page_vertical_nav.yml)11
-rw-r--r--config/feature_flags/development/commit_search_trailing_spaces.yml8
-rw-r--r--config/feature_flags/development/create_runner_machine.yml (renamed from config/feature_flags/development/your_work_sidebar.yml)10
-rw-r--r--config/feature_flags/development/create_runner_workflow.yml8
-rw-r--r--config/feature_flags/development/data_transfer_monitoring.yml8
-rw-r--r--config/feature_flags/development/deactivation_email_additional_text.yml (renamed from config/feature_flags/development/ban_user_feature_flag.yml)8
-rw-r--r--config/feature_flags/development/deduplicate_archive_traces_cron_worker.yml (renamed from config/feature_flags/development/move_create_deployments_to_worker.yml)8
-rw-r--r--config/feature_flags/development/deploy_key_for_protected_tags.yml (renamed from config/feature_flags/development/use_ref_type_parameter.yml)9
-rw-r--r--config/feature_flags/development/diffs_batch_cache_with_max_age.yml (renamed from config/feature_flags/development/reset_merge_error_on_transition.yml)8
-rw-r--r--config/feature_flags/development/do_not_run_safety_net_auth_refresh_jobs.yml8
-rw-r--r--config/feature_flags/development/elasticsearch_use_traversal_id_optimization.yml8
-rw-r--r--config/feature_flags/development/enable_minor_delay_during_project_authorizations_refresh.yml8
-rw-r--r--config/feature_flags/development/enable_new_sentry_clientside_integration.yml2
-rw-r--r--config/feature_flags/development/export_csv_preload_in_batches.yml (renamed from config/feature_flags/development/project_language_search.yml)10
-rw-r--r--config/feature_flags/development/free_user_cap_over_user_limit_mails.yml (renamed from config/feature_flags/experiment/video_tutorials_continuous_onboarding.yml)10
-rw-r--r--config/feature_flags/development/frontend_caching.yml (renamed from config/feature_flags/development/root_level_issues_query.yml)8
-rw-r--r--config/feature_flags/development/full_path_project_search.yml8
-rw-r--r--config/feature_flags/development/github_client_fetch_repos_via_graphql.yml2
-rw-r--r--config/feature_flags/development/gitlab_metrics_error_rate_sli.yml8
-rw-r--r--config/feature_flags/development/gitlab_pat_auto_revocation.yml8
-rw-r--r--config/feature_flags/development/hash_based_cache_for_protected_branches.yml8
-rw-r--r--config/feature_flags/development/hash_oauth_secrets.yml4
-rw-r--r--config/feature_flags/development/import_export_work_items_csv.yml8
-rw-r--r--config/feature_flags/development/improve_blobs_cache_headers.yml8
-rw-r--r--config/feature_flags/development/improved_spread_parallel_import.yml (renamed from config/feature_flags/development/new_fonts.yml)10
-rw-r--r--config/feature_flags/development/include_memberships_from_group_shares_in_preloader.yml8
-rw-r--r--config/feature_flags/development/jira_connect_oauth_self_managed.yml8
-rw-r--r--config/feature_flags/development/limited_capacity_seat_refresh_worker_high.yml8
-rw-r--r--config/feature_flags/development/limited_capacity_seat_refresh_worker_low.yml8
-rw-r--r--config/feature_flags/development/limited_capacity_seat_refresh_worker_medium.yml8
-rw-r--r--config/feature_flags/development/moved_mr_sidebar.yml4
-rw-r--r--config/feature_flags/development/mr_compare_dropdowns.yml8
-rw-r--r--config/feature_flags/development/mr_experience_survey.yml2
-rw-r--r--config/feature_flags/development/mr_review_submit_comment.yml8
-rw-r--r--config/feature_flags/development/or_issuable_queries.yml2
-rw-r--r--config/feature_flags/development/package_registry_access_level.yml8
-rw-r--r--config/feature_flags/development/preload_max_access_levels_for_labels_finder.yml8
-rw-r--r--config/feature_flags/development/profile_tabs_vue.yml8
-rw-r--r--config/feature_flags/development/project_analytics_dashboards_page.yml8
-rw-r--r--config/feature_flags/development/project_members_index_by_project_namespace.yml2
-rw-r--r--config/feature_flags/development/projects_preloader_fix.yml8
-rw-r--r--config/feature_flags/development/rate_limit_issuable_searches.yml8
-rw-r--r--config/feature_flags/development/realtime_reviewers.yml8
-rw-r--r--config/feature_flags/development/record_projects_target_platforms.yml8
-rw-r--r--config/feature_flags/development/refactor_code_quality_inline_findings.yml4
-rw-r--r--config/feature_flags/development/revoke_ssh_signatures.yml (renamed from config/feature_flags/development/searchable_fork_targets.yml)8
-rw-r--r--config/feature_flags/development/route_hll_to_snowplow.yml8
-rw-r--r--config/feature_flags/development/rugged_commit_is_ancestor.yml8
-rw-r--r--config/feature_flags/development/rugged_find_commit.yml8
-rw-r--r--config/feature_flags/development/rugged_tree_entries.yml8
-rw-r--r--config/feature_flags/development/rugged_tree_entry.yml8
-rw-r--r--config/feature_flags/development/scan_execution_tags.yml8
-rw-r--r--config/feature_flags/development/service_desk_custom_email.yml9
-rw-r--r--config/feature_flags/development/service_desk_html_to_text_email_handler.yml8
-rw-r--r--config/feature_flags/development/set_traversal_ids_on_save.yml (renamed from config/feature_flags/development/readme_from_gitaly.yml)8
-rw-r--r--config/feature_flags/development/show_group_readme.yml8
-rw-r--r--config/feature_flags/development/skip_notes_diff_include.yml8
-rw-r--r--config/feature_flags/development/use_primary_and_secondary_stores_for_db_load_balancing.yml (renamed from config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml)6
-rw-r--r--config/feature_flags/development/use_primary_and_secondary_stores_for_duplicate_jobs.yml8
-rw-r--r--config/feature_flags/development/use_primary_and_secondary_stores_for_rate_limiting.yml8
-rw-r--r--config/feature_flags/development/use_primary_store_as_default_for_db_load_balancing.yml (renamed from config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml)6
-rw-r--r--config/feature_flags/development/use_primary_store_as_default_for_duplicate_jobs.yml8
-rw-r--r--config/feature_flags/development/use_primary_store_as_default_for_rate_limiting.yml8
-rw-r--r--config/feature_flags/development/use_response_url_for_chat_responder.yml8
-rw-r--r--config/feature_flags/development/validate_environment_tier_presence.yml (renamed from config/feature_flags/development/validate_release_with_author.yml)9
-rw-r--r--config/feature_flags/development/webauthn_without_totp.yml (renamed from config/feature_flags/development/only_allow_merge_if_all_status_checks_passed.yml)10
-rw-r--r--config/feature_flags/development/work_items_create_from_markdown.yml8
-rw-r--r--config/feature_flags/experiment/invite_for_help_continuous_onboarding.yml8
-rw-r--r--config/feature_flags/ops/advanced_user_index.yml8
-rw-r--r--config/feature_flags/ops/automatic_lock_writes_on_table.yml2
-rw-r--r--config/feature_flags/ops/ci_register_job_temporary_lock.yml (renamed from config/feature_flags/development/ci_register_job_temporary_lock.yml)6
-rw-r--r--config/feature_flags/ops/database_async_foreign_key_validation.yml8
-rw-r--r--config/feature_flags/ops/database_async_index_operations.yml (renamed from config/feature_flags/ops/disable_anonymous_search.yml)8
-rw-r--r--config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml8
-rw-r--r--config/feature_flags/ops/recaptcha_on_top_level_group_creation.yml2
-rw-r--r--config/feature_flags/ops/skip_require_email_verification.yml (renamed from config/feature_flags/development/allow_possible_spam.yml)10
-rw-r--r--config/feature_flags/ops/split_log_bulk_increment_counter.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_enforce_requests_limits.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_go_user_merge_branch.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_mep_mep.yml8
-rw-r--r--config/feature_flags/undefined/gitaly_revlist_for_repo_size.yml2
-rw-r--r--config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml2
-rw-r--r--config/gitlab.yml.example22
-rw-r--r--config/gitlab_loose_foreign_keys.yml24
-rw-r--r--config/initializers/00_deprecations.rb71
-rw-r--r--config/initializers/0_inject_enterprise_edition_module.rb14
-rw-r--r--config/initializers/0_log_deprecations.rb45
-rw-r--r--config/initializers/1_settings.rb26
-rw-r--r--config/initializers/9_fast_gettext.rb4
-rw-r--r--config/initializers/bootstrap_form.rb9
-rw-r--r--config/initializers/check_forced_decomposition.rb22
-rw-r--r--config/initializers/countries.rb63
-rw-r--r--config/initializers/database_config.rb4
-rw-r--r--config/initializers/doorkeeper_openid_connect.rb14
-rw-r--r--config/initializers/google_api_client.rb14
-rw-r--r--config/initializers/google_api_client_patch.rb68
-rw-r--r--config/initializers/macos.rb2
-rw-r--r--config/initializers/memory_watchdog.rb2
-rw-r--r--config/initializers/sidekiq.rb2
-rw-r--r--config/initializers_before_autoloader/001_fast_gettext.rb30
-rw-r--r--config/locales/doorkeeper.en.yml2
-rw-r--r--config/locales/en.yml5
-rw-r--r--config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml10
-rwxr-xr-xconfig/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml2
-rw-r--r--config/metrics/counts_28d/20230105222225_g_project_management_issue_design_comments_removed_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230112174745_i_testing_active_user_monthly.yml29
-rw-r--r--config/metrics/counts_28d/20230120094644_g_runner_fleet_read_jobs_statistics_monthly.yml24
-rw-r--r--config/metrics/counts_28d/20230123233604_i_ci_secrets_management_id_tokens_build_created_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230129134935_i_container_registry_push_tag_user_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230129135520_i_container_registry_delete_tag_user_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230129135748_i_container_registry_push_repository_user_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230129140646_i_container_registry_delete_repository_user_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230129140954_i_container_registry_create_repository_user_monthly.yml26
-rw-r--r--config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml25
-rw-r--r--config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml25
-rwxr-xr-xconfig/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml2
-rw-r--r--config/metrics/counts_7d/20230105222224_g_project_management_issue_design_comments_removed_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230112174745_i_testing_active_user_weekly.yml29
-rw-r--r--config/metrics/counts_7d/20230120094643_g_runner_fleet_read_jobs_statistics_weekly.yml24
-rw-r--r--config/metrics/counts_7d/20230123233604_i_ci_secrets_management_id_tokens_build_created_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230129032841_i_container_registry_push_tag_user_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230129034513_i_container_registry_delete_tag_user_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230129034950_i_container_registry_push_repository_user_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230129035454_i_container_registry_delete_repository_user_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230129035748_i_container_registry_create_repository_user_weekly.yml26
-rw-r--r--config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml25
-rw-r--r--config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml25
-rw-r--r--config/metrics/counts_all/20210216175512_ci_internal_pipelines.yml1
-rw-r--r--config/metrics/counts_all/20210216180443_issues_created_gitlab_alerts.yml1
-rw-r--r--config/metrics/counts_all/20210216180445_issues_created_manually_from_alerts.yml1
-rw-r--r--config/metrics/counts_all/20210216181946_pages_domains.yml4
-rw-r--r--config/metrics/counts_all/20230119154124_projects_with_monitor_enabled.yml23
-rw-r--r--config/metrics/counts_all/20230201120001_count_ml_candidates.yml23
-rw-r--r--config/metrics/counts_all/20230201120002_count_ml_experiments.yml23
-rw-r--r--config/metrics/counts_all/20230201120003_count_projects_with_ml_candidates.yml23
-rw-r--r--config/metrics/counts_all/20230201120004_count_users_with_ml_candidates.yml23
-rw-r--r--config/metrics/counts_all/20230201120005_count_projects_with_ml_experiments.yml23
-rw-r--r--config/metrics/counts_all/20230209153034_projects_jira_server_deployment_type_active.yml25
-rw-r--r--config/metrics/counts_all/20230209153255_projects_jira_cloud_deployment_type_active.yml25
-rw-r--r--config/metrics/license/20210204124936_pages_version.yml4
-rw-r--r--config/metrics/settings/20210204124934_pages_enabled.yml4
-rw-r--r--config/metrics/settings/20230125220526_incoming_email_encrypted_secrets_enabled.yml23
-rw-r--r--config/metrics/settings/20230125221700_service_desk_email_encrypted_secrets_enabled.yml23
-rw-r--r--config/object_store_settings.rb8
-rw-r--r--config/routes.rb18
-rw-r--r--config/routes/admin.rb3
-rw-r--r--config/routes/directs.rb5
-rw-r--r--config/routes/directs/milestone.rb11
-rw-r--r--config/routes/import.rb1
-rw-r--r--config/routes/issues.rb6
-rw-r--r--config/routes/profile.rb10
-rw-r--r--config/routes/project.rb10
-rw-r--r--config/settings.rb11
-rw-r--r--config/sidekiq_queues.yml10
-rw-r--r--config/spring.rb2
-rw-r--r--config/webpack.config.js14
-rw-r--r--config/webpack.vendor.config.js1
192 files changed, 1684 insertions, 707 deletions
diff --git a/config/README.md b/config/README.md
index 861cda5a5b6..71f18505a88 100644
--- a/config/README.md
+++ b/config/README.md
@@ -71,15 +71,16 @@ environment variable.
An example configuration file for Redis is in this directory under the name
`resque.yml.example`.
-| Name | Fallback instance | Purpose |
-|--------------------|-------------------|-------------------------------------------------------------------------------------------------------------|
-| `cache` | | Volatile non-persistent data |
-| `queues` | | Background job processing queues |
-| `shared_state` | | Persistent application state |
-| `trace_chunks` | `shared_state` | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
-| `rate_limiting` | `cache` | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state |
-| `sessions` | `shared_state` | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis) |
-| `repository_cache` | `cache` | Repository related information |
+| Name | Fallback instance | Purpose |
+|---------------------|-------------------|--------------------------------------------------------------------------------------------------------------|
+| `cache` | | Volatile non-persistent data |
+| `queues` | | Background job processing queues |
+| `shared_state` | | Persistent application state |
+| `trace_chunks` | `shared_state` | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
+| `rate_limiting` | `cache` | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state |
+| `sessions` | `shared_state` | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis) |
+| `repository_cache` | `cache` | Repository related information |
+| `db_load_balancing` | `shared_state` | [Database Load Balancing](https://docs.gitlab.com/ee/administration/postgresql/database_load_balancing.html) |
If no configuration is found, or no URL is found in the configuration
file, the default URL used is:
diff --git a/config/application.rb b/config/application.rb
index 61dfa59a90d..c6ecfcc0cb1 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -60,6 +60,7 @@ module Gitlab
require_dependency Rails.root.join('lib/gitlab/redis/rate_limiting')
require_dependency Rails.root.join('lib/gitlab/redis/sessions')
require_dependency Rails.root.join('lib/gitlab/redis/repository_cache')
+ require_dependency Rails.root.join('lib/gitlab/redis/db_load_balancing')
require_dependency Rails.root.join('lib/gitlab/current_settings')
require_dependency Rails.root.join('lib/gitlab/middleware/read_only')
require_dependency Rails.root.join('lib/gitlab/middleware/compressed_json')
@@ -256,6 +257,7 @@ module Gitlab
config.assets.precompile << "mailers/*.css"
config.assets.precompile << "page_bundles/_mixins_and_variables_and_functions.css"
config.assets.precompile << "page_bundles/admin/application_settings_metrics_and_profiling.css"
+ config.assets.precompile << "page_bundles/admin/elasticsearch_form.css"
config.assets.precompile << "page_bundles/admin/geo_nodes.css"
config.assets.precompile << "page_bundles/admin/geo_replicable.css"
config.assets.precompile << "page_bundles/admin/jobs_index.css"
@@ -314,6 +316,7 @@ module Gitlab
config.assets.precompile << "page_bundles/project.css"
config.assets.precompile << "page_bundles/projects_edit.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/reports.css"
config.assets.precompile << "page_bundles/roadmap.css"
@@ -333,7 +336,6 @@ module Gitlab
config.assets.precompile << "page_bundles/work_items.css"
config.assets.precompile << "page_bundles/xterm.css"
config.assets.precompile << "lazy_bundles/cropper.css"
- config.assets.precompile << "lazy_bundles/select2.css"
config.assets.precompile << "lazy_bundles/gridstack.css"
config.assets.precompile << "performance_bar.css"
config.assets.precompile << "disable_animations.css"
@@ -362,6 +364,7 @@ module Gitlab
config.assets.precompile << "illustrations/jh/*.svg" if Gitlab.jh?
config.assets.precompile << "icons.svg"
config.assets.precompile << "icons.json"
+ config.assets.precompile << "file_icons/file_icons.svg"
config.assets.precompile << "illustrations/*.svg"
config.assets.precompile << "illustrations/*.png"
diff --git a/config/audit_events/types/manually_trigger_housekeeping.yml b/config/audit_events/types/manually_trigger_housekeeping.yml
new file mode 100644
index 00000000000..70c9818d8e8
--- /dev/null
+++ b/config/audit_events/types/manually_trigger_housekeeping.yml
@@ -0,0 +1,9 @@
+---
+name: manually_trigger_housekeeping
+description: Triggered when manually triggering housekeeping via api or admin UI
+introduced_by_issue: https://gitlab.com/gitlab-org/gitlab/-/issues/390761
+introduced_by_mr: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/112095
+feature_category: source_code_management
+milestone: '15.9'
+saved_to_database: true
+streamed: true
diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
index 5329a8e9fd7..c1b1247b5b0 100644
--- a/config/database.yml.postgresql
+++ b/config/database.yml.postgresql
@@ -18,6 +18,14 @@ production:
# port: 8600
# record: secondary.postgresql.service.consul
# interval: 300
+ # ci:
+ # adapter: postgresql
+ # encoding: unicode
+ # database: gitlabhq_production
+ # database_tasks: false
+ # username: git
+ # password: "secure password"
+ # host: localhost
geo:
adapter: postgresql
encoding: unicode
@@ -39,6 +47,16 @@ development:
host: localhost
variables:
statement_timeout: 15s
+ # ci:
+ # adapter: postgresql
+ # encoding: unicode
+ # database: gitlabhq_development
+ # database_tasks: false
+ # username: postgres
+ # password: "secure password"
+ # host: localhost
+ # variables:
+ # statement_timeout: 15s
geo:
adapter: postgresql
encoding: unicode
@@ -58,6 +76,14 @@ staging:
username: git
password: "secure password"
host: localhost
+ # ci:
+ # adapter: postgresql
+ # encoding: unicode
+ # database: gitlabhq_staging
+ # database_tasks: false
+ # username: git
+ # password: "secure password"
+ # host: localhost
geo:
adapter: postgresql
encoding: unicode
@@ -80,6 +106,17 @@ test: &test
prepared_statements: false
variables:
statement_timeout: 15s
+ # ci:
+ # adapter: postgresql
+ # encoding: unicode
+ # database: gitlabhq_test
+ # database_tasks: false
+ # username: postgres
+ # password:
+ # host: localhost
+ # prepared_statements: false
+ # variables:
+ # statement_timeout: 15s
geo:
adapter: postgresql
encoding: unicode
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml
index 9afa2b6fca3..959d6f23156 100644
--- a/config/dependency_decisions.yml
+++ b/config/dependency_decisions.yml
@@ -127,12 +127,6 @@
:versions: []
:when: 2017-01-14 20:50:20.037775000 Z
- - :approve
- - select2
- - :who: Matt Lee
- :why: https://github.com/select2/select2/blob/master/LICENSE.md
- :versions: []
- :when: 2017-01-14 20:10:53.909618000 Z
-- - :approve
- opener
- :who: Mike Greiling
:why: https://github.com/domenic/opener/blob/1.4.3/LICENSE.txt
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 71376b74cfa..6b44af3b658 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -22,12 +22,6 @@ Rails.application.configure do
# Show a warning when a large data set is loaded into memory
config.active_record.warn_on_records_fetched_greater_than = 1000
- # Print deprecation notices to the Rails logger
- config.active_support.deprecation = :log
-
- # Raise exceptions for disallowed deprecations.
- config.active_support.disallowed_deprecation = :raise
-
# Raise an error on page load if there are pending migrations
config.active_record.migration_error = :page_load
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 202f6205c7f..8372331024f 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -65,18 +65,6 @@ Rails.application.configure do
# Enable threaded mode
# config.threadsafe! unless $rails_rake_task
- # Silence deprecation notices on production.
- # See also config/initializers/00_deprecations.rb.
- #
- # Logging to `log/deprecation_json.log` can be enabled with
- # `GITLAB_LOG_DEPRECATIONS=1`.
- #
- # See https://gitlab.com/gitlab-org/gitlab/-/issues/368379
- config.active_support.deprecation = :silence
-
- # Silence disallowed deprecations.
- config.active_support.disallowed_deprecation = :silence
-
config.action_mailer.delivery_method = :sendmail
# Defaults to:
# # config.action_mailer.sendmail_settings = {
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 41413c55ba4..da91752549e 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -50,12 +50,6 @@ Rails.application.configure do
config.action_mailer.preview_path = GitlabEdition.path_glob('app/mailers/previews')
- # Print deprecation notices to the stderr
- config.active_support.deprecation = :stderr
-
- # Raise exceptions for disallowed deprecations.
- config.active_support.disallowed_deprecation = :raise
-
config.eager_load = Gitlab::Utils.to_boolean(ENV['GITLAB_TEST_EAGER_LOAD'], default: ENV['CI'].present?)
config.cache_store = :null_store
diff --git a/config/events/1671198983_Gitlab__UsageDataCounters__MergeRequestActivityUniqueCounter_create.yml b/config/events/1671198983_Gitlab__UsageDataCounters__MergeRequestActivityUniqueCounter_create.yml
index 9c1b389b4b2..a7f57576ddf 100644
--- a/config/events/1671198983_Gitlab__UsageDataCounters__MergeRequestActivityUniqueCounter_create.yml
+++ b/config/events/1671198983_Gitlab__UsageDataCounters__MergeRequestActivityUniqueCounter_create.yml
@@ -1,9 +1,8 @@
---
-description: Count of unique merge requests created per month
+description: Count of unique users creating a merge request per month
category: Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter
action: create
label_description: "Mirrored RedisHLL i_code_review_user_create_mr_monthly events sent to Snowplow"
-label_description:
property_description:
value_description:
extra_properties:
diff --git a/config/events/1671588492_Notes__CreateService_create_commit_comment.yml b/config/events/1671588492_Notes__CreateService_create_commit_comment.yml
new file mode 100644
index 00000000000..b3c3d6ece17
--- /dev/null
+++ b/config/events/1671588492_Notes__CreateService_create_commit_comment.yml
@@ -0,0 +1,26 @@
+---
+description: Mirrored `counts.commit_comment` Service Ping metric as a Snowplow event. Emitted when a note for a commit is created.
+category: Notes::CreateService
+action: create_commit_comment
+label_description: Mirrored Service Ping metric key path
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: dev
+product_stage: create
+product_group: source_code
+product_category: source_code_management
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105148
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1671713111_Users__ActivityService_perform_action.yml b/config/events/1671713111_Users__ActivityService_perform_action.yml
new file mode 100644
index 00000000000..4b1f90d42b4
--- /dev/null
+++ b/config/events/1671713111_Users__ActivityService_perform_action.yml
@@ -0,0 +1,23 @@
+---
+description: User's last_activity_on gets updated
+category: Users::ActivityService
+action: perform_action
+label_description: key_path of Service Ping metric redis_hll_counters.manage.unique_active_users_monthly
+property_description:
+value_description:
+extra_properties:
+identifiers:
+product_section: dev
+product_stage: manage
+product_group: manage
+product_category:
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108108
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1674504208_API__PackagesHelpers_push_package_by_deploy_token.yml b/config/events/1674504208_API__PackagesHelpers_push_package_by_deploy_token.yml
new file mode 100644
index 00000000000..76624a2389f
--- /dev/null
+++ b/config/events/1674504208_API__PackagesHelpers_push_package_by_deploy_token.yml
@@ -0,0 +1,26 @@
+---
+description: "Mirrored Service Ping total metric key_path: counts.package_events_i_package_push_package_by_deploy_token"
+category: package class
+action: push_package_by_deploy_token
+label_description: "Mirrored Service Ping total metric key_path: counts.package_events_i_package_push_package_by_deploy_token"
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: dev
+product_stage: package
+product_group: package_registry
+product_category: package_registry
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108798
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1674843937_Ci__Build_create_id_tokens.yml b/config/events/1674843937_Ci__Build_create_id_tokens.yml
new file mode 100644
index 00000000000..a6cc03c2bad
--- /dev/null
+++ b/config/events/1674843937_Ci__Build_create_id_tokens.yml
@@ -0,0 +1,26 @@
+---
+description: Pipeline created with id_tokens (JWT tokens) defined
+category: Ci::Build
+action: create_id_tokens
+label_description: "Mirrored Service Ping key_path: redis_hll_counters.ci_secrets_management.i_ci_secrets_management_id_tokens_build_created_monthly"
+property_description:
+value_description:
+extra_properties:
+ ultimate_namespace_id: "The ID of the Ultimate Namespace"
+identifiers:
+- user
+- namespace
+product_section: ops
+product_stage: verify
+product_group: pipeline_authoring
+product_category: secrets_management
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110422
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1675075830_API__PackagesHelpers_pull_package_by_guest.yml b/config/events/1675075830_API__PackagesHelpers_pull_package_by_guest.yml
new file mode 100644
index 00000000000..b66587e845c
--- /dev/null
+++ b/config/events/1675075830_API__PackagesHelpers_pull_package_by_guest.yml
@@ -0,0 +1,26 @@
+---
+description: "Mirrored Service Ping total metric key_path: counts.package_events_i_package_pull_package_by_guest"
+category: package class
+action: pull_package_by_guest
+label_description: "Mirrored Service Ping total metric key_path: counts.package_events_i_package_pull_package_by_guest"
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: dev
+product_stage: package
+product_group: package_registry
+product_category: package_registry
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111372
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/events/1675167870_Gitlab__Ci__Pipeline__Chain__Metrics_create_pipeline_with_name.yml b/config/events/1675167870_Gitlab__Ci__Pipeline__Chain__Metrics_create_pipeline_with_name.yml
new file mode 100644
index 00000000000..0427f86fb27
--- /dev/null
+++ b/config/events/1675167870_Gitlab__Ci__Pipeline__Chain__Metrics_create_pipeline_with_name.yml
@@ -0,0 +1,26 @@
+---
+description: Pipeline with name is created
+category: Gitlab::Ci::Pipeline::Chain::Metrics
+action: create_pipeline_with_name
+label_description:
+property_description:
+value_description:
+extra_properties:
+identifiers:
+- project
+- user
+- namespace
+product_section: ops
+product_stage: verify
+product_group: pipeline_execution
+product_category: Continuous Integration
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109549
+distributions:
+- ce
+- ee
+tiers:
+- free
+- premium
+- ultimate
+
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 4282fa32a1b..64a4eeaaea3 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -85,8 +85,9 @@
- merge_trains
- metrics
- mlops
-- mobile_signing_deployment
+- mobile_devops
- navigation
+- no_code_automation
- omnibus_package
- on_call_schedule_management
- onboarding
@@ -133,7 +134,7 @@
- team_planning
- tracing
- user_management
-- users
+- user_profile
- value_stream_management
- vulnerability_management
- web_ide
diff --git a/config/feature_flags/development/limit_reviewer_and_assignee_size.yml b/config/feature_flags/development/add_ignore_all_white_spaces.yml
index b2a762cc583..6d343500fa6 100644
--- a/config/feature_flags/development/limit_reviewer_and_assignee_size.yml
+++ b/config/feature_flags/development/add_ignore_all_white_spaces.yml
@@ -1,8 +1,8 @@
---
-name: limit_reviewer_and_assignee_size
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91406
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/366485
-milestone: '15.3'
+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'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/add_delete_branch_worker.yml b/config/feature_flags/development/add_prepared_state_to_mr.yml
index b0470a7f901..49db6d92ae0 100644
--- a/config/feature_flags/development/add_delete_branch_worker.yml
+++ b/config/feature_flags/development/add_prepared_state_to_mr.yml
@@ -1,8 +1,8 @@
---
-name: add_delete_branch_worker
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102208
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381640
-milestone: '15.6'
+name: add_prepared_state_to_mr
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109967
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389249
+milestone: '15.9'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/jobs_api_keyset_pagination.yml b/config/feature_flags/development/admin_jobs_vue.yml
index d97b324f97a..3c8402a83f4 100644
--- a/config/feature_flags/development/jobs_api_keyset_pagination.yml
+++ b/config/feature_flags/development/admin_jobs_vue.yml
@@ -1,8 +1,8 @@
---
-name: jobs_api_keyset_pagination
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107152
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385940
-milestone: '15.8'
+name: admin_jobs_vue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98769
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/391194
+milestone: '15.9'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/admin_emails_vue.yml b/config/feature_flags/development/admin_mode_for_api.yml
index 63fe56e089f..dc80d8a1c77 100644
--- a/config/feature_flags/development/admin_emails_vue.yml
+++ b/config/feature_flags/development/admin_mode_for_api.yml
@@ -1,8 +1,8 @@
---
-name: admin_emails_vue
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106358
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386976
+name: admin_mode_for_api
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107925
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387729
milestone: '15.8'
type: development
-group: group::workspace
+group: group::authentication and authorization
default_enabled: false
diff --git a/config/feature_flags/development/advanced_search_decrease_indexing_timeout.yml b/config/feature_flags/development/advanced_search_decrease_indexing_timeout.yml
new file mode 100644
index 00000000000..a1eb407ed32
--- /dev/null
+++ b/config/feature_flags/development/advanced_search_decrease_indexing_timeout.yml
@@ -0,0 +1,8 @@
+---
+name: advanced_search_decrease_indexing_timeout
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111902
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/391570
+milestone: '15.9'
+type: development
+group: group::global search
+default_enabled: false
diff --git a/config/feature_flags/development/preferred_language_switcher.yml b/config/feature_flags/development/airflow_dags.yml
index 9dedb1421aa..e32035e7d2a 100644
--- a/config/feature_flags/development/preferred_language_switcher.yml
+++ b/config/feature_flags/development/airflow_dags.yml
@@ -1,7 +1,8 @@
---
-name: preferred_language_switcher
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101621
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381181
-milestone: '15.6'
+name: airflow_dags
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108900
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387529
+milestone: '15.9'
type: development
+group: group::incubation
default_enabled: false
diff --git a/config/feature_flags/development/async_merge_request_diff_creation.yml b/config/feature_flags/development/async_merge_request_diff_creation.yml
deleted file mode 100644
index 8e4bdd13b2b..00000000000
--- a/config/feature_flags/development/async_merge_request_diff_creation.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: async_merge_request_diff_creation
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/100390"
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/376759
-milestone: '15.6'
-type: development
-group: group::code review
-default_enabled: false
diff --git a/config/feature_flags/development/bulk_update_issues_mutation.yml b/config/feature_flags/development/bulk_update_issues_mutation.yml
new file mode 100644
index 00000000000..72de356f019
--- /dev/null
+++ b/config/feature_flags/development/bulk_update_issues_mutation.yml
@@ -0,0 +1,8 @@
+---
+name: bulk_update_issues_mutation
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108505
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388472
+milestone: '15.9'
+type: development
+group: group::project management
+default_enabled: false
diff --git a/config/feature_flags/development/ci_inbound_job_token_scope.yml b/config/feature_flags/development/ci_inbound_job_token_scope.yml
index 0a7a618531c..a0e2e09dde5 100644
--- a/config/feature_flags/development/ci_inbound_job_token_scope.yml
+++ b/config/feature_flags/development/ci_inbound_job_token_scope.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/376063
milestone: '15.5'
type: development
group: group::pipeline execution
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/arkose_labs_signup_challenge.yml b/config/feature_flags/development/ci_include_components.yml
index 8b40ce5d029..b61863e9675 100644
--- a/config/feature_flags/development/arkose_labs_signup_challenge.yml
+++ b/config/feature_flags/development/ci_include_components.yml
@@ -1,8 +1,8 @@
---
-name: arkose_labs_signup_challenge
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95560
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370932
-milestone: '15.4'
+name: ci_include_components
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109154
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/39064
+milestone: '15.9'
type: development
-group: group::anti-abuse
+group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/ci_includes_count_duplicates.yml b/config/feature_flags/development/ci_includes_count_duplicates.yml
new file mode 100644
index 00000000000..5e33edddc03
--- /dev/null
+++ b/config/feature_flags/development/ci_includes_count_duplicates.yml
@@ -0,0 +1,8 @@
+---
+name: ci_includes_count_duplicates
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111726
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/391517
+milestone: '15.9'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/ci_job_assistant_drawer.yml b/config/feature_flags/development/ci_job_assistant_drawer.yml
new file mode 100644
index 00000000000..94e376e1c8a
--- /dev/null
+++ b/config/feature_flags/development/ci_job_assistant_drawer.yml
@@ -0,0 +1,7 @@
+---
+name: ci_job_assistant_drawer
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107828
+rollout_issue_url:
+milestone: '15.9'
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/ci_job_token_scope.yml b/config/feature_flags/development/ci_job_token_scope.yml
index c86a3eca25d..aa64f5ba872 100644
--- a/config/feature_flags/development/ci_job_token_scope.yml
+++ b/config/feature_flags/development/ci_job_token_scope.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49750
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300821
milestone: '13.12'
type: development
-group: group::package registry
+group: group::container registry
default_enabled: false
diff --git a/config/feature_flags/development/ci_limit_complete_hierarchy_size.yml b/config/feature_flags/development/ci_limit_complete_hierarchy_size.yml
deleted file mode 100644
index d6cc8787333..00000000000
--- a/config/feature_flags/development/ci_limit_complete_hierarchy_size.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_limit_complete_hierarchy_size
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95857
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373719
-milestone: '15.4'
-type: development
-group: group::pipeline execution
-default_enabled: true
diff --git a/config/feature_flags/development/ci_multi_doc_yaml.yml b/config/feature_flags/development/ci_multi_doc_yaml.yml
new file mode 100644
index 00000000000..4e6289abefa
--- /dev/null
+++ b/config/feature_flags/development/ci_multi_doc_yaml.yml
@@ -0,0 +1,8 @@
+---
+name: ci_multi_doc_yaml
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109137
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388836
+milestone: '15.9'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/ci_recreate_downstream_pipeline.yml b/config/feature_flags/development/ci_recreate_downstream_pipeline.yml
new file mode 100644
index 00000000000..e97ee2d572d
--- /dev/null
+++ b/config/feature_flags/development/ci_recreate_downstream_pipeline.yml
@@ -0,0 +1,8 @@
+name: ci_recreate_downstream_pipeline
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108698
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387972
+milestone: '15.9'
+type: development
+group: group::pipeline authoring
+default_enabled: false
+
diff --git a/config/feature_flags/development/ci_remove_ensure_stage_service.yml b/config/feature_flags/development/ci_remove_ensure_stage_service.yml
new file mode 100644
index 00000000000..e584a1316b6
--- /dev/null
+++ b/config/feature_flags/development/ci_remove_ensure_stage_service.yml
@@ -0,0 +1,8 @@
+---
+name: ci_remove_ensure_stage_service
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107389
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389076
+milestone: '15.9'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/ci_reuse_build_in_seed_context.yml b/config/feature_flags/development/ci_reuse_build_in_seed_context.yml
deleted file mode 100644
index aa63b8d898f..00000000000
--- a/config/feature_flags/development/ci_reuse_build_in_seed_context.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_reuse_build_in_seed_context
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105492
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384577
-milestone: '15.7'
-type: development
-group: group::pipeline execution
-default_enabled: false
diff --git a/config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml b/config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml
deleted file mode 100644
index 27ab6e221a3..00000000000
--- a/config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_use_run_pipeline_schedule_worker
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106661
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/378361
-milestone: '15.8'
-type: development
-group: group::pipeline execution
-default_enabled: false
diff --git a/config/feature_flags/development/search_page_vertical_nav.yml b/config/feature_flags/development/code_basic_search_files_by_regexp.yml
index a0e9d760295..e68581bdfbd 100644
--- a/config/feature_flags/development/search_page_vertical_nav.yml
+++ b/config/feature_flags/development/code_basic_search_files_by_regexp.yml
@@ -1,8 +1,9 @@
---
-name: search_page_vertical_nav
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97784
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373613
-milestone: '15.5'
+name: code_basic_search_files_by_regexp
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109987
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389551
+milestone: '15.9'
type: development
group: group::global search
-default_enabled: true
+default_enabled: false
+
diff --git a/config/feature_flags/development/commit_search_trailing_spaces.yml b/config/feature_flags/development/commit_search_trailing_spaces.yml
deleted file mode 100644
index b4d2f911620..00000000000
--- a/config/feature_flags/development/commit_search_trailing_spaces.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: commit_search_trailing_spaces
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107956
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386825
-milestone: '15.8'
-type: development
-group: group::source code
-default_enabled: true
diff --git a/config/feature_flags/development/your_work_sidebar.yml b/config/feature_flags/development/create_runner_machine.yml
index b24af6e1ff4..5ad3766ff6e 100644
--- a/config/feature_flags/development/your_work_sidebar.yml
+++ b/config/feature_flags/development/create_runner_machine.yml
@@ -1,8 +1,8 @@
---
-name: your_work_sidebar
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107345
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385855
-milestone: '15.8'
+name: create_runner_machine
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109983
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390261
+milestone: '15.9'
type: development
-group: group::foundations
+group: group::runner
default_enabled: false
diff --git a/config/feature_flags/development/create_runner_workflow.yml b/config/feature_flags/development/create_runner_workflow.yml
new file mode 100644
index 00000000000..1a0c8b3e847
--- /dev/null
+++ b/config/feature_flags/development/create_runner_workflow.yml
@@ -0,0 +1,8 @@
+---
+name: create_runner_workflow
+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'
+type: development
+group: group::runner
+default_enabled: false
diff --git a/config/feature_flags/development/data_transfer_monitoring.yml b/config/feature_flags/development/data_transfer_monitoring.yml
new file mode 100644
index 00000000000..1675bf2de1d
--- /dev/null
+++ b/config/feature_flags/development/data_transfer_monitoring.yml
@@ -0,0 +1,8 @@
+---
+name: data_transfer_monitoring
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110211
+rollout_issue_url:
+milestone: '15.9'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/ban_user_feature_flag.yml b/config/feature_flags/development/deactivation_email_additional_text.yml
index 74aee3f46f8..a603d4cd77e 100644
--- a/config/feature_flags/development/ban_user_feature_flag.yml
+++ b/config/feature_flags/development/deactivation_email_additional_text.yml
@@ -1,8 +1,8 @@
---
-name: ban_user_feature_flag
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/61292
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/330667
-milestone: '13.12'
+name: deactivation_email_additional_text
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110033
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389538
+milestone: '15.9'
type: development
group: group::authentication and authorization
default_enabled: true
diff --git a/config/feature_flags/development/move_create_deployments_to_worker.yml b/config/feature_flags/development/deduplicate_archive_traces_cron_worker.yml
index e428a7510de..c26968381ae 100644
--- a/config/feature_flags/development/move_create_deployments_to_worker.yml
+++ b/config/feature_flags/development/deduplicate_archive_traces_cron_worker.yml
@@ -1,8 +1,8 @@
---
-name: move_create_deployments_to_worker
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108042
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386903
-milestone: '15.8'
+name: deduplicate_archive_traces_cron_worker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110305
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389632
+milestone: '15.9'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/use_ref_type_parameter.yml b/config/feature_flags/development/deploy_key_for_protected_tags.yml
index 5cdd3d6f198..48192a81899 100644
--- a/config/feature_flags/development/use_ref_type_parameter.yml
+++ b/config/feature_flags/development/deploy_key_for_protected_tags.yml
@@ -1,9 +1,8 @@
---
-name: use_ref_type_parameter
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102936
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381501
-milestone: '15.6'
+name: deploy_key_for_protected_tags
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110238
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389237
+milestone: '15.9'
type: development
group: group::source code
default_enabled: false
-
diff --git a/config/feature_flags/development/reset_merge_error_on_transition.yml b/config/feature_flags/development/diffs_batch_cache_with_max_age.yml
index bb0b25d1666..198fe8799c1 100644
--- a/config/feature_flags/development/reset_merge_error_on_transition.yml
+++ b/config/feature_flags/development/diffs_batch_cache_with_max_age.yml
@@ -1,8 +1,8 @@
---
-name: reset_merge_error_on_transition
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106942
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385859
-milestone: '15.8'
+name: diffs_batch_cache_with_max_age
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109451
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388778
+milestone: '15.9'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/do_not_run_safety_net_auth_refresh_jobs.yml b/config/feature_flags/development/do_not_run_safety_net_auth_refresh_jobs.yml
new file mode 100644
index 00000000000..30790841695
--- /dev/null
+++ b/config/feature_flags/development/do_not_run_safety_net_auth_refresh_jobs.yml
@@ -0,0 +1,8 @@
+---
+name: do_not_run_safety_net_auth_refresh_jobs
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110986
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390336
+milestone: '15.9'
+type: development
+group: group::organization
+default_enabled: false
diff --git a/config/feature_flags/development/elasticsearch_use_traversal_id_optimization.yml b/config/feature_flags/development/elasticsearch_use_traversal_id_optimization.yml
new file mode 100644
index 00000000000..499da142527
--- /dev/null
+++ b/config/feature_flags/development/elasticsearch_use_traversal_id_optimization.yml
@@ -0,0 +1,8 @@
+---
+name: elasticsearch_use_traversal_id_optimization
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108135
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/391286
+milestone: '15.9'
+type: development
+group: group::global search
+default_enabled: false
diff --git a/config/feature_flags/development/enable_minor_delay_during_project_authorizations_refresh.yml b/config/feature_flags/development/enable_minor_delay_during_project_authorizations_refresh.yml
deleted file mode 100644
index 846052dc76f..00000000000
--- a/config/feature_flags/development/enable_minor_delay_during_project_authorizations_refresh.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: enable_minor_delay_during_project_authorizations_refresh
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97805
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373672
-milestone: '15.4'
-type: development
-group: group::workspace
-default_enabled: true
diff --git a/config/feature_flags/development/enable_new_sentry_clientside_integration.yml b/config/feature_flags/development/enable_new_sentry_clientside_integration.yml
index 338fd2b1e25..46835315f2f 100644
--- a/config/feature_flags/development/enable_new_sentry_clientside_integration.yml
+++ b/config/feature_flags/development/enable_new_sentry_clientside_integration.yml
@@ -1,7 +1,7 @@
---
name: enable_new_sentry_clientside_integration
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102650
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/344832
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382570
milestone: '15.6'
type: development
group: group::runner
diff --git a/config/feature_flags/development/project_language_search.yml b/config/feature_flags/development/export_csv_preload_in_batches.yml
index 2d8c24650d1..60c82dce4a0 100644
--- a/config/feature_flags/development/project_language_search.yml
+++ b/config/feature_flags/development/export_csv_preload_in_batches.yml
@@ -1,8 +1,8 @@
---
-name: project_language_search
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104167
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385465
-milestone: '15.7'
+name: export_csv_preload_in_batches
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85989
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389847
+milestone: '15.9'
type: development
-group: group::workspace
+group: group::import
default_enabled: false
diff --git a/config/feature_flags/experiment/video_tutorials_continuous_onboarding.yml b/config/feature_flags/development/free_user_cap_over_user_limit_mails.yml
index e047a4e9682..88b3f59050d 100644
--- a/config/feature_flags/experiment/video_tutorials_continuous_onboarding.yml
+++ b/config/feature_flags/development/free_user_cap_over_user_limit_mails.yml
@@ -1,8 +1,8 @@
---
-name: video_tutorials_continuous_onboarding
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82274
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351916
-milestone: '14.9'
-type: experiment
+name: free_user_cap_over_user_limit_mails
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98438
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/378616
+milestone: '15.9'
+type: development
group: group::acquisition
default_enabled: false
diff --git a/config/feature_flags/development/root_level_issues_query.yml b/config/feature_flags/development/frontend_caching.yml
index 308f9168167..148bb3f6062 100644
--- a/config/feature_flags/development/root_level_issues_query.yml
+++ b/config/feature_flags/development/frontend_caching.yml
@@ -1,8 +1,8 @@
---
-name: root_level_issues_query
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102348
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382250
-milestone: '15.6'
+name: frontend_caching
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106004
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386275
+milestone: '15.7'
type: development
group: group::project management
default_enabled: false
diff --git a/config/feature_flags/development/full_path_project_search.yml b/config/feature_flags/development/full_path_project_search.yml
new file mode 100644
index 00000000000..83c52a20995
--- /dev/null
+++ b/config/feature_flags/development/full_path_project_search.yml
@@ -0,0 +1,8 @@
+---
+name: full_path_project_search
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108906
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388473
+milestone: '15.9'
+type: development
+group: group::threat insights
+default_enabled: false
diff --git a/config/feature_flags/development/github_client_fetch_repos_via_graphql.yml b/config/feature_flags/development/github_client_fetch_repos_via_graphql.yml
index 7ff87410458..2d045e8ca06 100644
--- a/config/feature_flags/development/github_client_fetch_repos_via_graphql.yml
+++ b/config/feature_flags/development/github_client_fetch_repos_via_graphql.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385649
milestone: '15.7'
type: development
group: group::import
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/gitlab_metrics_error_rate_sli.yml b/config/feature_flags/development/gitlab_metrics_error_rate_sli.yml
deleted file mode 100644
index 30b872343ce..00000000000
--- a/config/feature_flags/development/gitlab_metrics_error_rate_sli.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gitlab_metrics_error_rate_sli
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103976
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383071
-milestone: '15.7'
-type: development
-group: group::scalability
-default_enabled: false
diff --git a/config/feature_flags/development/gitlab_pat_auto_revocation.yml b/config/feature_flags/development/gitlab_pat_auto_revocation.yml
deleted file mode 100644
index 3bbbadac23f..00000000000
--- a/config/feature_flags/development/gitlab_pat_auto_revocation.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gitlab_pat_auto_revocation
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103713
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382610
-milestone: '15.6'
-type: development
-group: group::static analysis
-default_enabled: false
diff --git a/config/feature_flags/development/hash_based_cache_for_protected_branches.yml b/config/feature_flags/development/hash_based_cache_for_protected_branches.yml
deleted file mode 100644
index 58372ff3516..00000000000
--- a/config/feature_flags/development/hash_based_cache_for_protected_branches.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: hash_based_cache_for_protected_branches
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92934
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368279
-milestone: '15.3'
-type: development
-group: group::source code
-default_enabled: true
diff --git a/config/feature_flags/development/hash_oauth_secrets.yml b/config/feature_flags/development/hash_oauth_secrets.yml
index 7730d319bab..4f42dc6883c 100644
--- a/config/feature_flags/development/hash_oauth_secrets.yml
+++ b/config/feature_flags/development/hash_oauth_secrets.yml
@@ -1,8 +1,8 @@
---
name: hash_oauth_secrets
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96252
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/374588
milestone: '15.4'
type: development
group: group::authentication and authorization
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/import_export_work_items_csv.yml b/config/feature_flags/development/import_export_work_items_csv.yml
new file mode 100644
index 00000000000..344af8659ca
--- /dev/null
+++ b/config/feature_flags/development/import_export_work_items_csv.yml
@@ -0,0 +1,8 @@
+---
+name: import_export_work_items_csv
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111935
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390330
+milestone: '15.9'
+type: development
+group: group::certify
+default_enabled: false
diff --git a/config/feature_flags/development/improve_blobs_cache_headers.yml b/config/feature_flags/development/improve_blobs_cache_headers.yml
deleted file mode 100644
index 33fb9669106..00000000000
--- a/config/feature_flags/development/improve_blobs_cache_headers.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: improve_blobs_cache_headers
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98110
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/374126
-milestone: '15.5'
-type: development
-group: group::source code
-default_enabled: false
diff --git a/config/feature_flags/development/new_fonts.yml b/config/feature_flags/development/improved_spread_parallel_import.yml
index 43d22a34bc7..a1d7caf12b0 100644
--- a/config/feature_flags/development/new_fonts.yml
+++ b/config/feature_flags/development/improved_spread_parallel_import.yml
@@ -1,8 +1,8 @@
---
-name: new_fonts
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/102347
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/379147
-milestone: '15.7'
+name: improved_spread_parallel_import
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109264
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388665
+milestone: '15.9'
type: development
-group: group::foundations
+group: group::import
default_enabled: true
diff --git a/config/feature_flags/development/include_memberships_from_group_shares_in_preloader.yml b/config/feature_flags/development/include_memberships_from_group_shares_in_preloader.yml
new file mode 100644
index 00000000000..d7f2d1f5552
--- /dev/null
+++ b/config/feature_flags/development/include_memberships_from_group_shares_in_preloader.yml
@@ -0,0 +1,8 @@
+---
+name: include_memberships_from_group_shares_in_preloader
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111157
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390780
+milestone: '15.9'
+type: development
+group: group::organization
+default_enabled: false
diff --git a/config/feature_flags/development/jira_connect_oauth_self_managed.yml b/config/feature_flags/development/jira_connect_oauth_self_managed.yml
deleted file mode 100644
index 02c4b9fa398..00000000000
--- a/config/feature_flags/development/jira_connect_oauth_self_managed.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: jira_connect_oauth_self_managed
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85483
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359940
-milestone: '15.0'
-type: development
-group: group::integrations
-default_enabled: true
diff --git a/config/feature_flags/development/limited_capacity_seat_refresh_worker_high.yml b/config/feature_flags/development/limited_capacity_seat_refresh_worker_high.yml
new file mode 100644
index 00000000000..28f1c8a988e
--- /dev/null
+++ b/config/feature_flags/development/limited_capacity_seat_refresh_worker_high.yml
@@ -0,0 +1,8 @@
+---
+name: limited_capacity_seat_refresh_worker_high
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104099
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382725
+milestone: '15.9'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/limited_capacity_seat_refresh_worker_low.yml b/config/feature_flags/development/limited_capacity_seat_refresh_worker_low.yml
new file mode 100644
index 00000000000..a0b306ac792
--- /dev/null
+++ b/config/feature_flags/development/limited_capacity_seat_refresh_worker_low.yml
@@ -0,0 +1,8 @@
+---
+name: limited_capacity_seat_refresh_worker_low
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104099
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382725
+milestone: '15.9'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/limited_capacity_seat_refresh_worker_medium.yml b/config/feature_flags/development/limited_capacity_seat_refresh_worker_medium.yml
new file mode 100644
index 00000000000..1df482e0624
--- /dev/null
+++ b/config/feature_flags/development/limited_capacity_seat_refresh_worker_medium.yml
@@ -0,0 +1,8 @@
+---
+name: limited_capacity_seat_refresh_worker_medium
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104099
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382725
+milestone: '15.9'
+type: development
+group: group::utilization
+default_enabled: false
diff --git a/config/feature_flags/development/moved_mr_sidebar.yml b/config/feature_flags/development/moved_mr_sidebar.yml
index b12d3023e3c..1e542a5a60e 100644
--- a/config/feature_flags/development/moved_mr_sidebar.yml
+++ b/config/feature_flags/development/moved_mr_sidebar.yml
@@ -1,7 +1,7 @@
---
name: moved_mr_sidebar
-introduced_by_url:
-rollout_issue_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85584
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385460
milestone: '14.10'
type: development
group: group::code review
diff --git a/config/feature_flags/development/mr_compare_dropdowns.yml b/config/feature_flags/development/mr_compare_dropdowns.yml
deleted file mode 100644
index bffab02389b..00000000000
--- a/config/feature_flags/development/mr_compare_dropdowns.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: mr_compare_dropdowns
-introduced_by_url:
-rollout_issue_url:
-milestone: '15.7'
-type: development
-group: group::code review
-default_enabled: false
diff --git a/config/feature_flags/development/mr_experience_survey.yml b/config/feature_flags/development/mr_experience_survey.yml
index c6487dbaf3a..fbf71eab8b5 100644
--- a/config/feature_flags/development/mr_experience_survey.yml
+++ b/config/feature_flags/development/mr_experience_survey.yml
@@ -1,7 +1,7 @@
---
name: mr_experience_survey
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90036
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/366561
milestone: '15.2'
type: development
group: group::code review
diff --git a/config/feature_flags/development/mr_review_submit_comment.yml b/config/feature_flags/development/mr_review_submit_comment.yml
deleted file mode 100644
index 8457b46340e..00000000000
--- a/config/feature_flags/development/mr_review_submit_comment.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: mr_review_submit_comment
-introduced_by_url:
-rollout_issue_url:
-milestone: '15.1'
-type: development
-group: group::code review
-default_enabled: true
diff --git a/config/feature_flags/development/or_issuable_queries.yml b/config/feature_flags/development/or_issuable_queries.yml
index 5205910b0a0..eaf124c655d 100644
--- a/config/feature_flags/development/or_issuable_queries.yml
+++ b/config/feature_flags/development/or_issuable_queries.yml
@@ -5,4 +5,4 @@ rollout_issue_url:
milestone: '13.10'
type: development
group: group::project management
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/package_registry_access_level.yml b/config/feature_flags/development/package_registry_access_level.yml
deleted file mode 100644
index 3434e7f4260..00000000000
--- a/config/feature_flags/development/package_registry_access_level.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: package_registry_access_level
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82808
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/363018
-milestone: '15.0'
-type: development
-group: group::package registry
-default_enabled: true
diff --git a/config/feature_flags/development/preload_max_access_levels_for_labels_finder.yml b/config/feature_flags/development/preload_max_access_levels_for_labels_finder.yml
new file mode 100644
index 00000000000..45661638432
--- /dev/null
+++ b/config/feature_flags/development/preload_max_access_levels_for_labels_finder.yml
@@ -0,0 +1,8 @@
+---
+name: preload_max_access_levels_for_labels_finder
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111313
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390664
+milestone: '15.9'
+type: development
+group: group::optimize
+default_enabled: false
diff --git a/config/feature_flags/development/profile_tabs_vue.yml b/config/feature_flags/development/profile_tabs_vue.yml
new file mode 100644
index 00000000000..95fd4bbde27
--- /dev/null
+++ b/config/feature_flags/development/profile_tabs_vue.yml
@@ -0,0 +1,8 @@
+---
+name: profile_tabs_vue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109422
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388708
+milestone: '15.9'
+type: development
+group: group::organization
+default_enabled: false
diff --git a/config/feature_flags/development/project_analytics_dashboards_page.yml b/config/feature_flags/development/project_analytics_dashboards_page.yml
new file mode 100644
index 00000000000..192d86bd30a
--- /dev/null
+++ b/config/feature_flags/development/project_analytics_dashboards_page.yml
@@ -0,0 +1,8 @@
+---
+name: project_analytics_dashboards_page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109618
+rollout_issue_url:
+milestone: '15.9'
+type: development
+group: group::optimize
+default_enabled: false
diff --git a/config/feature_flags/development/project_members_index_by_project_namespace.yml b/config/feature_flags/development/project_members_index_by_project_namespace.yml
index 17a532a5a59..0727c32143a 100644
--- a/config/feature_flags/development/project_members_index_by_project_namespace.yml
+++ b/config/feature_flags/development/project_members_index_by_project_namespace.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384521
milestone: '15.7'
type: development
group: group::workspace
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/projects_preloader_fix.yml b/config/feature_flags/development/projects_preloader_fix.yml
deleted file mode 100644
index 58c56257028..00000000000
--- a/config/feature_flags/development/projects_preloader_fix.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: projects_preloader_fix
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96108
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/378858
-milestone: '15.6'
-type: development
-group: group::workspace
-default_enabled: true
diff --git a/config/feature_flags/development/rate_limit_issuable_searches.yml b/config/feature_flags/development/rate_limit_issuable_searches.yml
deleted file mode 100644
index 9a4909da72e..00000000000
--- a/config/feature_flags/development/rate_limit_issuable_searches.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: rate_limit_issuable_searches
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104208"
-rollout_issue_url:
-milestone: '15.8'
-type: development
-group: group::project management
-default_enabled: false
diff --git a/config/feature_flags/development/realtime_reviewers.yml b/config/feature_flags/development/realtime_reviewers.yml
deleted file mode 100644
index a7da47a3c29..00000000000
--- a/config/feature_flags/development/realtime_reviewers.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: realtime_reviewers
-introduced_by_url: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/99137'
-rollout_issue_url: 'https://gitlab.com/gitlab-org/gitlab/-/issues/378299'
-milestone: '15.5'
-type: development
-group: group::code review
-default_enabled: true
diff --git a/config/feature_flags/development/record_projects_target_platforms.yml b/config/feature_flags/development/record_projects_target_platforms.yml
deleted file mode 100644
index 6faeab3afe4..00000000000
--- a/config/feature_flags/development/record_projects_target_platforms.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: record_projects_target_platforms
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/80361
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354286
-milestone: '14.10'
-type: development
-group: group::activation
-default_enabled: false
diff --git a/config/feature_flags/development/refactor_code_quality_inline_findings.yml b/config/feature_flags/development/refactor_code_quality_inline_findings.yml
index 3f2e35c202d..98e2a307a50 100644
--- a/config/feature_flags/development/refactor_code_quality_inline_findings.yml
+++ b/config/feature_flags/development/refactor_code_quality_inline_findings.yml
@@ -1,8 +1,8 @@
---
name: refactor_code_quality_inline_findings
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88576
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364198
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364198
milestone: '15.1'
type: development
group: group::static analysis
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/searchable_fork_targets.yml b/config/feature_flags/development/revoke_ssh_signatures.yml
index 3baea34623a..de50bae7d1d 100644
--- a/config/feature_flags/development/searchable_fork_targets.yml
+++ b/config/feature_flags/development/revoke_ssh_signatures.yml
@@ -1,8 +1,8 @@
---
-name: searchable_fork_targets
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94991
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370795
-milestone: '15.3'
+name: revoke_ssh_signatures
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108344
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388986
+milestone: '15.9'
type: development
group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/route_hll_to_snowplow.yml b/config/feature_flags/development/route_hll_to_snowplow.yml
deleted file mode 100644
index 0caaf1446ca..00000000000
--- a/config/feature_flags/development/route_hll_to_snowplow.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: route_hll_to_snowplow
-introduced_by_url: https://gitlab.com/gitlab-org/product-intelligence/-/issues/498
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354442
-milestone: '14.9'
-type: development
-group: group::product intelligence
-default_enabled: true
diff --git a/config/feature_flags/development/rugged_commit_is_ancestor.yml b/config/feature_flags/development/rugged_commit_is_ancestor.yml
index bf909974f7c..470b0b60bfe 100644
--- a/config/feature_flags/development/rugged_commit_is_ancestor.yml
+++ b/config/feature_flags/development/rugged_commit_is_ancestor.yml
@@ -1,8 +1,8 @@
---
name: rugged_commit_is_ancestor
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: development
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/development/rugged_find_commit.yml b/config/feature_flags/development/rugged_find_commit.yml
index 723cad3f88a..e1f9de24abd 100644
--- a/config/feature_flags/development/rugged_find_commit.yml
+++ b/config/feature_flags/development/rugged_find_commit.yml
@@ -1,8 +1,8 @@
---
name: rugged_find_commit
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: development
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/development/rugged_tree_entries.yml b/config/feature_flags/development/rugged_tree_entries.yml
index b00f8bed00f..b6ac660f291 100644
--- a/config/feature_flags/development/rugged_tree_entries.yml
+++ b/config/feature_flags/development/rugged_tree_entries.yml
@@ -1,8 +1,8 @@
---
name: rugged_tree_entries
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: development
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/development/rugged_tree_entry.yml b/config/feature_flags/development/rugged_tree_entry.yml
index a78d6ffd21f..976cc4573f6 100644
--- a/config/feature_flags/development/rugged_tree_entry.yml
+++ b/config/feature_flags/development/rugged_tree_entry.yml
@@ -1,8 +1,8 @@
---
name: rugged_tree_entry
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: development
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/development/scan_execution_tags.yml b/config/feature_flags/development/scan_execution_tags.yml
deleted file mode 100644
index bd9412a4e9c..00000000000
--- a/config/feature_flags/development/scan_execution_tags.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: scan_execution_tags
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104954
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385169
-milestone: '15.7'
-type: development
-group: group::security policies
-default_enabled: true
diff --git a/config/feature_flags/development/service_desk_custom_email.yml b/config/feature_flags/development/service_desk_custom_email.yml
new file mode 100644
index 00000000000..42bac76033c
--- /dev/null
+++ b/config/feature_flags/development/service_desk_custom_email.yml
@@ -0,0 +1,9 @@
+---
+name: service_desk_custom_email
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108017
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/329990
+milestone: '15.9'
+type: development
+group: group::incubation
+default_enabled: false
+log_state_changes: true
diff --git a/config/feature_flags/development/service_desk_html_to_text_email_handler.yml b/config/feature_flags/development/service_desk_html_to_text_email_handler.yml
new file mode 100644
index 00000000000..733b2521c8d
--- /dev/null
+++ b/config/feature_flags/development/service_desk_html_to_text_email_handler.yml
@@ -0,0 +1,8 @@
+---
+name: service_desk_html_to_text_email_handler
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109811
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/372301
+milestone: '15.9'
+type: development
+group: group::respond
+default_enabled: false
diff --git a/config/feature_flags/development/readme_from_gitaly.yml b/config/feature_flags/development/set_traversal_ids_on_save.yml
index 6e440e928f1..ea07dafd9e4 100644
--- a/config/feature_flags/development/readme_from_gitaly.yml
+++ b/config/feature_flags/development/set_traversal_ids_on_save.yml
@@ -1,8 +1,8 @@
---
-name: readme_from_gitaly
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108609
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387703
+name: set_traversal_ids_on_save
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104328
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383217
milestone: '15.8'
type: development
-group: group::source code
+group: group::organization
default_enabled: false
diff --git a/config/feature_flags/development/show_group_readme.yml b/config/feature_flags/development/show_group_readme.yml
new file mode 100644
index 00000000000..b5764b9195f
--- /dev/null
+++ b/config/feature_flags/development/show_group_readme.yml
@@ -0,0 +1,8 @@
+---
+name: show_group_readme
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109480
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390230
+milestone: '15.9'
+type: development
+group: group::organization
+default_enabled: false
diff --git a/config/feature_flags/development/skip_notes_diff_include.yml b/config/feature_flags/development/skip_notes_diff_include.yml
deleted file mode 100644
index 886b1d47e81..00000000000
--- a/config/feature_flags/development/skip_notes_diff_include.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: skip_notes_diff_include
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108893
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388081
-milestone: '15.8'
-type: development
-group: group::product planning
-default_enabled: false
diff --git a/config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml b/config/feature_flags/development/use_primary_and_secondary_stores_for_db_load_balancing.yml
index adf48021597..18f060f247d 100644
--- a/config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml
+++ b/config/feature_flags/development/use_primary_and_secondary_stores_for_db_load_balancing.yml
@@ -1,8 +1,8 @@
---
-name: use_primary_store_as_default_for_repository_cache
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107232#note_1216317991
+name: use_primary_and_secondary_stores_for_db_load_balancing
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111269
rollout_issue_url:
-milestone: '15.7'
+milestone: '15.9'
type: development
group: group::scalability
default_enabled: false
diff --git a/config/feature_flags/development/use_primary_and_secondary_stores_for_duplicate_jobs.yml b/config/feature_flags/development/use_primary_and_secondary_stores_for_duplicate_jobs.yml
deleted file mode 100644
index 323ad754627..00000000000
--- a/config/feature_flags/development/use_primary_and_secondary_stores_for_duplicate_jobs.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_primary_and_secondary_stores_for_duplicate_jobs
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85740
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364381
-milestone:
-type: development
-group: group::scalability
-default_enabled: false
diff --git a/config/feature_flags/development/use_primary_and_secondary_stores_for_rate_limiting.yml b/config/feature_flags/development/use_primary_and_secondary_stores_for_rate_limiting.yml
new file mode 100644
index 00000000000..f6679a52ff2
--- /dev/null
+++ b/config/feature_flags/development/use_primary_and_secondary_stores_for_rate_limiting.yml
@@ -0,0 +1,8 @@
+---
+name: use_primary_and_secondary_stores_for_rate_limiting
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106123"
+rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/385681"
+milestone: '15.9'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml b/config/feature_flags/development/use_primary_store_as_default_for_db_load_balancing.yml
index 07fbc77c960..632ec40adfa 100644
--- a/config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml
+++ b/config/feature_flags/development/use_primary_store_as_default_for_db_load_balancing.yml
@@ -1,8 +1,8 @@
---
-name: use_primary_and_secondary_stores_for_repository_cache
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107232#note_1216317991
+name: use_primary_store_as_default_for_db_load_balancing
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111269
rollout_issue_url:
-milestone: '15.7'
+milestone: '15.9'
type: development
group: group::scalability
default_enabled: false
diff --git a/config/feature_flags/development/use_primary_store_as_default_for_duplicate_jobs.yml b/config/feature_flags/development/use_primary_store_as_default_for_duplicate_jobs.yml
deleted file mode 100644
index 3cd25d7b735..00000000000
--- a/config/feature_flags/development/use_primary_store_as_default_for_duplicate_jobs.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: use_primary_store_as_default_for_duplicate_jobs
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85740
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364381
-milestone:
-type: development
-group: group::scalability
-default_enabled: false
diff --git a/config/feature_flags/development/use_primary_store_as_default_for_rate_limiting.yml b/config/feature_flags/development/use_primary_store_as_default_for_rate_limiting.yml
new file mode 100644
index 00000000000..a958c1c3247
--- /dev/null
+++ b/config/feature_flags/development/use_primary_store_as_default_for_rate_limiting.yml
@@ -0,0 +1,8 @@
+---
+name: use_primary_store_as_default_for_rate_limiting
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106123"
+rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/385681"
+milestone: '15.9'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/use_response_url_for_chat_responder.yml b/config/feature_flags/development/use_response_url_for_chat_responder.yml
new file mode 100644
index 00000000000..84ac2a27fab
--- /dev/null
+++ b/config/feature_flags/development/use_response_url_for_chat_responder.yml
@@ -0,0 +1,8 @@
+---
+name: use_response_url_for_chat_responder
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110625
+rollout_issue_url:
+milestone: '15.9'
+type: development
+group: group::integrations
+default_enabled: false
diff --git a/config/feature_flags/development/validate_release_with_author.yml b/config/feature_flags/development/validate_environment_tier_presence.yml
index bac23edfa89..78593e338a4 100644
--- a/config/feature_flags/development/validate_release_with_author.yml
+++ b/config/feature_flags/development/validate_environment_tier_presence.yml
@@ -1,8 +1,7 @@
----
-name: validate_release_with_author
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/89694
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/365350
-milestone: '15.1'
+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::release
default_enabled: true
diff --git a/config/feature_flags/development/only_allow_merge_if_all_status_checks_passed.yml b/config/feature_flags/development/webauthn_without_totp.yml
index b5fd39354ec..3820c5edfb9 100644
--- a/config/feature_flags/development/only_allow_merge_if_all_status_checks_passed.yml
+++ b/config/feature_flags/development/webauthn_without_totp.yml
@@ -1,8 +1,8 @@
---
-name: only_allow_merge_if_all_status_checks_passed
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96765"
-rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/372340"
-milestone: '15.5'
+name: webauthn_without_totp
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107438"
+rollout_issue_url: "https://gitlab.com/gitlab-org/gitlab/-/issues/386270"
+milestone: '15.9'
type: development
-group: group::compliance
+group: group::authentication and authorization
default_enabled: false
diff --git a/config/feature_flags/development/work_items_create_from_markdown.yml b/config/feature_flags/development/work_items_create_from_markdown.yml
deleted file mode 100644
index 9a954001f2b..00000000000
--- a/config/feature_flags/development/work_items_create_from_markdown.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: work_items_create_from_markdown
-introduced_by_url:
-rollout_issue_url:
-milestone: '15.3'
-type: development
-group: group::project management
-default_enabled: false
diff --git a/config/feature_flags/experiment/invite_for_help_continuous_onboarding.yml b/config/feature_flags/experiment/invite_for_help_continuous_onboarding.yml
deleted file mode 100644
index 398f3bddf8a..00000000000
--- a/config/feature_flags/experiment/invite_for_help_continuous_onboarding.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: invite_for_help_continuous_onboarding
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/73846
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/345708
-milestone: '14.5'
-type: experiment
-group: group::activation
-default_enabled: false
diff --git a/config/feature_flags/ops/advanced_user_index.yml b/config/feature_flags/ops/advanced_user_index.yml
new file mode 100644
index 00000000000..2aa33aa265a
--- /dev/null
+++ b/config/feature_flags/ops/advanced_user_index.yml
@@ -0,0 +1,8 @@
+---
+name: advanced_user_index
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110946
+rollout_issue_url:
+milestone: '15.9'
+type: ops
+group: group::global_search
+default_enabled: true
diff --git a/config/feature_flags/ops/automatic_lock_writes_on_table.yml b/config/feature_flags/ops/automatic_lock_writes_on_table.yml
index ade0bcb0d19..4e9ba8824a6 100644
--- a/config/feature_flags/ops/automatic_lock_writes_on_table.yml
+++ b/config/feature_flags/ops/automatic_lock_writes_on_table.yml
@@ -5,4 +5,4 @@ rollout_issue_url:
milestone: '15.7'
type: ops
group: group::pods
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_register_job_temporary_lock.yml b/config/feature_flags/ops/ci_register_job_temporary_lock.yml
index d839669b2ea..4b91bf97e9e 100644
--- a/config/feature_flags/development/ci_register_job_temporary_lock.yml
+++ b/config/feature_flags/ops/ci_register_job_temporary_lock.yml
@@ -3,6 +3,6 @@ name: ci_register_job_temporary_lock
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/55202
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/323180
milestone: '13.10'
-type: development
-group: group::pipeline excution
-default_enabled: false
+type: ops
+group: group::pipeline execution
+default_enabled: true
diff --git a/config/feature_flags/ops/database_async_foreign_key_validation.yml b/config/feature_flags/ops/database_async_foreign_key_validation.yml
new file mode 100644
index 00000000000..5eeaacbb2cc
--- /dev/null
+++ b/config/feature_flags/ops/database_async_foreign_key_validation.yml
@@ -0,0 +1,8 @@
+---
+name: database_async_foreign_key_validation
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/112015
+rollout_issue_url:
+milestone: '15.9'
+type: ops
+group: group::database
+default_enabled: false
diff --git a/config/feature_flags/ops/disable_anonymous_search.yml b/config/feature_flags/ops/database_async_index_operations.yml
index a49b4c168e1..22fbcbe6569 100644
--- a/config/feature_flags/ops/disable_anonymous_search.yml
+++ b/config/feature_flags/ops/database_async_index_operations.yml
@@ -1,8 +1,8 @@
---
-name: disable_anonymous_search
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/70223
+name: database_async_index_operations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110530
rollout_issue_url:
-milestone: '14.3'
+milestone: '15.9'
type: ops
-group: group::project management
+group: group::database
default_enabled: false
diff --git a/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml b/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml
index d7db6a38775..39da2dcfdba 100644
--- a/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml
+++ b/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml
@@ -1,8 +1,8 @@
---
name: gitlab_sidekiq_reliable_fetcher
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: ops
-group:
+group: group::scalability
default_enabled: true
diff --git a/config/feature_flags/ops/recaptcha_on_top_level_group_creation.yml b/config/feature_flags/ops/recaptcha_on_top_level_group_creation.yml
index e01dd2b566c..834851f64fc 100644
--- a/config/feature_flags/ops/recaptcha_on_top_level_group_creation.yml
+++ b/config/feature_flags/ops/recaptcha_on_top_level_group_creation.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56707
rollout_issue_url:
milestone: '13.11'
type: ops
-group: group::authentication and authorization
+group: group::anti-abuse
default_enabled: false
diff --git a/config/feature_flags/development/allow_possible_spam.yml b/config/feature_flags/ops/skip_require_email_verification.yml
index 89393c91c43..b1e6d9093c8 100644
--- a/config/feature_flags/development/allow_possible_spam.yml
+++ b/config/feature_flags/ops/skip_require_email_verification.yml
@@ -1,8 +1,8 @@
---
-name: allow_possible_spam
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17604
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/33421
-milestone: '12.4'
-type: development
+name: skip_require_email_verification
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110010
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389235
+milestone: '15.9'
+type: ops
group: group::anti-abuse
default_enabled: false
diff --git a/config/feature_flags/ops/split_log_bulk_increment_counter.yml b/config/feature_flags/ops/split_log_bulk_increment_counter.yml
new file mode 100644
index 00000000000..ba8c3a7d22e
--- /dev/null
+++ b/config/feature_flags/ops/split_log_bulk_increment_counter.yml
@@ -0,0 +1,8 @@
+---
+name: split_log_bulk_increment_counter
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111147
+rollout_issue_url:
+milestone: '15.9'
+type: ops
+group: group::pipeline insights
+default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml b/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml
index d624694d7b0..cfa9c733211 100644
--- a/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml
+++ b/config/feature_flags/undefined/gitaly_enforce_requests_limits.yml
@@ -1,8 +1,8 @@
---
name: gitaly_enforce_requests_limits
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: undefined
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml b/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml
index 51b40b6aa38..08edf9d09b1 100644
--- a/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml
+++ b/config/feature_flags/undefined/gitaly_go_user_merge_branch.yml
@@ -1,8 +1,8 @@
---
name: gitaly_go_user_merge_branch
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: undefined
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_mep_mep.yml b/config/feature_flags/undefined/gitaly_mep_mep.yml
index 7f903b26539..5d2f55ed8d7 100644
--- a/config/feature_flags/undefined/gitaly_mep_mep.yml
+++ b/config/feature_flags/undefined/gitaly_mep_mep.yml
@@ -1,8 +1,8 @@
---
name: gitaly_mep_mep
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: undefined
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_revlist_for_repo_size.yml b/config/feature_flags/undefined/gitaly_revlist_for_repo_size.yml
index 376874b2c83..589b9e4490b 100644
--- a/config/feature_flags/undefined/gitaly_revlist_for_repo_size.yml
+++ b/config/feature_flags/undefined/gitaly_revlist_for_repo_size.yml
@@ -4,5 +4,5 @@ introduced_by_url:
rollout_issue_url:
milestone:
type: undefined
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml b/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml
index 5d09ba62152..32241daf00b 100644
--- a/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml
+++ b/config/feature_flags/undefined/gitaly_upload_pack_gitaly_hooks.yml
@@ -4,5 +4,5 @@ introduced_by_url:
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/807
milestone: '13.9'
type: undefined
-group:
+group: group::gitaly
default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 340864d2dfa..5a9811c0e91 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -271,6 +271,10 @@ production: &base
# Default is '.gitlab_mailroom_secret' relative to Rails.root (i.e. root of the GitLab app).
# secret_file: /home/git/gitlab/.gitlab_mailroom_secret
+ # File location to read encrypted incoming email secrets from
+ # encrypted_secret_file: /mnt/gitlab/smtp.yaml.enc
+ # Default: shared/encrypted_settings/incoming_email.yaml.enc
+
## Consolidated object store config
## This will only take effect if the object_store sections are not defined
## within the types (e.g. artifacts, lfs, etc.).
@@ -578,6 +582,10 @@ production: &base
ci_runner_versions_reconciliation_worker:
cron: "@daily"
+ # Periodically clean up stale runner machines.
+ ci_runners_stale_machines_cleanup_worker:
+ cron: "36 4 * * *"
+
# GitLab EE only jobs. These jobs are automatically enabled for an EE
# installation, and ignored for a CE installation.
ee_cron_jobs:
@@ -1064,16 +1072,6 @@ production: &base
# login_url: '/cas/login',
# service_validate_url: '/cas/p3/serviceValidate',
# logout_url: '/cas/logout' } }
- # - { name: 'authentiq',
- # # for client credentials (client ID and secret), go to https://www.authentiq.com/developers
- # app_id: 'YOUR_CLIENT_ID',
- # app_secret: 'YOUR_CLIENT_SECRET',
- # args: {
- # scope: 'aq:name email~rs address aq:push'
- # # callback_url parameter is optional except when 'gitlab.host' in this file is set to 'localhost'
- # # callback_url: 'YOUR_CALLBACK_URL'
- # }
- # }
# - { name: 'github',
# app_id: 'YOUR_APP_ID',
# app_secret: 'YOUR_APP_SECRET',
@@ -1620,10 +1618,6 @@ test:
client_id: 'YOUR_AUTH0_CLIENT_ID',
client_secret: 'YOUR_AUTH0_CLIENT_SECRET',
namespace: 'YOUR_AUTH0_DOMAIN' } }
- - { name: 'authentiq',
- app_id: 'YOUR_CLIENT_ID',
- app_secret: 'YOUR_CLIENT_SECRET',
- args: { scope: 'aq:name email~rs address aq:push' } }
- { name: 'salesforce',
app_id: 'YOUR_CLIENT_ID',
app_secret: 'YOUR_CLIENT_SECRET'
diff --git a/config/gitlab_loose_foreign_keys.yml b/config/gitlab_loose_foreign_keys.yml
index 3651e7f6c29..c4be4cc1800 100644
--- a/config/gitlab_loose_foreign_keys.yml
+++ b/config/gitlab_loose_foreign_keys.yml
@@ -1,5 +1,23 @@
-# Make sure that this file has the keys sorted
---
+application_settings:
+ - table: push_rules
+ column: push_rule_id
+ on_delete: async_nullify
+ - table: users
+ column: usage_stats_set_by_user_id
+ on_delete: async_nullify
+ - table: namespaces
+ column: instance_administrators_group_id
+ on_delete: async_nullify
+ - table: projects
+ column: file_template_project_id
+ on_delete: async_nullify
+ - table: projects
+ column: instance_administration_project_id
+ on_delete: async_nullify
+ - table: namespaces
+ column: custom_project_templates_group_id
+ on_delete: async_nullify
ci_build_report_results:
- table: projects
column: project_id
@@ -178,6 +196,10 @@ dast_profiles_pipelines:
- table: ci_pipelines
column: ci_pipeline_id
on_delete: async_delete
+dast_profiles_tags:
+ - table: tags
+ column: tag_id
+ on_delete: async_delete
dast_scanner_profiles_builds:
- table: ci_builds
column: ci_build_id
diff --git a/config/initializers/00_deprecations.rb b/config/initializers/00_deprecations.rb
index bfbd57c99fe..c5f9833822d 100644
--- a/config/initializers/00_deprecations.rb
+++ b/config/initializers/00_deprecations.rb
@@ -1,33 +1,50 @@
# frozen_string_literal: true
-# Disallowed deprecation warnings are silenced in production. For performance
-# reasons we even skip the definition of disallowed warnings in production.
-#
-# See
-# * https://gitlab.com/gitlab-org/gitlab/-/issues/368379 for a follow-up
-# * https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92557#note_1032212676
-# for benchmarks
-#
-# In Rails 7 we will use `config.active_support.report_deprecations = false`
-# instead of this early return.
if Rails.env.production?
- ActiveSupport::Deprecation.silenced = true
- return
+ ActiveSupport::Deprecation.silenced = !Gitlab::Utils.to_boolean(ENV['GITLAB_LOG_DEPRECATIONS'])
+ ActiveSupport::Deprecation.behavior = :notify
+ # Disallowed deprecation warnings are silenced in production. For performance
+ # reasons we even skip the definition of `ActiveSupport::Deprecation.disallowed_warnings`
+ # in production.
+ # See https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92557#note_1032212676 for benchmarks.
+ ActiveSupport::Deprecation.disallowed_behavior = :silence
+else
+ ActiveSupport::Deprecation.silenced = false
+ ActiveSupport::Deprecation.behavior = [:stderr, :notify]
+ ActiveSupport::Deprecation.disallowed_behavior = :raise
+
+ rails7_deprecation_warnings = [
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/366910
+ /no longer takes non-deterministic result/,
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/339739
+ /ActiveModel::Errors/,
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/342492
+ /Rendering actions with '\.' in the name is deprecated/,
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/333086
+ /default_hash is deprecated/,
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/369970
+ /Passing an Active Record object to `\w+` directly is deprecated/
+ ]
+
+ ActiveSupport::Deprecation.disallowed_warnings = rails7_deprecation_warnings
end
-# Ban the following deprecation warnings and turn them into runtime errors
-# in `development` and `test` environments.
-#
-# This way we prevent already fixed warnings from sneaking back into the codebase silently.
-rails7_deprecation_warnings = [
- # https://gitlab.com/gitlab-org/gitlab/-/issues/339739
- /ActiveModel::Errors#keys is deprecated/,
- # https://gitlab.com/gitlab-org/gitlab/-/issues/342492
- /Rendering actions with '\.' in the name is deprecated/,
- # https://gitlab.com/gitlab-org/gitlab/-/issues/333086
- /default_hash is deprecated/,
- # https://gitlab.com/gitlab-org/gitlab/-/issues/369970
- /Passing an Active Record object to `\w+` directly is deprecated/
-]
+unless ActiveSupport::Deprecation.silenced
+ # Log deprecation warnings emitted through Kernel#warn, such as from gems or
+ # the Ruby VM.
+ actions = {
+ /is deprecated/ => ->(warning) do
+ Gitlab::DeprecationJsonLogger.info(message: warning.strip, source: 'ruby')
+ # Returning :default means we continue emitting this to stderr as well.
+ :default
+ end
+ }
-ActiveSupport::Deprecation.disallowed_warnings.concat rails7_deprecation_warnings
+ # Use `warning` gem to intercept Ruby warnings and add our own action hook.
+ Warning.process('', actions)
+
+ # Log deprecation warnings emitted from Rails (see ActiveSupport::Deprecation).
+ ActiveSupport::Notifications.subscribe('deprecation.rails') do |_name, _start, _finish, _id, payload|
+ Gitlab::DeprecationJsonLogger.info(message: payload[:message].strip, source: 'rails')
+ end
+end
diff --git a/config/initializers/0_inject_enterprise_edition_module.rb b/config/initializers/0_inject_enterprise_edition_module.rb
index cc67e384d83..b7e204d55b2 100644
--- a/config/initializers/0_inject_enterprise_edition_module.rb
+++ b/config/initializers/0_inject_enterprise_edition_module.rb
@@ -10,17 +10,15 @@ module InjectEnterpriseEditionModule
end
def extend_mod_with(constant_name, namespace: Object)
- each_extension_for(
- constant_name,
- namespace,
- &method(:extend))
+ each_extension_for(constant_name, namespace) do |constant|
+ extend constant
+ end
end
def include_mod_with(constant_name, namespace: Object)
- each_extension_for(
- constant_name,
- namespace,
- &method(:include))
+ each_extension_for(constant_name, namespace) do |constant|
+ include constant
+ end
end
def prepend_mod(with_descendants: false)
diff --git a/config/initializers/0_log_deprecations.rb b/config/initializers/0_log_deprecations.rb
deleted file mode 100644
index b3ef391053e..00000000000
--- a/config/initializers/0_log_deprecations.rb
+++ /dev/null
@@ -1,45 +0,0 @@
-# frozen_string_literal: true
-
-def log_deprecations?
- via_env_var = Gitlab::Utils.to_boolean(ENV['GITLAB_LOG_DEPRECATIONS'])
- # enable by default during development unless explicitly turned off
- via_env_var.nil? ? Rails.env.development? : via_env_var
-end
-
-# Add `:notify` behavior only if not already added.
-#
-# See https://github.com/Shopify/deprecation_toolkit/blob/1d0e6f5b99785806f715ce2e9a13dc50f453d1e1/lib/deprecation_toolkit.rb#L21
-def add_notify_behavior
- notify = ActiveSupport::Deprecation::DEFAULT_BEHAVIORS.fetch(:notify)
- behaviors = ActiveSupport::Deprecation.behavior
-
- return if behaviors.find { |behavior| behavior == notify }
-
- ActiveSupport::Deprecation.behavior = behaviors << notify
-end
-
-if log_deprecations?
- # Log deprecation warnings emitted through Kernel#warn, such as from gems or
- # the Ruby VM.
- actions = {
- /.+is deprecated$/ => lambda do |warning|
- Gitlab::DeprecationJsonLogger.info(message: warning.strip, source: 'ruby')
- # Returning :default means we continue emitting this to stderr as well.
- :default
- end
- }
-
- Warning.process('', actions)
-
- # We may have silenced deprecations warnings in 00_deprecations.rb on production.
- # Unsilence them again.
- ActiveSupport::Deprecation.silenced = false
-
- # If we want to consume emitted warnings from Rails we need to attach a notifier first.
- add_notify_behavior
-
- # Log deprecation warnings emitted from Rails (see ActiveSupport::Deprecation).
- ActiveSupport::Notifications.subscribe('deprecation.rails') do |name, start, finish, id, payload|
- Gitlab::DeprecationJsonLogger.info(message: payload[:message].strip, source: 'rails')
- end
-end
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 55c21744ad0..b05fa6c1d8d 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -27,6 +27,7 @@ end
# backwards compatibility, we only have one host
if Settings.ldap['enabled'] || Rails.env.test?
+ Settings.ldap['sync_name'] = true if Settings.ldap['sync_name'].nil?
if Settings.ldap['host'].present?
# We detected old LDAP configuration syntax. Update the config to make it
# look like it was entered with the new syntax.
@@ -265,6 +266,7 @@ Settings['gitlab_ci'] ||= Settingslogic.new({})
Settings.gitlab_ci['shared_runners_enabled'] = true if Settings.gitlab_ci['shared_runners_enabled'].nil?
Settings.gitlab_ci['builds_path'] = Settings.absolute(Settings.gitlab_ci['builds_path'] || "builds/")
Settings.gitlab_ci['url'] ||= Settings.__send__(:build_gitlab_ci_url)
+Settings.gitlab_ci['component_fqdn'] ||= Settings.__send__(:build_ci_component_fqdn)
#
# CI Secure Files
@@ -280,12 +282,14 @@ Settings.ci_secure_files['object_store'] = ObjectStoreSettings.legacy_parse(Sett
Settings['incoming_email'] ||= Settingslogic.new({})
Settings.incoming_email['enabled'] = false if Settings.incoming_email['enabled'].nil?
Settings.incoming_email['inbox_method'] ||= 'imap'
+Settings.incoming_email['encrypted_secret_file'] = Settings.absolute(Settings.incoming_email['encrypted_secret_file'] || File.join(Settings.encrypted_settings['path'], "incoming_email.yaml.enc"))
#
# Service desk email
#
Settings['service_desk_email'] ||= Settingslogic.new({})
Settings.service_desk_email['enabled'] = false if Settings.service_desk_email['enabled'].nil?
+Settings.service_desk_email['encrypted_secret_file'] = Settings.absolute(Settings.service_desk_email['encrypted_secret_file'] || File.join(Settings.encrypted_settings['path'], "service_desk_email.yaml.enc"))
#
# Build Artifacts
@@ -440,7 +444,7 @@ Settings.mattermost['enabled'] = false if Settings.mattermost['enabled'].nil?
Settings.mattermost['host'] = nil unless Settings.mattermost.enabled
#
-# Jira Connect (GitLab.com for Jira Cloud App)
+# Jira Connect (GitLab for Jira Cloud App)
#
Settings['jira_connect'] ||= Settingslogic.new({})
@@ -676,6 +680,9 @@ Settings.cron_jobs['ci_runner_versions_reconciliation_worker']['job_class'] = 'C
Settings.cron_jobs['users_migrate_records_to_ghost_user_in_batches_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['users_migrate_records_to_ghost_user_in_batches_worker']['cron'] ||= '*/2 * * * *'
Settings.cron_jobs['users_migrate_records_to_ghost_user_in_batches_worker']['job_class'] = 'Users::MigrateRecordsToGhostUserInBatchesWorker'
+Settings.cron_jobs['ci_runners_stale_machines_cleanup_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['ci_runners_stale_machines_cleanup_worker']['cron'] ||= '36 4 * * *'
+Settings.cron_jobs['ci_runners_stale_machines_cleanup_worker']['job_class'] = 'Ci::Runners::StaleMachinesCleanupCronWorker'
Gitlab.ee do
Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= Settingslogic.new({})
@@ -771,6 +778,9 @@ Gitlab.ee do
Settings.cron_jobs['elastic_migration_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['elastic_migration_worker']['cron'] ||= '*/30 * * * *'
Settings.cron_jobs['elastic_migration_worker']['job_class'] ||= 'Elastic::MigrationWorker'
+ Settings.cron_jobs['search_index_curation_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['search_index_curation_worker']['cron'] ||= '*/1 * * * *'
+ Settings.cron_jobs['search_index_curation_worker']['job_class'] ||= 'Search::IndexCurationWorker'
Settings.cron_jobs['sync_seat_link_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['sync_seat_link_worker']['cron'] ||= "#{rand(60)} #{rand(3..4)} * * * UTC"
Settings.cron_jobs['sync_seat_link_worker']['job_class'] = 'SyncSeatLinkWorker'
@@ -816,13 +826,25 @@ Gitlab.ee do
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner'] ||= Settingslogic.new({})
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner']['cron'] ||= "0 0 * * *"
Settings.cron_jobs['licenses_reset_submit_license_usage_data_banner']['job_class'] = 'Licenses::ResetSubmitLicenseUsageDataBannerWorker'
+ Settings.cron_jobs['abandoned_trial_emails'] ||= Settingslogic.new({})
+ 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'] ||= Settingslogic.new({})
+ Settings.cron_jobs['package_metadata_sync_worker']['cron'] ||= "0 1 * * *"
+ Settings.cron_jobs['package_metadata_sync_worker']['job_class'] = 'PackageMetadata::SyncWorker'
Gitlab.com do
+ Settings.cron_jobs['free_user_cap_backfill_notification_jobs_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['free_user_cap_backfill_notification_jobs_worker']['cron'] ||= '*/5 * * * *'
+ Settings.cron_jobs['free_user_cap_backfill_notification_jobs_worker']['job_class'] = 'Namespaces::FreeUserCap::BackfillNotificationJobsWorker'
Settings.cron_jobs['disable_legacy_open_source_license_for_inactive_projects'] ||= Settingslogic.new({})
Settings.cron_jobs['disable_legacy_open_source_license_for_inactive_projects']['cron'] ||= "30 5 * * 0"
Settings.cron_jobs['disable_legacy_open_source_license_for_inactive_projects']['job_class'] = 'Projects::DisableLegacyOpenSourceLicenseForInactiveProjectsWorker'
Settings.cron_jobs['notify_seats_exceeded_batch_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['notify_seats_exceeded_batch_worker']['cron'] ||= '0 3 * * *'
Settings.cron_jobs['notify_seats_exceeded_batch_worker']['job_class'] ||= 'GitlabSubscriptions::NotifySeatsExceededBatchWorker'
+ Settings.cron_jobs['gitlab_subscriptions_schedule_refresh_seats_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['gitlab_subscriptions_schedule_refresh_seats_worker']['cron'] ||= "0 */6 * * *"
+ Settings.cron_jobs['gitlab_subscriptions_schedule_refresh_seats_worker']['job_class'] = 'GitlabSubscriptions::ScheduleRefreshSeatsWorker'
end
end
@@ -884,6 +906,8 @@ Settings['repositories'] ||= Settingslogic.new({})
Settings.repositories['storages'] ||= {}
Settings.repositories.storages.each do |key, storage|
+ next if Settings.repositories.storages[key].is_a?(Gitlab::GitalyClient::StorageSettings)
+
Settings.repositories.storages[key] = Gitlab::GitalyClient::StorageSettings.new(storage)
end
diff --git a/config/initializers/9_fast_gettext.rb b/config/initializers/9_fast_gettext.rb
deleted file mode 100644
index 0c28a1b7ce8..00000000000
--- a/config/initializers/9_fast_gettext.rb
+++ /dev/null
@@ -1,4 +0,0 @@
-# frozen_string_literal: true
-
-FastGettext.default_available_locales = Gitlab::I18n.available_locales
-I18n.available_locales = Gitlab::I18n.available_locales
diff --git a/config/initializers/bootstrap_form.rb b/config/initializers/bootstrap_form.rb
deleted file mode 100644
index 8121bc8bf1d..00000000000
--- a/config/initializers/bootstrap_form.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-# frozen_string_literal: true
-
-module BootstrapFormBuilderCustomization
- def label_class
- "label-bold"
- end
-end
-
-BootstrapForm::FormBuilder.prepend(BootstrapFormBuilderCustomization)
diff --git a/config/initializers/check_forced_decomposition.rb b/config/initializers/check_forced_decomposition.rb
new file mode 100644
index 00000000000..7da2f047ca1
--- /dev/null
+++ b/config/initializers/check_forced_decomposition.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+return if Gitlab::Utils.to_boolean(ENV.fetch('GITLAB_ALLOW_SEPARATE_CI_DATABASE', false))
+
+# GitLab.com is already decomposed
+return if Gitlab.com?
+
+# It is relatively safe for development, and GDK defaults to decomposed already
+return if Gitlab.dev_or_test_env?
+
+ci_config = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env, name: 'ci')
+main_config = ActiveRecord::Base.configurations.configs_for(env_name: Rails.env, name: 'main')
+
+return unless ci_config
+
+# If the ci `database` is the same as main `database`, it is likely the same
+return if ci_config.database == main_config.database &&
+ ci_config.host == main_config.host
+
+raise "Separate CI database is not ready for production use!\n\n" \
+ "Did you mean to use `database: #{main_config.database}` for the `ci:` database connection?\n" \
+ "Or, use `export GITLAB_ALLOW_SEPARATE_CI_DATABASE=1` to ignore this check."
diff --git a/config/initializers/countries.rb b/config/initializers/countries.rb
index 171c126143c..98d06c9a893 100644
--- a/config/initializers/countries.rb
+++ b/config/initializers/countries.rb
@@ -8,55 +8,18 @@ end
# This overrides the display name for Ukraine to 'Ukraine (except the Crimea, Donetsk, and Luhansk regions)'
# See: https://gitlab.com/gitlab-org/gitlab/-/issues/374946
# To be removed after https://gitlab.com/gitlab-org/gitlab/issues/14784 is implemented
-# Data fetched is based on https://github.com/countries/countries/blob/master/lib/countries/data/countries/UA.yaml
ISO3166::Data.register(
- continent: "Europe",
- address_format: "|-
- {{recipient}}
- {{street}}
- {{city}} {{region_short}}
- {{postalcode}}
- {{country}}",
- alpha2: "UA",
- alpha3: "UKR",
- country_code: '380',
- international_prefix: '810',
- ioc: "UKR",
- gec: "UP",
- name: "Ukraine (except the Crimea, Donetsk, and Luhansk regions)",
- national_destination_code_lengths: [2],
- national_number_lengths: [8, 9],
- national_prefix: '8',
- number: '804',
- region: "Europe",
- subregion: "Eastern Europe",
- world_region: "EMEA",
- un_locode: "UA",
- nationality: "Ukrainian",
- vat_rates: {
- standard: 20
- },
- reduced: [7],
- super_reduced: {
- parking: { postal_code: true }
- },
- unofficial_names: %w(Ukraine Ucrania ウクライナ Oekraïne Украина Україна Украіна),
- languages_official: ["uk"],
- languages_spoken: ["uk"],
- geo: {
- latitude: 48.379433,
- latitude_dec: '48.92656326293945',
- longitude: 31.16558,
- longitude_dec: '31.47578239440918',
- max_latitude: 52.37958099999999,
- max_longitude: 40.2285809,
- min_latitude: 44.2924,
- min_longitude: 22.137159,
- bounds: {
- northeast: { lat: 52.37958099999999, lng: 40.2285809 },
- southwest: { lat: 44.2924, lng: 22.137159 }
- }
- },
- currency_code: "UAH",
- start_of_week: "monday"
+ ISO3166::Data.new('UA')
+ .call
+ .deep_symbolize_keys
+ .merge({ name: 'Ukraine (except the Crimea, Donetsk, and Luhansk regions)' })
+)
+
+# Updating the display name of Taiwan, from `Taiwan, Province of China` to `Taiwan`
+# See issue: https://gitlab.com/gitlab-org/gitlab/-/issues/349333
+ISO3166::Data.register(
+ ISO3166::Data.new('TW')
+ .call
+ .deep_symbolize_keys
+ .merge({ name: 'Taiwan' })
)
diff --git a/config/initializers/database_config.rb b/config/initializers/database_config.rb
index 09dedd903f8..bbb82443a3e 100644
--- a/config/initializers/database_config.rb
+++ b/config/initializers/database_config.rb
@@ -2,14 +2,14 @@
Rails.application.reloader.to_run(:before) do
# Make sure connects_to for Ci::ApplicationRecord gets called outside of config/routes.rb first
- # See InitializerConnections.with_disabled_database_connections
+ # See InitializerConnections.raise_if_new_database_connection
Ci::ApplicationRecord
end
Gitlab.ee do
if Gitlab::Geo.geo_database_configured?
# Make sure connects_to for geo gets called outside of config/routes.rb first
- # See InitializerConnections.with_disabled_database_connections
+ # See InitializerConnections.raise_if_new_database_connection
Geo::TrackingBase
end
diff --git a/config/initializers/doorkeeper_openid_connect.rb b/config/initializers/doorkeeper_openid_connect.rb
index a3a2550811b..1a315feca7e 100644
--- a/config/initializers/doorkeeper_openid_connect.rb
+++ b/config/initializers/doorkeeper_openid_connect.rb
@@ -31,9 +31,9 @@ Doorkeeper::OpenidConnect.configure do
Digest::SHA256.hexdigest "#{user.id}-#{Rails.application.secrets.secret_key_base}"
end
- o.claim(:name) { |user| user.name }
- o.claim(:nickname) { |user| user.username }
- o.claim(:preferred_username) { |user| user.username }
+ o.claim(:name, response: [:id_token, :user_info]) { |user| user.name }
+ o.claim(:nickname, response: [:id_token, :user_info]) { |user| user.username }
+ o.claim(:preferred_username, response: [:id_token, :user_info]) { |user| user.username }
# Check whether the application has access to the email scope, and grant
# access to the user's primary email address if so, otherwise their
@@ -55,10 +55,10 @@ Doorkeeper::OpenidConnect.configure do
end
end
- o.claim(:website) { |user| user.full_website_url if user.website_url.present? }
- o.claim(:profile) { |user| Gitlab::Routing.url_helpers.user_url user }
- o.claim(:picture) { |user| user.avatar_url(only_path: false) }
- o.claim(:groups) { |user| user.membership_groups.joins(:route).with_route.map(&:full_path) }
+ o.claim(:website, response: [:id_token, :user_info]) { |user| user.full_website_url if user.website_url.present? }
+ o.claim(:profile, response: [:id_token, :user_info]) { |user| Gitlab::Routing.url_helpers.user_url user }
+ o.claim(:picture, response: [:id_token, :user_info]) { |user| user.avatar_url(only_path: false) }
+ o.claim(:groups) { |user| user.membership_groups.joins(:route).with_route.map(&:full_path) }
o.claim(:groups_direct, response: [:id_token]) { |user| user.groups.joins(:route).with_route.map(&:full_path) }
o.claim('https://gitlab.org/claims/groups/owner') do |user|
user.owned_groups.joins(:route).with_route.map(&:full_path).presence
diff --git a/config/initializers/google_api_client.rb b/config/initializers/google_api_client.rb
index ab469e5b0a1..9c1bc3ca783 100644
--- a/config/initializers/google_api_client.rb
+++ b/config/initializers/google_api_client.rb
@@ -11,13 +11,7 @@ require 'signet/errors'
# that may hit timeouts will mainly benefit from this.
Google::Apis::RequestOptions.default.retries = 3 if Gitlab::Utils.to_boolean(ENV.fetch('ENABLE_GOOGLE_API_RETRIES', true))
-# By default, httpclient will set a send timeout of 120 seconds (https://github.com/nahi/httpclient/blob/82929c4baae14c2319c3f9aba49488c6f6def875/lib/httpclient/session.rb#L147),
-# which causes any request to be interrupted every 2 minutes (https://github.com/nahi/httpclient/blob/82929c4baae14c2319c3f9aba49488c6f6def875/lib/httpclient/session.rb#L515).
-#
-# The Google API client uses resumable uploads so that if a transfer
-# request is interrupted, it can retry where it left off. The client
-# will retry at most N + 1 times, which means transfers can only last as
-# long as this (N + 1) * send timeout. We raise this timeout to an hour
-# since otherwise transfers can only last 8 minutes (4 * 2 min) before
-# being interrupted.
-Google::Apis::ClientOptions.default.send_timeout_sec = 3600
+# The default chunk size of 100MB provides no performance benefits
+# while using more memory at peak, see discussion in
+# https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108456#note_1259008557
+Google::Apis::RequestOptions.default.upload_chunk_size = 10.megabytes
diff --git a/config/initializers/google_api_client_patch.rb b/config/initializers/google_api_client_patch.rb
deleted file mode 100644
index 2a832790f97..00000000000
--- a/config/initializers/google_api_client_patch.rb
+++ /dev/null
@@ -1,68 +0,0 @@
-# frozen_string_literal: true
-
-require 'google/apis/core/http_command'
-require 'google/apis/version'
-
-raise 'This patch is only tested with google-api-client-ruby v0.53.0' unless Google::Apis::VERSION == "0.53.0"
-
-# The google-api-ruby-client does not have a way to increase or disable
-# the maximum allowed time for a request to be retried. By default, it
-# is using the Retriable gem's 15-minute timeout, which appears to be
-# too low for uploads over 10 GB. This patches the gem with the upstream
-# changes:
-# https://github.com/googleapis/google-api-ruby-client/pull/8106
-module Google
- module Apis
- module Core
- # Command for HTTP request/response.
- class HttpCommand
- MAX_ELAPSED_TIME = 3600
-
- # Execute the command, retrying as necessary
- #
- # @param [HTTPClient] client
- # HTTP client
- # @yield [result, err] Result or error if block supplied
- # @return [Object]
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
- # @raise [Google::Apis::AuthorizationError] Authorization is required
- def execute(client)
- prepare!
- opencensus_begin_span
- begin
- Retriable.retriable tries: options.retries + 1,
- max_elapsed_time: MAX_ELAPSED_TIME,
- base_interval: 1,
- multiplier: 2,
- on: RETRIABLE_ERRORS do |try|
- # This 2nd level retriable only catches auth errors, and supports 1 retry, which allows
- # auth to be re-attempted without having to retry all sorts of other failures like
- # NotFound, etc
- auth_tries = (try == 1 && authorization_refreshable? ? 2 : 1)
- Retriable.retriable tries: auth_tries,
- on: [Google::Apis::AuthorizationError, Signet::AuthorizationError, Signet::RemoteServerError, Signet::UnexpectedStatusError],
- on_retry: proc { |*| refresh_authorization } do
- execute_once(client).tap do |result|
- if block_given?
- yield result, nil
- end
- end
- end
- end
- rescue => e # rubocop:disable Style/RescueStandardError
- if block_given?
- yield nil, e
- else
- raise e
- end
- end
- ensure
- opencensus_end_span
- @http_res = nil
- release!
- end
- end
- end
- end
-end
diff --git a/config/initializers/macos.rb b/config/initializers/macos.rb
index 1edd6c0a730..3b669a73f49 100644
--- a/config/initializers/macos.rb
+++ b/config/initializers/macos.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-if /darwin/ =~ RUBY_PLATFORM
+if RUBY_PLATFORM.include?('darwin')
Gitlab::Cluster::LifecycleEvents.on_before_fork do
require 'fiddle'
diff --git a/config/initializers/memory_watchdog.rb b/config/initializers/memory_watchdog.rb
index 99c5d61293f..27d9bf8b8f8 100644
--- a/config/initializers/memory_watchdog.rb
+++ b/config/initializers/memory_watchdog.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
return unless Gitlab::Runtime.application?
-return unless Gitlab::Utils.to_boolean(ENV['GITLAB_MEMORY_WATCHDOG_ENABLED'], default: Gitlab::Runtime.puma?)
+return unless Gitlab::Utils.to_boolean(ENV['GITLAB_MEMORY_WATCHDOG_ENABLED'], default: true)
Gitlab::Cluster::LifecycleEvents.on_worker_start do
watchdog = Gitlab::Memory::Watchdog.new
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 58441b83c7d..cf8df814990 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -33,7 +33,7 @@ queues_config_hash[:namespace] = Gitlab::Redis::Queues::SIDEKIQ_NAMESPACE
enable_json_logs = Gitlab.config.sidekiq.log_format == 'json'
enable_sidekiq_memory_killer = ENV['SIDEKIQ_MEMORY_KILLER_MAX_RSS'].to_i.nonzero? &&
- !Gitlab::Utils.to_boolean(ENV['GITLAB_MEMORY_WATCHDOG_ENABLED'])
+ !Gitlab::Utils.to_boolean(ENV['GITLAB_MEMORY_WATCHDOG_ENABLED'], default: true)
Sidekiq.configure_server do |config|
config[:strict] = false
diff --git a/config/initializers_before_autoloader/001_fast_gettext.rb b/config/initializers_before_autoloader/001_fast_gettext.rb
index 76a1dafd2d8..3d54ed8f32f 100644
--- a/config/initializers_before_autoloader/001_fast_gettext.rb
+++ b/config/initializers_before_autoloader/001_fast_gettext.rb
@@ -1,31 +1,5 @@
# frozen_string_literal: true
-translation_repositories = [
- FastGettext::TranslationRepository.build(
- 'gitlab',
- path: File.join(Rails.root, 'locale'),
- type: :po,
- ignore_fuzzy: true
- )
-]
+require_relative '../../lib/gitlab/i18n'
-Gitlab.jh do
- translation_repositories.unshift(
- FastGettext::TranslationRepository.build(
- 'gitlab',
- path: File.join(Rails.root, 'jh', 'locale'),
- type: :po,
- ignore_fuzzy: true
- )
- )
-end
-
-FastGettext.add_text_domain(
- 'gitlab',
- type: :chain,
- chain: translation_repositories,
- ignore_fuzzy: true
-)
-
-FastGettext.default_text_domain = 'gitlab'
-FastGettext.default_locale = :en
+Gitlab::I18n.setup(domain: 'gitlab', default_locale: :en)
diff --git a/config/locales/doorkeeper.en.yml b/config/locales/doorkeeper.en.yml
index 0b3b5af48a1..d6c5b3bbe98 100644
--- a/config/locales/doorkeeper.en.yml
+++ b/config/locales/doorkeeper.en.yml
@@ -96,6 +96,8 @@ en:
Grants read-only access to the user's profile data using OpenID Connect.
email:
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.
project_access_token_scope_desc:
api:
Grants complete read and write access to the scoped project API, including the Package Registry.
diff --git a/config/locales/en.yml b/config/locales/en.yml
index d5c7eecb068..796ca56c604 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -5,6 +5,11 @@ en:
hello: "Hello world"
activerecord:
attributes:
+ appearance:
+ pwa_name: "PWA name"
+ pwa_short_name: "PWA short name"
+ pwa_description: "PWA description"
+ pwa_icon: "Icon"
incident_management/timeline_event:
note: 'Timeline text'
issue_link:
diff --git a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
index 2b5b0eaa2cc..49da20e316e 100644
--- a/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
+++ b/config/metrics/counts_28d/20210216180327_action_monthly_active_users_ide_edit.yml
@@ -9,7 +9,17 @@ product_category: web_ide
value_type: number
status: active
time_frame: 28d
+instrumentation_class: AggregatedMetric
data_source: redis_hll
+options:
+ aggregate:
+ operator: OR
+ attribute: user_id
+ events:
+ - g_edit_by_web_ide
+ - g_edit_by_sfe
+ - g_edit_by_snippet_ide
+ - g_edit_by_live_preview
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
index 4b972a3315d..a5a6bcd1a93 100755
--- a/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
+++ b/config/metrics/counts_28d/20210216184559_ci_templates_total_unique_counts_monthly.yml
@@ -176,6 +176,8 @@ options:
- p_ci_templates_matlab
- p_ci_templates_themekit
- p_ci_templates_katalon
+ - p_ci_templates_terraform_module_base
+ - p_ci_templates_terraform_module
distribution:
- ce
- ee
diff --git a/config/metrics/counts_28d/20230105222225_g_project_management_issue_design_comments_removed_monthly.yml b/config/metrics/counts_28d/20230105222225_g_project_management_issue_design_comments_removed_monthly.yml
new file mode 100644
index 00000000000..9c02ed98a82
--- /dev/null
+++ b/config/metrics/counts_28d/20230105222225_g_project_management_issue_design_comments_removed_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.issues_edit.g_project_management_issue_design_comments_removed_monthly
+description: Count of unique users per month who removed a comment on a design
+product_section: dev
+product_stage: plan
+product_group: product_planning
+product_category: design_management
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108307
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+options:
+ events:
+ - g_project_management_issue_design_comments_removed
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230112174745_i_testing_active_user_monthly.yml b/config/metrics/counts_28d/20230112174745_i_testing_active_user_monthly.yml
new file mode 100644
index 00000000000..8f73011a6ed
--- /dev/null
+++ b/config/metrics/counts_28d/20230112174745_i_testing_active_user_monthly.yml
@@ -0,0 +1,29 @@
+---
+data_category: optional
+key_path: redis_hll_counters.testing.i_testing_active_user_monthly
+description: Count of monthly active users for pipeline insights features
+product_section: ops
+product_stage: verify
+product_group: pipeline_insights
+product_category: testing
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108629
+time_frame: 28d
+instrumentation_class: AggregatedMetric
+data_source: redis_hll
+options:
+ aggregate:
+ operator: OR
+ attribute: user_id
+ events:
+ - 'i_testing_test_report_uploaded'
+ - 'i_testing_coverage_report_uploaded'
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230120094644_g_runner_fleet_read_jobs_statistics_monthly.yml b/config/metrics/counts_28d/20230120094644_g_runner_fleet_read_jobs_statistics_monthly.yml
new file mode 100644
index 00000000000..a99bcf9fdf4
--- /dev/null
+++ b/config/metrics/counts_28d/20230120094644_g_runner_fleet_read_jobs_statistics_monthly.yml
@@ -0,0 +1,24 @@
+---
+key_path: redis_hll_counters.runner.g_runner_fleet_read_jobs_statistics_monthly
+name: g_runner_fleet_read_jobs_statistics_monthly
+description: Count of unique users (monthly) who read runner job statistics
+product_section: ops
+product_stage: verify
+product_group: runner
+product_category: runner_fleet
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109113
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - g_runner_fleet_read_jobs_statistics
+performance_indicator_type: []
+distribution:
+- ee
+tier:
+- ultimate
diff --git a/config/metrics/counts_28d/20230123233604_i_ci_secrets_management_id_tokens_build_created_monthly.yml b/config/metrics/counts_28d/20230123233604_i_ci_secrets_management_id_tokens_build_created_monthly.yml
new file mode 100644
index 00000000000..ff1677e4857
--- /dev/null
+++ b/config/metrics/counts_28d/20230123233604_i_ci_secrets_management_id_tokens_build_created_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_secrets_management.i_ci_secrets_management_id_tokens_build_created_monthly
+description: Monthly count of unique users who created a pipeline with id_tokens (JWT tokens)
+product_section: ops
+product_stage: verify
+product_group: pipeline_authoring
+product_category: secrets_management
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109686
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - i_ci_secrets_management_id_tokens_build_created
diff --git a/config/metrics/counts_28d/20230129134935_i_container_registry_push_tag_user_monthly.yml b/config/metrics/counts_28d/20230129134935_i_container_registry_push_tag_user_monthly.yml
new file mode 100644
index 00000000000..2c2bcc689a0
--- /dev/null
+++ b/config/metrics/counts_28d/20230129134935_i_container_registry_push_tag_user_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_push_tag_user_monthly
+description: A monthly count of users that have pushed a tag to the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_push_tag_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230129135520_i_container_registry_delete_tag_user_monthly.yml b/config/metrics/counts_28d/20230129135520_i_container_registry_delete_tag_user_monthly.yml
new file mode 100644
index 00000000000..177fc92f3f0
--- /dev/null
+++ b/config/metrics/counts_28d/20230129135520_i_container_registry_delete_tag_user_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_delete_tag_user_monthly
+description: A monthly count of users that have deleted a tag from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_delete_tag_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230129135748_i_container_registry_push_repository_user_monthly.yml b/config/metrics/counts_28d/20230129135748_i_container_registry_push_repository_user_monthly.yml
new file mode 100644
index 00000000000..6aa8a0fc5cb
--- /dev/null
+++ b/config/metrics/counts_28d/20230129135748_i_container_registry_push_repository_user_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_push_repository_user_monthly
+description: A monthly count of users that have pushed a repository to the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_push_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230129140646_i_container_registry_delete_repository_user_monthly.yml b/config/metrics/counts_28d/20230129140646_i_container_registry_delete_repository_user_monthly.yml
new file mode 100644
index 00000000000..5dc8a351956
--- /dev/null
+++ b/config/metrics/counts_28d/20230129140646_i_container_registry_delete_repository_user_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_delete_repository_user_monthly
+description: A monthly count of users that have deleted a repository from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_delete_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230129140954_i_container_registry_create_repository_user_monthly.yml b/config/metrics/counts_28d/20230129140954_i_container_registry_create_repository_user_monthly.yml
new file mode 100644
index 00000000000..a1789967986
--- /dev/null
+++ b/config/metrics/counts_28d/20230129140954_i_container_registry_create_repository_user_monthly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_create_repository_user_monthly
+description: A monthly count of users that have created a repository from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_create_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml b/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml
new file mode 100644
index 00000000000..2aa6bf583e0
--- /dev/null
+++ b/config/metrics/counts_28d/20230130074932_p_ci_templates_terraform_module_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_monthly
+description: Count of pipelines using the Terraform Module template
+product_section: ops
+product_stage: configure
+product_group: configure
+product_category: infrastructure_as_code
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_terraform_module
diff --git a/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml b/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml
new file mode 100644
index 00000000000..bf83a73330e
--- /dev/null
+++ b/config/metrics/counts_28d/20230130075614_p_ci_templates_terraform_module_base_monthly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_base_monthly
+description: Count of pipelines using the Terraform Module Base template
+product_section: ops
+product_stage: configure
+product_group: configure
+product_category: infrastructure_as_code
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_terraform_module_base
diff --git a/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml b/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
index 029742453d8..71c02fc5681 100755
--- a/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
+++ b/config/metrics/counts_7d/20210216184557_ci_templates_total_unique_counts_weekly.yml
@@ -177,6 +177,8 @@ options:
- p_ci_templates_matlab
- p_ci_templates_themekit
- p_ci_templates_katalon
+ - p_ci_templates_terraform_module_base
+ - p_ci_templates_terraform_module
distribution:
- ce
- ee
diff --git a/config/metrics/counts_7d/20230105222224_g_project_management_issue_design_comments_removed_weekly.yml b/config/metrics/counts_7d/20230105222224_g_project_management_issue_design_comments_removed_weekly.yml
new file mode 100644
index 00000000000..138638a0f45
--- /dev/null
+++ b/config/metrics/counts_7d/20230105222224_g_project_management_issue_design_comments_removed_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.issues_edit.g_project_management_issue_design_comments_removed_weekly
+description: Count of unique users per week who removed a comment on a design
+product_section: dev
+product_stage: plan
+product_group: product_planning
+product_category: design_management
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108307
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+options:
+ events:
+ - g_project_management_issue_design_comments_removed
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230112174745_i_testing_active_user_weekly.yml b/config/metrics/counts_7d/20230112174745_i_testing_active_user_weekly.yml
new file mode 100644
index 00000000000..d1c553601e6
--- /dev/null
+++ b/config/metrics/counts_7d/20230112174745_i_testing_active_user_weekly.yml
@@ -0,0 +1,29 @@
+---
+data_category: optional
+key_path: redis_hll_counters.testing.i_testing_active_user_weekly
+description: Count of weekly active users for pipeline insights features
+product_section: ops
+product_stage: verify
+product_group: pipeline_insights
+product_category: testing
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108629
+time_frame: 7d
+instrumentation_class: AggregatedMetric
+data_source: redis_hll
+options:
+ aggregate:
+ operator: OR
+ attribute: user_id
+ events:
+ - 'i_testing_test_report_uploaded'
+ - 'i_testing_coverage_report_uploaded'
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230120094643_g_runner_fleet_read_jobs_statistics_weekly.yml b/config/metrics/counts_7d/20230120094643_g_runner_fleet_read_jobs_statistics_weekly.yml
new file mode 100644
index 00000000000..97659c7ed63
--- /dev/null
+++ b/config/metrics/counts_7d/20230120094643_g_runner_fleet_read_jobs_statistics_weekly.yml
@@ -0,0 +1,24 @@
+---
+key_path: redis_hll_counters.runner.g_runner_fleet_read_jobs_statistics_weekly
+name: g_runner_fleet_read_jobs_statistics_weekly
+description: Count of unique users (weekly) who read runner job statistics
+product_section: ops
+product_stage: verify
+product_group: runner
+product_category: runner_fleet
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109113
+time_frame: 28d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - g_runner_fleet_read_jobs_statistics
+performance_indicator_type: []
+distribution:
+- ee
+tier:
+- ultimate
diff --git a/config/metrics/counts_7d/20230123233604_i_ci_secrets_management_id_tokens_build_created_weekly.yml b/config/metrics/counts_7d/20230123233604_i_ci_secrets_management_id_tokens_build_created_weekly.yml
new file mode 100644
index 00000000000..cbbd4f7cc2c
--- /dev/null
+++ b/config/metrics/counts_7d/20230123233604_i_ci_secrets_management_id_tokens_build_created_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.ci_secrets_management.i_ci_secrets_management_id_tokens_build_created_weekly
+description: Weekly count of unique users who created a pipeline with id_tokens (JWT tokens)
+product_section: ops
+product_stage: verify
+product_group: pipeline_authoring
+product_category: secrets_management
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109686
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - i_ci_secrets_management_id_tokens_build_created
diff --git a/config/metrics/counts_7d/20230129032841_i_container_registry_push_tag_user_weekly.yml b/config/metrics/counts_7d/20230129032841_i_container_registry_push_tag_user_weekly.yml
new file mode 100644
index 00000000000..d9c150f4b62
--- /dev/null
+++ b/config/metrics/counts_7d/20230129032841_i_container_registry_push_tag_user_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_push_tag_user_weekly
+description: A weekly count of users that have pushed a tag to the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_push_tag_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230129034513_i_container_registry_delete_tag_user_weekly.yml b/config/metrics/counts_7d/20230129034513_i_container_registry_delete_tag_user_weekly.yml
new file mode 100644
index 00000000000..19e3866d862
--- /dev/null
+++ b/config/metrics/counts_7d/20230129034513_i_container_registry_delete_tag_user_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_delete_tag_user_weekly
+description: A weekly count of users that have deleted a tag from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_delete_tag_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230129034950_i_container_registry_push_repository_user_weekly.yml b/config/metrics/counts_7d/20230129034950_i_container_registry_push_repository_user_weekly.yml
new file mode 100644
index 00000000000..e719ca0abda
--- /dev/null
+++ b/config/metrics/counts_7d/20230129034950_i_container_registry_push_repository_user_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_push_repository_user_weekly
+description: A weekly count of users that have pushed a repository to the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_push_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230129035454_i_container_registry_delete_repository_user_weekly.yml b/config/metrics/counts_7d/20230129035454_i_container_registry_delete_repository_user_weekly.yml
new file mode 100644
index 00000000000..46f66db821a
--- /dev/null
+++ b/config/metrics/counts_7d/20230129035454_i_container_registry_delete_repository_user_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_delete_repository_user_weekly
+description: A weekly count of users that have deleted a repository from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_delete_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230129035748_i_container_registry_create_repository_user_weekly.yml b/config/metrics/counts_7d/20230129035748_i_container_registry_create_repository_user_weekly.yml
new file mode 100644
index 00000000000..0b20ec93c71
--- /dev/null
+++ b/config/metrics/counts_7d/20230129035748_i_container_registry_create_repository_user_weekly.yml
@@ -0,0 +1,26 @@
+---
+key_path: redis_hll_counters.user_container_registry.i_container_registry_create_repository_user_weekly
+description: A weekly count of users that have created a repository from the registry
+product_section: ops
+product_stage: package
+product_group: package
+product_category: container_registry
+value_type: number
+status: active
+milestone: '15.9'
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107918
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+options:
+ events:
+ - i_container_registry_create_repository_user
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml b/config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml
new file mode 100644
index 00000000000..f38588a1443
--- /dev/null
+++ b/config/metrics/counts_7d/20230130074931_p_ci_templates_terraform_module_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_weekly
+description: Count of pipelines using the Terraform Module template
+product_section: ops
+product_stage: configure
+product_group: configure
+product_category: infrastructure_as_code
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_terraform_module
diff --git a/config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml b/config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml
new file mode 100644
index 00000000000..3f5fbfdcb86
--- /dev/null
+++ b/config/metrics/counts_7d/20230130075613_p_ci_templates_terraform_module_base_weekly.yml
@@ -0,0 +1,25 @@
+---
+key_path: redis_hll_counters.ci_templates.p_ci_templates_terraform_module_base_weekly
+description: Count of pipelines using the Terraform Module Base template
+product_section: ops
+product_stage: configure
+product_group: configure
+product_category: infrastructure_as_code
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110493
+time_frame: 7d
+data_source: redis_hll
+data_category: optional
+instrumentation_class: RedisHLLMetric
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+options:
+ events:
+ - p_ci_templates_terraform_module_base
diff --git a/config/metrics/counts_all/20210216175512_ci_internal_pipelines.yml b/config/metrics/counts_all/20210216175512_ci_internal_pipelines.yml
index 44a384a8ff5..0192d7846b0 100644
--- a/config/metrics/counts_all/20210216175512_ci_internal_pipelines.yml
+++ b/config/metrics/counts_all/20210216175512_ci_internal_pipelines.yml
@@ -10,6 +10,7 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountCiInternalPipelinesMetric
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180443_issues_created_gitlab_alerts.yml b/config/metrics/counts_all/20210216180443_issues_created_gitlab_alerts.yml
index c53df182d94..6d53e08645e 100644
--- a/config/metrics/counts_all/20210216180443_issues_created_gitlab_alerts.yml
+++ b/config/metrics/counts_all/20210216180443_issues_created_gitlab_alerts.yml
@@ -10,6 +10,7 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountIssuesCreatedManuallyFromAlertsMetric
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216180445_issues_created_manually_from_alerts.yml b/config/metrics/counts_all/20210216180445_issues_created_manually_from_alerts.yml
index 1cd832617b2..4517a187ae1 100644
--- a/config/metrics/counts_all/20210216180445_issues_created_manually_from_alerts.yml
+++ b/config/metrics/counts_all/20210216180445_issues_created_manually_from_alerts.yml
@@ -10,6 +10,7 @@ value_type: number
status: active
time_frame: all
data_source: database
+instrumentation_class: CountIssuesCreatedManuallyFromAlertsMetric
distribution:
- ce
- ee
diff --git a/config/metrics/counts_all/20210216181946_pages_domains.yml b/config/metrics/counts_all/20210216181946_pages_domains.yml
index 8df4f3bd3a5..b6c7ef41b34 100644
--- a/config/metrics/counts_all/20210216181946_pages_domains.yml
+++ b/config/metrics/counts_all/20210216181946_pages_domains.yml
@@ -3,8 +3,8 @@ data_category: optional
key_path: counts.pages_domains
description: Total GitLab Pages domains
product_section: ops
-product_stage: release
-product_group: release
+product_stage: create
+product_group: editor
product_category: pages
value_type: number
status: active
diff --git a/config/metrics/counts_all/20230119154124_projects_with_monitor_enabled.yml b/config/metrics/counts_all/20230119154124_projects_with_monitor_enabled.yml
new file mode 100644
index 00000000000..3bfa27fa8ed
--- /dev/null
+++ b/config/metrics/counts_all/20230119154124_projects_with_monitor_enabled.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.projects_with_monitor_enabled
+description: The number of projects with Monitor turned on.
+product_section: ops
+product_stage: monitor
+product_group: respond
+product_category: incident_management
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/109380
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountProjectsWithMonitorEnabledMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230201120001_count_ml_candidates.yml b/config/metrics/counts_all/20230201120001_count_ml_candidates.yml
new file mode 100644
index 00000000000..aec9e18006e
--- /dev/null
+++ b/config/metrics/counts_all/20230201120001_count_ml_candidates.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.count_ml_candidates
+description: Count of created Ml Candidates
+product_section: dev
+product_stage: create
+product_group: mlops
+product_category: MLOps
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110642
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountMlCandidatesMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230201120002_count_ml_experiments.yml b/config/metrics/counts_all/20230201120002_count_ml_experiments.yml
new file mode 100644
index 00000000000..52c076cf072
--- /dev/null
+++ b/config/metrics/counts_all/20230201120002_count_ml_experiments.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.count_ml_experiments
+description: Count of created Ml Experiments
+product_section: dev
+product_stage: create
+product_group: mlops
+product_category: MLOps
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110642
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountMlExperimentsMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230201120003_count_projects_with_ml_candidates.yml b/config/metrics/counts_all/20230201120003_count_projects_with_ml_candidates.yml
new file mode 100644
index 00000000000..77b0fef30c4
--- /dev/null
+++ b/config/metrics/counts_all/20230201120003_count_projects_with_ml_candidates.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.count_projects_with_ml_candidates
+description: Count of unique projects that contain at least one Ml Candidate
+product_section: dev
+product_stage: create
+product_group: mlops
+product_category: MLOps
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110642
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountProjectsWithMlCandidatesMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230201120004_count_users_with_ml_candidates.yml b/config/metrics/counts_all/20230201120004_count_users_with_ml_candidates.yml
new file mode 100644
index 00000000000..7cb86824e35
--- /dev/null
+++ b/config/metrics/counts_all/20230201120004_count_users_with_ml_candidates.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.count_users_with_ml_candidates
+description: Count of unique users that have created at least one Ml Candidate
+product_section: dev
+product_stage: create
+product_group: mlops
+product_category: MLOps
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110642
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountUsersWithMlCandidatesMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230201120005_count_projects_with_ml_experiments.yml b/config/metrics/counts_all/20230201120005_count_projects_with_ml_experiments.yml
new file mode 100644
index 00000000000..fed72a30697
--- /dev/null
+++ b/config/metrics/counts_all/20230201120005_count_projects_with_ml_experiments.yml
@@ -0,0 +1,23 @@
+---
+key_path: counts.count_projects_with_ml_experiments
+description: Count of unique projects that contain at least one Ml Experiment
+product_section: dev
+product_stage: create
+product_group: mlops
+product_category: MLOps
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/110642
+time_frame: all
+data_source: database
+data_category: optional
+instrumentation_class: CountProjectsWithMlExperimentsMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230209153034_projects_jira_server_deployment_type_active.yml b/config/metrics/counts_all/20230209153034_projects_jira_server_deployment_type_active.yml
new file mode 100644
index 00000000000..53b8c280db4
--- /dev/null
+++ b/config/metrics/counts_all/20230209153034_projects_jira_server_deployment_type_active.yml
@@ -0,0 +1,25 @@
+---
+key_path: counts.projects_jira_server_deployment_type_active
+description: Count of active integrations with Jira Software with server deployment type
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111355
+time_frame: all
+data_source: database
+data_category: operational
+instrumentation_class: JiraActiveIntegrationsMetric
+options:
+ deployment_type: server
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20230209153255_projects_jira_cloud_deployment_type_active.yml b/config/metrics/counts_all/20230209153255_projects_jira_cloud_deployment_type_active.yml
new file mode 100644
index 00000000000..093afb71275
--- /dev/null
+++ b/config/metrics/counts_all/20230209153255_projects_jira_cloud_deployment_type_active.yml
@@ -0,0 +1,25 @@
+---
+key_path: counts.projects_jira_cloud_deployment_type_active
+description: Count of active integrations with Jira Software with cloud deployment type
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/111355
+time_frame: all
+data_source: database
+data_category: operational
+instrumentation_class: JiraActiveIntegrationsMetric
+options:
+ deployment_type: cloud
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/license/20210204124936_pages_version.yml b/config/metrics/license/20210204124936_pages_version.yml
index c056ca97ed0..35fdc4676fe 100644
--- a/config/metrics/license/20210204124936_pages_version.yml
+++ b/config/metrics/license/20210204124936_pages_version.yml
@@ -3,8 +3,8 @@ data_category: operational
key_path: gitlab_pages.version
description: The version number of GitLab Pages
product_section: ops
-product_stage: release
-product_group: release
+product_stage: create
+product_group: editor
product_category: pages
value_type: string
status: active
diff --git a/config/metrics/settings/20210204124934_pages_enabled.yml b/config/metrics/settings/20210204124934_pages_enabled.yml
index 1535932b559..76a1401ae2e 100644
--- a/config/metrics/settings/20210204124934_pages_enabled.yml
+++ b/config/metrics/settings/20210204124934_pages_enabled.yml
@@ -3,8 +3,8 @@ data_category: operational
key_path: gitlab_pages.enabled
description: Whether GitLab Pages is enabled
product_section: ops
-product_stage: release
-product_group: release
+product_stage: create
+product_group: editor
product_category: collection
value_type: boolean
status: active
diff --git a/config/metrics/settings/20230125220526_incoming_email_encrypted_secrets_enabled.yml b/config/metrics/settings/20230125220526_incoming_email_encrypted_secrets_enabled.yml
new file mode 100644
index 00000000000..ae73bcbafea
--- /dev/null
+++ b/config/metrics/settings/20230125220526_incoming_email_encrypted_secrets_enabled.yml
@@ -0,0 +1,23 @@
+---
+key_path: settings.incoming_email_encrypted_secrets_enabled
+description: Are encrypted incoming email secrets configured?
+product_section: enablement
+product_stage: enablement
+product_group: distribution
+product_category: build
+value_type: boolean
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108279
+time_frame: none
+data_source: system
+data_category: optional
+instrumentation_class: IncomingEmailEncryptedSecretsEnabledMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/settings/20230125221700_service_desk_email_encrypted_secrets_enabled.yml b/config/metrics/settings/20230125221700_service_desk_email_encrypted_secrets_enabled.yml
new file mode 100644
index 00000000000..227bc86adfa
--- /dev/null
+++ b/config/metrics/settings/20230125221700_service_desk_email_encrypted_secrets_enabled.yml
@@ -0,0 +1,23 @@
+---
+key_path: settings.service_desk_email_encrypted_secrets_enabled
+description: Are service desk email secrets configured?
+product_section: enablement
+product_stage: enablement
+product_group: distribution
+product_category: build
+value_type: boolean
+status: active
+milestone: "15.9"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108279
+time_frame: none
+data_source: system
+data_category: optional
+instrumentation_class: ServiceDeskEmailEncryptedSecretsEnabledMetric
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 3fc24dab3d7..58d7ea22231 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -178,8 +178,12 @@ class ObjectStoreSettings
# 1. The common settings are defined
# 2. The legacy settings are not defined
def use_consolidated_settings?
- return false unless settings.dig('object_store', 'enabled')
- return false unless settings.dig('object_store', 'connection').present?
+ # to_h is needed because we define `default` as a Gitaly storage name
+ # in stub_storage_settings. This causes Settingslogic to redefine Hash#default,
+ # which causes Hash#dig to fail when the key doesn't exist: https://gitlab.com/gitlab-org/gitlab/-/issues/286873
+ settings_h = settings.to_h
+ return false unless settings_h.dig('object_store', 'enabled')
+ return false unless settings_h.dig('object_store', 'connection').present?
WORKHORSE_ACCELERATED_TYPES.each do |store|
# to_h is needed because we define `default` as a Gitaly storage name
diff --git a/config/routes.rb b/config/routes.rb
index 7569bce530a..8530923aa1a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -3,7 +3,7 @@
require 'sidekiq/web'
require 'sidekiq/cron/web'
-InitializerConnections.with_disabled_database_connections do
+InitializerConnections.raise_if_new_database_connection do
Rails.application.routes.draw do
concern :access_requestable do
post :request_access, on: :collection
@@ -61,13 +61,7 @@ InitializerConnections.with_disabled_database_connections do
# Sign up
scope path: '/users/sign_up', module: :registrations, as: :users_sign_up do
- resource :welcome, only: [:show, :update], controller: 'welcome' do
- Gitlab.ee do
- get :trial_getting_started, on: :collection
- get :trial_onboarding_board, on: :collection
- get :continuous_onboarding_getting_started, on: :collection
- end
- end
+ resource :welcome, only: [:show, :update], controller: 'welcome'
Gitlab.ee do
resource :company, only: [:new, :create], controller: 'company'
@@ -305,7 +299,7 @@ InitializerConnections.with_disabled_database_connections do
# TODO: We don't need the `Gitlab::Routing` module at all as we can use
# the `direct` DSL method of Rails to define url helpers. Move all the
# custom url helpers to use the `direct` DSL method and remove the `Gitlab::Routing`.
- # For more information: https://gitlab.com/gitlab-org/gitlab/-/issues/299583
+ # For more information: https://gitlab.com/groups/gitlab-org/-/epics/9866
Gitlab::Application.routes.set.filter_map { |route| route.name if route.name&.include?('namespace_project') }.each do |name|
new_name = name.sub('namespace_project', 'project')
@@ -321,7 +315,9 @@ InitializerConnections.with_disabled_database_connections do
root to: "root#index"
get '*unmatched_route', to: 'application#route_not_found', format: false
- end
- Gitlab::Routing.add_helpers(TimeboxesRoutingHelper)
+ # Load all custom URLs definitions via `direct' after the last route
+ # definition.
+ draw :directs
+ end
end
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index 2f4e286f5eb..9181c1c94cf 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -155,6 +155,7 @@ namespace :admin do
member do
get :preview_sign_in
delete :logo
+ delete :pwa_icon
delete :header_logos
delete :favicon
end
@@ -165,7 +166,7 @@ namespace :admin do
resources :labels
- resources :runners, only: [:index, :show, :edit, :update, :destroy] do
+ resources :runners, only: [:index, :new, :show, :edit, :update, :destroy] do
member do
post :resume
post :pause
diff --git a/config/routes/directs.rb b/config/routes/directs.rb
new file mode 100644
index 00000000000..f28750b5c2e
--- /dev/null
+++ b/config/routes/directs.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+# Custom URL definitions for the Community Edition.
+
+draw 'directs/milestone'
diff --git a/config/routes/directs/milestone.rb b/config/routes/directs/milestone.rb
new file mode 100644
index 00000000000..5a8086cca25
--- /dev/null
+++ b/config/routes/directs/milestone.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+# @!method milestone_path(milestone, options = {})
+# @!method milestone_url(milestone, options = {})
+direct(:milestone) do |milestone, *args|
+ if milestone.group_milestone?
+ [milestone.group, milestone, *args]
+ elsif milestone.project_milestone?
+ [milestone.project, milestone, *args]
+ end
+end
diff --git a/config/routes/import.rb b/config/routes/import.rb
index b319e6ca223..2513cd04cfb 100644
--- a/config/routes/import.rb
+++ b/config/routes/import.rb
@@ -22,6 +22,7 @@ namespace :import do
get :callback
get :realtime_changes
post :cancel
+ post :cancel_all
end
resource :gitea, only: [:create, :new], controller: :gitea do
diff --git a/config/routes/issues.rb b/config/routes/issues.rb
index cc4399693ed..25e59022272 100644
--- a/config/routes/issues.rb
+++ b/config/routes/issues.rb
@@ -21,6 +21,12 @@ resources :issues, concerns: :awardable, constraints: { id: /\d+/ } do
post :bulk_update
post :import_csv
post :export_csv
+
+ scope :incident do
+ get '/:id',
+ to: 'incidents#show',
+ as: :incident
+ end
end
resources :issue_links, only: [:index, :create, :destroy], as: 'links', path: 'links'
diff --git a/config/routes/profile.rb b/config/routes/profile.rb
index 91f6eb678e4..bee1a0f108e 100644
--- a/config/routes/profile.rb
+++ b/config/routes/profile.rb
@@ -38,7 +38,15 @@ resource :profile, only: [:show, :update] do
end
end
resource :preferences, only: [:show, :update]
- resources :keys, only: [:index, :show, :create, :destroy]
+
+ resources :saved_replies, only: [:index], action: :index
+
+ resources :keys, only: [:index, :show, :create, :destroy] do
+ member do
+ delete :revoke
+ end
+ end
+
resources :gpg_keys, only: [:index, :create, :destroy] do
member do
put :revoke
diff --git a/config/routes/project.rb b/config/routes/project.rb
index 798829484da..cf19111b2e2 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -92,8 +92,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
- get :learn_gitlab, action: :index, controller: 'learn_gitlab'
-
namespace :ci do
resource :lint, only: [:show, :create]
resource :pipeline_editor, only: [:show], controller: :pipeline_editor, path: 'editor'
@@ -375,8 +373,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
- get 'issues/incident/:id' => 'incidents#show', as: :issues_incident
-
namespace :error_tracking do
resources :projects, only: :index
end
@@ -477,6 +473,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resources :experiments, only: [:index, :show], controller: 'experiments'
resources :candidates, only: [:show], controller: 'candidates', param: :iid
end
+
+ namespace :airflow do
+ resources :dags, only: [:index, :show], controller: 'dags'
+ end
end
# End of the /-/ scope.
@@ -592,8 +592,6 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
scope :service_ping, controller: :service_ping do
- post :web_ide_clientside_preview # rubocop:todo Cop/PutProjectRoutesUnderScope
- post :web_ide_clientside_preview_success # rubocop:todo Cop/PutProjectRoutesUnderScope
post :web_ide_pipelines_count # rubocop:todo Cop/PutProjectRoutesUnderScope
end
diff --git a/config/settings.rb b/config/settings.rb
index 34acb09b9ed..ae95af802c4 100644
--- a/config/settings.rb
+++ b/config/settings.rb
@@ -11,6 +11,17 @@ class Settings < Settingslogic
on_standard_port?(gitlab)
end
+ def build_ci_component_fqdn
+ custom_port = ":#{gitlab.port}" unless on_standard_port?(gitlab)
+
+ [
+ gitlab.host,
+ custom_port,
+ gitlab.relative_url_root,
+ '/'
+ ].join('')
+ end
+
def host_without_www(url)
host(url).sub('www.', '')
end
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index b542ba45aa8..17440acddc3 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -67,6 +67,8 @@
- 2
- - auto_merge
- 3
+- - automation_execute_rule
+ - 1
- - background_migration
- 1
- - background_migration_ci_database
@@ -91,6 +93,8 @@
- 1
- - ci_cancel_pipeline
- 1
+- - ci_cancel_redundant_pipelines
+ - 1
- - ci_delete_objects
- 1
- - ci_job_artifacts_expire_project_build_artifacts
@@ -211,6 +215,8 @@
- 1
- - gitlab_shell
- 2
+- - gitlab_subscriptions_refresh_seats
+ - 1
- - gitlab_subscriptions_trials_apply_trial
- 1
- - google_cloud_create_cloudsql_instance
@@ -333,6 +339,8 @@
- 1
- - migrate_external_diffs
- 1
+- - namespaces_free_user_cap_over_limit_notification
+ - 1
- - namespaces_process_sync_events
- 1
- - namespaces_sync_namespace_name
@@ -541,3 +549,5 @@
- 1
- - x509_certificate_revoke
- 1
+- - zoekt_indexer
+ - 1
diff --git a/config/spring.rb b/config/spring.rb
index 3f00e6ab23f..f06a707111c 100644
--- a/config/spring.rb
+++ b/config/spring.rb
@@ -10,7 +10,7 @@
Spring.after_fork do
if ENV['DEBUGGER_STORED_RUBYLIB']
ENV['DEBUGGER_STORED_RUBYLIB'].split(File::PATH_SEPARATOR).each do |path|
- next unless path =~ /ruby-debug-ide/
+ next unless path.include?('ruby-debug-ide')
load path + '/ruby-debug-ide/multiprocess/starter.rb'
end
diff --git a/config/webpack.config.js b/config/webpack.config.js
index fd58e22bb99..8ae803ca738 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -380,7 +380,19 @@ module.exports = {
{
test: /\.svg$/,
exclude: /icons\.svg$/,
- loader: 'raw-loader',
+ oneOf: [
+ {
+ resourceQuery: /url/,
+ loader: 'file-loader',
+ options: {
+ name: '[name].[contenthash:8].[ext]',
+ esModule: false,
+ },
+ },
+ {
+ loader: 'raw-loader',
+ },
+ ],
},
{
test: /\.(gif|png|mp4)$/,
diff --git a/config/webpack.vendor.config.js b/config/webpack.vendor.config.js
index 1300bf16e56..a43febe5e25 100644
--- a/config/webpack.vendor.config.js
+++ b/config/webpack.vendor.config.js
@@ -37,7 +37,6 @@ module.exports = {
'mermaid',
'katex',
'three',
- 'select2',
'moment-mini',
'dompurify',
'bootstrap/dist/js/bootstrap.js',