summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb96
-rw-r--r--config/database.yml.postgresql4
-rw-r--r--config/dependency_decisions.yml46
-rw-r--r--config/environments/production.rb2
-rw-r--r--config/feature_categories.yml11
-rw-r--r--config/feature_flags/development/additional_snowplow_tracking.yml7
-rw-r--r--config/feature_flags/development/admin_approval_for_new_user_signups.yml7
-rw-r--r--config/feature_flags/development/ajax_new_deploy_token.yml4
-rw-r--r--config/feature_flags/development/allow_group_deploy_token.yml4
-rw-r--r--config/feature_flags/development/allow_possible_spam.yml6
-rw-r--r--config/feature_flags/development/allow_unsafe_ruby_regexp.yml4
-rw-r--r--config/feature_flags/development/api_kaminari_count_with_limit.yml7
-rw-r--r--config/feature_flags/development/artifacts_management_page.yml6
-rw-r--r--config/feature_flags/development/auto_create_cluster_management_project.yml4
-rw-r--r--config/feature_flags/development/boards_with_swimlanes.yml6
-rw-r--r--config/feature_flags/development/branch_push_merge_commit_analyze.yml7
-rw-r--r--config/feature_flags/development/broadcast_issue_updates.yml6
-rw-r--r--config/feature_flags/development/build_service_proxy.yml6
-rw-r--r--config/feature_flags/development/bulk_import.yml7
-rw-r--r--config/feature_flags/development/bulk_update_health_status.yml6
-rw-r--r--config/feature_flags/development/burnup_charts.yml6
-rw-r--r--config/feature_flags/development/cached_markdown_blob.yml (renamed from config/feature_flags/development/ci_bridge_pipeline_details.yml)8
-rw-r--r--config/feature_flags/development/canary_ingress_weight_control.yml (renamed from config/feature_flags/development/ci_child_of_child_pipeline.yml)10
-rw-r--r--config/feature_flags/development/ci_always_refresh_merge_requests_from_beginning.yml7
-rw-r--r--config/feature_flags/development/ci_artifacts_exclude.yml6
-rw-r--r--config/feature_flags/development/ci_build_metadata_config.yml6
-rw-r--r--config/feature_flags/development/ci_bulk_insert_on_create.yml7
-rw-r--r--config/feature_flags/development/ci_delete_objects_high_concurrency.yml7
-rw-r--r--config/feature_flags/development/ci_delete_objects_low_concurrency.yml7
-rw-r--r--config/feature_flags/development/ci_delete_objects_medium_concurrency.yml7
-rw-r--r--config/feature_flags/development/ci_disable_validates_dependencies.yml6
-rw-r--r--config/feature_flags/development/ci_download_daily_code_coverage.yml7
-rw-r--r--config/feature_flags/development/ci_dynamic_child_pipeline.yml6
-rw-r--r--config/feature_flags/development/ci_enable_live_trace.yml6
-rw-r--r--config/feature_flags/development/ci_instance_variables_ui.yml6
-rw-r--r--config/feature_flags/development/ci_job_heartbeats_runner.yml7
-rw-r--r--config/feature_flags/development/ci_job_jwt.yml4
-rw-r--r--config/feature_flags/development/ci_jobs_finder_refactor.yml2
-rw-r--r--config/feature_flags/development/ci_key_autocomplete.yml7
-rw-r--r--config/feature_flags/development/ci_lint_creates_pipeline_with_dry_run.yml6
-rw-r--r--config/feature_flags/development/ci_lint_vue.yml2
-rw-r--r--config/feature_flags/development/ci_manual_bridges.yml7
-rw-r--r--config/feature_flags/development/ci_pipeline_latest.yml6
-rw-r--r--config/feature_flags/development/ci_pipeline_rewind_iid.yml7
-rw-r--r--config/feature_flags/development/ci_pipeline_status_omit_commit_sha_in_cache_key.yml4
-rw-r--r--config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml7
-rw-r--r--config/feature_flags/development/ci_raise_job_rules_without_workflow_rules_warning.yml6
-rw-r--r--config/feature_flags/development/ci_send_deployment_hook_when_start.yml7
-rw-r--r--config/feature_flags/development/ci_skip_persistent_ref_existence_check.yml4
-rw-r--r--config/feature_flags/development/ci_store_pipeline_messages.yml6
-rw-r--r--config/feature_flags/development/ci_synchronous_artifact_parsing.yml4
-rw-r--r--config/feature_flags/development/ci_update_queues_for_online_runners.yml7
-rw-r--r--config/feature_flags/development/ci_yaml_limit_size.yml6
-rw-r--r--config/feature_flags/development/cleanup_lfs_during_gc.yml7
-rw-r--r--config/feature_flags/development/cluster_agent_list.yml7
-rw-r--r--config/feature_flags/development/cluster_management_project.yml4
-rw-r--r--config/feature_flags/development/clusters_list_redesign.yml7
-rw-r--r--config/feature_flags/development/consolidated_edit_button.yml7
-rw-r--r--config/feature_flags/development/container_expiration_policies_historic_entry.yml7
-rw-r--r--config/feature_flags/development/container_registry_api.yml7
-rw-r--r--config/feature_flags/development/container_registry_cleanup.yml7
-rw-r--r--config/feature_flags/development/container_registry_fast_tag_delete.yml7
-rw-r--r--config/feature_flags/development/core_security_mr_widget.yml7
-rw-r--r--config/feature_flags/development/create_cloud_run_clusters.yml6
-rw-r--r--config/feature_flags/development/dag_pipeline_tab.yml (renamed from config/feature_flags/development/improved_mr_merged_at_queries.yml)8
-rw-r--r--config/feature_flags/development/dashboard_pipeline_status.yml6
-rw-r--r--config/feature_flags/development/debian_packages.yml7
-rw-r--r--config/feature_flags/development/default_merge_ref_for_diffs.yml (renamed from config/feature_flags/development/push_mirror_syncs_lfs.yml)8
-rw-r--r--config/feature_flags/development/deploy_boards_dedupe_instances.yml7
-rw-r--r--config/feature_flags/development/deploy_from_footer.yml7
-rw-r--r--config/feature_flags/development/deploy_keys_on_protected_branches.yml7
-rw-r--r--config/feature_flags/development/deploy_tokens_api.yml6
-rw-r--r--config/feature_flags/development/deployment_filters.yml7
-rw-r--r--config/feature_flags/development/design_management_allow_dangerous_images.yml6
-rw-r--r--config/feature_flags/development/design_management_reference_filter_gfm_pipeline.yml7
-rw-r--r--config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml6
-rw-r--r--config/feature_flags/development/disable_shared_runners_on_group.yml7
-rw-r--r--config/feature_flags/development/display_merge_conflicts_in_diff.yml7
-rw-r--r--config/feature_flags/development/drop_license_management_artifact.yml6
-rw-r--r--config/feature_flags/development/efficient_counter_attribute.yml6
-rw-r--r--config/feature_flags/development/export_lfs_objects_projects.yml7
-rw-r--r--config/feature_flags/development/export_reduce_relation_batch_size.yml6
-rw-r--r--config/feature_flags/development/expose_environment_path_in_alert_details.yml7
-rw-r--r--config/feature_flags/development/feature_flag_api.yml7
-rw-r--r--config/feature_flags/development/feature_flag_permissions.yml7
-rw-r--r--config/feature_flags/development/feature_flags_legacy_read_only.yml7
-rw-r--r--config/feature_flags/development/feature_flags_legacy_read_only_override.yml7
-rw-r--r--config/feature_flags/development/feature_flags_new_version.yml7
-rw-r--r--config/feature_flags/development/forti_authenticator.yml (renamed from config/feature_flags/development/sql-set-operators.yml)8
-rw-r--r--config/feature_flags/development/forward_deployment_enabled.yml4
-rw-r--r--config/feature_flags/development/g_compliance_dashboard_feature.yml7
-rw-r--r--config/feature_flags/development/generic_packages.yml2
-rw-r--r--config/feature_flags/development/git_push_create_all_pipelines.yml6
-rw-r--r--config/feature_flags/development/gitpod.yml4
-rw-r--r--config/feature_flags/development/global_default_branch_name.yml6
-rw-r--r--config/feature_flags/development/go_proxy.yml6
-rw-r--r--config/feature_flags/development/go_proxy_disable_gomod_validation.yml6
-rw-r--r--config/feature_flags/development/graphql_board_lists.yml6
-rw-r--r--config/feature_flags/development/graphql_individual_release_page.yml7
-rw-r--r--config/feature_flags/development/graphql_lookahead_support.yml7
-rw-r--r--config/feature_flags/development/graphql_milestone_stats.yml6
-rw-r--r--config/feature_flags/development/graphql_pipeline_header.yml (renamed from config/feature_flags/development/ci_new_artifact_file_reader.yml)6
-rw-r--r--config/feature_flags/development/graphql_release_data.yml6
-rw-r--r--config/feature_flags/development/graphql_releases_page.yml7
-rw-r--r--config/feature_flags/development/group_export_ndjson.yml6
-rw-r--r--config/feature_flags/development/group_import_export.yml6
-rw-r--r--config/feature_flags/development/group_import_ndjson.yml6
-rw-r--r--config/feature_flags/development/group_level_integrations.yml2
-rw-r--r--config/feature_flags/development/help_page_documentation_redirect.yml7
-rw-r--r--config/feature_flags/development/inactive_policy_condition.yml7
-rw-r--r--config/feature_flags/development/include_lfs_blobs_in_archive.yml7
-rw-r--r--config/feature_flags/development/increased_diff_limits.yml7
-rw-r--r--config/feature_flags/development/ingress_modsecurity.yml6
-rw-r--r--config/feature_flags/development/invisible_captcha.yml6
-rw-r--r--config/feature_flags/development/invite_email_experiment.yml6
-rw-r--r--config/feature_flags/development/invite_members_group_modal.yml7
-rw-r--r--config/feature_flags/development/json_limited_encoder.yml6
-rw-r--r--config/feature_flags/development/junit_pipeline_screenshots_view.yml6
-rw-r--r--config/feature_flags/development/kubernetes_cluster_namespace_role_admin.yml7
-rw-r--r--config/feature_flags/development/limit_projects_in_groups_api.yml6
-rw-r--r--config/feature_flags/development/log_import_export_relation_creation.yml6
-rw-r--r--config/feature_flags/development/maintenance_mode.yml6
-rw-r--r--config/feature_flags/development/merge_base_pipelines.yml7
-rw-r--r--config/feature_flags/development/merge_orchestration_service.yml4
-rw-r--r--config/feature_flags/development/merge_request_cached_pipeline_serializer.yml7
-rw-r--r--config/feature_flags/development/merge_request_draft_filter.yml6
-rw-r--r--config/feature_flags/development/merge_request_short_pipeline_serializer.yml7
-rw-r--r--config/feature_flags/development/merge_request_widget_graphql.yml6
-rw-r--r--config/feature_flags/development/metrics_dashboard.yml6
-rw-r--r--config/feature_flags/development/migrate_bio_to_user_details.yml7
-rw-r--r--config/feature_flags/development/migrate_user_mentions.yml4
-rw-r--r--config/feature_flags/development/modifed_path_ci_variables.yml7
-rw-r--r--config/feature_flags/development/monaco_blobs.yml7
-rw-r--r--config/feature_flags/development/monaco_ci.yml7
-rw-r--r--config/feature_flags/development/mr_commit_neighbor_nav.yml6
-rw-r--r--config/feature_flags/development/multi_select_board.yml6
-rw-r--r--config/feature_flags/development/multiline_comments.yml6
-rw-r--r--config/feature_flags/development/new_pipeline_form.yml6
-rw-r--r--config/feature_flags/development/new_pipeline_form_prefilled_vars.yml7
-rw-r--r--config/feature_flags/development/new_release_page.yml6
-rw-r--r--config/feature_flags/development/new_variables_ui.yml6
-rw-r--r--config/feature_flags/development/not_issuable_queries.yml6
-rw-r--r--config/feature_flags/development/one_dimensional_matrix.yml7
-rw-r--r--config/feature_flags/development/packages_coming_soon.yml7
-rw-r--r--config/feature_flags/development/paginated_notes.yml6
-rw-r--r--config/feature_flags/development/periodic_project_authorization_recalculation.yml7
-rw-r--r--config/feature_flags/development/phabricator_import.yml6
-rw-r--r--config/feature_flags/development/pipelines_security_report_summary.yml6
-rw-r--r--config/feature_flags/development/product_analytics.yml6
-rw-r--r--config/feature_flags/development/project_export_as_ndjson.yml6
-rw-r--r--config/feature_flags/development/project_finder_similarity_sort.yml7
-rw-r--r--config/feature_flags/development/project_import_ndjson.yml6
-rw-r--r--config/feature_flags/development/project_transactionless_destroy.yml6
-rw-r--r--config/feature_flags/development/prometheus_computed_alerts.yml6
-rw-r--r--config/feature_flags/development/reactive_caching_limit_environment.yml6
-rw-r--r--config/feature_flags/development/real_time_issue_sidebar.yml6
-rw-r--r--config/feature_flags/development/rebalance_issues.yml2
-rw-r--r--config/feature_flags/development/recursive_approach_for_all_projects.yml7
-rw-r--r--config/feature_flags/development/release_asset_link_editing.yml7
-rw-r--r--config/feature_flags/development/release_asset_link_type.yml7
-rw-r--r--config/feature_flags/development/release_evidence.yml4
-rw-r--r--config/feature_flags/development/release_evidence_collection.yml7
-rw-r--r--config/feature_flags/development/release_issue_summary.yml7
-rw-r--r--config/feature_flags/development/release_mr_issue_urls.yml6
-rw-r--r--config/feature_flags/development/release_show_page.yml7
-rw-r--r--config/feature_flags/development/remove_legacy_github_client.yml6
-rw-r--r--config/feature_flags/development/repack_after_shard_migration.yml6
-rw-r--r--config/feature_flags/development/resource_access_token.yml7
-rw-r--r--config/feature_flags/development/safezip_use_rubyzip.yml7
-rw-r--r--config/feature_flags/development/save_raw_usage_data.yml6
-rw-r--r--config/feature_flags/development/schema_linting.yml6
-rw-r--r--config/feature_flags/development/search_filter_by_confidential.yml7
-rw-r--r--config/feature_flags/development/security_auto_fix.yml7
-rw-r--r--config/feature_flags/development/serverless_domain.yml4
-rw-r--r--config/feature_flags/development/service_desk_custom_address.yml2
-rw-r--r--config/feature_flags/development/settings_operations_prometheus_service.yml6
-rw-r--r--config/feature_flags/development/show_inherited_labels.yml (renamed from config/feature_flags/development/show_contributor_on_note.yml)8
-rw-r--r--config/feature_flags/development/similarity_search.yml6
-rw-r--r--config/feature_flags/development/snippet_multiple_files.yml7
-rw-r--r--config/feature_flags/development/snippet_spam.yml (renamed from config/feature_flags/development/snippets_edit_vue.yml)10
-rw-r--r--config/feature_flags/development/snippets_binary_blob.yml6
-rw-r--r--config/feature_flags/development/snippets_vue.yml7
-rw-r--r--config/feature_flags/development/soft_email_confirmation.yml6
-rw-r--r--config/feature_flags/development/soft_fail_count_by_state.yml7
-rw-r--r--config/feature_flags/development/specialized_project_authorization_project_share_worker.yml6
-rw-r--r--config/feature_flags/development/specialized_project_authorization_workers.yml6
-rw-r--r--config/feature_flags/development/sql_set_operators.yml6
-rw-r--r--config/feature_flags/development/store_ci_pipeline_counts_by_status.yml (renamed from config/feature_flags/development/store_instance_statistics_measurements.yml)8
-rw-r--r--config/feature_flags/development/store_mentioned_users_to_db.yml7
-rw-r--r--config/feature_flags/development/suggest_pipeline.yml7
-rw-r--r--config/feature_flags/development/sync_metrics_dashboards.yml7
-rw-r--r--config/feature_flags/development/track_issue_activity_actions.yml4
-rw-r--r--config/feature_flags/development/track_resource_state_change_events.yml7
-rw-r--r--config/feature_flags/development/track_unique_test_cases_parsed.yml7
-rw-r--r--config/feature_flags/development/track_unique_visits.yml6
-rw-r--r--config/feature_flags/development/track_unique_wiki_page_views.yml (renamed from config/feature_flags/development/design_management_todo_button.yml)8
-rw-r--r--config/feature_flags/development/tribute_autocomplete.yml6
-rw-r--r--config/feature_flags/development/two_factor_for_cli.yml7
-rw-r--r--config/feature_flags/development/unified_diff_lines.yml2
-rw-r--r--config/feature_flags/development/upload_middleware_jwt_params_handler.yml2
-rw-r--r--config/feature_flags/development/usage_data_a_compliance_audit_events_api.yml7
-rw-r--r--config/feature_flags/development/usage_data_api.yml6
-rw-r--r--config/feature_flags/development/usage_data_g_compliance_dashboard.yml6
-rw-r--r--config/feature_flags/development/usage_data_i_source_code_code_intelligence.yml7
-rw-r--r--config/feature_flags/development/usage_data_i_testing_test_case_parsed.yml7
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_assigned.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_todo.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_assigned.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_closed.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_comment.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_created.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_relate.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_reopened.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_todo.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml6
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml6
-rw-r--r--config/feature_flags/development/users_search.yml7
-rw-r--r--config/feature_flags/development/validate_import_decompressed_archive_size.yml6
-rw-r--r--config/feature_flags/development/view_diffs_file_by_file.yml6
-rw-r--r--config/feature_flags/development/vue_issuable_sidebar.yml6
-rw-r--r--config/feature_flags/development/vue_issuables_list.yml6
-rw-r--r--config/feature_flags/development/web_ide_primary_edit.yml4
-rw-r--r--config/feature_flags/development/webperf_experiment.yml6
-rw-r--r--config/feature_flags/development/whats_new_drawer.yml6
-rw-r--r--config/feature_flags/development/widget_visibility_polling.yml6
-rw-r--r--config/feature_flags/development/wiki_events_on_git_push.yml7
-rw-r--r--config/feature_flags/development/zip_pages_deployments.yml7
-rw-r--r--config/feature_flags/licensed/incident_sla.yml7
-rw-r--r--config/feature_flags/licensed/minimal_access_role.yml7
-rw-r--r--config/feature_flags/licensed/resource_access_token.yml7
-rw-r--r--config/feature_flags/ops/api_kaminari_count_with_limit.yml7
-rw-r--r--config/feature_flags/ops/ci_accept_trace.yml4
-rw-r--r--config/feature_flags/ops/ci_trace_log_invalid_chunks.yml7
-rw-r--r--config/feature_flags/ops/database_reindexing.yml7
-rw-r--r--config/feature_flags/ops/gitlab_sidekiq_enable_semi_reliable_fetcher.yml (renamed from config/feature_flags/development/backfill_partitioned_audit_events.yml)4
-rw-r--r--config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml (renamed from config/feature_flags/development/ci_daily_code_coverage.yml)4
-rw-r--r--config/feature_flags/ops/marginalia.yml (renamed from config/feature_flags/development/marginalia.yml)2
-rw-r--r--config/gitlab.yml.example40
-rw-r--r--config/initializers/0_license.rb3
-rw-r--r--config/initializers/0_marginalia.rb2
-rw-r--r--config/initializers/1_settings.rb29
-rw-r--r--config/initializers/7_prometheus_metrics.rb4
-rw-r--r--config/initializers/database_config.rb19
-rw-r--r--config/initializers/forbid_sidekiq_in_transactions.rb2
-rw-r--r--config/initializers/lograge.rb54
-rw-r--r--config/initializers/rails_host_authorization_gitpod.rb6
-rw-r--r--config/initializers/sidekiq.rb4
-rw-r--r--config/initializers/sprockets.rb1
-rw-r--r--config/initializers/stackprof.rb65
-rw-r--r--config/initializers/static_files.rb36
-rw-r--r--config/initializers/webauthn.rb2
-rw-r--r--config/initializers_before_autoloader/000_inflections.rb4
-rw-r--r--config/locales/devise.en.yml4
-rw-r--r--config/locales/en.yml2
-rw-r--r--config/object_store_settings.rb20
-rw-r--r--config/redis.cache.yml.example2
-rw-r--r--config/redis.queues.yml.example2
-rw-r--r--config/redis.shared_state.yml.example2
-rw-r--r--config/resque.yml.example2
-rw-r--r--config/routes.rb17
-rw-r--r--config/routes/admin.rb6
-rw-r--r--config/routes/group.rb5
-rw-r--r--config/routes/import.rb5
-rw-r--r--config/routes/jira_connect.rb1
-rw-r--r--config/routes/pipelines.rb1
-rw-r--r--config/routes/project.rb16
-rw-r--r--config/routes/snippets.rb2
-rw-r--r--config/sidekiq_queues.yml24
-rw-r--r--config/webpack.config.js13
271 files changed, 1154 insertions, 845 deletions
diff --git a/config/application.rb b/config/application.rb
index 4d2f3745b52..75befc8a248 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
require_relative 'boot'
# Based on https://github.com/rails/rails/blob/v6.0.1/railties/lib/rails/all.rb
@@ -27,6 +28,7 @@ module Gitlab
require_dependency Rails.root.join('lib/gitlab/middleware/basic_health_check')
require_dependency Rails.root.join('lib/gitlab/middleware/same_site_cookies')
require_dependency Rails.root.join('lib/gitlab/middleware/handle_ip_spoof_attack_error')
+ require_dependency Rails.root.join('lib/gitlab/middleware/handle_null_bytes')
require_dependency Rails.root.join('lib/gitlab/runtime')
# Settings in config/environments/* take precedence over those specified here.
@@ -127,12 +129,12 @@ module Gitlab
/^description$/,
/^note$/,
/^text$/,
- /^title$/
+ /^title$/,
+ /^hook$/
]
config.filter_parameters += %i(
certificate
encrypted_key
- hook
import_url
elasticsearch_url
otp_attempt
@@ -151,14 +153,6 @@ module Gitlab
# like if you have constraints or database-specific column types
config.active_record.schema_format = :sql
- # Configure webpack
- config.webpack.config_file = "config/webpack.config.js"
- config.webpack.output_dir = "public/assets/webpack"
- config.webpack.public_path = "assets/webpack"
-
- # Webpack dev server configuration is handled in initializers/static_files.rb
- config.webpack.dev_server.enabled = false
-
config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
# Enable the asset pipeline
@@ -168,6 +162,8 @@ module Gitlab
config.assets.paths << Gemojione.images_path
config.assets.paths << "#{config.root}/vendor/assets/fonts"
+ config.assets.precompile << "application_utilities.css"
+ config.assets.precompile << "application_utilities_dark.css"
config.assets.precompile << "application_dark.css"
config.assets.precompile << "startup/*.css"
@@ -178,10 +174,29 @@ module Gitlab
config.assets.precompile << "notify.css"
config.assets.precompile << "mailers/*.css"
config.assets.precompile << "page_bundles/_mixins_and_variables_and_functions.css"
+ config.assets.precompile << "page_bundles/boards.css"
+ config.assets.precompile << "page_bundles/cycle_analytics.css"
+ config.assets.precompile << "page_bundles/dev_ops_report.css"
+ config.assets.precompile << "page_bundles/environments.css"
+ config.assets.precompile << "page_bundles/error_tracking_details.css"
+ config.assets.precompile << "page_bundles/error_tracking_index.css"
+ config.assets.precompile << "page_bundles/experimental_separate_sign_up.css"
config.assets.precompile << "page_bundles/ide.css"
+ config.assets.precompile << "page_bundles/issues_list.css"
config.assets.precompile << "page_bundles/jira_connect.css"
+ config.assets.precompile << "page_bundles/jira_connect_users.css"
+ config.assets.precompile << "page_bundles/merge_conflicts.css"
+ config.assets.precompile << "page_bundles/merge_requests.css"
+ config.assets.precompile << "page_bundles/milestone.css"
+ config.assets.precompile << "page_bundles/pipeline.css"
+ config.assets.precompile << "page_bundles/pipelines.css"
+ config.assets.precompile << "page_bundles/productivity_analytics.css"
+ config.assets.precompile << "page_bundles/terminal.css"
config.assets.precompile << "page_bundles/todos.css"
+ config.assets.precompile << "page_bundles/reports.css"
config.assets.precompile << "page_bundles/xterm.css"
+ config.assets.precompile << "page_bundles/wiki.css"
+ config.assets.precompile << "lazy_bundles/cropper.css"
config.assets.precompile << "performance_bar.css"
config.assets.precompile << "lib/ace.js"
config.assets.precompile << "disable_animations.css"
@@ -210,13 +225,6 @@ module Gitlab
config.assets.paths << "#{config.root}/node_modules/xterm/src/"
config.assets.precompile << "xterm.css"
- # Add EE assets
- if Gitlab.ee?
- %w[images javascripts stylesheets].each do |path|
- config.assets.paths << "#{config.root}/ee/app/assets/#{path}"
- end
- end
-
# Import path for EE specific SCSS entry point
# In CE it will import a noop file, in EE a functioning file
# Order is important, so that the ee file takes precedence:
@@ -230,16 +238,6 @@ module Gitlab
# See https://gitlab.com/gitlab-org/gitlab-foss/issues/64091#note_194512508
config.assets.paths << "#{config.root}/node_modules"
- if Gitlab.ee?
- # Compile non-JS/CSS assets in the ee/app/assets folder by default
- # Mimic sprockets-rails default: https://github.com/rails/sprockets-rails/blob/v3.2.1/lib/sprockets/railtie.rb#L84-L87
- LOOSE_EE_APP_ASSETS = lambda do |logical_path, filename|
- filename.start_with?(config.root.join("ee/app/assets").to_s) &&
- !['.js', '.css', ''].include?(File.extname(logical_path))
- end
- config.assets.precompile << LOOSE_EE_APP_ASSETS
- end
-
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
@@ -256,6 +254,8 @@ module Gitlab
config.middleware.insert_before ActionDispatch::RemoteIp, ::Gitlab::Middleware::HandleIpSpoofAttackError
+ config.middleware.use ::Gitlab::Middleware::HandleNullBytes
+
# Allow access to GitLab API from other domains
config.middleware.insert_before Warden::Manager, Rack::Cors do
headers_to_expose = %w[Link X-Total X-Total-Pages X-Per-Page X-Page X-Next-Page X-Prev-Page X-Gitlab-Blob-Id X-Gitlab-Commit-Id X-Gitlab-Content-Sha256 X-Gitlab-Encoding X-Gitlab-File-Name X-Gitlab-File-Path X-Gitlab-Last-Commit-Id X-Gitlab-Ref X-Gitlab-Size]
@@ -304,6 +304,34 @@ module Gitlab
g.factory_bot false
end
+ # sprocket-rails adds some precompile assets we actually do not need.
+ #
+ # It copies all _non_ js and CSS files from the app/assets/ older.
+ #
+ # In our case this copies for example: Vue, Markdown and Graphql, which we do not need
+ # for production.
+ #
+ # We remove this default behavior and then reimplement it in order to consider ee/ as well
+ # and remove those other files we do not need.
+ #
+ # For reference: https://github.com/rails/sprockets-rails/blob/v3.2.1/lib/sprockets/railtie.rb#L84-L87
+ initializer :correct_precompile_targets, after: :set_default_precompile do |app|
+ app.config.assets.precompile.reject! { |entry| entry == Sprockets::Railtie::LOOSE_APP_ASSETS }
+
+ asset_roots = [config.root.join("app/assets").to_s]
+
+ if Gitlab.ee?
+ asset_roots << config.root.join("ee/app/assets").to_s
+ end
+
+ LOOSE_APP_ASSETS = lambda do |logical_path, filename|
+ filename.start_with?(*asset_roots) &&
+ !['.js', '.css', '.md', '.vue', '.graphql', ''].include?(File.extname(logical_path))
+ end
+
+ app.config.assets.precompile << LOOSE_APP_ASSETS
+ end
+
# This empty initializer forces the :let_zeitwerk_take_over initializer to run before we load
# initializers in config/initializers. This is done because autoloading before Zeitwerk takes
# over is deprecated but our initializers do a lot of autoloading.
@@ -318,6 +346,20 @@ module Gitlab
end
end
+ # Add EE assets. They should take precedence over CE. This means if two files exist, e.g.:
+ #
+ # ee/app/assets/stylesheets/example.scss
+ # app/assets/stylesheets/example.scss
+ #
+ # The ee/ version will be preferred.
+ initializer :prefer_ee_assets, after: :append_assets_path do |app|
+ if Gitlab.ee?
+ %w[images javascripts stylesheets].each do |path|
+ app.config.assets.paths.unshift("#{config.root}/ee/app/assets/#{path}")
+ end
+ end
+ end
+
config.after_initialize do
# Devise (see initializers/8_devise.rb) already reloads routes if
# eager loading is enabled, so don't do this twice since it's
diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
index 37c69ad326b..ca1ff4db1b4 100644
--- a/config/database.yml.postgresql
+++ b/config/database.yml.postgresql
@@ -28,6 +28,8 @@ development:
username: postgres
password: "secure password"
host: localhost
+ variables:
+ statement_timeout: 15s
#
# Staging specific
@@ -51,3 +53,5 @@ test: &test
password:
host: localhost
prepared_statements: false
+ variables:
+ statement_timeout: 15s
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml
index 2f0d9066a7a..c12ede63fba 100644
--- a/config/dependency_decisions.yml
+++ b/config/dependency_decisions.yml
@@ -18,85 +18,85 @@
:why: Bundler is MIT licensed but will sometimes fail in CI.
:versions: []
:when: 2016-05-02 06:42:08.045090000 Z
-- - :whitelist
+- - :permit
- MIT
- :who: Connor Shea
:why: http://choosealicense.com/licenses/mit/
:versions: []
:when: 2016-04-17 21:12:24.558441000 Z
-- - :whitelist
+- - :permit
- Apache 2.0
- :who: Connor Shea
:why: http://choosealicense.com/licenses/apache-2.0/
:versions: []
:when: 2016-05-02 05:27:43.762702000 Z
-- - :whitelist
+- - :permit
- ruby
- :who: Connor Shea
:why: https://github.com/ruby/ruby/blob/ruby_2_1/COPYING
:versions: []
:when: 2016-05-02 05:31:54.498490000 Z
-- - :whitelist
+- - :permit
- LGPL
- :who: Connor Shea
:why: http://www.gnu.org/licenses/license-list.html#LGPLv2.1
:versions: []
:when: 2016-05-02 05:32:48.645841000 Z
-- - :whitelist
+- - :permit
- ISC
- :who: Connor Shea
:why: http://www.gnu.org/licenses/license-list.html#ISC
:versions: []
:when: 2016-05-02 05:42:01.894452000 Z
-- - :whitelist
+- - :permit
- New BSD
- :who: Connor Shea
:why: https://opensource.org/licenses/BSD-3-Clause
:versions: []
:when: 2016-05-02 05:44:38.246021000 Z
-- - :whitelist
+- - :permit
- LGPL-2.1+
- :who: Connor Shea
:why: Equivalent to LGPL.
:versions: []
:when: 2016-05-02 05:52:56.303239000 Z
-- - :whitelist
+- - :permit
- BSD
- :who: Connor Shea
:why: https://opensource.org/licenses/BSD-2-Clause
:versions: []
:when: 2016-05-02 05:55:09.796363000 Z
-- - :whitelist
+- - :permit
- LGPLv2+
- :who: Stan Hu
:why: Equivalent to LGPLv2
:versions: []
:when: 2016-06-07 17:14:10.907682000 Z
-- - :whitelist
+- - :permit
- Artistic 2.0
- :who: Josh Frye
:why: Disk/mount information display on Admin pages
:versions: []
:when: 2016-06-29 16:32:45.432113000 Z
-- - :whitelist
+- - :permit
- Simplified BSD
- :who: Douwe Maan
:why: https://opensource.org/licenses/BSD-2-Clause
:versions: []
:when: 2016-07-26 21:24:07.248480000 Z
-- - :blacklist
+- - :restrict
- GPLv2
- :who: Connor Shea
:why: GPL-licensed libraries cannot be linked to from non-GPL projects.
:versions: []
:when: 2016-05-02 05:29:27.637336000 Z
-- - :blacklist
+- - :restrict
- GPLv3
- :who: Connor Shea
:why: GPL-licensed libraries cannot be linked to from non-GPL projects.
:versions: []
:when: 2016-05-02 05:29:43.904715000 Z
-- - :blacklist
+- - :restrict
- OSL-3.0
- :who: Sean McGivern
:why: The OSL license is a copyleft license
@@ -188,13 +188,13 @@
:why: https://github.com/nodeca/pako/blob/master/LICENSE
:versions: []
:when: 2017-04-05 10:43:45.897720000 Z
-- - :whitelist
+- - :permit
- Unlicense
- :who: Nick Thomas <nick@gitlab.com>
:why: https://gitlab.com/gitlab-com/organization/issues/116
:versions: []
:when: 2017-09-01 17:17:51.996511844 Z
-- - :blacklist
+- - :restrict
- Facebook BSD+PATENTS
- :who: Nick Thomas <nick@gitlab.com>
:why: https://gitlab.com/gitlab-com/organization/issues/117
@@ -281,19 +281,19 @@
:why: https://github.com/hexorx/countries/blob/master/LICENSE
:versions: []
:when: 2019-09-11 13:08:28.431132000 Z
-- - :whitelist
+- - :permit
- "(MIT OR CC0-1.0)"
- :who:
:why:
:versions: []
:when: 2019-11-08 10:03:31.787226000 Z
-- - :whitelist
+- - :permit
- CC0-1.0
- :who: Thomas Randolph
:why: This license is public domain
:versions: []
:when: 2020-06-03 05:04:44.632875345 Z
-- - :whitelist
+- - :permit
- 0BSD
- :who: Natalia Tepluhina
:why: This license is public domain
@@ -313,9 +313,15 @@
:why: "https://github.com/cure53/DOMPurify/blob/main/LICENSE and https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31928#note_346604841"
:versions: []
:when: 2020-08-13 13:42:46.508082000 Z
-- - :whitelist
+- - :permit
- Apache-2.0 WITH LLVM-exception
- :who: Nathan Friend
:why: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40670#note_403946372
:versions: []
:when: 2020-08-28 15:01:59.329048917 Z
+- - :approve
+ - docutils
+ - :who: Mo Khan
+ :why: Used to generate documentation. https://pypi.org/project/docutils/0.13.1/
+ :versions: []
+ :when: 2020-10-05 20:22:55.955189491 Z
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 393a274606e..d9b3ee354b0 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -12,7 +12,7 @@ Rails.application.configure do
config.public_file_server.enabled = false
# Compress JavaScripts and CSS.
- config.assets.js_compressor = :uglifier
+ config.assets.js_compressor = :terser
# config.assets.css_compressor = :sass
# Don't fallback to assets pipeline if a precompiled asset is missed
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 7b85f910d85..edf7bba27a3 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -19,7 +19,7 @@
- auto_devops
- backup_restore
- behavior_analytics
-- billing
+- boards
- chatops
- cloud_native_installation
- cluster_cost_optimization
@@ -49,7 +49,7 @@
- error_tracking
- feature_flags
- foundations
-- fuzz-testing
+- fuzz_testing
- gdk
- geo_replication
- git_lfs
@@ -62,15 +62,15 @@
- importers
- incident_management
- infrastructure_as_code
+- insights
+- instance_statistics
- integrations
- interactive_application_security_testing
- internationalization
-- instance_statistics
- issue_tracking
- jenkins_importer
- jira_importer
- jupyter_notebooks
-- kanban_boards
- kubernetes_management
- license_compliance
- live_preview
@@ -83,10 +83,13 @@
- omnibus_package
- package_registry
- pages
+- pipeline_authoring
- pki_management
- planning_analytics
- product_analytics
- projects
+- provision
+- purchase
- quality_management
- release_evidence
- release_orchestration
diff --git a/config/feature_flags/development/additional_snowplow_tracking.yml b/config/feature_flags/development/additional_snowplow_tracking.yml
index f4f73a0bbd0..3e2b542b1a8 100644
--- a/config/feature_flags/development/additional_snowplow_tracking.yml
+++ b/config/feature_flags/development/additional_snowplow_tracking.yml
@@ -1,7 +1,6 @@
----
name: additional_snowplow_tracking
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/12088
+rollout_issue_url:
+group: group::product analytics
type: development
default_enabled: false
diff --git a/config/feature_flags/development/admin_approval_for_new_user_signups.yml b/config/feature_flags/development/admin_approval_for_new_user_signups.yml
new file mode 100644
index 00000000000..0cde210e6a0
--- /dev/null
+++ b/config/feature_flags/development/admin_approval_for_new_user_signups.yml
@@ -0,0 +1,7 @@
+---
+name: admin_approval_for_new_user_signups
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43827
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258980
+type: development
+group: group::access
+default_enabled: true
diff --git a/config/feature_flags/development/ajax_new_deploy_token.yml b/config/feature_flags/development/ajax_new_deploy_token.yml
index cffd589b32b..336e3004d52 100644
--- a/config/feature_flags/development/ajax_new_deploy_token.yml
+++ b/config/feature_flags/development/ajax_new_deploy_token.yml
@@ -1,7 +1,7 @@
---
name: ajax_new_deploy_token
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27141
rollout_issue_url:
-group:
+group: group::progressive delivery
type: development
default_enabled: false
diff --git a/config/feature_flags/development/allow_group_deploy_token.yml b/config/feature_flags/development/allow_group_deploy_token.yml
index f08614b45e9..06a8659292d 100644
--- a/config/feature_flags/development/allow_group_deploy_token.yml
+++ b/config/feature_flags/development/allow_group_deploy_token.yml
@@ -1,7 +1,7 @@
---
name: allow_group_deploy_token
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23460
rollout_issue_url:
-group:
+group: group::progressive delivery
type: development
default_enabled: true
diff --git a/config/feature_flags/development/allow_possible_spam.yml b/config/feature_flags/development/allow_possible_spam.yml
index 658e775af91..2e121519628 100644
--- a/config/feature_flags/development/allow_possible_spam.yml
+++ b/config/feature_flags/development/allow_possible_spam.yml
@@ -1,7 +1,7 @@
---
name: allow_possible_spam
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17604
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/29830
+group: group::portfolio management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/allow_unsafe_ruby_regexp.yml b/config/feature_flags/development/allow_unsafe_ruby_regexp.yml
index 4d3b13deda2..272e9f5ffa2 100644
--- a/config/feature_flags/development/allow_unsafe_ruby_regexp.yml
+++ b/config/feature_flags/development/allow_unsafe_ruby_regexp.yml
@@ -1,7 +1,7 @@
---
name: allow_unsafe_ruby_regexp
introduced_by_url:
-rollout_issue_url:
-group:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257849
type: development
+group: group::continuous integration
default_enabled: false
diff --git a/config/feature_flags/development/api_kaminari_count_with_limit.yml b/config/feature_flags/development/api_kaminari_count_with_limit.yml
deleted file mode 100644
index 0224d606df1..00000000000
--- a/config/feature_flags/development/api_kaminari_count_with_limit.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: api_kaminari_count_with_limit
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/artifacts_management_page.yml b/config/feature_flags/development/artifacts_management_page.yml
index 94d99974859..78659422a39 100644
--- a/config/feature_flags/development/artifacts_management_page.yml
+++ b/config/feature_flags/development/artifacts_management_page.yml
@@ -1,7 +1,7 @@
---
name: artifacts_management_page
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16654
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254938
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/auto_create_cluster_management_project.yml b/config/feature_flags/development/auto_create_cluster_management_project.yml
index ca87e401d4a..d3b88f056ec 100644
--- a/config/feature_flags/development/auto_create_cluster_management_project.yml
+++ b/config/feature_flags/development/auto_create_cluster_management_project.yml
@@ -1,7 +1,7 @@
---
name: auto_create_cluster_management_project
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23946
rollout_issue_url:
-group:
+group: group::configure
type: development
default_enabled: false
diff --git a/config/feature_flags/development/boards_with_swimlanes.yml b/config/feature_flags/development/boards_with_swimlanes.yml
index e2db136b45c..19e5ab24206 100644
--- a/config/feature_flags/development/boards_with_swimlanes.yml
+++ b/config/feature_flags/development/boards_with_swimlanes.yml
@@ -1,7 +1,7 @@
---
name: boards_with_swimlanes
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/branch_push_merge_commit_analyze.yml b/config/feature_flags/development/branch_push_merge_commit_analyze.yml
deleted file mode 100644
index f5a695a9ce9..00000000000
--- a/config/feature_flags/development/branch_push_merge_commit_analyze.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: branch_push_merge_commit_analyze
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/broadcast_issue_updates.yml b/config/feature_flags/development/broadcast_issue_updates.yml
index 2db27dfb2ed..435678f869d 100644
--- a/config/feature_flags/development/broadcast_issue_updates.yml
+++ b/config/feature_flags/development/broadcast_issue_updates.yml
@@ -1,7 +1,7 @@
---
name: broadcast_issue_updates
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30732
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/1210
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/build_service_proxy.yml b/config/feature_flags/development/build_service_proxy.yml
index 165e3c15f81..0c0aaa8aca9 100644
--- a/config/feature_flags/development/build_service_proxy.yml
+++ b/config/feature_flags/development/build_service_proxy.yml
@@ -1,7 +1,7 @@
---
name: build_service_proxy
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/9723
+rollout_issue_url:
+group: group::editor
type: development
default_enabled: false
diff --git a/config/feature_flags/development/bulk_import.yml b/config/feature_flags/development/bulk_import.yml
new file mode 100644
index 00000000000..0a5a1e5654e
--- /dev/null
+++ b/config/feature_flags/development/bulk_import.yml
@@ -0,0 +1,7 @@
+---
+name: bulk_import
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42704
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255310
+group: group::import
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/bulk_update_health_status.yml b/config/feature_flags/development/bulk_update_health_status.yml
index 5553f2e077f..fa06adfd60a 100644
--- a/config/feature_flags/development/bulk_update_health_status.yml
+++ b/config/feature_flags/development/bulk_update_health_status.yml
@@ -1,7 +1,7 @@
---
name: bulk_update_health_status
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::portfolio management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/burnup_charts.yml b/config/feature_flags/development/burnup_charts.yml
index 9484af49530..5ead8362d90 100644
--- a/config/feature_flags/development/burnup_charts.yml
+++ b/config/feature_flags/development/burnup_charts.yml
@@ -1,7 +1,7 @@
---
name: burnup_charts
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/ci_bridge_pipeline_details.yml b/config/feature_flags/development/cached_markdown_blob.yml
index 59c5d978eb0..de7a7c52b66 100644
--- a/config/feature_flags/development/ci_bridge_pipeline_details.yml
+++ b/config/feature_flags/development/cached_markdown_blob.yml
@@ -1,7 +1,7 @@
---
-name: ci_bridge_pipeline_details
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41263
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/250683
-group: group::memory
+name: cached_markdown_blob
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44300
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263406
type: development
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/ci_child_of_child_pipeline.yml b/config/feature_flags/development/canary_ingress_weight_control.yml
index 02122076434..681ffc98cb5 100644
--- a/config/feature_flags/development/ci_child_of_child_pipeline.yml
+++ b/config/feature_flags/development/canary_ingress_weight_control.yml
@@ -1,7 +1,7 @@
---
-name: ci_child_of_child_pipeline
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41102
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/243747
-group: 'group::continuous integration'
+name: canary_ingress_weight_control
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43816
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/260295
type: development
-default_enabled: true
+group: group::progressive delivery
+default_enabled: false
diff --git a/config/feature_flags/development/ci_always_refresh_merge_requests_from_beginning.yml b/config/feature_flags/development/ci_always_refresh_merge_requests_from_beginning.yml
new file mode 100644
index 00000000000..9e5cae4e4a0
--- /dev/null
+++ b/config/feature_flags/development/ci_always_refresh_merge_requests_from_beginning.yml
@@ -0,0 +1,7 @@
+---
+name: ci_always_refresh_merge_requests_from_beginning
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45232
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268215
+type: development
+group: group::continuous integration
+default_enabled: false
diff --git a/config/feature_flags/development/ci_artifacts_exclude.yml b/config/feature_flags/development/ci_artifacts_exclude.yml
index 6e9d27efe42..86398f085d8 100644
--- a/config/feature_flags/development/ci_artifacts_exclude.yml
+++ b/config/feature_flags/development/ci_artifacts_exclude.yml
@@ -1,7 +1,7 @@
---
name: ci_artifacts_exclude
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30708
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_build_metadata_config.yml b/config/feature_flags/development/ci_build_metadata_config.yml
index add7c963272..176abbfd387 100644
--- a/config/feature_flags/development/ci_build_metadata_config.yml
+++ b/config/feature_flags/development/ci_build_metadata_config.yml
@@ -1,7 +1,7 @@
---
name: ci_build_metadata_config
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7238
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/ci_bulk_insert_on_create.yml b/config/feature_flags/development/ci_bulk_insert_on_create.yml
deleted file mode 100644
index 3227497ecfc..00000000000
--- a/config/feature_flags/development/ci_bulk_insert_on_create.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_bulk_insert_on_create
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_delete_objects_high_concurrency.yml b/config/feature_flags/development/ci_delete_objects_high_concurrency.yml
new file mode 100644
index 00000000000..c2b391f8b8f
--- /dev/null
+++ b/config/feature_flags/development/ci_delete_objects_high_concurrency.yml
@@ -0,0 +1,7 @@
+---
+name: ci_delete_objects_high_concurrency
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39464
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247103
+group: group::continuous integration
+type: development
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/ci_delete_objects_low_concurrency.yml b/config/feature_flags/development/ci_delete_objects_low_concurrency.yml
new file mode 100644
index 00000000000..cc59e0e3f6f
--- /dev/null
+++ b/config/feature_flags/development/ci_delete_objects_low_concurrency.yml
@@ -0,0 +1,7 @@
+---
+name: ci_delete_objects_low_concurrency
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39464
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247103
+group: group::continuous integration
+type: development
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/ci_delete_objects_medium_concurrency.yml b/config/feature_flags/development/ci_delete_objects_medium_concurrency.yml
new file mode 100644
index 00000000000..4b72980945c
--- /dev/null
+++ b/config/feature_flags/development/ci_delete_objects_medium_concurrency.yml
@@ -0,0 +1,7 @@
+---
+name: ci_delete_objects_medium_concurrency
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39464
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247103
+group: group::continuous integration
+type: development
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/ci_disable_validates_dependencies.yml b/config/feature_flags/development/ci_disable_validates_dependencies.yml
index 65358a04340..ccd529d0a09 100644
--- a/config/feature_flags/development/ci_disable_validates_dependencies.yml
+++ b/config/feature_flags/development/ci_disable_validates_dependencies.yml
@@ -1,7 +1,7 @@
---
name: ci_disable_validates_dependencies
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14009
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257847
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/ci_download_daily_code_coverage.yml b/config/feature_flags/development/ci_download_daily_code_coverage.yml
deleted file mode 100644
index d209f2bf9ad..00000000000
--- a/config/feature_flags/development/ci_download_daily_code_coverage.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_download_daily_code_coverage
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_dynamic_child_pipeline.yml b/config/feature_flags/development/ci_dynamic_child_pipeline.yml
index ac2afe77743..c568e9392b2 100644
--- a/config/feature_flags/development/ci_dynamic_child_pipeline.yml
+++ b/config/feature_flags/development/ci_dynamic_child_pipeline.yml
@@ -1,7 +1,7 @@
---
name: ci_dynamic_child_pipeline
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23790
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_enable_live_trace.yml b/config/feature_flags/development/ci_enable_live_trace.yml
index e9fd998f6df..7ae59946330 100644
--- a/config/feature_flags/development/ci_enable_live_trace.yml
+++ b/config/feature_flags/development/ci_enable_live_trace.yml
@@ -1,7 +1,7 @@
---
name: ci_enable_live_trace
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/5255
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/ci_instance_variables_ui.yml b/config/feature_flags/development/ci_instance_variables_ui.yml
index 0671d1a1a7c..481e0150600 100644
--- a/config/feature_flags/development/ci_instance_variables_ui.yml
+++ b/config/feature_flags/development/ci_instance_variables_ui.yml
@@ -1,7 +1,7 @@
---
name: ci_instance_variables_ui
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33510
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_job_heartbeats_runner.yml b/config/feature_flags/development/ci_job_heartbeats_runner.yml
deleted file mode 100644
index dcccd1512ed..00000000000
--- a/config/feature_flags/development/ci_job_heartbeats_runner.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_job_heartbeats_runner
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_job_jwt.yml b/config/feature_flags/development/ci_job_jwt.yml
index 3d18472add4..b0ad0790ebc 100644
--- a/config/feature_flags/development/ci_job_jwt.yml
+++ b/config/feature_flags/development/ci_job_jwt.yml
@@ -1,7 +1,7 @@
---
name: ci_job_jwt
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207125
rollout_issue_url:
-group:
+group: group::release management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_jobs_finder_refactor.yml b/config/feature_flags/development/ci_jobs_finder_refactor.yml
index 13b8fa03477..f43db747e0a 100644
--- a/config/feature_flags/development/ci_jobs_finder_refactor.yml
+++ b/config/feature_flags/development/ci_jobs_finder_refactor.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36622
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/245183
group: group::continuous integration
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_key_autocomplete.yml b/config/feature_flags/development/ci_key_autocomplete.yml
deleted file mode 100644
index 1c6bfa90a9d..00000000000
--- a/config/feature_flags/development/ci_key_autocomplete.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_key_autocomplete
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_lint_creates_pipeline_with_dry_run.yml b/config/feature_flags/development/ci_lint_creates_pipeline_with_dry_run.yml
index 8abb52486b6..5f23d038998 100644
--- a/config/feature_flags/development/ci_lint_creates_pipeline_with_dry_run.yml
+++ b/config/feature_flags/development/ci_lint_creates_pipeline_with_dry_run.yml
@@ -1,7 +1,7 @@
---
name: ci_lint_creates_pipeline_with_dry_run
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37828
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_lint_vue.yml b/config/feature_flags/development/ci_lint_vue.yml
index 832f543ba3d..a72e97909be 100644
--- a/config/feature_flags/development/ci_lint_vue.yml
+++ b/config/feature_flags/development/ci_lint_vue.yml
@@ -2,6 +2,6 @@
name: ci_lint_vue
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42401
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249661
-group: group::continuous intergration
+group: group::continuous integration
type: development
default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/ci_manual_bridges.yml b/config/feature_flags/development/ci_manual_bridges.yml
new file mode 100644
index 00000000000..fa3f323722d
--- /dev/null
+++ b/config/feature_flags/development/ci_manual_bridges.yml
@@ -0,0 +1,7 @@
+---
+name: ci_manual_bridges
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44011
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263412
+type: development
+group: group::pipeline authoring
+default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_latest.yml b/config/feature_flags/development/ci_pipeline_latest.yml
index 661d0714e53..87b064043a3 100644
--- a/config/feature_flags/development/ci_pipeline_latest.yml
+++ b/config/feature_flags/development/ci_pipeline_latest.yml
@@ -1,7 +1,7 @@
---
name: ci_pipeline_latest
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34160
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_rewind_iid.yml b/config/feature_flags/development/ci_pipeline_rewind_iid.yml
deleted file mode 100644
index 8b6bb378a0a..00000000000
--- a/config/feature_flags/development/ci_pipeline_rewind_iid.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_pipeline_rewind_iid
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_status_omit_commit_sha_in_cache_key.yml b/config/feature_flags/development/ci_pipeline_status_omit_commit_sha_in_cache_key.yml
index eda5ab00ef1..911eab84b28 100644
--- a/config/feature_flags/development/ci_pipeline_status_omit_commit_sha_in_cache_key.yml
+++ b/config/feature_flags/development/ci_pipeline_status_omit_commit_sha_in_cache_key.yml
@@ -1,7 +1,7 @@
---
name: ci_pipeline_status_omit_commit_sha_in_cache_key
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33712
rollout_issue_url:
-group:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml b/config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml
new file mode 100644
index 00000000000..0a5c214308a
--- /dev/null
+++ b/config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml
@@ -0,0 +1,7 @@
+---
+name: ci_pipeline_triggers_settings_vue_ui
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41864
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247486
+group: group::continuous integration
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/ci_raise_job_rules_without_workflow_rules_warning.yml b/config/feature_flags/development/ci_raise_job_rules_without_workflow_rules_warning.yml
index d2e25e7bf11..c2cd1d62734 100644
--- a/config/feature_flags/development/ci_raise_job_rules_without_workflow_rules_warning.yml
+++ b/config/feature_flags/development/ci_raise_job_rules_without_workflow_rules_warning.yml
@@ -1,7 +1,7 @@
---
name: ci_raise_job_rules_without_workflow_rules_warning
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38387
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_send_deployment_hook_when_start.yml b/config/feature_flags/development/ci_send_deployment_hook_when_start.yml
new file mode 100644
index 00000000000..41f8e719b63
--- /dev/null
+++ b/config/feature_flags/development/ci_send_deployment_hook_when_start.yml
@@ -0,0 +1,7 @@
+---
+name: ci_send_deployment_hook_when_start
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41214
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247137
+group: group::progressive delivery
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/ci_skip_persistent_ref_existence_check.yml b/config/feature_flags/development/ci_skip_persistent_ref_existence_check.yml
index a9a79f80512..60c626295ab 100644
--- a/config/feature_flags/development/ci_skip_persistent_ref_existence_check.yml
+++ b/config/feature_flags/development/ci_skip_persistent_ref_existence_check.yml
@@ -1,7 +1,7 @@
---
name: ci_skip_persistent_ref_existence_check
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32391
rollout_issue_url:
-group:
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/ci_store_pipeline_messages.yml b/config/feature_flags/development/ci_store_pipeline_messages.yml
index c7235ab2196..35cbfad0efa 100644
--- a/config/feature_flags/development/ci_store_pipeline_messages.yml
+++ b/config/feature_flags/development/ci_store_pipeline_messages.yml
@@ -1,7 +1,7 @@
---
name: ci_store_pipeline_messages
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
index c5d1a44b61f..795ac08c7e9 100644
--- a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
+++ b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
@@ -1,7 +1,7 @@
---
name: ci_synchronous_artifact_parsing
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26247
rollout_issue_url:
-group:
+group: group::progressive delivery
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_update_queues_for_online_runners.yml b/config/feature_flags/development/ci_update_queues_for_online_runners.yml
deleted file mode 100644
index f2bce6e14b5..00000000000
--- a/config/feature_flags/development/ci_update_queues_for_online_runners.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: ci_update_queues_for_online_runners
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/ci_yaml_limit_size.yml b/config/feature_flags/development/ci_yaml_limit_size.yml
index 06229c08af5..0ebd29d0ba5 100644
--- a/config/feature_flags/development/ci_yaml_limit_size.yml
+++ b/config/feature_flags/development/ci_yaml_limit_size.yml
@@ -1,7 +1,7 @@
---
name: ci_yaml_limit_size
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/cleanup_lfs_during_gc.yml b/config/feature_flags/development/cleanup_lfs_during_gc.yml
deleted file mode 100644
index 836784b1d9c..00000000000
--- a/config/feature_flags/development/cleanup_lfs_during_gc.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: cleanup_lfs_during_gc
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/cluster_agent_list.yml b/config/feature_flags/development/cluster_agent_list.yml
new file mode 100644
index 00000000000..a4468b662ae
--- /dev/null
+++ b/config/feature_flags/development/cluster_agent_list.yml
@@ -0,0 +1,7 @@
+---
+name: cluster_agent_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/228845
+rollout_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/3834
+group: group::configure
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/cluster_management_project.yml b/config/feature_flags/development/cluster_management_project.yml
index 9d58efd5194..922b7e6cad3 100644
--- a/config/feature_flags/development/cluster_management_project.yml
+++ b/config/feature_flags/development/cluster_management_project.yml
@@ -1,7 +1,7 @@
---
name: cluster_management_project
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17866
rollout_issue_url:
-group:
+group: group::configure
type: development
default_enabled: true
diff --git a/config/feature_flags/development/clusters_list_redesign.yml b/config/feature_flags/development/clusters_list_redesign.yml
deleted file mode 100644
index 1a9ad73eb79..00000000000
--- a/config/feature_flags/development/clusters_list_redesign.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: clusters_list_redesign
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/consolidated_edit_button.yml b/config/feature_flags/development/consolidated_edit_button.yml
new file mode 100644
index 00000000000..eecb426c1aa
--- /dev/null
+++ b/config/feature_flags/development/consolidated_edit_button.yml
@@ -0,0 +1,7 @@
+---
+name: consolidated_edit_button
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44311
+rollout_issue_url:
+group: group::editor
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/container_expiration_policies_historic_entry.yml b/config/feature_flags/development/container_expiration_policies_historic_entry.yml
new file mode 100644
index 00000000000..0525f77eacf
--- /dev/null
+++ b/config/feature_flags/development/container_expiration_policies_historic_entry.yml
@@ -0,0 +1,7 @@
+---
+name: container_expiration_policies_historic_entry
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44444
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/262639
+type: development
+group: group::package
+default_enabled: false
diff --git a/config/feature_flags/development/container_registry_api.yml b/config/feature_flags/development/container_registry_api.yml
deleted file mode 100644
index b0e128f1c3d..00000000000
--- a/config/feature_flags/development/container_registry_api.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: container_registry_api
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/container_registry_cleanup.yml b/config/feature_flags/development/container_registry_cleanup.yml
deleted file mode 100644
index a03f530b339..00000000000
--- a/config/feature_flags/development/container_registry_cleanup.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: container_registry_cleanup
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/container_registry_fast_tag_delete.yml b/config/feature_flags/development/container_registry_fast_tag_delete.yml
deleted file mode 100644
index dddac070355..00000000000
--- a/config/feature_flags/development/container_registry_fast_tag_delete.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: container_registry_fast_tag_delete
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/core_security_mr_widget.yml b/config/feature_flags/development/core_security_mr_widget.yml
new file mode 100644
index 00000000000..343bd238ae8
--- /dev/null
+++ b/config/feature_flags/development/core_security_mr_widget.yml
@@ -0,0 +1,7 @@
+---
+name: core_security_mr_widget
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44639
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249543
+type: development
+group: group::static analysis
+default_enabled: true
diff --git a/config/feature_flags/development/create_cloud_run_clusters.yml b/config/feature_flags/development/create_cloud_run_clusters.yml
index 30894fd2df1..6c479a3dd6c 100644
--- a/config/feature_flags/development/create_cloud_run_clusters.yml
+++ b/config/feature_flags/development/create_cloud_run_clusters.yml
@@ -1,7 +1,7 @@
---
name: create_cloud_run_clusters
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19063
+rollout_issue_url:
+group: group::configure
type: development
default_enabled: true
diff --git a/config/feature_flags/development/improved_mr_merged_at_queries.yml b/config/feature_flags/development/dag_pipeline_tab.yml
index bf4c8814540..f4261b51e05 100644
--- a/config/feature_flags/development/improved_mr_merged_at_queries.yml
+++ b/config/feature_flags/development/dag_pipeline_tab.yml
@@ -1,7 +1,7 @@
---
-name: improved_mr_merged_at_queries
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39329
-rollout_issue_url:
-group: group::analytics
+name: dag_pipeline_tab
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30310
+rollout_issue_url:
+group: group::pipeline authoring
type: development
default_enabled: true
diff --git a/config/feature_flags/development/dashboard_pipeline_status.yml b/config/feature_flags/development/dashboard_pipeline_status.yml
index 241f5fea64f..8034177ee1e 100644
--- a/config/feature_flags/development/dashboard_pipeline_status.yml
+++ b/config/feature_flags/development/dashboard_pipeline_status.yml
@@ -1,7 +1,7 @@
---
name: dashboard_pipeline_status
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22029
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/209061
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/debian_packages.yml b/config/feature_flags/development/debian_packages.yml
new file mode 100644
index 00000000000..8f706e81b6a
--- /dev/null
+++ b/config/feature_flags/development/debian_packages.yml
@@ -0,0 +1,7 @@
+---
+name: debian_packages
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42670
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/5835
+group: group::package
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/push_mirror_syncs_lfs.yml b/config/feature_flags/development/default_merge_ref_for_diffs.yml
index d78fe679baa..b982185c1fd 100644
--- a/config/feature_flags/development/push_mirror_syncs_lfs.yml
+++ b/config/feature_flags/development/default_merge_ref_for_diffs.yml
@@ -1,7 +1,7 @@
---
-name: push_mirror_syncs_lfs
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40137
-rollout_issue_url:
-group: group::source code
+name: default_merge_ref_for_diffs
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34472
+rollout_issue_url:
type: development
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/deploy_boards_dedupe_instances.yml b/config/feature_flags/development/deploy_boards_dedupe_instances.yml
new file mode 100644
index 00000000000..d407e11babd
--- /dev/null
+++ b/config/feature_flags/development/deploy_boards_dedupe_instances.yml
@@ -0,0 +1,7 @@
+---
+name: deploy_boards_dedupe_instances
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40768
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258214
+type: development
+group: group::progressive delivery
+default_enabled: false
diff --git a/config/feature_flags/development/deploy_from_footer.yml b/config/feature_flags/development/deploy_from_footer.yml
deleted file mode 100644
index 8e31ab511b6..00000000000
--- a/config/feature_flags/development/deploy_from_footer.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: deploy_from_footer
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/deploy_keys_on_protected_branches.yml b/config/feature_flags/development/deploy_keys_on_protected_branches.yml
new file mode 100644
index 00000000000..ec5c13082ec
--- /dev/null
+++ b/config/feature_flags/development/deploy_keys_on_protected_branches.yml
@@ -0,0 +1,7 @@
+---
+name: deploy_keys_on_protected_branches
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35638
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247866
+group: group::progressive delivery
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/deploy_tokens_api.yml b/config/feature_flags/development/deploy_tokens_api.yml
index d8691842822..27c583e760b 100644
--- a/config/feature_flags/development/deploy_tokens_api.yml
+++ b/config/feature_flags/development/deploy_tokens_api.yml
@@ -1,7 +1,7 @@
---
name: deploy_tokens_api
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25219
+rollout_issue_url:
+group: group::package
type: development
default_enabled: true
diff --git a/config/feature_flags/development/deployment_filters.yml b/config/feature_flags/development/deployment_filters.yml
new file mode 100644
index 00000000000..8c265f253fc
--- /dev/null
+++ b/config/feature_flags/development/deployment_filters.yml
@@ -0,0 +1,7 @@
+---
+name: deployment_filters
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44041
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267561
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/design_management_allow_dangerous_images.yml b/config/feature_flags/development/design_management_allow_dangerous_images.yml
index d1d09f154a4..73c348a69ca 100644
--- a/config/feature_flags/development/design_management_allow_dangerous_images.yml
+++ b/config/feature_flags/development/design_management_allow_dangerous_images.yml
@@ -1,7 +1,7 @@
---
name: design_management_allow_dangerous_images
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16160
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/34279
+group: group::knowledge
type: development
default_enabled: false
diff --git a/config/feature_flags/development/design_management_reference_filter_gfm_pipeline.yml b/config/feature_flags/development/design_management_reference_filter_gfm_pipeline.yml
deleted file mode 100644
index e07b621ed23..00000000000
--- a/config/feature_flags/development/design_management_reference_filter_gfm_pipeline.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: design_management_reference_filter_gfm_pipeline
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml b/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml
index 193579cd11b..d0e549a465d 100644
--- a/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml
+++ b/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml
@@ -1,7 +1,7 @@
---
name: disable_metric_dashboard_refresh_rate
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229831
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229841
+group: group::health
type: development
default_enabled: false
diff --git a/config/feature_flags/development/disable_shared_runners_on_group.yml b/config/feature_flags/development/disable_shared_runners_on_group.yml
new file mode 100644
index 00000000000..86ccf59c8a0
--- /dev/null
+++ b/config/feature_flags/development/disable_shared_runners_on_group.yml
@@ -0,0 +1,7 @@
+---
+name: disable_shared_runners_on_group
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36080
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258991
+type: development
+group: group::runner
+default_enabled: true
diff --git a/config/feature_flags/development/display_merge_conflicts_in_diff.yml b/config/feature_flags/development/display_merge_conflicts_in_diff.yml
new file mode 100644
index 00000000000..678037fa366
--- /dev/null
+++ b/config/feature_flags/development/display_merge_conflicts_in_diff.yml
@@ -0,0 +1,7 @@
+---
+name: display_merge_conflicts_in_diff
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45008
+rollout_issue_url:
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/drop_license_management_artifact.yml b/config/feature_flags/development/drop_license_management_artifact.yml
index 59d749154b5..34e10fa7ae6 100644
--- a/config/feature_flags/development/drop_license_management_artifact.yml
+++ b/config/feature_flags/development/drop_license_management_artifact.yml
@@ -1,7 +1,7 @@
---
name: drop_license_management_artifact
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::composition analysis
type: development
default_enabled: true
diff --git a/config/feature_flags/development/efficient_counter_attribute.yml b/config/feature_flags/development/efficient_counter_attribute.yml
index a1b16be7ce8..1b12c166c53 100644
--- a/config/feature_flags/development/efficient_counter_attribute.yml
+++ b/config/feature_flags/development/efficient_counter_attribute.yml
@@ -1,7 +1,7 @@
---
name: efficient_counter_attribute
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35878
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238535
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/export_lfs_objects_projects.yml b/config/feature_flags/development/export_lfs_objects_projects.yml
deleted file mode 100644
index 6ef3317de8d..00000000000
--- a/config/feature_flags/development/export_lfs_objects_projects.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: export_lfs_objects_projects
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/export_reduce_relation_batch_size.yml b/config/feature_flags/development/export_reduce_relation_batch_size.yml
index b32e2232933..d077079b586 100644
--- a/config/feature_flags/development/export_reduce_relation_batch_size.yml
+++ b/config/feature_flags/development/export_reduce_relation_batch_size.yml
@@ -1,7 +1,7 @@
---
name: export_reduce_relation_batch_size
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::import
type: development
default_enabled: false
diff --git a/config/feature_flags/development/expose_environment_path_in_alert_details.yml b/config/feature_flags/development/expose_environment_path_in_alert_details.yml
new file mode 100644
index 00000000000..f1e35cffbe0
--- /dev/null
+++ b/config/feature_flags/development/expose_environment_path_in_alert_details.yml
@@ -0,0 +1,7 @@
+---
+name: expose_environment_path_in_alert_details
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43414
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258638
+type: development
+group: group::progressive delivery
+default_enabled: false
diff --git a/config/feature_flags/development/feature_flag_api.yml b/config/feature_flags/development/feature_flag_api.yml
new file mode 100644
index 00000000000..326cfa83433
--- /dev/null
+++ b/config/feature_flags/development/feature_flag_api.yml
@@ -0,0 +1,7 @@
+---
+name: feature_flag_api
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18198
+rollout_issue_url:
+group: group::progressive delivery
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/feature_flag_permissions.yml b/config/feature_flags/development/feature_flag_permissions.yml
new file mode 100644
index 00000000000..2eb5b513743
--- /dev/null
+++ b/config/feature_flags/development/feature_flag_permissions.yml
@@ -0,0 +1,7 @@
+---
+name: feature_flag_permissions
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10096
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254981
+group: group::progressive delivery
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/feature_flags_legacy_read_only.yml b/config/feature_flags/development/feature_flags_legacy_read_only.yml
new file mode 100644
index 00000000000..b790e466093
--- /dev/null
+++ b/config/feature_flags/development/feature_flags_legacy_read_only.yml
@@ -0,0 +1,7 @@
+---
+name: feature_flags_legacy_read_only
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/240985
+group: group::progressive delivery
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/feature_flags_legacy_read_only_override.yml b/config/feature_flags/development/feature_flags_legacy_read_only_override.yml
new file mode 100644
index 00000000000..14acde1b8fc
--- /dev/null
+++ b/config/feature_flags/development/feature_flags_legacy_read_only_override.yml
@@ -0,0 +1,7 @@
+---
+name: feature_flags_legacy_read_only_override
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40431
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/240985
+group: group::progressive delivery
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/feature_flags_new_version.yml b/config/feature_flags/development/feature_flags_new_version.yml
new file mode 100644
index 00000000000..3a89816c482
--- /dev/null
+++ b/config/feature_flags/development/feature_flags_new_version.yml
@@ -0,0 +1,7 @@
+---
+name: feature_flags_new_version
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258831
+group: group::progressive delivery
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/sql-set-operators.yml b/config/feature_flags/development/forti_authenticator.yml
index cefe2a83782..31f5256753f 100644
--- a/config/feature_flags/development/sql-set-operators.yml
+++ b/config/feature_flags/development/forti_authenticator.yml
@@ -1,7 +1,7 @@
---
-name: sql-set-operators
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39786
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39786
-group: group::access
+name: forti_authenticator
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45055
+rollout_issue_url:
type: development
+group: group::access
default_enabled: false
diff --git a/config/feature_flags/development/forward_deployment_enabled.yml b/config/feature_flags/development/forward_deployment_enabled.yml
index 51cc99e39ae..f9aed1a0568 100644
--- a/config/feature_flags/development/forward_deployment_enabled.yml
+++ b/config/feature_flags/development/forward_deployment_enabled.yml
@@ -1,7 +1,7 @@
---
name: forward_deployment_enabled
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24412
rollout_issue_url:
-group:
+group: group::progressive delivery
type: development
default_enabled: true
diff --git a/config/feature_flags/development/g_compliance_dashboard_feature.yml b/config/feature_flags/development/g_compliance_dashboard_feature.yml
deleted file mode 100644
index 3390bc18810..00000000000
--- a/config/feature_flags/development/g_compliance_dashboard_feature.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: g_compliance_dashboard_feature
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/generic_packages.yml b/config/feature_flags/development/generic_packages.yml
index 99b89b196ea..7b80e50d372 100644
--- a/config/feature_flags/development/generic_packages.yml
+++ b/config/feature_flags/development/generic_packages.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40045
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/239133
group: group::release management
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/git_push_create_all_pipelines.yml b/config/feature_flags/development/git_push_create_all_pipelines.yml
index 62dbe9bb02f..a205307d5fa 100644
--- a/config/feature_flags/development/git_push_create_all_pipelines.yml
+++ b/config/feature_flags/development/git_push_create_all_pipelines.yml
@@ -1,7 +1,7 @@
---
name: git_push_create_all_pipelines
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27205
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/gitpod.yml b/config/feature_flags/development/gitpod.yml
index 148ea7294ba..d1d9f35d4d4 100644
--- a/config/feature_flags/development/gitpod.yml
+++ b/config/feature_flags/development/gitpod.yml
@@ -1,7 +1,7 @@
---
name: gitpod
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37985
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258206
group: group::editor
type: development
-default_enabled: false \ No newline at end of file
+default_enabled: true
diff --git a/config/feature_flags/development/global_default_branch_name.yml b/config/feature_flags/development/global_default_branch_name.yml
index 57b324a6da2..2954ed74062 100644
--- a/config/feature_flags/development/global_default_branch_name.yml
+++ b/config/feature_flags/development/global_default_branch_name.yml
@@ -1,7 +1,7 @@
---
name: global_default_branch_name
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35269
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/go_proxy.yml b/config/feature_flags/development/go_proxy.yml
index bde614dd84d..bd0c58faee5 100644
--- a/config/feature_flags/development/go_proxy.yml
+++ b/config/feature_flags/development/go_proxy.yml
@@ -1,7 +1,7 @@
---
name: go_proxy
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27746
+rollout_issue_url:
+group: group::package
type: development
default_enabled: false
diff --git a/config/feature_flags/development/go_proxy_disable_gomod_validation.yml b/config/feature_flags/development/go_proxy_disable_gomod_validation.yml
index 5e9671c66d5..336a88bb7ff 100644
--- a/config/feature_flags/development/go_proxy_disable_gomod_validation.yml
+++ b/config/feature_flags/development/go_proxy_disable_gomod_validation.yml
@@ -1,7 +1,7 @@
---
name: go_proxy_disable_gomod_validation
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34338
+rollout_issue_url:
+group: group::package
type: development
default_enabled: false
diff --git a/config/feature_flags/development/graphql_board_lists.yml b/config/feature_flags/development/graphql_board_lists.yml
index 4e6bf000a8f..7e2696a06c8 100644
--- a/config/feature_flags/development/graphql_board_lists.yml
+++ b/config/feature_flags/development/graphql_board_lists.yml
@@ -1,7 +1,7 @@
---
name: graphql_board_lists
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/graphql_individual_release_page.yml b/config/feature_flags/development/graphql_individual_release_page.yml
new file mode 100644
index 00000000000..29c9692eaec
--- /dev/null
+++ b/config/feature_flags/development/graphql_individual_release_page.yml
@@ -0,0 +1,7 @@
+---
+name: graphql_individual_release_page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44779
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263522
+type: development
+group: group::release management
+default_enabled: true
diff --git a/config/feature_flags/development/graphql_lookahead_support.yml b/config/feature_flags/development/graphql_lookahead_support.yml
deleted file mode 100644
index 2c8825f309e..00000000000
--- a/config/feature_flags/development/graphql_lookahead_support.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: graphql_lookahead_support
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/graphql_milestone_stats.yml b/config/feature_flags/development/graphql_milestone_stats.yml
index daa72031879..a3ff14d3245 100644
--- a/config/feature_flags/development/graphql_milestone_stats.yml
+++ b/config/feature_flags/development/graphql_milestone_stats.yml
@@ -1,7 +1,7 @@
---
name: graphql_milestone_stats
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35066
+rollout_issue_url:
+group: group::release management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/ci_new_artifact_file_reader.yml b/config/feature_flags/development/graphql_pipeline_header.yml
index a6e9c67bd7e..99019d4c849 100644
--- a/config/feature_flags/development/ci_new_artifact_file_reader.yml
+++ b/config/feature_flags/development/graphql_pipeline_header.yml
@@ -1,7 +1,7 @@
---
-name: ci_new_artifact_file_reader
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40268
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249588
+name: graphql_pipeline_header
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39494
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254235
group: group::pipeline authoring
type: development
default_enabled: false
diff --git a/config/feature_flags/development/graphql_release_data.yml b/config/feature_flags/development/graphql_release_data.yml
index c30fbf7fe13..609c0dc634a 100644
--- a/config/feature_flags/development/graphql_release_data.yml
+++ b/config/feature_flags/development/graphql_release_data.yml
@@ -1,7 +1,7 @@
---
name: graphql_release_data
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30753
+rollout_issue_url:
+group: group::release management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/graphql_releases_page.yml b/config/feature_flags/development/graphql_releases_page.yml
new file mode 100644
index 00000000000..607fc7027b5
--- /dev/null
+++ b/config/feature_flags/development/graphql_releases_page.yml
@@ -0,0 +1,7 @@
+---
+name: graphql_releases_page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33095
+rollout_issue_url:
+group: group::release management
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/group_export_ndjson.yml b/config/feature_flags/development/group_export_ndjson.yml
index af495df2e48..3f7f61672f4 100644
--- a/config/feature_flags/development/group_export_ndjson.yml
+++ b/config/feature_flags/development/group_export_ndjson.yml
@@ -1,7 +1,7 @@
---
name: group_export_ndjson
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29590
+rollout_issue_url:
+group: group::import
type: development
default_enabled: true
diff --git a/config/feature_flags/development/group_import_export.yml b/config/feature_flags/development/group_import_export.yml
index 8a49fb29e45..0e88c45684f 100644
--- a/config/feature_flags/development/group_import_export.yml
+++ b/config/feature_flags/development/group_import_export.yml
@@ -1,7 +1,7 @@
---
name: group_import_export
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::import
type: development
default_enabled: true
diff --git a/config/feature_flags/development/group_import_ndjson.yml b/config/feature_flags/development/group_import_ndjson.yml
index cf438abe8cb..98f0d4722e4 100644
--- a/config/feature_flags/development/group_import_ndjson.yml
+++ b/config/feature_flags/development/group_import_ndjson.yml
@@ -1,7 +1,7 @@
---
name: group_import_ndjson
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29716
+rollout_issue_url:
+group: group::import
type: development
default_enabled: true
diff --git a/config/feature_flags/development/group_level_integrations.yml b/config/feature_flags/development/group_level_integrations.yml
index 8fc7da47ba1..c089333f72a 100644
--- a/config/feature_flags/development/group_level_integrations.yml
+++ b/config/feature_flags/development/group_level_integrations.yml
@@ -1,6 +1,6 @@
---
name: group_level_integrations
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27557
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238575
group: group::ecosystem
type: development
diff --git a/config/feature_flags/development/help_page_documentation_redirect.yml b/config/feature_flags/development/help_page_documentation_redirect.yml
new file mode 100644
index 00000000000..bf30101a199
--- /dev/null
+++ b/config/feature_flags/development/help_page_documentation_redirect.yml
@@ -0,0 +1,7 @@
+---
+name: help_page_documentation_redirect
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42702
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255328
+group: group::static site editor
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/inactive_policy_condition.yml b/config/feature_flags/development/inactive_policy_condition.yml
deleted file mode 100644
index bf577fb3123..00000000000
--- a/config/feature_flags/development/inactive_policy_condition.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: inactive_policy_condition
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/include_lfs_blobs_in_archive.yml b/config/feature_flags/development/include_lfs_blobs_in_archive.yml
new file mode 100644
index 00000000000..fcbefa3d072
--- /dev/null
+++ b/config/feature_flags/development/include_lfs_blobs_in_archive.yml
@@ -0,0 +1,7 @@
+---
+name: include_lfs_blobs_in_archive
+introduced_by_url: '44116'
+rollout_issue_url:
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/increased_diff_limits.yml b/config/feature_flags/development/increased_diff_limits.yml
new file mode 100644
index 00000000000..351e6926161
--- /dev/null
+++ b/config/feature_flags/development/increased_diff_limits.yml
@@ -0,0 +1,7 @@
+---
+name: increased_diff_limits
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40357
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241185
+group: group::source code
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/ingress_modsecurity.yml b/config/feature_flags/development/ingress_modsecurity.yml
index cf289bb3d45..7ed1d089476 100644
--- a/config/feature_flags/development/ingress_modsecurity.yml
+++ b/config/feature_flags/development/ingress_modsecurity.yml
@@ -1,7 +1,7 @@
---
name: ingress_modsecurity
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20194
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258554
+group: group::container security
type: development
default_enabled: false
diff --git a/config/feature_flags/development/invisible_captcha.yml b/config/feature_flags/development/invisible_captcha.yml
index ee38a9c657a..e44e5a47947 100644
--- a/config/feature_flags/development/invisible_captcha.yml
+++ b/config/feature_flags/development/invisible_captcha.yml
@@ -1,7 +1,7 @@
---
name: invisible_captcha
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31625
+rollout_issue_url:
+group: group::acquisition
type: development
default_enabled: false
diff --git a/config/feature_flags/development/invite_email_experiment.yml b/config/feature_flags/development/invite_email_experiment.yml
index 3797090724e..496f096f7c7 100644
--- a/config/feature_flags/development/invite_email_experiment.yml
+++ b/config/feature_flags/development/invite_email_experiment.yml
@@ -1,7 +1,7 @@
---
name: invite_email_experiment
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39628
+rollout_issue_url:
+group: group::acquisition
type: development
default_enabled: false
diff --git a/config/feature_flags/development/invite_members_group_modal.yml b/config/feature_flags/development/invite_members_group_modal.yml
new file mode 100644
index 00000000000..faa905f6557
--- /dev/null
+++ b/config/feature_flags/development/invite_members_group_modal.yml
@@ -0,0 +1,7 @@
+---
+name: invite_members_group_modal
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37906
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247208
+group: group::expansion
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/json_limited_encoder.yml b/config/feature_flags/development/json_limited_encoder.yml
index 3afed64b4cc..d20b5412233 100644
--- a/config/feature_flags/development/json_limited_encoder.yml
+++ b/config/feature_flags/development/json_limited_encoder.yml
@@ -1,7 +1,7 @@
---
name: json_limited_encoder
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38687
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: false
diff --git a/config/feature_flags/development/junit_pipeline_screenshots_view.yml b/config/feature_flags/development/junit_pipeline_screenshots_view.yml
index d9f61b572be..273e0ed450e 100644
--- a/config/feature_flags/development/junit_pipeline_screenshots_view.yml
+++ b/config/feature_flags/development/junit_pipeline_screenshots_view.yml
@@ -1,7 +1,7 @@
---
name: junit_pipeline_screenshots_view
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/202114
+rollout_issue_url:
+group: group::verify testing
type: development
default_enabled: false
diff --git a/config/feature_flags/development/kubernetes_cluster_namespace_role_admin.yml b/config/feature_flags/development/kubernetes_cluster_namespace_role_admin.yml
new file mode 100644
index 00000000000..7fb9a3d6921
--- /dev/null
+++ b/config/feature_flags/development/kubernetes_cluster_namespace_role_admin.yml
@@ -0,0 +1,7 @@
+---
+name: kubernetes_cluster_namespace_role_admin
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45479
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/270030
+type: development
+group: group::configure
+default_enabled: false
diff --git a/config/feature_flags/development/limit_projects_in_groups_api.yml b/config/feature_flags/development/limit_projects_in_groups_api.yml
index 571c02578d3..efa763944ec 100644
--- a/config/feature_flags/development/limit_projects_in_groups_api.yml
+++ b/config/feature_flags/development/limit_projects_in_groups_api.yml
@@ -1,7 +1,7 @@
---
name: limit_projects_in_groups_api
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20023
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257829
+group: group::access
type: development
default_enabled: true
diff --git a/config/feature_flags/development/log_import_export_relation_creation.yml b/config/feature_flags/development/log_import_export_relation_creation.yml
index bfd4b27752b..4ab84c2193c 100644
--- a/config/feature_flags/development/log_import_export_relation_creation.yml
+++ b/config/feature_flags/development/log_import_export_relation_creation.yml
@@ -1,7 +1,7 @@
---
name: log_import_export_relation_creation
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::import
type: development
default_enabled: false
diff --git a/config/feature_flags/development/maintenance_mode.yml b/config/feature_flags/development/maintenance_mode.yml
index 8fba1216834..429e70b64a2 100644
--- a/config/feature_flags/development/maintenance_mode.yml
+++ b/config/feature_flags/development/maintenance_mode.yml
@@ -1,7 +1,7 @@
---
name: maintenance_mode
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28158
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/217895
+group: group::geo
type: development
default_enabled: false
diff --git a/config/feature_flags/development/merge_base_pipelines.yml b/config/feature_flags/development/merge_base_pipelines.yml
new file mode 100644
index 00000000000..4f57ca556f1
--- /dev/null
+++ b/config/feature_flags/development/merge_base_pipelines.yml
@@ -0,0 +1,7 @@
+---
+name: merge_base_pipelines
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44648
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263724
+type: development
+group: group::testing
+default_enabled: false
diff --git a/config/feature_flags/development/merge_orchestration_service.yml b/config/feature_flags/development/merge_orchestration_service.yml
index 134553e7344..2bdfe9b52a4 100644
--- a/config/feature_flags/development/merge_orchestration_service.yml
+++ b/config/feature_flags/development/merge_orchestration_service.yml
@@ -1,7 +1,7 @@
---
name: merge_orchestration_service
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28532
rollout_issue_url:
-group:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/merge_request_cached_pipeline_serializer.yml b/config/feature_flags/development/merge_request_cached_pipeline_serializer.yml
new file mode 100644
index 00000000000..1141d1f82a4
--- /dev/null
+++ b/config/feature_flags/development/merge_request_cached_pipeline_serializer.yml
@@ -0,0 +1,7 @@
+---
+name: merge_request_cached_pipeline_serializer
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38273
+rollout_issue_url:
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/merge_request_draft_filter.yml b/config/feature_flags/development/merge_request_draft_filter.yml
index 113194c2a18..6bf3e12d817 100644
--- a/config/feature_flags/development/merge_request_draft_filter.yml
+++ b/config/feature_flags/development/merge_request_draft_filter.yml
@@ -1,7 +1,7 @@
---
name: merge_request_draft_filter
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35942
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/merge_request_short_pipeline_serializer.yml b/config/feature_flags/development/merge_request_short_pipeline_serializer.yml
deleted file mode 100644
index c24dd106547..00000000000
--- a/config/feature_flags/development/merge_request_short_pipeline_serializer.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: merge_request_short_pipeline_serializer
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/merge_request_widget_graphql.yml b/config/feature_flags/development/merge_request_widget_graphql.yml
index 028553a47f8..cbe76a61fa5 100644
--- a/config/feature_flags/development/merge_request_widget_graphql.yml
+++ b/config/feature_flags/development/merge_request_widget_graphql.yml
@@ -1,7 +1,7 @@
---
name: merge_request_widget_graphql
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38311
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: false
diff --git a/config/feature_flags/development/metrics_dashboard.yml b/config/feature_flags/development/metrics_dashboard.yml
index a252068aa9a..04a64b632ba 100644
--- a/config/feature_flags/development/metrics_dashboard.yml
+++ b/config/feature_flags/development/metrics_dashboard.yml
@@ -1,7 +1,7 @@
---
name: metrics_dashboard
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29634
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257902
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/migrate_bio_to_user_details.yml b/config/feature_flags/development/migrate_bio_to_user_details.yml
deleted file mode 100644
index f54e45f9bd3..00000000000
--- a/config/feature_flags/development/migrate_bio_to_user_details.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: migrate_bio_to_user_details
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/migrate_user_mentions.yml b/config/feature_flags/development/migrate_user_mentions.yml
index 3388fb020ad..5dd5667dfae 100644
--- a/config/feature_flags/development/migrate_user_mentions.yml
+++ b/config/feature_flags/development/migrate_user_mentions.yml
@@ -1,7 +1,7 @@
---
name: migrate_user_mentions
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34378
rollout_issue_url:
-group:
+group: group::project management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/modifed_path_ci_variables.yml b/config/feature_flags/development/modifed_path_ci_variables.yml
deleted file mode 100644
index a72a5ae56e1..00000000000
--- a/config/feature_flags/development/modifed_path_ci_variables.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: modifed_path_ci_variables
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/monaco_blobs.yml b/config/feature_flags/development/monaco_blobs.yml
deleted file mode 100644
index bb1215493d5..00000000000
--- a/config/feature_flags/development/monaco_blobs.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: monaco_blobs
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/monaco_ci.yml b/config/feature_flags/development/monaco_ci.yml
deleted file mode 100644
index 5d6ace8d8ad..00000000000
--- a/config/feature_flags/development/monaco_ci.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: monaco_ci
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/mr_commit_neighbor_nav.yml b/config/feature_flags/development/mr_commit_neighbor_nav.yml
index 5fcacbdd3fe..7b540e14464 100644
--- a/config/feature_flags/development/mr_commit_neighbor_nav.yml
+++ b/config/feature_flags/development/mr_commit_neighbor_nav.yml
@@ -1,7 +1,7 @@
---
name: mr_commit_neighbor_nav
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28596
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/multi_select_board.yml b/config/feature_flags/development/multi_select_board.yml
index 35718606d62..3849fb0e12b 100644
--- a/config/feature_flags/development/multi_select_board.yml
+++ b/config/feature_flags/development/multi_select_board.yml
@@ -1,7 +1,7 @@
---
name: multi_select_board
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/multiline_comments.yml b/config/feature_flags/development/multiline_comments.yml
index cb80d381e18..135e5be1dc5 100644
--- a/config/feature_flags/development/multiline_comments.yml
+++ b/config/feature_flags/development/multiline_comments.yml
@@ -1,7 +1,7 @@
---
name: multiline_comments
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/211255
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/new_pipeline_form.yml b/config/feature_flags/development/new_pipeline_form.yml
index 96c7268ded0..3c1079a5f5c 100644
--- a/config/feature_flags/development/new_pipeline_form.yml
+++ b/config/feature_flags/development/new_pipeline_form.yml
@@ -1,7 +1,7 @@
---
name: new_pipeline_form
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35674
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229632
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml b/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml
new file mode 100644
index 00000000000..6b821e7fd9e
--- /dev/null
+++ b/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml
@@ -0,0 +1,7 @@
+---
+name: new_pipeline_form_prefilled_vars
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44120
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263276
+type: development
+group: group::continuous integration
+default_enabled: false
diff --git a/config/feature_flags/development/new_release_page.yml b/config/feature_flags/development/new_release_page.yml
index a17438ba949..b2890b9ebf9 100644
--- a/config/feature_flags/development/new_release_page.yml
+++ b/config/feature_flags/development/new_release_page.yml
@@ -1,7 +1,7 @@
---
name: new_release_page
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35367
+rollout_issue_url:
+group: group::release management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/new_variables_ui.yml b/config/feature_flags/development/new_variables_ui.yml
index 7621b356f5d..091c6e51013 100644
--- a/config/feature_flags/development/new_variables_ui.yml
+++ b/config/feature_flags/development/new_variables_ui.yml
@@ -1,7 +1,7 @@
---
name: new_variables_ui
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25260
+rollout_issue_url:
+group: group::continuous integration
type: development
default_enabled: true
diff --git a/config/feature_flags/development/not_issuable_queries.yml b/config/feature_flags/development/not_issuable_queries.yml
index f6bbceff505..a5cfba7980d 100644
--- a/config/feature_flags/development/not_issuable_queries.yml
+++ b/config/feature_flags/development/not_issuable_queries.yml
@@ -1,7 +1,7 @@
---
name: not_issuable_queries
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27639
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/one_dimensional_matrix.yml b/config/feature_flags/development/one_dimensional_matrix.yml
new file mode 100644
index 00000000000..1db16474d38
--- /dev/null
+++ b/config/feature_flags/development/one_dimensional_matrix.yml
@@ -0,0 +1,7 @@
+---
+name: one_dimensional_matrix
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42170
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/256062
+type: development
+group: group::pipeline authoring
+default_enabled: true
diff --git a/config/feature_flags/development/packages_coming_soon.yml b/config/feature_flags/development/packages_coming_soon.yml
deleted file mode 100644
index 0a0d1f989dc..00000000000
--- a/config/feature_flags/development/packages_coming_soon.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: packages_coming_soon
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/paginated_notes.yml b/config/feature_flags/development/paginated_notes.yml
index cd98b3b1bbf..a9209fbe4ae 100644
--- a/config/feature_flags/development/paginated_notes.yml
+++ b/config/feature_flags/development/paginated_notes.yml
@@ -1,7 +1,7 @@
---
name: paginated_notes
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34628
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254987
+group: group::source code
type: development
default_enabled: false
diff --git a/config/feature_flags/development/periodic_project_authorization_recalculation.yml b/config/feature_flags/development/periodic_project_authorization_recalculation.yml
deleted file mode 100644
index 90b9babcfca..00000000000
--- a/config/feature_flags/development/periodic_project_authorization_recalculation.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: periodic_project_authorization_recalculation
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/phabricator_import.yml b/config/feature_flags/development/phabricator_import.yml
index 32ccfed557e..1bce39b65f6 100644
--- a/config/feature_flags/development/phabricator_import.yml
+++ b/config/feature_flags/development/phabricator_import.yml
@@ -1,7 +1,7 @@
---
name: phabricator_import
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13569
+rollout_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/1197
+group: group::import
type: development
default_enabled: false
diff --git a/config/feature_flags/development/pipelines_security_report_summary.yml b/config/feature_flags/development/pipelines_security_report_summary.yml
index 943997f1a4f..b9e83bc0795 100644
--- a/config/feature_flags/development/pipelines_security_report_summary.yml
+++ b/config/feature_flags/development/pipelines_security_report_summary.yml
@@ -1,7 +1,7 @@
---
name: pipelines_security_report_summary
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31136
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235943
+group: group::dynamic analysis
type: development
default_enabled: false
diff --git a/config/feature_flags/development/product_analytics.yml b/config/feature_flags/development/product_analytics.yml
index 85bef678251..02840f3212b 100644
--- a/config/feature_flags/development/product_analytics.yml
+++ b/config/feature_flags/development/product_analytics.yml
@@ -1,7 +1,7 @@
---
name: product_analytics
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/36443
+rollout_issue_url:
+group: group::product analytics
type: development
default_enabled: false
diff --git a/config/feature_flags/development/project_export_as_ndjson.yml b/config/feature_flags/development/project_export_as_ndjson.yml
index eee61f4ce26..f39b892f18a 100644
--- a/config/feature_flags/development/project_export_as_ndjson.yml
+++ b/config/feature_flags/development/project_export_as_ndjson.yml
@@ -1,7 +1,7 @@
---
name: project_export_as_ndjson
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26995
+rollout_issue_url:
+group: group::import
type: development
default_enabled: true
diff --git a/config/feature_flags/development/project_finder_similarity_sort.yml b/config/feature_flags/development/project_finder_similarity_sort.yml
new file mode 100644
index 00000000000..2d29bed82c4
--- /dev/null
+++ b/config/feature_flags/development/project_finder_similarity_sort.yml
@@ -0,0 +1,7 @@
+---
+name: project_finder_similarity_sort
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43136
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263249
+type: development
+group: group::threat insights
+default_enabled: false
diff --git a/config/feature_flags/development/project_import_ndjson.yml b/config/feature_flags/development/project_import_ndjson.yml
index a7971d462fe..8dc924a97c2 100644
--- a/config/feature_flags/development/project_import_ndjson.yml
+++ b/config/feature_flags/development/project_import_ndjson.yml
@@ -1,7 +1,7 @@
---
name: project_import_ndjson
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27206
+rollout_issue_url:
+group: group::import
type: development
default_enabled: true
diff --git a/config/feature_flags/development/project_transactionless_destroy.yml b/config/feature_flags/development/project_transactionless_destroy.yml
index 07018632e7a..726875655e9 100644
--- a/config/feature_flags/development/project_transactionless_destroy.yml
+++ b/config/feature_flags/development/project_transactionless_destroy.yml
@@ -1,7 +1,7 @@
---
name: project_transactionless_destroy
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39367
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255972
+group: group::continuous integration
type: development
default_enabled: false
diff --git a/config/feature_flags/development/prometheus_computed_alerts.yml b/config/feature_flags/development/prometheus_computed_alerts.yml
index ddba72b2f46..576894df589 100644
--- a/config/feature_flags/development/prometheus_computed_alerts.yml
+++ b/config/feature_flags/development/prometheus_computed_alerts.yml
@@ -1,7 +1,7 @@
---
name: prometheus_computed_alerts
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13443
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255304
+group: group::health
type: development
default_enabled: false
diff --git a/config/feature_flags/development/reactive_caching_limit_environment.yml b/config/feature_flags/development/reactive_caching_limit_environment.yml
index 84db37d1d34..8aa66c9d293 100644
--- a/config/feature_flags/development/reactive_caching_limit_environment.yml
+++ b/config/feature_flags/development/reactive_caching_limit_environment.yml
@@ -1,7 +1,7 @@
---
name: reactive_caching_limit_environment
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34202
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/202633
+group: group::configure
type: development
default_enabled: false
diff --git a/config/feature_flags/development/real_time_issue_sidebar.yml b/config/feature_flags/development/real_time_issue_sidebar.yml
index 7cbaabe643f..37284b2642c 100644
--- a/config/feature_flags/development/real_time_issue_sidebar.yml
+++ b/config/feature_flags/development/real_time_issue_sidebar.yml
@@ -1,7 +1,7 @@
---
name: real_time_issue_sidebar
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30239
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/delivery/-/issues/1210
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/rebalance_issues.yml b/config/feature_flags/development/rebalance_issues.yml
index 4c14824a35d..df04da8c8d3 100644
--- a/config/feature_flags/development/rebalance_issues.yml
+++ b/config/feature_flags/development/rebalance_issues.yml
@@ -2,6 +2,6 @@
name: rebalance_issues
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40124
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/239344
-group: 'group::project management'
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/recursive_approach_for_all_projects.yml b/config/feature_flags/development/recursive_approach_for_all_projects.yml
new file mode 100644
index 00000000000..10c51419d6a
--- /dev/null
+++ b/config/feature_flags/development/recursive_approach_for_all_projects.yml
@@ -0,0 +1,7 @@
+---
+name: recursive_approach_for_all_projects
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44740
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263442
+type: development
+group: group::fulfillment
+default_enabled: false
diff --git a/config/feature_flags/development/release_asset_link_editing.yml b/config/feature_flags/development/release_asset_link_editing.yml
deleted file mode 100644
index 6e6cce2c343..00000000000
--- a/config/feature_flags/development/release_asset_link_editing.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: release_asset_link_editing
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/release_asset_link_type.yml b/config/feature_flags/development/release_asset_link_type.yml
deleted file mode 100644
index baeb2e59f82..00000000000
--- a/config/feature_flags/development/release_asset_link_type.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: release_asset_link_type
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/release_evidence.yml b/config/feature_flags/development/release_evidence.yml
index a19994d51a7..c2f7ab16332 100644
--- a/config/feature_flags/development/release_evidence.yml
+++ b/config/feature_flags/development/release_evidence.yml
@@ -1,7 +1,7 @@
---
name: release_evidence
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26509
rollout_issue_url:
-group:
+group: group::release management
type: development
default_enabled: true
diff --git a/config/feature_flags/development/release_evidence_collection.yml b/config/feature_flags/development/release_evidence_collection.yml
deleted file mode 100644
index c5ab8f8e5c0..00000000000
--- a/config/feature_flags/development/release_evidence_collection.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: release_evidence_collection
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/release_issue_summary.yml b/config/feature_flags/development/release_issue_summary.yml
deleted file mode 100644
index ebd8ef2e4d0..00000000000
--- a/config/feature_flags/development/release_issue_summary.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: release_issue_summary
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/release_mr_issue_urls.yml b/config/feature_flags/development/release_mr_issue_urls.yml
index f6abf50f535..3f9c81b8fe9 100644
--- a/config/feature_flags/development/release_mr_issue_urls.yml
+++ b/config/feature_flags/development/release_mr_issue_urls.yml
@@ -1,7 +1,7 @@
---
name: release_mr_issue_urls
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18727
+rollout_issue_url:
+group: group::release management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/release_show_page.yml b/config/feature_flags/development/release_show_page.yml
deleted file mode 100644
index 5a3f1709452..00000000000
--- a/config/feature_flags/development/release_show_page.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: release_show_page
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/remove_legacy_github_client.yml b/config/feature_flags/development/remove_legacy_github_client.yml
index adb0c7b5d03..ecb8e103949 100644
--- a/config/feature_flags/development/remove_legacy_github_client.yml
+++ b/config/feature_flags/development/remove_legacy_github_client.yml
@@ -1,7 +1,7 @@
---
name: remove_legacy_github_client
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::import
type: development
default_enabled: false
diff --git a/config/feature_flags/development/repack_after_shard_migration.yml b/config/feature_flags/development/repack_after_shard_migration.yml
index addfcf66537..18663a4e7af 100644
--- a/config/feature_flags/development/repack_after_shard_migration.yml
+++ b/config/feature_flags/development/repack_after_shard_migration.yml
@@ -1,7 +1,7 @@
---
name: repack_after_shard_migration
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21502
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/195597
+group: group::source code
type: development
default_enabled: false
diff --git a/config/feature_flags/development/resource_access_token.yml b/config/feature_flags/development/resource_access_token.yml
deleted file mode 100644
index 80c5b2a5eb4..00000000000
--- a/config/feature_flags/development/resource_access_token.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: resource_access_token
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/safezip_use_rubyzip.yml b/config/feature_flags/development/safezip_use_rubyzip.yml
deleted file mode 100644
index 139283d93d2..00000000000
--- a/config/feature_flags/development/safezip_use_rubyzip.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: safezip_use_rubyzip
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/save_raw_usage_data.yml b/config/feature_flags/development/save_raw_usage_data.yml
index 9556f699b9b..b3c65c12e2d 100644
--- a/config/feature_flags/development/save_raw_usage_data.yml
+++ b/config/feature_flags/development/save_raw_usage_data.yml
@@ -1,7 +1,7 @@
---
name: save_raw_usage_data
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38457
+rollout_issue_url:
+group: group::product analytics
type: development
default_enabled: false
diff --git a/config/feature_flags/development/schema_linting.yml b/config/feature_flags/development/schema_linting.yml
index 1220b02be0d..3722f1dd97f 100644
--- a/config/feature_flags/development/schema_linting.yml
+++ b/config/feature_flags/development/schema_linting.yml
@@ -1,7 +1,7 @@
---
name: schema_linting
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35838
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255919
+group: group::editor
type: development
default_enabled: false
diff --git a/config/feature_flags/development/search_filter_by_confidential.yml b/config/feature_flags/development/search_filter_by_confidential.yml
new file mode 100644
index 00000000000..0a952a4d25e
--- /dev/null
+++ b/config/feature_flags/development/search_filter_by_confidential.yml
@@ -0,0 +1,7 @@
+---
+name: search_filter_by_confidential
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40793
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/244923
+group: group::global search
+type: development
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/security_auto_fix.yml b/config/feature_flags/development/security_auto_fix.yml
new file mode 100644
index 00000000000..b97220a1059
--- /dev/null
+++ b/config/feature_flags/development/security_auto_fix.yml
@@ -0,0 +1,7 @@
+---
+name: security_auto_fix
+introduced_by_url:
+rollout_issue_url:
+group: group::composition analysis
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/serverless_domain.yml b/config/feature_flags/development/serverless_domain.yml
index 160730117d6..f4821e5a14c 100644
--- a/config/feature_flags/development/serverless_domain.yml
+++ b/config/feature_flags/development/serverless_domain.yml
@@ -1,7 +1,7 @@
---
name: serverless_domain
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21222
rollout_issue_url:
-group:
+group: group::configure
type: development
default_enabled: false
diff --git a/config/feature_flags/development/service_desk_custom_address.yml b/config/feature_flags/development/service_desk_custom_address.yml
index 25cab0059c7..13a9ef6f37a 100644
--- a/config/feature_flags/development/service_desk_custom_address.yml
+++ b/config/feature_flags/development/service_desk_custom_address.yml
@@ -2,6 +2,6 @@
name: service_desk_custom_address
introduced_by_url:
rollout_issue_url:
-group:
+group: group::certify
type: development
default_enabled: false
diff --git a/config/feature_flags/development/settings_operations_prometheus_service.yml b/config/feature_flags/development/settings_operations_prometheus_service.yml
index de2df4b219d..1a4815a3fb9 100644
--- a/config/feature_flags/development/settings_operations_prometheus_service.yml
+++ b/config/feature_flags/development/settings_operations_prometheus_service.yml
@@ -1,7 +1,7 @@
---
name: settings_operations_prometheus_service
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24296
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258560
+group: group::health
type: development
default_enabled: false
diff --git a/config/feature_flags/development/show_contributor_on_note.yml b/config/feature_flags/development/show_inherited_labels.yml
index 89533037244..73ceb07002c 100644
--- a/config/feature_flags/development/show_contributor_on_note.yml
+++ b/config/feature_flags/development/show_inherited_labels.yml
@@ -1,7 +1,7 @@
---
-name: show_contributor_on_note
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40198
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249179
+name: show_inherited_labels
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42960
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267547
group: group::project management
type: development
-default_enabled: false \ No newline at end of file
+default_enabled: true
diff --git a/config/feature_flags/development/similarity_search.yml b/config/feature_flags/development/similarity_search.yml
index b7d48c5b986..f99e80b5cc7 100644
--- a/config/feature_flags/development/similarity_search.yml
+++ b/config/feature_flags/development/similarity_search.yml
@@ -1,7 +1,7 @@
---
name: similarity_search
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37300/
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38675
+group: group::analytics
type: development
default_enabled: true
diff --git a/config/feature_flags/development/snippet_multiple_files.yml b/config/feature_flags/development/snippet_multiple_files.yml
deleted file mode 100644
index 28520cea19c..00000000000
--- a/config/feature_flags/development/snippet_multiple_files.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: snippet_multiple_files
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/snippets_edit_vue.yml b/config/feature_flags/development/snippet_spam.yml
index d62926a8337..8215766fd3f 100644
--- a/config/feature_flags/development/snippets_edit_vue.yml
+++ b/config/feature_flags/development/snippet_spam.yml
@@ -1,7 +1,7 @@
---
-name: snippets_edit_vue
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25667
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207239
-group: group::editor
+name: snippet_spam
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44010
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/262013
type: development
-default_enabled: true
+group: group::editor
+default_enabled: false
diff --git a/config/feature_flags/development/snippets_binary_blob.yml b/config/feature_flags/development/snippets_binary_blob.yml
index c8d1b5d6ba2..6ab05b096ba 100644
--- a/config/feature_flags/development/snippets_binary_blob.yml
+++ b/config/feature_flags/development/snippets_binary_blob.yml
@@ -1,7 +1,7 @@
---
name: snippets_binary_blob
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::editor
type: development
default_enabled: false
diff --git a/config/feature_flags/development/snippets_vue.yml b/config/feature_flags/development/snippets_vue.yml
deleted file mode 100644
index b3b7e525a6e..00000000000
--- a/config/feature_flags/development/snippets_vue.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: snippets_vue
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/soft_email_confirmation.yml b/config/feature_flags/development/soft_email_confirmation.yml
index d471cf442de..ee951d84ed8 100644
--- a/config/feature_flags/development/soft_email_confirmation.yml
+++ b/config/feature_flags/development/soft_email_confirmation.yml
@@ -1,7 +1,7 @@
---
name: soft_email_confirmation
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31245
+rollout_issue_url:
+group: group::acquisition
type: development
default_enabled: false
diff --git a/config/feature_flags/development/soft_fail_count_by_state.yml b/config/feature_flags/development/soft_fail_count_by_state.yml
new file mode 100644
index 00000000000..a8cd1a35e44
--- /dev/null
+++ b/config/feature_flags/development/soft_fail_count_by_state.yml
@@ -0,0 +1,7 @@
+---
+name: soft_fail_count_by_state
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44184
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263222
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/specialized_project_authorization_project_share_worker.yml b/config/feature_flags/development/specialized_project_authorization_project_share_worker.yml
index c09c5ad519b..951ea4b315f 100644
--- a/config/feature_flags/development/specialized_project_authorization_project_share_worker.yml
+++ b/config/feature_flags/development/specialized_project_authorization_project_share_worker.yml
@@ -1,7 +1,7 @@
---
name: specialized_project_authorization_project_share_worker
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32864
+rollout_issue_url:
+group: group::access
type: development
default_enabled: false
diff --git a/config/feature_flags/development/specialized_project_authorization_workers.yml b/config/feature_flags/development/specialized_project_authorization_workers.yml
index 7fceff532f3..48372cac765 100644
--- a/config/feature_flags/development/specialized_project_authorization_workers.yml
+++ b/config/feature_flags/development/specialized_project_authorization_workers.yml
@@ -1,7 +1,7 @@
---
name: specialized_project_authorization_workers
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31377
+rollout_issue_url:
+group: group::access
type: development
default_enabled: false
diff --git a/config/feature_flags/development/sql_set_operators.yml b/config/feature_flags/development/sql_set_operators.yml
index b8a838a13f1..2098a19a24a 100644
--- a/config/feature_flags/development/sql_set_operators.yml
+++ b/config/feature_flags/development/sql_set_operators.yml
@@ -1,7 +1,7 @@
---
name: sql_set_operators
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39786
+rollout_issue_url:
+group: group::access
type: development
default_enabled: false
diff --git a/config/feature_flags/development/store_instance_statistics_measurements.yml b/config/feature_flags/development/store_ci_pipeline_counts_by_status.yml
index 9483b9005df..62044bf855a 100644
--- a/config/feature_flags/development/store_instance_statistics_measurements.yml
+++ b/config/feature_flags/development/store_ci_pipeline_counts_by_status.yml
@@ -1,7 +1,7 @@
---
-name: store_instance_statistics_measurements
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41300
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247871
-group: group::analytics
+name: store_ci_pipeline_counts_by_status
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43027
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254721
type: development
+group: group::analytics
default_enabled: true
diff --git a/config/feature_flags/development/store_mentioned_users_to_db.yml b/config/feature_flags/development/store_mentioned_users_to_db.yml
deleted file mode 100644
index e19076f2b84..00000000000
--- a/config/feature_flags/development/store_mentioned_users_to_db.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: store_mentioned_users_to_db
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/suggest_pipeline.yml b/config/feature_flags/development/suggest_pipeline.yml
deleted file mode 100644
index bd467f4bcca..00000000000
--- a/config/feature_flags/development/suggest_pipeline.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: suggest_pipeline
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/sync_metrics_dashboards.yml b/config/feature_flags/development/sync_metrics_dashboards.yml
new file mode 100644
index 00000000000..2dd8964121a
--- /dev/null
+++ b/config/feature_flags/development/sync_metrics_dashboards.yml
@@ -0,0 +1,7 @@
+---
+name: sync_metrics_dashboards
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39658
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241793
+group: group::apm
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/track_issue_activity_actions.yml b/config/feature_flags/development/track_issue_activity_actions.yml
index 034b697ab52..f80831e1b35 100644
--- a/config/feature_flags/development/track_issue_activity_actions.yml
+++ b/config/feature_flags/development/track_issue_activity_actions.yml
@@ -2,6 +2,6 @@
name: track_issue_activity_actions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40904
rollout_issue_url:
-group: group::project_management
+group: group::project management
type: development
-default_enabled: false \ No newline at end of file
+default_enabled: true
diff --git a/config/feature_flags/development/track_resource_state_change_events.yml b/config/feature_flags/development/track_resource_state_change_events.yml
deleted file mode 100644
index 3bfde5cf05e..00000000000
--- a/config/feature_flags/development/track_resource_state_change_events.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: track_resource_state_change_events
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/track_unique_test_cases_parsed.yml b/config/feature_flags/development/track_unique_test_cases_parsed.yml
new file mode 100644
index 00000000000..98ae38e1cb0
--- /dev/null
+++ b/config/feature_flags/development/track_unique_test_cases_parsed.yml
@@ -0,0 +1,7 @@
+---
+name: track_unique_test_cases_parsed
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41918
+rollout_issue_url:
+group: group::testing
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/track_unique_visits.yml b/config/feature_flags/development/track_unique_visits.yml
index 6a60d327e87..10f78a32492 100644
--- a/config/feature_flags/development/track_unique_visits.yml
+++ b/config/feature_flags/development/track_unique_visits.yml
@@ -1,7 +1,7 @@
---
name: track_unique_visits
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33146
rollout_issue_url:
-group:
+group: group::analytics
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/design_management_todo_button.yml b/config/feature_flags/development/track_unique_wiki_page_views.yml
index 218ddf9f65c..0e8120635ab 100644
--- a/config/feature_flags/development/design_management_todo_button.yml
+++ b/config/feature_flags/development/track_unique_wiki_page_views.yml
@@ -1,7 +1,7 @@
---
-name: design_management_todo_button
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39935
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/245074
-group: group::knowledge
+name: track_unique_wiki_page_views
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44622
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267162
type: development
+group: group::knowledge
default_enabled: true
diff --git a/config/feature_flags/development/tribute_autocomplete.yml b/config/feature_flags/development/tribute_autocomplete.yml
index 31ee1b932d3..94cfc00c467 100644
--- a/config/feature_flags/development/tribute_autocomplete.yml
+++ b/config/feature_flags/development/tribute_autocomplete.yml
@@ -1,7 +1,7 @@
---
name: tribute_autocomplete
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32671
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/two_factor_for_cli.yml b/config/feature_flags/development/two_factor_for_cli.yml
new file mode 100644
index 00000000000..f75264451e0
--- /dev/null
+++ b/config/feature_flags/development/two_factor_for_cli.yml
@@ -0,0 +1,7 @@
+---
+name: two_factor_for_cli
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39703
+rollout_issue_url:
+type: development
+group: group::access
+default_enabled: false
diff --git a/config/feature_flags/development/unified_diff_lines.yml b/config/feature_flags/development/unified_diff_lines.yml
index a676f0732dd..d580ef65104 100644
--- a/config/feature_flags/development/unified_diff_lines.yml
+++ b/config/feature_flags/development/unified_diff_lines.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40131
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241188
group: group::source code
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/upload_middleware_jwt_params_handler.yml b/config/feature_flags/development/upload_middleware_jwt_params_handler.yml
index b467ade8609..1c3545cb728 100644
--- a/config/feature_flags/development/upload_middleware_jwt_params_handler.yml
+++ b/config/feature_flags/development/upload_middleware_jwt_params_handler.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33277
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/233895
group: group::package
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_a_compliance_audit_events_api.yml b/config/feature_flags/development/usage_data_a_compliance_audit_events_api.yml
new file mode 100644
index 00000000000..8b2e8063164
--- /dev/null
+++ b/config/feature_flags/development/usage_data_a_compliance_audit_events_api.yml
@@ -0,0 +1,7 @@
+---
+name: usage_data_a_compliance_audit_events_api
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41689
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/233786
+group: group::compliance
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/usage_data_api.yml b/config/feature_flags/development/usage_data_api.yml
index 0976b27d417..5c8e918521d 100644
--- a/config/feature_flags/development/usage_data_api.yml
+++ b/config/feature_flags/development/usage_data_api.yml
@@ -1,7 +1,7 @@
---
name: usage_data_api
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41301
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235459
-group: group::telemetry
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267114
+group: group::product analytics
type: development
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_g_compliance_dashboard.yml b/config/feature_flags/development/usage_data_g_compliance_dashboard.yml
index 6f971788d88..24d6f81740b 100644
--- a/config/feature_flags/development/usage_data_g_compliance_dashboard.yml
+++ b/config/feature_flags/development/usage_data_g_compliance_dashboard.yml
@@ -1,7 +1,7 @@
---
name: usage_data_g_compliance_dashboard
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::compliance
type: development
default_enabled: false
diff --git a/config/feature_flags/development/usage_data_i_source_code_code_intelligence.yml b/config/feature_flags/development/usage_data_i_source_code_code_intelligence.yml
new file mode 100644
index 00000000000..15ce7194264
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_source_code_code_intelligence.yml
@@ -0,0 +1,7 @@
+---
+name: usage_data_i_source_code_code_intelligence
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41881
+rollout_issue_url:
+group: group::source code
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_testing_test_case_parsed.yml b/config/feature_flags/development/usage_data_i_testing_test_case_parsed.yml
new file mode 100644
index 00000000000..095010da56b
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_testing_test_case_parsed.yml
@@ -0,0 +1,7 @@
+---
+name: usage_data_i_testing_test_case_parsed
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41918
+rollout_issue_url:
+group: group::testing
+type: development
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_alert_assigned.yml b/config/feature_flags/development/usage_data_incident_management_alert_assigned.yml
index 22589d00ae0..a50a3eafa1a 100644
--- a/config/feature_flags/development/usage_data_incident_management_alert_assigned.yml
+++ b/config/feature_flags/development/usage_data_incident_management_alert_assigned.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_alert_assigned
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml b/config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml
index 10f987ecd65..957e316e153 100644
--- a/config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml
+++ b/config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_alert_status_changed
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_alert_todo.yml b/config/feature_flags/development/usage_data_incident_management_alert_todo.yml
index 67d18480a56..5e64899978a 100644
--- a/config/feature_flags/development/usage_data_incident_management_alert_todo.yml
+++ b/config/feature_flags/development/usage_data_incident_management_alert_todo.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_alert_todo
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_assigned.yml b/config/feature_flags/development/usage_data_incident_management_incident_assigned.yml
index 1b48fe4ac9c..a582a44a3e2 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_assigned.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_assigned.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_assigned
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml b/config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml
index 6235382fd59..ad482676132 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_change_confidential
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_closed.yml b/config/feature_flags/development/usage_data_incident_management_incident_closed.yml
index 4f8f9b951ed..943b7a83e5e 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_closed.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_closed.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_closed
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_comment.yml b/config/feature_flags/development/usage_data_incident_management_incident_comment.yml
index b41c96d3b04..5d173e1e869 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_comment.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_comment.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_comment
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_created.yml b/config/feature_flags/development/usage_data_incident_management_incident_created.yml
index 693cc23dc3b..86e47d54d18 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_created.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_created.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_created
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_relate.yml b/config/feature_flags/development/usage_data_incident_management_incident_relate.yml
index 70b4c5c3f65..84ba0d34cc7 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_relate.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_relate.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_relate
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_reopened.yml b/config/feature_flags/development/usage_data_incident_management_incident_reopened.yml
index ccb108a4a28..ed71d353cfe 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_reopened.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_reopened.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_reopened
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_todo.yml b/config/feature_flags/development/usage_data_incident_management_incident_todo.yml
index c517a66a151..aa400fb4455 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_todo.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_todo.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_todo
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml b/config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml
index da418eb79a4..5798331175e 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_unrelate
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml b/config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml
index bbe81fdf3ed..921c466a167 100644
--- a/config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml
+++ b/config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml
@@ -1,7 +1,7 @@
---
name: usage_data_incident_management_incident_zoom_meeting
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+group: group::health
type: development
default_enabled: true
diff --git a/config/feature_flags/development/users_search.yml b/config/feature_flags/development/users_search.yml
deleted file mode 100644
index 0397ee60225..00000000000
--- a/config/feature_flags/development/users_search.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: users_search
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/validate_import_decompressed_archive_size.yml b/config/feature_flags/development/validate_import_decompressed_archive_size.yml
index 28876f5180f..3e575657a78 100644
--- a/config/feature_flags/development/validate_import_decompressed_archive_size.yml
+++ b/config/feature_flags/development/validate_import_decompressed_archive_size.yml
@@ -1,7 +1,7 @@
---
name: validate_import_decompressed_archive_size
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::import
type: development
default_enabled: false
diff --git a/config/feature_flags/development/view_diffs_file_by_file.yml b/config/feature_flags/development/view_diffs_file_by_file.yml
index 4df755943ab..2ac8a7c3087 100644
--- a/config/feature_flags/development/view_diffs_file_by_file.yml
+++ b/config/feature_flags/development/view_diffs_file_by_file.yml
@@ -1,7 +1,7 @@
---
name: view_diffs_file_by_file
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35223
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229848
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/vue_issuable_sidebar.yml b/config/feature_flags/development/vue_issuable_sidebar.yml
index d57852c9491..01c8bc3460b 100644
--- a/config/feature_flags/development/vue_issuable_sidebar.yml
+++ b/config/feature_flags/development/vue_issuable_sidebar.yml
@@ -1,7 +1,7 @@
---
name: vue_issuable_sidebar
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18199
+rollout_issue_url:
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/vue_issuables_list.yml b/config/feature_flags/development/vue_issuables_list.yml
index 79ade237824..5fe5c7e3e9f 100644
--- a/config/feature_flags/development/vue_issuables_list.yml
+++ b/config/feature_flags/development/vue_issuables_list.yml
@@ -1,7 +1,7 @@
---
name: vue_issuables_list
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/15091
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/208093
+group: group::project management
type: development
default_enabled: false
diff --git a/config/feature_flags/development/web_ide_primary_edit.yml b/config/feature_flags/development/web_ide_primary_edit.yml
index 8bea7fd94e7..33e3db0322b 100644
--- a/config/feature_flags/development/web_ide_primary_edit.yml
+++ b/config/feature_flags/development/web_ide_primary_edit.yml
@@ -1,7 +1,7 @@
---
name: web_ide_primary_edit
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35957
rollout_issue_url:
-group:
+group: group::editor
type: development
default_enabled: false
diff --git a/config/feature_flags/development/webperf_experiment.yml b/config/feature_flags/development/webperf_experiment.yml
index 02c2a12cfaf..16f1f0ac773 100644
--- a/config/feature_flags/development/webperf_experiment.yml
+++ b/config/feature_flags/development/webperf_experiment.yml
@@ -1,7 +1,7 @@
---
name: webperf_experiment
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url:
+rollout_issue_url:
+group: group::editor
type: development
default_enabled: false
diff --git a/config/feature_flags/development/whats_new_drawer.yml b/config/feature_flags/development/whats_new_drawer.yml
index 6e31b17e05a..d6b7ffbbb57 100644
--- a/config/feature_flags/development/whats_new_drawer.yml
+++ b/config/feature_flags/development/whats_new_drawer.yml
@@ -1,7 +1,7 @@
---
name: whats_new_drawer
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38975
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254186
+group: group::retention
type: development
default_enabled: false
diff --git a/config/feature_flags/development/widget_visibility_polling.yml b/config/feature_flags/development/widget_visibility_polling.yml
index c0c6962a46d..711d4be2fd1 100644
--- a/config/feature_flags/development/widget_visibility_polling.yml
+++ b/config/feature_flags/development/widget_visibility_polling.yml
@@ -1,7 +1,7 @@
---
name: widget_visibility_polling
-introduced_by_url:
-rollout_issue_url:
-group:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29318
+rollout_issue_url:
+group: group::source code
type: development
default_enabled: true
diff --git a/config/feature_flags/development/wiki_events_on_git_push.yml b/config/feature_flags/development/wiki_events_on_git_push.yml
deleted file mode 100644
index abab9029bae..00000000000
--- a/config/feature_flags/development/wiki_events_on_git_push.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-name: wiki_events_on_git_push
-introduced_by_url:
-rollout_issue_url:
-group:
-type: development
-default_enabled: false
diff --git a/config/feature_flags/development/zip_pages_deployments.yml b/config/feature_flags/development/zip_pages_deployments.yml
new file mode 100644
index 00000000000..3bafc2aae14
--- /dev/null
+++ b/config/feature_flags/development/zip_pages_deployments.yml
@@ -0,0 +1,7 @@
+---
+name: zip_pages_deployments
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42834
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/245308
+group: group::release management
+type: development
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/licensed/incident_sla.yml b/config/feature_flags/licensed/incident_sla.yml
new file mode 100644
index 00000000000..e59251dd82f
--- /dev/null
+++ b/config/feature_flags/licensed/incident_sla.yml
@@ -0,0 +1,7 @@
+---
+name: incident_sla
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43648
+rollout_issue_url:
+group: group::health
+type: licensed
+default_enabled: true
diff --git a/config/feature_flags/licensed/minimal_access_role.yml b/config/feature_flags/licensed/minimal_access_role.yml
new file mode 100644
index 00000000000..ca27b86d35f
--- /dev/null
+++ b/config/feature_flags/licensed/minimal_access_role.yml
@@ -0,0 +1,7 @@
+---
+name: minimal_access_role
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40942
+rollout_issue_url:
+group: group::access
+type: licensed
+default_enabled: true
diff --git a/config/feature_flags/licensed/resource_access_token.yml b/config/feature_flags/licensed/resource_access_token.yml
new file mode 100644
index 00000000000..c236851881d
--- /dev/null
+++ b/config/feature_flags/licensed/resource_access_token.yml
@@ -0,0 +1,7 @@
+---
+name: resource_access_token
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29622
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235765
+group: group::access
+type: licensed
+default_enabled: true
diff --git a/config/feature_flags/ops/api_kaminari_count_with_limit.yml b/config/feature_flags/ops/api_kaminari_count_with_limit.yml
new file mode 100644
index 00000000000..1fdeaa53b83
--- /dev/null
+++ b/config/feature_flags/ops/api_kaminari_count_with_limit.yml
@@ -0,0 +1,7 @@
+---
+name: api_kaminari_count_with_limit
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/23931
+rollout_issue_url:
+group: group::ecosystem
+type: ops
+default_enabled: false
diff --git a/config/feature_flags/ops/ci_accept_trace.yml b/config/feature_flags/ops/ci_accept_trace.yml
index e32a3819844..8671f42c3c1 100644
--- a/config/feature_flags/ops/ci_accept_trace.yml
+++ b/config/feature_flags/ops/ci_accept_trace.yml
@@ -1,7 +1,7 @@
---
name: ci_accept_trace
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41304
-rollout_issue_url:
+rollout_issue_url:
group: group::continuous integration
type: ops
-default_enabled: false \ No newline at end of file
+default_enabled: true
diff --git a/config/feature_flags/ops/ci_trace_log_invalid_chunks.yml b/config/feature_flags/ops/ci_trace_log_invalid_chunks.yml
new file mode 100644
index 00000000000..f5e8bbae258
--- /dev/null
+++ b/config/feature_flags/ops/ci_trace_log_invalid_chunks.yml
@@ -0,0 +1,7 @@
+---
+name: ci_trace_log_invalid_chunks
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44409
+rollout_issue_url:
+type: ops
+group: group::continuous integration
+default_enabled: false
diff --git a/config/feature_flags/ops/database_reindexing.yml b/config/feature_flags/ops/database_reindexing.yml
new file mode 100644
index 00000000000..ea000a052db
--- /dev/null
+++ b/config/feature_flags/ops/database_reindexing.yml
@@ -0,0 +1,7 @@
+---
+name: database_reindexing
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42705
+rollout_issue_url:
+group: group::database
+type: ops
+default_enabled: false \ No newline at end of file
diff --git a/config/feature_flags/development/backfill_partitioned_audit_events.yml b/config/feature_flags/ops/gitlab_sidekiq_enable_semi_reliable_fetcher.yml
index ae986c941cb..680f8201d27 100644
--- a/config/feature_flags/development/backfill_partitioned_audit_events.yml
+++ b/config/feature_flags/ops/gitlab_sidekiq_enable_semi_reliable_fetcher.yml
@@ -1,7 +1,7 @@
---
-name: backfill_partitioned_audit_events
+name: gitlab_sidekiq_enable_semi_reliable_fetcher
introduced_by_url:
rollout_issue_url:
group:
-type: development
+type: ops
default_enabled: true
diff --git a/config/feature_flags/development/ci_daily_code_coverage.yml b/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml
index c9add1bf460..ae395e19384 100644
--- a/config/feature_flags/development/ci_daily_code_coverage.yml
+++ b/config/feature_flags/ops/gitlab_sidekiq_reliable_fetcher.yml
@@ -1,7 +1,7 @@
---
-name: ci_daily_code_coverage
+name: gitlab_sidekiq_reliable_fetcher
introduced_by_url:
rollout_issue_url:
group:
-type: development
+type: ops
default_enabled: true
diff --git a/config/feature_flags/development/marginalia.yml b/config/feature_flags/ops/marginalia.yml
index 9fcfa061bff..a5d64c48b27 100644
--- a/config/feature_flags/development/marginalia.yml
+++ b/config/feature_flags/ops/marginalia.yml
@@ -3,5 +3,5 @@ name: marginalia
introduced_by_url:
rollout_issue_url:
group:
-type: development
+type: ops
default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 605729a1435..de389514cce 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -394,6 +394,14 @@ production: &base
# File that contains the shared secret key for verifying access for gitlab-pages.
# Default is '.gitlab_pages_secret' relative to Rails.root (i.e. root of the GitLab app).
# secret_file: /home/git/gitlab/.gitlab_pages_secret
+ object_store:
+ enabled: false
+ remote_directory: pages # The bucket name
+ connection:
+ provider: AWS
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region: us-east-1
## Mattermost
## For enabling Add to Mattermost button
@@ -427,6 +435,9 @@ production: &base
# Remove expired build artifacts
expire_build_artifacts_worker:
cron: "50 * * * *"
+ # Remove files from object storage
+ ci_schedule_delete_objects_worker:
+ cron: "*/16 * * * *"
# Stop expired environments
environments_auto_stop_cron_worker:
cron: "24 * * * *"
@@ -846,6 +857,12 @@ production: &base
# (default: accept any service name in keytab file)
# service_principal_name: HTTP/gitlab.example.com@EXAMPLE.COM
+ # Kerberos realms/domains that are allowed to automatically link LDAP identities.
+ # By default, GitLab accepts a realm that matches the domain derived from the
+ # LDAP `base` DN. For example, `ou=users,dc=example,dc=com` would allow users
+ # with a realm matching `example.com`.
+ # simple_ldap_linking_allowed_realms: ['example.com','kerberos.example.com']
+
# Dedicated port: Git before 2.4 does not fall back to Basic authentication if Negotiate fails.
# To support both Basic and Negotiate methods with older versions of Git, configure
# nginx to proxy GitLab on an extra port (e.g. 8443) and uncomment the following lines
@@ -1005,6 +1022,21 @@ production: &base
# cas3:
# session_duration: 28800
+ # FortiAuthenticator settings
+ forti_authenticator:
+ # Allow using FortiAuthenticator as OTP provider
+ enabled: false
+
+ # Host and port of FortiAuthenticator instance
+ # host: forti_authenticator.example.com
+ # port: 443
+
+ # Username for accessing FortiAuthenticator API
+ # username: john
+
+ # Access token for FortiAuthenticator API
+ # access_token: 123s3cr3t456
+
# Shared file storage settings
shared:
# path: /mnt/gitlab # Default: shared
@@ -1318,6 +1350,14 @@ test:
# user: YOUR_USERNAME
pages:
path: tmp/tests/pages
+ object_store:
+ enabled: false
+ remote_directory: pages # The bucket name
+ connection:
+ provider: AWS
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region: us-east-1
repositories:
storages:
default:
diff --git a/config/initializers/0_license.rb b/config/initializers/0_license.rb
index e7b46a14630..ce3103be2e4 100644
--- a/config/initializers/0_license.rb
+++ b/config/initializers/0_license.rb
@@ -1,7 +1,8 @@
# frozen_string_literal: true
Gitlab.ee do
- public_key_file = File.read(Rails.root.join(".license_encryption_key.pub"))
+ prefix = ENV['GITLAB_LICENSE_MODE'] == 'test' ? 'test_' : ''
+ public_key_file = File.read(Rails.root.join(".#{prefix}license_encryption_key.pub"))
public_key = OpenSSL::PKey::RSA.new(public_key_file)
Gitlab::License.encryption_key = public_key
rescue
diff --git a/config/initializers/0_marginalia.rb b/config/initializers/0_marginalia.rb
index a697f67dbf2..5c6cf7752c4 100644
--- a/config/initializers/0_marginalia.rb
+++ b/config/initializers/0_marginalia.rb
@@ -21,4 +21,4 @@ Gitlab::Marginalia.set_application_name
Gitlab::Marginalia.enable_sidekiq_instrumentation
-Gitlab::Marginalia.set_feature_cache
+Gitlab::Marginalia.set_enabled_from_feature_flag
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 15c9fd427ff..affbc85d5a9 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -297,6 +297,10 @@ Settings.pages['external_http'] ||= false unless Settings.pages['external_http']
Settings.pages['external_https'] ||= false unless Settings.pages['external_https'].present?
Settings.pages['artifacts_server'] ||= Settings.pages['enabled'] if Settings.pages['artifacts_server'].nil?
Settings.pages['secret_file'] ||= Rails.root.join('.gitlab_pages_secret')
+# We want pages zip archives to be stored on the same directory as old pages hierarchical structure
+# this will allow us to easier migrate existing instances with NFS
+Settings.pages['storage_path'] = Settings.pages['path']
+Settings.pages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.pages['object_store'])
#
# Geo
@@ -412,6 +416,9 @@ Settings.cron_jobs['pipeline_schedule_worker']['job_class'] = 'PipelineScheduleW
Settings.cron_jobs['expire_build_artifacts_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['expire_build_artifacts_worker']['cron'] ||= '50 * * * *'
Settings.cron_jobs['expire_build_artifacts_worker']['job_class'] = 'ExpireBuildArtifactsWorker'
+Settings.cron_jobs['ci_schedule_delete_objects_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['ci_schedule_delete_objects_worker']['cron'] ||= '*/16 * * * *'
+Settings.cron_jobs['ci_schedule_delete_objects_worker']['job_class'] = 'Ci::ScheduleDeleteObjectsCronWorker'
Settings.cron_jobs['environments_auto_stop_cron_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['environments_auto_stop_cron_worker']['cron'] ||= '24 * * * *'
Settings.cron_jobs['environments_auto_stop_cron_worker']['job_class'] = 'Environments::AutoStopCronWorker'
@@ -520,8 +527,14 @@ Settings.cron_jobs['ci_platform_metrics_update_cron_worker']['job_class'] = 'CiP
Settings.cron_jobs['analytics_instance_statistics_count_job_trigger_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['analytics_instance_statistics_count_job_trigger_worker']['cron'] ||= '50 23 */1 * *'
Settings.cron_jobs['analytics_instance_statistics_count_job_trigger_worker']['job_class'] ||= 'Analytics::InstanceStatistics::CountJobTriggerWorker'
+Settings.cron_jobs['member_invitation_reminder_emails_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['member_invitation_reminder_emails_worker']['cron'] ||= '0 0 * * *'
+Settings.cron_jobs['member_invitation_reminder_emails_worker']['job_class'] = 'MemberInvitationReminderEmailsWorker'
Gitlab.ee do
+ Settings.cron_jobs['active_user_count_threshold_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['active_user_count_threshold_worker']['cron'] ||= '0 12 * * *'
+ Settings.cron_jobs['active_user_count_threshold_worker']['job_class'] = 'ActiveUserCountThresholdWorker'
Settings.cron_jobs['adjourned_group_deletion_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['adjourned_group_deletion_worker']['cron'] ||= '0 3 * * *'
Settings.cron_jobs['adjourned_group_deletion_worker']['job_class'] = 'AdjournedGroupDeletionWorker'
@@ -561,6 +574,9 @@ Gitlab.ee do
Settings.cron_jobs['historical_data_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['historical_data_worker']['cron'] ||= '0 12 * * *'
Settings.cron_jobs['historical_data_worker']['job_class'] = 'HistoricalDataWorker'
+ Settings.cron_jobs['incident_sla_exceeded_check_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['incident_sla_exceeded_check_worker']['cron'] ||= '*/2 * * * *'
+ Settings.cron_jobs['incident_sla_exceeded_check_worker']['job_class'] = 'IncidentManagement::IncidentSlaExceededCheckWorker'
Settings.cron_jobs['import_software_licenses_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['import_software_licenses_worker']['cron'] ||= '0 3 * * 0'
Settings.cron_jobs['import_software_licenses_worker']['job_class'] = 'ImportSoftwareLicensesWorker'
@@ -727,6 +743,7 @@ Gitlab.ee do
Settings['kerberos'] ||= Settingslogic.new({})
Settings.kerberos['enabled'] = false if Settings.kerberos['enabled'].nil?
Settings.kerberos['keytab'] = nil if Settings.kerberos['keytab'].blank? # nil means use default keytab
+ Settings.kerberos['simple_ldap_linking_allowed_realms'] = [] if Settings.kerberos['simple_ldap_linking_allowed_realms'].blank?
Settings.kerberos['service_principal_name'] = nil if Settings.kerberos['service_principal_name'].blank? # nil means any SPN in keytab
Settings.kerberos['use_dedicated_port'] = false if Settings.kerberos['use_dedicated_port'].nil?
Settings.kerberos['https'] = Settings.gitlab.https if Settings.kerberos['https'].nil?
@@ -750,6 +767,13 @@ Gitlab.ee do
end
#
+# FortiAuthenticator
+#
+Settings['forti_authenticator'] ||= Settingslogic.new({})
+Settings.forti_authenticator['enabled'] = false if Settings.forti_authenticator['enabled'].nil?
+Settings.forti_authenticator['port'] = 443 if Settings.forti_authenticator['port'].to_i == 0
+
+#
# Extra customization
#
Settings['extra'] ||= Settingslogic.new({})
@@ -774,10 +798,15 @@ Settings['gitaly'] ||= Settingslogic.new({})
# Webpack settings
#
Settings['webpack'] ||= Settingslogic.new({})
+Settings.webpack['config_file'] ||= 'config/webpack.config.js'
+Settings.webpack['output_dir'] ||= 'public/assets/webpack'
+Settings.webpack['public_path'] ||= 'assets/webpack'
+Settings.webpack['manifest_filename'] ||= 'manifest.json'
Settings.webpack['dev_server'] ||= Settingslogic.new({})
Settings.webpack.dev_server['enabled'] ||= false
Settings.webpack.dev_server['host'] ||= 'localhost'
Settings.webpack.dev_server['port'] ||= 3808
+Settings.webpack.dev_server['https'] ||= false
#
# Monitoring settings
diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb
index d5d8587f1c8..dbaebc83658 100644
--- a/config/initializers/7_prometheus_metrics.rb
+++ b/config/initializers/7_prometheus_metrics.rb
@@ -69,7 +69,9 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled?
Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION }, 1)
- Gitlab::Metrics::RequestsRackMiddleware.initialize_http_request_duration_seconds
+ unless Gitlab::Runtime.sidekiq?
+ Gitlab::Metrics::RequestsRackMiddleware.initialize_http_request_duration_seconds
+ end
rescue IOError => e
Gitlab::ErrorTracking.track_exception(e)
Gitlab::Metrics.error_detected!
diff --git a/config/initializers/database_config.rb b/config/initializers/database_config.rb
index cccd4335a7d..a91f67224d7 100644
--- a/config/initializers/database_config.rb
+++ b/config/initializers/database_config.rb
@@ -20,21 +20,12 @@ Gitlab.ee do
end
end
-# Because of the way Ruby on Rails manages database connections, it is
-# important that we have at least as many connections as we have
-# threads. While there is a 'pool' setting in database.yml, it is not
-# very practical because you need to maintain it in tandem with the
-# number of application threads. Because of this we override the number
-# of allowed connections in the database connection pool based on the
-# configured number of application threads.
+# We configure the database connection pool size automatically based on the
+# configured concurrency. We also add some headroom, to make sure we don't run
+# out of connections when more threads besides the 'user-facing' ones are
+# running.
#
-# Gitlab::Runtime.max_threads is the number of "user facing" application
-# threads the process has been configured with. We also have auxiliary
-# threads that use database connections. Because it is not practical to
-# keep an accurate count of the number auxiliary threads as the
-# application evolves over time, we just add a fixed headroom to the
-# number of user-facing threads. It is OK if this number is too large
-# because connections are instantiated lazily.
+# Read more about this in doc/development/database/client_side_connection_pool.md
headroom = (ENV["DB_POOL_HEADROOM"].presence || 10).to_i
calculated_pool_size = Gitlab::Runtime.max_threads + headroom
diff --git a/config/initializers/forbid_sidekiq_in_transactions.rb b/config/initializers/forbid_sidekiq_in_transactions.rb
index 6bcd4dbd52f..f505fb5843a 100644
--- a/config/initializers/forbid_sidekiq_in_transactions.rb
+++ b/config/initializers/forbid_sidekiq_in_transactions.rb
@@ -46,7 +46,7 @@ end
module ActiveRecord
class Base
module SkipTransactionCheckAfterCommit
- def committed!(*)
+ def committed!(*args, **kwargs)
Sidekiq::Worker.skipping_transaction_check { super }
end
end
diff --git a/config/initializers/lograge.rb b/config/initializers/lograge.rb
index e3601a9538e..0ea0adf86bc 100644
--- a/config/initializers/lograge.rb
+++ b/config/initializers/lograge.rb
@@ -1,30 +1,40 @@
# Only use Lograge for Rails
unless Gitlab::Runtime.sidekiq?
- filename = File.join(Rails.root, 'log', "#{Rails.env}_json.log")
+ Rails.application.reloader.to_prepare do
+ filename = File.join(Rails.root, 'log', "#{Rails.env}_json.log")
+ db_counter = Gitlab::Metrics::Subscribers::ActiveRecord
- Rails.application.configure do
- config.lograge.enabled = true
- # Store the lograge JSON files in a separate file
- config.lograge.keep_original_rails_log = Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'true'))
- # Don't use the Logstash formatter since this requires logstash-event, an
- # unmaintained gem that monkey patches `Time`
- config.lograge.formatter = Lograge::Formatters::Json.new
- config.lograge.logger = ActiveSupport::Logger.new(filename)
- config.lograge.before_format = lambda do |data, payload|
- data.delete(:error)
- data[:db_duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:db)) if data[:db]
- data[:view_duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:view)) if data[:view]
- data[:duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:duration)) if data[:duration]
- data.merge!(::Gitlab::Metrics::Subscribers::ActiveRecord.db_counter_payload)
+ Rails.application.configure do
+ config.lograge.enabled = true
+ # Store the lograge JSON files in a separate file
+ config.lograge.keep_original_rails_log = Gitlab::Utils.to_boolean(ENV.fetch('UNSTRUCTURED_RAILS_LOG', 'true'))
+ # Don't use the Logstash formatter since this requires logstash-event, an
+ # unmaintained gem that monkey patches `Time`
+ config.lograge.formatter = Lograge::Formatters::Json.new
+ config.lograge.logger = ActiveSupport::Logger.new(filename)
+ config.lograge.before_format = lambda do |data, payload|
+ data.delete(:error)
+ data[:db_duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:db)) if data[:db]
+ data[:view_duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:view)) if data[:view]
+ data[:duration_s] = Gitlab::Utils.ms_to_round_sec(data.delete(:duration)) if data[:duration]
+ data.merge!(db_counter.db_counter_payload)
- data
- end
+ # Remove empty hashes to prevent type mismatches
+ # These are set to empty hashes in Lograge's ActionCable subscriber
+ # https://github.com/roidrage/lograge/blob/v0.11.2/lib/lograge/log_subscribers/action_cable.rb#L14-L16
+ %i(method path format).each do |key|
+ data[key] = nil if data[key] == {}
+ end
+
+ data
+ end
- # This isn't a user-reachable controller; we use it to check for a
- # valid CSRF token in the API
- config.lograge.ignore_actions = ['Gitlab::RequestForgeryProtection::Controller#index']
+ # This isn't a user-reachable controller; we use it to check for a
+ # valid CSRF token in the API
+ config.lograge.ignore_actions = ['Gitlab::RequestForgeryProtection::Controller#index']
- # Add request parameters to log output
- config.lograge.custom_options = Gitlab::Lograge::CustomOptions
+ # Add request parameters to log output
+ config.lograge.custom_options = Gitlab::Lograge::CustomOptions
+ end
end
end
diff --git a/config/initializers/rails_host_authorization_gitpod.rb b/config/initializers/rails_host_authorization_gitpod.rb
new file mode 100644
index 00000000000..0c1822bc91a
--- /dev/null
+++ b/config/initializers/rails_host_authorization_gitpod.rb
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+if Rails.env.development? && ENV['GITPOD_WORKSPACE_ID'].present?
+ gitpod_host = URI(`gp url 3000`.strip).host
+ Rails.application.config.hosts += [gitpod_host]
+end
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index a33c28090e2..72e2b94fe07 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -3,13 +3,13 @@
def enable_reliable_fetch?
return true unless Feature::FlipperFeature.table_exists?
- Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, default_enabled: true)
+ Feature.enabled?(:gitlab_sidekiq_reliable_fetcher, type: :ops, default_enabled: true)
end
def enable_semi_reliable_fetch_mode?
return true unless Feature::FlipperFeature.table_exists?
- Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, default_enabled: true)
+ Feature.enabled?(:gitlab_sidekiq_enable_semi_reliable_fetcher, type: :ops, default_enabled: true)
end
# Custom Queues configuration
diff --git a/config/initializers/sprockets.rb b/config/initializers/sprockets.rb
new file mode 100644
index 00000000000..a20b7dc75e9
--- /dev/null
+++ b/config/initializers/sprockets.rb
@@ -0,0 +1 @@
+Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
diff --git a/config/initializers/stackprof.rb b/config/initializers/stackprof.rb
index 797efdb9bbd..4c4d241f065 100644
--- a/config/initializers/stackprof.rb
+++ b/config/initializers/stackprof.rb
@@ -2,14 +2,18 @@
# trigger stackprof by sending a SIGUSR2 signal
#
-# default settings:
-# * collect raw samples
-# * sample at 100hz (every 10k microseconds)
-# * timeout profile after 30 seconds
-# * write to $TMPDIR/stackprof.$PID.$RAND.profile
+# Docs: https://docs.gitlab.com/ee/development/performance.html#production
module Gitlab
class StackProf
+ DEFAULT_FILE_PREFIX = Dir.tmpdir
+ DEFAULT_TIMEOUT_SEC = 30
+ DEFAULT_MODE = :cpu
+ # Sample interval as a frequency in microseconds (~100hz); appropriate for CPU profiles
+ DEFAULT_INTERVAL_US = 10_000
+ # Sample interval in event occurrences (n = every nth event); appropriate for allocation profiles
+ DEFAULT_INTERVAL_EVENTS = 1_000
+
# this is a workaround for sidekiq, which defines its own SIGUSR2 handler.
# by defering to the sidekiq startup event, we get to set up our own
# handler late enough.
@@ -32,11 +36,7 @@ module Gitlab
end
def self.on_worker_start
- Gitlab::AppJsonLogger.info(
- event: "stackprof",
- message: "listening on SIGUSR2 signal",
- pid: Process.pid
- )
+ log_event('listening for SIGUSR2 signal')
# create a pipe in order to propagate signal out of the signal handler
# see also: https://cr.yp.to/docs/selfpipe.html
@@ -55,43 +55,46 @@ module Gitlab
# a given interval (by default 30 seconds), avoiding unbounded memory
# growth from a profile that was started and never stopped.
t = Thread.new do
- timeout_s = ENV['STACKPROF_TIMEOUT_S']&.to_i || 30
+ timeout_s = ENV['STACKPROF_TIMEOUT_S']&.to_i || DEFAULT_TIMEOUT_SEC
current_timeout_s = nil
loop do
- got_value = IO.select([read], nil, nil, current_timeout_s)
- read.getbyte if got_value
+ read.getbyte if IO.select([read], nil, nil, current_timeout_s)
if ::StackProf.running?
- stackprof_file_prefix = ENV['STACKPROF_FILE_PREFIX'] || Dir.tmpdir
+ stackprof_file_prefix = ENV['STACKPROF_FILE_PREFIX'] || DEFAULT_FILE_PREFIX
stackprof_out_file = "#{stackprof_file_prefix}/stackprof.#{Process.pid}.#{SecureRandom.hex(6)}.profile"
- Gitlab::AppJsonLogger.info(
- event: "stackprof",
- message: "stopping profile",
- output_filename: stackprof_out_file,
- pid: Process.pid,
- timeout_s: timeout_s,
- timed_out: got_value.nil?
+ log_event(
+ 'stopping profile',
+ profile_filename: stackprof_out_file,
+ profile_timeout_s: timeout_s
)
::StackProf.stop
::StackProf.results(stackprof_out_file)
current_timeout_s = nil
else
- Gitlab::AppJsonLogger.info(
- event: "stackprof",
- message: "starting profile",
- pid: Process.pid
+ mode = ENV['STACKPROF_MODE']&.to_sym || DEFAULT_MODE
+ interval = ENV['STACKPROF_INTERVAL']&.to_i
+ interval ||= (mode == :object ? DEFAULT_INTERVAL_EVENTS : DEFAULT_INTERVAL_US)
+
+ log_event(
+ 'starting profile',
+ profile_mode: mode,
+ profile_interval: interval,
+ profile_timeout: timeout_s
)
::StackProf.start(
- mode: :cpu,
+ mode: mode,
raw: Gitlab::Utils.to_boolean(ENV['STACKPROF_RAW'] || 'true'),
- interval: ENV['STACKPROF_INTERVAL_US']&.to_i || 10_000
+ interval: interval
)
current_timeout_s = timeout_s
end
end
+ rescue => e
+ log_event("stackprof failed: #{e}")
end
t.abort_on_exception = true
@@ -121,6 +124,14 @@ module Gitlab
write.write('.')
end
end
+
+ def self.log_event(event, labels = {})
+ Gitlab::AppJsonLogger.info({
+ event: 'stackprof',
+ message: event,
+ pid: Process.pid
+ }.merge(labels.compact))
+ end
end
end
diff --git a/config/initializers/static_files.rb b/config/initializers/static_files.rb
index e02f0868e9f..4e19fec084a 100644
--- a/config/initializers/static_files.rb
+++ b/config/initializers/static_files.rb
@@ -15,32 +15,14 @@ if app.config.public_file_server.enabled
# If webpack-dev-server is configured, proxy webpack's public directory
# instead of looking for static assets
- dev_server = Gitlab.config.webpack.dev_server
-
- if dev_server.enabled
- settings = {
- enabled: true,
- host: dev_server.host,
- port: dev_server.port,
- manifest_host: dev_server.host,
- manifest_port: dev_server.port
- }
-
- if Rails.env.development?
- settings.merge!(
- host: Gitlab.config.gitlab.host,
- port: Gitlab.config.gitlab.port,
- https: false
- )
- app.config.middleware.insert_before(
- Gitlab::Middleware::Static,
- Gitlab::Webpack::DevServerMiddleware,
- proxy_path: app.config.webpack.public_path,
- proxy_host: dev_server.host,
- proxy_port: dev_server.port
- )
- end
-
- app.config.webpack.dev_server.merge!(settings)
+ if Gitlab.config.webpack.dev_server.enabled && Rails.env.development?
+ app.config.middleware.insert_before(
+ Gitlab::Middleware::Static,
+ Gitlab::Webpack::DevServerMiddleware,
+ proxy_path: Gitlab.config.webpack.public_path,
+ proxy_host: Gitlab.config.webpack.dev_server.host,
+ proxy_port: Gitlab.config.webpack.dev_server.port,
+ proxy_https: Gitlab.config.webpack.dev_server.https
+ )
end
end
diff --git a/config/initializers/webauthn.rb b/config/initializers/webauthn.rb
index 8dc5dfd56ed..1f37e7c84c3 100644
--- a/config/initializers/webauthn.rb
+++ b/config/initializers/webauthn.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
WebAuthn.configure do |config|
# This value needs to match `window.location.origin` evaluated by
# the User Agent during registration and authentication ceremonies.
diff --git a/config/initializers_before_autoloader/000_inflections.rb b/config/initializers_before_autoloader/000_inflections.rb
index a34b75d0382..85c53ab4320 100644
--- a/config/initializers_before_autoloader/000_inflections.rb
+++ b/config/initializers_before_autoloader/000_inflections.rb
@@ -24,11 +24,11 @@ ActiveSupport::Inflector.inflections do |inflect|
project_auto_devops
project_registry
project_statistics
+ snippet_repository_registry
system_note_metadata
- terraform_state_registry
+ terraform_state_version_registry
vulnerabilities_feedback
vulnerability_feedback
- snippet_repository_registry
)
inflect.acronym 'EE'
inflect.acronym 'CSP'
diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml
index e4a46be9bf3..6c6a5f7b1a1 100644
--- a/config/locales/devise.en.yml
+++ b/config/locales/devise.en.yml
@@ -16,6 +16,9 @@ en:
timeout: "Your session expired. Please sign in again to continue."
unauthenticated: "You need to sign in or sign up before continuing."
unconfirmed: "You have to confirm your email address before continuing. Please check your email for the link we sent you, or click 'Resend confirmation email'."
+ blocked: "Your account has been blocked. Please contact your GitLab administrator if you think this is an error."
+ forbidden: "Your account does not have the required permission to login. Please contact your GitLab administrator if you think this is an error."
+ blocked_pending_approval: "Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error."
mailer:
confirmation_instructions:
subject: "Confirmation instructions"
@@ -42,6 +45,7 @@ en:
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
+ signed_up_but_blocked_pending_approval: "You have signed up successfully. However, we could not sign you in because your account is awaiting approval from your GitLab administrator."
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
updated: "Your account has been updated successfully."
sessions:
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 7ff4e3bf7da..fb024b7ba2a 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -20,6 +20,8 @@ en:
token: "Grafana HTTP API Token"
grafana_url: "Grafana API URL"
grafana_enabled: "Grafana integration enabled"
+ service_desk_setting:
+ project_key: "Project name suffix"
user/user_detail:
job_title: 'Job title'
user/user_detail:
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 0d346135463..767fcd7579c 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -1,8 +1,12 @@
# Set default values for object_store settings
class ObjectStoreSettings
- SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state).freeze
+ SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state pages).freeze
ALLOWED_OBJECT_STORE_OVERRIDES = %w(bucket enabled proxy_download).freeze
+ # pages may be enabled but use legacy disk storage
+ # we don't need to raise an error in that case
+ ALLOWED_INCOMPLETE_TYPES = %w(pages).freeze
+
attr_accessor :settings
# Legacy parser
@@ -115,7 +119,9 @@ class ObjectStoreSettings
next unless section
- raise "Object storage for #{store_type} must have a bucket specified" if section['enabled'] && target_config['bucket'].blank?
+ if section['enabled'] && target_config['bucket'].blank?
+ missing_bucket_for(store_type)
+ end
# Map bucket (external name) -> remote_directory (internal representation)
target_config['remote_directory'] = target_config.delete('bucket')
@@ -152,4 +158,14 @@ class ObjectStoreSettings
true
end
+
+ def missing_bucket_for(store_type)
+ message = "Object storage for #{store_type} must have a bucket specified"
+
+ if ALLOWED_INCOMPLETE_TYPES.include?(store_type)
+ warn "[WARNING] #{message}"
+ else
+ raise message
+ end
+ end
end
diff --git a/config/redis.cache.yml.example b/config/redis.cache.yml.example
index b20f1dd2122..fb92c205ce1 100644
--- a/config/redis.cache.yml.example
+++ b/config/redis.cache.yml.example
@@ -26,7 +26,7 @@ production:
# http://redis.io/topics/sentinel
#
# You must specify a list of a few sentinels that will handle client connection
- # please read here for more information: https://docs.gitlab.com/ce/administration/high_availability/redis.html
+ # please read here for more information: https://docs.gitlab.com/ee/administration/redis/index.html
##
# url: redis://master:6380
# sentinels:
diff --git a/config/redis.queues.yml.example b/config/redis.queues.yml.example
index 46ab39729c4..dd6c10e0e06 100644
--- a/config/redis.queues.yml.example
+++ b/config/redis.queues.yml.example
@@ -26,7 +26,7 @@ production:
# http://redis.io/topics/sentinel
#
# You must specify a list of a few sentinels that will handle client connection
- # please read here for more information: https://docs.gitlab.com/ce/administration/high_availability/redis.html
+ # please read here for more information: https://docs.gitlab.com/ee/administration/redis/index.html
##
# url: redis://master:6381
# sentinels:
diff --git a/config/redis.shared_state.yml.example b/config/redis.shared_state.yml.example
index 05fed947f52..98f6f330bc7 100644
--- a/config/redis.shared_state.yml.example
+++ b/config/redis.shared_state.yml.example
@@ -26,7 +26,7 @@ production:
# http://redis.io/topics/sentinel
#
# You must specify a list of a few sentinels that will handle client connection
- # please read here for more information: https://docs.gitlab.com/ce/administration/high_availability/redis.html
+ # please read here for more information: https://docs.gitlab.com/ee/administration/redis/index.html
##
# url: redis://master:6382
# sentinels:
diff --git a/config/resque.yml.example b/config/resque.yml.example
index 932c1553dfb..0f629a5229c 100644
--- a/config/resque.yml.example
+++ b/config/resque.yml.example
@@ -22,7 +22,7 @@ production:
# http://redis.io/topics/sentinel
#
# You must specify a list of a few sentinels that will handle client connection
- # please read here for more information: https://docs.gitlab.com/ce/administration/high_availability/redis.html
+ # please read here for more information: https://docs.gitlab.com/ee/administration/redis/index.html
##
# url: redis://master:6379
# sentinels:
diff --git a/config/routes.rb b/config/routes.rb
index 9bd68bfeef6..87d32e3d89a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -69,10 +69,6 @@ Rails.application.routes.draw do
# Begin of the /-/ scope.
# Use this scope for all new global routes.
scope path: '-' do
- # remove in 13.5
- get '/instance_statistics', to: redirect('admin/dev_ops_report')
- get '/instance_statistics/dev_ops_score', to: redirect('admin/dev_ops_report')
- get '/instance_statistics/cohorts', to: redirect('admin/cohorts')
# Autocomplete
get '/autocomplete/users' => 'autocomplete#users'
get '/autocomplete/users/:id' => 'autocomplete#user'
@@ -87,12 +83,16 @@ Rails.application.routes.draw do
get '/autocomplete/namespace_routes' => 'autocomplete#namespace_routes'
end
+ get '/whats_new' => 'whats_new#index'
+
# '/-/health' implemented by BasicHealthCheck middleware
get 'liveness' => 'health#liveness'
get 'readiness' => 'health#readiness'
resources :metrics, only: [:index]
mount Peek::Railtie => '/peek', as: 'peek_routes'
+ get 'runner_setup/platforms' => 'runner_setup#platforms'
+
# Boards resources shared between group and projects
resources :boards, only: [] do
resources :lists, module: :boards, only: [:index, :create, :update, :destroy] do
@@ -122,6 +122,7 @@ Rails.application.routes.draw do
get 'ide' => 'ide#index'
get 'ide/*vueroute' => 'ide#index', format: false
+ get 'ide/project/:namespace/:project/merge_requests/:id' => 'ide#index', format: false, as: :ide_merge_request
draw :operations
draw :jira_connect
@@ -275,6 +276,14 @@ Rails.application.routes.draw do
draw :snippets
end
+ # Serve profile routes under /-/ scope.
+ # To ensure an old unscoped routing is used for the UI we need to
+ # add prefix 'as' to the scope routing and place it below original routing.
+ # Issue https://gitlab.com/gitlab-org/gitlab/-/issues/210024
+ scope '-', as: :scoped do
+ draw :profile
+ end
+
root to: "root#index"
get '*unmatched_route', to: 'application#route_not_found'
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index bac8247de2e..84b9829dacf 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -17,6 +17,7 @@ namespace :admin do
put :activate
put :unlock
put :confirm
+ put :approve
post :impersonate
patch :disable_two_factor
delete 'remove/:email_id', action: 'remove_email', as: 'remove_email'
@@ -81,6 +82,8 @@ namespace :admin do
post :preview, on: :collection
end
+ get :instance_review, to: 'instance_review#index'
+
resource :health_check, controller: 'health_check', only: [:show]
resource :background_jobs, controller: 'background_jobs', only: [:show]
@@ -91,8 +94,6 @@ namespace :admin do
resources :instance_statistics, only: :index
resource :dev_ops_report, controller: 'dev_ops_report', only: :show
- # remove in 13.5
- get '/dev_ops_score', to: redirect('admin/dev_ops_report')
resources :cohorts, only: :index
scope(path: 'projects/*namespace_id',
@@ -153,6 +154,7 @@ namespace :admin do
collection do
get :tag_list, format: :json
+ get :runner_setup_scripts, format: :json
end
end
diff --git a/config/routes/group.rb b/config/routes/group.rb
index e5bbfdf7548..33464cf3b55 100644
--- a/config/routes/group.rb
+++ b/config/routes/group.rb
@@ -17,6 +17,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
put :transfer, as: :transfer_group # rubocop:disable Cop/PutGroupRoutesUnderScope
post :export, as: :export_group # rubocop:disable Cop/PutGroupRoutesUnderScope
get :download_export, as: :download_export_group # rubocop:disable Cop/PutGroupRoutesUnderScope
+ get :unfoldered_environment_names, as: :unfoldered_environment_names_group # rubocop:disable Cop/PutGroupRoutesUnderScope
# TODO: Remove as part of refactor in https://gitlab.com/gitlab-org/gitlab-foss/issues/49693
get 'shared', action: :show, as: :group_shared # rubocop:disable Cop/PutGroupRoutesUnderScope
@@ -35,6 +36,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
put :reset_registration_token
patch :update_auto_devops
post :create_deploy_token, path: 'deploy_token/create', to: 'repository#create_deploy_token'
+ get :runner_setup_scripts, format: :json
end
resource :repository, only: [:show], controller: 'repository' do
@@ -61,6 +63,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
resources :milestones, constraints: { id: %r{[^/]+} } do
member do
+ get :issues
get :merge_requests
get :participants
get :labels
@@ -85,7 +88,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
delete :leave, on: :collection
end
- resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+/ }
+ resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+|:id/ }
resources :uploads, only: [:create] do
collection do
diff --git a/config/routes/import.rb b/config/routes/import.rb
index 0d3f202ba55..3ee44aa8659 100644
--- a/config/routes/import.rb
+++ b/config/routes/import.rb
@@ -69,6 +69,11 @@ namespace :import do
post :authorize
end
+ resource :bulk_import, only: [:create] do
+ post :configure
+ get :status
+ end
+
resource :manifest, only: [:create, :new], controller: :manifest do
get :status
get :realtime_changes
diff --git a/config/routes/jira_connect.rb b/config/routes/jira_connect.rb
index a3b786b60f0..72b3f04f5e5 100644
--- a/config/routes/jira_connect.rb
+++ b/config/routes/jira_connect.rb
@@ -5,6 +5,7 @@ namespace :jira_connect do
root to: proc { [404, {}, ['']] }, as: 'base'
get 'app_descriptor' => 'app_descriptor#show'
+ get :users, to: 'users#show'
namespace :events do
post 'installed'
diff --git a/config/routes/pipelines.rb b/config/routes/pipelines.rb
index 605e82af23a..0fc308b5e65 100644
--- a/config/routes/pipelines.rb
+++ b/config/routes/pipelines.rb
@@ -7,6 +7,7 @@ resources :pipelines, only: [:index, :new, :create, :show, :destroy] do
scope '(*ref)', constraints: { ref: Gitlab::PathRegex.git_reference_regex } do
get :latest, action: :show, defaults: { latest: true }
end
+ get :config_variables
end
member do
diff --git a/config/routes/project.rb b/config/routes/project.rb
index 24b44646d95..eae217de1ac 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -93,6 +93,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
post :reset_cache
put :reset_registration_token
post :create_deploy_token, path: 'deploy_token/create', to: 'repository#create_deploy_token'
+ get :runner_setup_scripts, format: :json
end
resource :operations, only: [:show, :update] do
@@ -161,8 +162,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resources :milestones, constraints: { id: /\d+/ } do
member do
post :promote
- put :sort_issues
- put :sort_merge_requests
+ get :issues
get :merge_requests
get :participants
get :labels
@@ -307,10 +307,14 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get 'details', on: :member
end
+ resource :tracing, only: [:show]
+
post 'incidents/integrations/pagerduty', to: 'incident_management/pager_duty_incidents#create'
resources :incidents, only: [:index]
+ get 'issues/incident/:id' => 'incidents#show', as: :issues_incident
+
namespace :error_tracking do
resources :projects, only: :index
end
@@ -364,16 +368,14 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resource :jira, only: [:show], controller: :jira
end
- resources :snippets, concerns: :awardable, constraints: { id: /\d+/ } do
+ resources :snippets, except: [:create, :update, :destroy], concerns: :awardable, constraints: { id: /\d+/ } do
member do
get :raw
post :mark_as_spam
end
end
- resources :feature_flags, param: :iid do
- resources :feature_flag_issues, only: [:index, :create, :destroy], as: 'issues', path: 'issues'
- end
+ resources :feature_flags, param: :iid
resource :feature_flags_client, only: [] do
post :reset_token
end
@@ -551,6 +553,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
Gitlab::Routing.redirect_legacy_paths(self, :mirror, :tags,
:cycle_analytics, :mattermost, :variables, :triggers,
:environments, :protected_environments, :error_tracking, :alert_management,
+ :tracing,
:serverless, :clusters, :audit_events, :wikis, :merge_requests,
:vulnerability_feedback, :security, :dependencies, :issues)
end
@@ -575,6 +578,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
get :activity
get :refs
put :new_issuable_address
+ get :unfoldered_environment_names
end
end
# rubocop: enable Cop/PutProjectRoutesUnderScope
diff --git a/config/routes/snippets.rb b/config/routes/snippets.rb
index 7bb82da4910..9e0c42fa07d 100644
--- a/config/routes/snippets.rb
+++ b/config/routes/snippets.rb
@@ -1,4 +1,4 @@
-resources :snippets, concerns: :awardable do
+resources :snippets, except: [:create, :update, :destroy], concerns: :awardable, constraints: { id: /\d+/ } do
member do
get :raw
post :mark_as_spam
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index 823ec2eddb3..f061efeb427 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -50,6 +50,8 @@
- 2
- - ci_batch_reset_minutes
- 1
+- - ci_delete_objects
+ - 1
- - container_repository
- 1
- - create_commit_signature
@@ -62,6 +64,8 @@
- 1
- - cronjob
- 1
+- - dast_site_validation
+ - 1
- - default
- 1
- - delete_diff_files
@@ -76,10 +80,16 @@
- 1
- - deployment
- 3
+- - design_management_copy_design_collection
+ - 1
- - design_management_new_version
- 1
- - detect_repository_languages
- 1
+- - disallow_two_factor_for_group
+ - 1
+- - disallow_two_factor_for_subgroups
+ - 1
- - elastic_commit_indexer
- 1
- - elastic_delete_project
@@ -136,10 +146,14 @@
- 2
- - incident_management
- 2
+- - incident_management_apply_incident_sla_exceeded_label
+ - 1
- - invalid_gpg_signature_update
- 2
- - irker
- 1
+- - issuable_export_csv
+ - 1
- - issue_placement
- 2
- - issue_rebalancing
@@ -164,6 +178,8 @@
- 1
- - metrics_dashboard_prune_old_annotations
- 1
+- - metrics_dashboard_sync_dashboards
+ - 1
- - migrate_external_diffs
- 1
- - namespaceless_project_destroy
@@ -232,6 +248,12 @@
- 1
- - propagate_integration
- 1
+- - propagate_integration_group
+ - 1
+- - propagate_integration_inherit
+ - 1
+- - propagate_integration_project
+ - 1
- - propagate_service_template
- 1
- - reactive_caching
@@ -298,5 +320,7 @@
- 1
- - web_hook
- 1
+- - web_hooks_destroy
+ - 1
- - x509_certificate_revoke
- 1
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 652ada1d832..821ddc84e1a 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -18,6 +18,7 @@ const IS_DEV_SERVER = process.env.WEBPACK_DEV_SERVER === 'true';
const IS_EE = require('./helpers/is_ee_env');
const DEV_SERVER_HOST = process.env.DEV_SERVER_HOST || 'localhost';
const DEV_SERVER_PORT = parseInt(process.env.DEV_SERVER_PORT, 10) || 3808;
+const DEV_SERVER_HTTPS = process.env.DEV_SERVER_HTTPS && process.env.DEV_SERVER_HTTPS !== 'false';
const DEV_SERVER_LIVERELOAD = IS_DEV_SERVER && process.env.DEV_SERVER_LIVERELOAD !== 'false';
const WEBPACK_REPORT = process.env.WEBPACK_REPORT && process.env.WEBPACK_REPORT !== 'false';
const WEBPACK_MEMORY_TEST =
@@ -78,7 +79,7 @@ function generateEntries() {
const manualEntries = {
default: defaultEntries,
- sentry: './sentry/index.js',
+ // sentry: './sentry/index.js', Temporarily commented out to investigate performance: https://gitlab.com/gitlab-org/gitlab/-/issues/251179
performance_bar: './performance_bar/index.js',
chrome_84_icon_fix: './lib/chrome_84_icon_fix.js',
};
@@ -96,6 +97,7 @@ const alias = {
vue$: 'vue/dist/vue.esm.js',
spec: path.join(ROOT_PATH, 'spec/javascripts'),
jest: path.join(ROOT_PATH, 'spec/frontend'),
+ shared_queries: path.join(ROOT_PATH, 'app/graphql/queries'),
// the following resolves files which are different between CE and EE
ee_else_ce: path.join(ROOT_PATH, 'app/assets/javascripts'),
@@ -278,6 +280,14 @@ module.exports = {
chunks: 'initial',
minChunks: autoEntriesCount * 0.9,
}),
+ graphql: {
+ priority: 16,
+ name: 'graphql',
+ chunks: 'all',
+ test: /[\\/]node_modules[\\/][^\\/]*(immer|apollo|graphql|zen-observable)[^\\/]*[\\/]/,
+ minChunks: 2,
+ reuseExistingChunk: true,
+ },
monaco: {
priority: 15,
name: 'monaco',
@@ -543,6 +553,7 @@ module.exports = {
devServer: {
host: DEV_SERVER_HOST,
port: DEV_SERVER_PORT,
+ https: DEV_SERVER_HTTPS,
disableHostCheck: true,
headers: {
'Access-Control-Allow-Origin': '*',