summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb10
-rw-r--r--config/feature_categories.yml18
-rw-r--r--config/feature_flags/development/add_issues_button.yml (renamed from config/feature_flags/development/vue_issue_header.yml)6
-rw-r--r--config/feature_flags/development/allow_editing_commit_messages.yml (renamed from config/feature_flags/development/gitlab_ci_yml_preview.yml)10
-rw-r--r--config/feature_flags/development/allow_possible_spam.yml4
-rw-r--r--config/feature_flags/development/boards_with_swimlanes.yml8
-rw-r--r--config/feature_flags/development/branch_list_keyset_pagination.yml4
-rw-r--r--config/feature_flags/development/bulk_update_health_status.yml8
-rw-r--r--config/feature_flags/development/burnup_charts.yml8
-rw-r--r--config/feature_flags/development/caching_experiments.yml (renamed from config/feature_flags/development/save_raw_usage_data.yml)8
-rw-r--r--config/feature_flags/development/cd_skipped_deployment_status.yml (renamed from config/feature_flags/development/environment_auto_stop_start_on_create.yml)7
-rw-r--r--config/feature_flags/development/ci_allow_failure_with_exit_codes.yml8
-rw-r--r--config/feature_flags/development/ci_auto_cancel_all_pipelines.yml2
-rw-r--r--config/feature_flags/development/ci_bridge_dependency_variables.yml2
-rw-r--r--config/feature_flags/development/ci_config_visualization_tab.yml (renamed from config/feature_flags/development/ci_variable_expansion_in_rules_changes.yml)9
-rw-r--r--config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml8
-rw-r--r--config/feature_flags/development/ci_live_trace_use_fog_attributes.yml8
-rw-r--r--config/feature_flags/development/ci_pipeline_open_merge_requests.yml7
-rw-r--r--config/feature_flags/development/ci_pipelines_for_merge_request_finder_new_cte.yml8
-rw-r--r--config/feature_flags/development/ci_rules_variables.yml (renamed from config/feature_flags/development/ci_manual_bridges.yml)10
-rw-r--r--config/feature_flags/development/core_security_mr_widget_counts.yml8
-rw-r--r--config/feature_flags/development/core_security_mr_widget_downloads.yml8
-rw-r--r--config/feature_flags/development/datadog_ci_integration.yml (renamed from config/feature_flags/development/group_level_integrations.yml)9
-rw-r--r--config/feature_flags/development/default_merge_ref_for_diffs.yml2
-rw-r--r--config/feature_flags/development/dependency_proxy_for_private_groups.yml8
-rw-r--r--config/feature_flags/development/devops_adoption_feature.yml2
-rw-r--r--config/feature_flags/development/diff_check_with_paths_changed_rpc.yml (renamed from config/feature_flags/development/reactive_caching_limit_environment.yml)10
-rw-r--r--config/feature_flags/development/diffs_gradual_load.yml8
-rw-r--r--config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml2
-rw-r--r--config/feature_flags/development/display_merge_conflicts_in_diff.yml2
-rw-r--r--config/feature_flags/development/forti_token_cloud.yml (renamed from config/feature_flags/development/pages_serve_from_artifacts_archive.yml)8
-rw-r--r--config/feature_flags/development/geo_snippet_repository_replication.yml2
-rw-r--r--config/feature_flags/development/gitaly_go_user_merge_branch.yml8
-rw-r--r--config/feature_flags/development/github_import_pull_request_reviews.yml8
-rw-r--r--config/feature_flags/development/gitlab_experiments.yml (renamed from config/feature_flags/development/highlight_current_diff_row.yml)8
-rw-r--r--config/feature_flags/development/graphql_board_lists.yml2
-rw-r--r--config/feature_flags/development/graphql_pipeline_analytics.yml8
-rw-r--r--config/feature_flags/development/group_ci_cd_analytics_page.yml8
-rw-r--r--config/feature_flags/development/group_members_filtered_search.yml8
-rw-r--r--config/feature_flags/development/hide_jump_to_next_unresolved_in_threads.yml2
-rw-r--r--config/feature_flags/development/import_requirements_csv.yml8
-rw-r--r--config/feature_flags/development/increased_diff_limits.yml2
-rw-r--r--config/feature_flags/development/jira_sync_builds.yml8
-rw-r--r--config/feature_flags/development/lfs_chunked_encoding.yml (renamed from config/feature_flags/development/suggest_pipeline.yml)8
-rw-r--r--config/feature_flags/development/merge_ref_auto_sync.yml2
-rw-r--r--config/feature_flags/development/merge_ref_auto_sync_lock.yml2
-rw-r--r--config/feature_flags/development/merge_request_cached_pipeline_serializer.yml2
-rw-r--r--config/feature_flags/development/merge_request_draft_filter.yml2
-rw-r--r--config/feature_flags/development/merge_request_reviewers.yml4
-rw-r--r--config/feature_flags/development/merge_request_widget_graphql.yml4
-rw-r--r--config/feature_flags/development/metrics_dashboard.yml2
-rw-r--r--config/feature_flags/development/mr_collapsed_approval_rules.yml (renamed from config/feature_flags/development/http_integrations_list.yml)8
-rw-r--r--config/feature_flags/development/mr_commit_neighbor_nav.yml2
-rw-r--r--config/feature_flags/development/mrc_api_use_raw_diffs_from_gitaly.yml2
-rw-r--r--config/feature_flags/development/multiline_comments.yml2
-rw-r--r--config/feature_flags/development/multiple_http_integrations_custom_mapping.yml2
-rw-r--r--config/feature_flags/development/new_pipeline_form_prefilled_vars.yml2
-rw-r--r--config/feature_flags/development/new_project_level_vsa_backend.yml (renamed from config/feature_flags/development/feature_flags_new_version.yml)8
-rw-r--r--config/feature_flags/development/operations.yml8
-rw-r--r--config/feature_flags/development/pages_serve_from_deployments.yml2
-rw-r--r--config/feature_flags/development/pages_use_legacy_storage_lease.yml8
-rw-r--r--config/feature_flags/development/paginated_notes.yml2
-rw-r--r--config/feature_flags/development/performance_bar_stats.yml8
-rw-r--r--config/feature_flags/development/pg_hint_plan_for_issuables.yml8
-rw-r--r--config/feature_flags/development/postgres_hll_batch_counting.yml (renamed from config/feature_flags/development/product_analytics_aggregated_metrics.yml)8
-rw-r--r--config/feature_flags/development/prometheus_computed_alerts.yml2
-rw-r--r--config/feature_flags/development/push_rules_supersede_code_owners.yml2
-rw-r--r--config/feature_flags/development/remove_resolve_note.yml2
-rw-r--r--config/feature_flags/development/reset_integrations.yml8
-rw-r--r--config/feature_flags/development/restrict_access_to_build_debug_mode.yml8
-rw-r--r--config/feature_flags/development/reviewer_approval_rules.yml8
-rw-r--r--config/feature_flags/development/saas_add_seats_button.yml8
-rw-r--r--config/feature_flags/development/saml_group_links.yml2
-rw-r--r--config/feature_flags/development/security_dast_site_profiles_additional_fields.yml (renamed from config/feature_flags/development/security_on_demand_scans_http_header_validation.yml)8
-rw-r--r--config/feature_flags/development/service_desk_custom_address.yml8
-rw-r--r--config/feature_flags/development/settings_operations_prometheus_service.yml2
-rw-r--r--config/feature_flags/development/smart_cobertura_parser.yml8
-rw-r--r--config/feature_flags/development/sort_diffs.yml8
-rw-r--r--config/feature_flags/development/squash_options.yml2
-rw-r--r--config/feature_flags/development/unified_diff_components.yml2
-rw-r--r--config/feature_flags/development/usage_data_a_compliance_audit_events_api.yml2
-rw-r--r--config/feature_flags/development/usage_data_design_action.yml (renamed from config/feature_flags/development/view_diffs_file_by_file.yml)10
-rw-r--r--config/feature_flags/development/usage_data_g_compliance_dashboard.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_snippets_show.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_source_code_code_intelligence.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_assigned.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_create_incident.yml8
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_status_changed.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alert_todo.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml8
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_assigned.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_change_confidential.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_closed.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_comment.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_created.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_relate.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_reopened.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_todo.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_unrelate.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incident_zoom_meeting.yml2
-rw-r--r--config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml8
-rw-r--r--config/feature_flags/development/usage_data_static_site_editor_commits.yml (renamed from config/feature_flags/development/count_uploads_size_in_storage_stats.yml)8
-rw-r--r--config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml (renamed from config/feature_flags/development/cd_auto_rollback.yml)8
-rw-r--r--config/feature_flags/development/user_other_role_details.yml8
-rw-r--r--config/feature_flags/development/vue_2fa_recovery_codes.yml (renamed from config/feature_flags/development/unified_diff_lines.yml)10
-rw-r--r--config/feature_flags/development/vue_admin_users.yml8
-rw-r--r--config/feature_flags/development/vueify_shared_runners_toggle.yml (renamed from config/feature_flags/development/ci_job_line_links.yml)8
-rw-r--r--config/feature_flags/development/widget_visibility_polling.yml2
-rw-r--r--config/feature_flags/development/zip_pages_deployments.yml8
-rw-r--r--config/feature_flags/experiment/null_hypothesis.yml7
-rw-r--r--config/feature_flags/ops/product_analytics_tracking.yml8
-rw-r--r--config/gitlab.yml.example28
-rw-r--r--config/initializers/01_secret_token.rb3
-rw-r--r--config/initializers/1_settings.rb28
-rw-r--r--config/initializers/active_record_ping.rb5
-rw-r--r--config/initializers/active_record_table_definition.rb4
-rw-r--r--config/initializers/gitlab_experiment.rb6
-rw-r--r--config/initializers/grape_validators.rb1
-rw-r--r--config/initializers/lograge.rb2
-rw-r--r--config/initializers/rack_attack.rb190
-rw-r--r--config/initializers/rack_attack_logging.rb2
-rw-r--r--config/initializers/sidekiq.rb2
-rw-r--r--config/initializers/structure_load_in_transaction.rb9
-rw-r--r--config/initializers/zz_metrics.rb6
-rw-r--r--config/object_store_settings.rb24
-rw-r--r--config/routes/admin.rb2
-rw-r--r--config/routes/git_http.rb105
-rw-r--r--config/routes/group.rb3
-rw-r--r--config/routes/import.rb9
-rw-r--r--config/routes/merge_requests.rb1
-rw-r--r--config/routes/repository_scoped.rb1
-rw-r--r--config/routes/user.rb7
-rw-r--r--config/settings.rb8
-rw-r--r--config/sidekiq_queues.yml22
-rw-r--r--config/webpack.config.js40
135 files changed, 636 insertions, 493 deletions
diff --git a/config/application.rb b/config/application.rb
index 3981ba348ae..178a5c1d3dd 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -138,6 +138,7 @@ module Gitlab
import_url
elasticsearch_url
search
+ jwt
otp_attempt
sentry_dsn
trace
@@ -187,6 +188,7 @@ module Gitlab
config.assets.precompile << "page_bundles/error_tracking_index.css"
config.assets.precompile << "page_bundles/signup.css"
config.assets.precompile << "page_bundles/ide.css"
+ config.assets.precompile << "page_bundles/import.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"
@@ -197,6 +199,8 @@ module Gitlab
config.assets.precompile << "page_bundles/pipelines.css"
config.assets.precompile << "page_bundles/pipeline_schedules.css"
config.assets.precompile << "page_bundles/productivity_analytics.css"
+ config.assets.precompile << "page_bundles/profile_two_factor_auth.css"
+ config.assets.precompile << "page_bundles/security_dashboard.css"
config.assets.precompile << "page_bundles/terminal.css"
config.assets.precompile << "page_bundles/todos.css"
config.assets.precompile << "page_bundles/reports.css"
@@ -204,6 +208,7 @@ module Gitlab
config.assets.precompile << "page_bundles/wiki.css"
config.assets.precompile << "page_bundles/xterm.css"
config.assets.precompile << "page_bundles/alert_management_settings.css"
+ config.assets.precompile << "page_bundles/oncall_schedules.css"
config.assets.precompile << "lazy_bundles/cropper.css"
config.assets.precompile << "lazy_bundles/select2.css"
config.assets.precompile << "performance_bar.css"
@@ -224,11 +229,6 @@ module Gitlab
config.assets.precompile << "icons.json"
config.assets.precompile << "illustrations/*.svg"
- # Import Fontawesome fonts
- config.assets.paths << "#{config.root}/node_modules/font-awesome/fonts"
- config.assets.precompile << "fontawesome-webfont.woff2"
- config.assets.precompile << "fontawesome-webfont.woff"
-
# Import css for xterm
config.assets.paths << "#{config.root}/node_modules/xterm/src/"
config.assets.precompile << "xterm.css"
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 205d3ee5851..2b6f8fc51db 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -9,7 +9,6 @@
---
- accessibility_testing
- advanced_deployments
-- alert_management
- analysis
- api
- attack_emulation
@@ -21,7 +20,7 @@
- boards
- chatops
- cloud_native_installation
-- cluster_cost_optimization
+- cluster_cost_management
- code_analytics
- code_quality
- code_review
@@ -39,15 +38,14 @@
- dependency_proxy
- dependency_scanning
- design_management
-- design_system
- devops_reports
- disaster_recovery
- dynamic_application_security_testing
- editor_extension
- epics
-- epic_tracking
- error_tracking
- feature_flags
+- five_minute_production_app
- foundations
- fuzz_testing
- gdk
@@ -55,35 +53,35 @@
- git_lfs
- gitaly
- gitlab_docs
-- gitlab_handbook
- global_search
- helm_chart_registry
- importers
- incident_management
+- infrastructure
- infrastructure_as_code
+- insider_threat
- insights
-- instance_statistics
- integrations
- interactive_application_security_testing
- internationalization
- issue_tracking
- jenkins_importer
- jira_importer
-- jupyter_notebooks
- kubernetes_management
- license_compliance
- live_preview
- load_testing
- logging
-- malware_scanning
+- memory
- merge_trains
- metrics
+- mlops
+- mobile_signing_deployment
- navigation
- omnibus_package
- package_registry
- pages
- pipeline_authoring
-- pki_management
- planning_analytics
- product_analytics
- projects
@@ -115,7 +113,7 @@
- tracing
- usability_testing
- users
-- value_stream_analytics
+- value_stream_management
- vulnerability_database
- vulnerability_management
- web_firewall
diff --git a/config/feature_flags/development/vue_issue_header.yml b/config/feature_flags/development/add_issues_button.yml
index 6e9de057b82..cc4727a29c4 100644
--- a/config/feature_flags/development/vue_issue_header.yml
+++ b/config/feature_flags/development/add_issues_button.yml
@@ -1,8 +1,8 @@
---
-name: vue_issue_header
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44440
+name: add_issues_button
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47898
rollout_issue_url:
milestone: '13.6'
type: development
group: group::project management
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/gitlab_ci_yml_preview.yml b/config/feature_flags/development/allow_editing_commit_messages.yml
index 5b5453c0f08..74f67647cb5 100644
--- a/config/feature_flags/development/gitlab_ci_yml_preview.yml
+++ b/config/feature_flags/development/allow_editing_commit_messages.yml
@@ -1,8 +1,8 @@
---
-name: gitlab_ci_yml_preview
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40880
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/244905
-milestone: '13.4'
+name: allow_editing_commit_messages
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49152/
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/290779
+milestone: '13.7'
type: development
-group: group::ci
+group:
default_enabled: false
diff --git a/config/feature_flags/development/allow_possible_spam.yml b/config/feature_flags/development/allow_possible_spam.yml
index 696ab3ba214..3f7a084130a 100644
--- a/config/feature_flags/development/allow_possible_spam.yml
+++ b/config/feature_flags/development/allow_possible_spam.yml
@@ -1,8 +1,8 @@
---
name: allow_possible_spam
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/17604
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/29830
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/33421
milestone: '12.4'
type: development
-group: group::portfolio management
+group: group::product planning
default_enabled: false
diff --git a/config/feature_flags/development/boards_with_swimlanes.yml b/config/feature_flags/development/boards_with_swimlanes.yml
deleted file mode 100644
index 7080bceb777..00000000000
--- a/config/feature_flags/development/boards_with_swimlanes.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: boards_with_swimlanes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/218040
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238222
-milestone: 13.6
-group: group::product planning
-type: development
-default_enabled: true
diff --git a/config/feature_flags/development/branch_list_keyset_pagination.yml b/config/feature_flags/development/branch_list_keyset_pagination.yml
index 5397282aecc..23b573e5004 100644
--- a/config/feature_flags/development/branch_list_keyset_pagination.yml
+++ b/config/feature_flags/development/branch_list_keyset_pagination.yml
@@ -1,8 +1,8 @@
---
name: branch_list_keyset_pagination
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35819
-rollout_issue_url:
+rollout_issue_url:
milestone: '13.2'
type: development
group: group::source code
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/bulk_update_health_status.yml b/config/feature_flags/development/bulk_update_health_status.yml
deleted file mode 100644
index 29841ba584c..00000000000
--- a/config/feature_flags/development/bulk_update_health_status.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: bulk_update_health_status
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33065
-rollout_issue_url:
-milestone: '13.2'
-type: development
-group: group::portfolio management
-default_enabled: true
diff --git a/config/feature_flags/development/burnup_charts.yml b/config/feature_flags/development/burnup_charts.yml
deleted file mode 100644
index 3fcc0b33b3f..00000000000
--- a/config/feature_flags/development/burnup_charts.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: burnup_charts
-introduced_by_url:
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268350
-milestone: '13.6'
-type: development
-group: group::project management
-default_enabled: true
diff --git a/config/feature_flags/development/save_raw_usage_data.yml b/config/feature_flags/development/caching_experiments.yml
index 44820fe2f53..3d540aca476 100644
--- a/config/feature_flags/development/save_raw_usage_data.yml
+++ b/config/feature_flags/development/caching_experiments.yml
@@ -1,8 +1,8 @@
---
-name: save_raw_usage_data
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38457
+name: caching_experiments
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49669
rollout_issue_url:
-milestone: '13.3'
+milestone: '13.7'
type: development
-group: group::product analytics
+group: group::adoption
default_enabled: false
diff --git a/config/feature_flags/development/environment_auto_stop_start_on_create.yml b/config/feature_flags/development/cd_skipped_deployment_status.yml
index 4950449ad9c..45d9538ebfc 100644
--- a/config/feature_flags/development/environment_auto_stop_start_on_create.yml
+++ b/config/feature_flags/development/cd_skipped_deployment_status.yml
@@ -1,7 +1,6 @@
----
-name: environment_auto_stop_start_on_create
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47239
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/281449
+name: cd_skipped_deployment_status
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46614
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/283884
milestone: '13.6'
type: development
group: group::release
diff --git a/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml b/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml
new file mode 100644
index 00000000000..c2701705616
--- /dev/null
+++ b/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml
@@ -0,0 +1,8 @@
+---
+name: ci_allow_failure_with_exit_codes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49145
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292024
+milestone: '13.7'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml b/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml
index e20baf93500..7dfc6146b08 100644
--- a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml
+++ b/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/275997
milestone: '13.6'
type: development
group: group::pipeline authoring
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_bridge_dependency_variables.yml b/config/feature_flags/development/ci_bridge_dependency_variables.yml
index db23a30d2cb..54670f93601 100644
--- a/config/feature_flags/development/ci_bridge_dependency_variables.yml
+++ b/config/feature_flags/development/ci_bridge_dependency_variables.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46530
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273734
type: development
group: group::pipeline authoring
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/ci_variable_expansion_in_rules_changes.yml b/config/feature_flags/development/ci_config_visualization_tab.yml
index a3a66295896..70e395d83e9 100644
--- a/config/feature_flags/development/ci_variable_expansion_in_rules_changes.yml
+++ b/config/feature_flags/development/ci_config_visualization_tab.yml
@@ -1,7 +1,8 @@
---
-name: ci_variable_expansion_in_rules_changes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45037
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267192
+name: ci_config_visualization_tab
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48793
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/290117
+milestone: '13.7'
type: development
group: group::pipeline authoring
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml b/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml
new file mode 100644
index 00000000000..f50d71fc71f
--- /dev/null
+++ b/config/feature_flags/development/ci_cross_pipeline_artifacts_download.yml
@@ -0,0 +1,8 @@
+---
+name: ci_cross_pipeline_artifacts_download
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48342
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/287622
+milestone: '13.7'
+type: development
+group: group::continuous integration
+default_enabled: true
diff --git a/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml b/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml
new file mode 100644
index 00000000000..20a38d77407
--- /dev/null
+++ b/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml
@@ -0,0 +1,8 @@
+---
+name: ci_live_trace_use_fog_attributes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47536
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285079
+milestone: '13.6'
+type: development
+group: group::testing
+default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_open_merge_requests.yml b/config/feature_flags/development/ci_pipeline_open_merge_requests.yml
new file mode 100644
index 00000000000..e3be9e7323d
--- /dev/null
+++ b/config/feature_flags/development/ci_pipeline_open_merge_requests.yml
@@ -0,0 +1,7 @@
+---
+name: ci_pipeline_open_merge_requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38673
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292727
+group: group::memory
+type: development
+default_enabled: false
diff --git a/config/feature_flags/development/ci_pipelines_for_merge_request_finder_new_cte.yml b/config/feature_flags/development/ci_pipelines_for_merge_request_finder_new_cte.yml
new file mode 100644
index 00000000000..84d45d51c78
--- /dev/null
+++ b/config/feature_flags/development/ci_pipelines_for_merge_request_finder_new_cte.yml
@@ -0,0 +1,8 @@
+---
+name: ci_pipelines_for_merge_request_finder_new_cte
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49083
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/291006
+milestone: '13.7'
+type: development
+group: group::continuous integration
+default_enabled: false
diff --git a/config/feature_flags/development/ci_manual_bridges.yml b/config/feature_flags/development/ci_rules_variables.yml
index 6bda63e71ae..fdd9de19472 100644
--- a/config/feature_flags/development/ci_manual_bridges.yml
+++ b/config/feature_flags/development/ci_rules_variables.yml
@@ -1,8 +1,8 @@
---
-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
-milestone: '13.5'
+name: ci_rules_variables
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48752
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/289803
+milestone: '13.7'
type: development
group: group::pipeline authoring
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/core_security_mr_widget_counts.yml b/config/feature_flags/development/core_security_mr_widget_counts.yml
new file mode 100644
index 00000000000..23a671d427c
--- /dev/null
+++ b/config/feature_flags/development/core_security_mr_widget_counts.yml
@@ -0,0 +1,8 @@
+---
+name: core_security_mr_widget_counts
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47656
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284097
+milestone: '13.7'
+type: development
+group: group::static analysis
+default_enabled: false
diff --git a/config/feature_flags/development/core_security_mr_widget_downloads.yml b/config/feature_flags/development/core_security_mr_widget_downloads.yml
new file mode 100644
index 00000000000..d89fbc302b3
--- /dev/null
+++ b/config/feature_flags/development/core_security_mr_widget_downloads.yml
@@ -0,0 +1,8 @@
+---
+name: core_security_mr_widget_downloads
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48769
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273418
+milestone: '13.7'
+type: development
+group: group::static analysis
+default_enabled: true
diff --git a/config/feature_flags/development/group_level_integrations.yml b/config/feature_flags/development/datadog_ci_integration.yml
index 2be5207e099..c53ef36f3c1 100644
--- a/config/feature_flags/development/group_level_integrations.yml
+++ b/config/feature_flags/development/datadog_ci_integration.yml
@@ -1,8 +1,7 @@
---
-name: group_level_integrations
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27557
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/238575
-milestone: '12.10'
+name: datadog_ci_integration
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46564
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284088
type: development
group: group::ecosystem
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/default_merge_ref_for_diffs.yml b/config/feature_flags/development/default_merge_ref_for_diffs.yml
index 8442240e442..1058cff5e8f 100644
--- a/config/feature_flags/development/default_merge_ref_for_diffs.yml
+++ b/config/feature_flags/development/default_merge_ref_for_diffs.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34472
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276917
milestone: '13.4'
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/dependency_proxy_for_private_groups.yml b/config/feature_flags/development/dependency_proxy_for_private_groups.yml
new file mode 100644
index 00000000000..0bc795ba02e
--- /dev/null
+++ b/config/feature_flags/development/dependency_proxy_for_private_groups.yml
@@ -0,0 +1,8 @@
+---
+name: dependency_proxy_for_private_groups
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46042
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276777
+milestone: '13.7'
+type: development
+group: group::package
+default_enabled: true
diff --git a/config/feature_flags/development/devops_adoption_feature.yml b/config/feature_flags/development/devops_adoption_feature.yml
index 7032c52c390..34ade24cbc6 100644
--- a/config/feature_flags/development/devops_adoption_feature.yml
+++ b/config/feature_flags/development/devops_adoption_feature.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/271568
milestone: '13.6'
type: development
group: group::analytics
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/reactive_caching_limit_environment.yml b/config/feature_flags/development/diff_check_with_paths_changed_rpc.yml
index 2569f51eaad..d67624deb41 100644
--- a/config/feature_flags/development/reactive_caching_limit_environment.yml
+++ b/config/feature_flags/development/diff_check_with_paths_changed_rpc.yml
@@ -1,8 +1,8 @@
---
-name: reactive_caching_limit_environment
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34202
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/202633
-milestone: '13.2'
+name: diff_check_with_paths_changed_rpc
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46116
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/288827
+milestone: '13.7'
type: development
-group: group::configure
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/diffs_gradual_load.yml b/config/feature_flags/development/diffs_gradual_load.yml
new file mode 100644
index 00000000000..05246639069
--- /dev/null
+++ b/config/feature_flags/development/diffs_gradual_load.yml
@@ -0,0 +1,8 @@
+---
+name: diffs_gradual_load
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48253/
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::code review
+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 354dfebbf6d..6f4235acaac 100644
--- a/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml
+++ b/config/feature_flags/development/disable_metric_dashboard_refresh_rate.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37195
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229841
milestone: '13.2'
type: development
-group: group::health
+group: group::monitor
default_enabled: false
diff --git a/config/feature_flags/development/display_merge_conflicts_in_diff.yml b/config/feature_flags/development/display_merge_conflicts_in_diff.yml
index d460e491480..b81b6b25473 100644
--- a/config/feature_flags/development/display_merge_conflicts_in_diff.yml
+++ b/config/feature_flags/development/display_merge_conflicts_in_diff.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45008
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/277097
milestone: '13.5'
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/pages_serve_from_artifacts_archive.yml b/config/feature_flags/development/forti_token_cloud.yml
index 4cc29601e48..10f143ca912 100644
--- a/config/feature_flags/development/pages_serve_from_artifacts_archive.yml
+++ b/config/feature_flags/development/forti_token_cloud.yml
@@ -1,8 +1,8 @@
---
-name: pages_serve_from_artifacts_archive
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46320
+name: forti_token_cloud
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49089
rollout_issue_url:
-group: group::release management
-milestone: '13.4'
+milestone: '13.7'
type: development
+group: group::access
default_enabled: false
diff --git a/config/feature_flags/development/geo_snippet_repository_replication.yml b/config/feature_flags/development/geo_snippet_repository_replication.yml
index 69aa7beef55..5815c9a1f6d 100644
--- a/config/feature_flags/development/geo_snippet_repository_replication.yml
+++ b/config/feature_flags/development/geo_snippet_repository_replication.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/224168
milestone: '13.4'
type: development
group: group::geo
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/gitaly_go_user_merge_branch.yml b/config/feature_flags/development/gitaly_go_user_merge_branch.yml
new file mode 100644
index 00000000000..3804a3f56b5
--- /dev/null
+++ b/config/feature_flags/development/gitaly_go_user_merge_branch.yml
@@ -0,0 +1,8 @@
+---
+name: gitaly_go_user_merge_branch
+introduced_by_url:
+rollout_issue_url:
+milestone:
+type: development
+group:
+default_enabled: false
diff --git a/config/feature_flags/development/github_import_pull_request_reviews.yml b/config/feature_flags/development/github_import_pull_request_reviews.yml
new file mode 100644
index 00000000000..38ff6b65eaa
--- /dev/null
+++ b/config/feature_flags/development/github_import_pull_request_reviews.yml
@@ -0,0 +1,8 @@
+---
+name: github_import_pull_request_reviews
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48632
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/289153
+milestone: '13.7'
+type: development
+group: group::import
+default_enabled: true
diff --git a/config/feature_flags/development/highlight_current_diff_row.yml b/config/feature_flags/development/gitlab_experiments.yml
index fc872ea47fc..51fa6aa4529 100644
--- a/config/feature_flags/development/highlight_current_diff_row.yml
+++ b/config/feature_flags/development/gitlab_experiments.yml
@@ -1,8 +1,8 @@
---
-name: highlight_current_diff_row
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27937
+name: gitlab_experiments
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45840
rollout_issue_url:
-milestone: '13.4'
+milestone: '13.7'
type: development
-group: group::source code
+group: group::adoption
default_enabled: false
diff --git a/config/feature_flags/development/graphql_board_lists.yml b/config/feature_flags/development/graphql_board_lists.yml
index 19785015f1b..a107dce7dfa 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: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37905
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/248908
milestone: '13.4'
type: development
group: group::project management
diff --git a/config/feature_flags/development/graphql_pipeline_analytics.yml b/config/feature_flags/development/graphql_pipeline_analytics.yml
new file mode 100644
index 00000000000..f91475fcbd7
--- /dev/null
+++ b/config/feature_flags/development/graphql_pipeline_analytics.yml
@@ -0,0 +1,8 @@
+---
+name: graphql_pipeline_analytics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48267
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/290153
+milestone: '13.7'
+type: development
+group: group::continuos integration
+default_enabled: false
diff --git a/config/feature_flags/development/group_ci_cd_analytics_page.yml b/config/feature_flags/development/group_ci_cd_analytics_page.yml
new file mode 100644
index 00000000000..9f25ca7e6ad
--- /dev/null
+++ b/config/feature_flags/development/group_ci_cd_analytics_page.yml
@@ -0,0 +1,8 @@
+---
+name: group_ci_cd_analytics_page
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49608
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292601
+milestone: '13.8'
+type: development
+group: group::release
+default_enabled: false
diff --git a/config/feature_flags/development/group_members_filtered_search.yml b/config/feature_flags/development/group_members_filtered_search.yml
new file mode 100644
index 00000000000..8a30bdd3d92
--- /dev/null
+++ b/config/feature_flags/development/group_members_filtered_search.yml
@@ -0,0 +1,8 @@
+---
+name: group_members_filtered_search
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48272
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/289911
+milestone: '13.7'
+type: development
+group: group::access
+default_enabled: true
diff --git a/config/feature_flags/development/hide_jump_to_next_unresolved_in_threads.yml b/config/feature_flags/development/hide_jump_to_next_unresolved_in_threads.yml
index 6337f6154d9..0eda7b1ca4f 100644
--- a/config/feature_flags/development/hide_jump_to_next_unresolved_in_threads.yml
+++ b/config/feature_flags/development/hide_jump_to_next_unresolved_in_threads.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37873
rollout_issue_url:
milestone: '13.3'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/import_requirements_csv.yml b/config/feature_flags/development/import_requirements_csv.yml
new file mode 100644
index 00000000000..736d2204b44
--- /dev/null
+++ b/config/feature_flags/development/import_requirements_csv.yml
@@ -0,0 +1,8 @@
+---
+name: import_requirements_csv
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48060
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284846
+milestone: '13.7'
+type: development
+group: group::product planning
+default_enabled: true
diff --git a/config/feature_flags/development/increased_diff_limits.yml b/config/feature_flags/development/increased_diff_limits.yml
index ee811c221dc..898f6597a8a 100644
--- a/config/feature_flags/development/increased_diff_limits.yml
+++ b/config/feature_flags/development/increased_diff_limits.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40357
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241185
milestone: '13.5'
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/jira_sync_builds.yml b/config/feature_flags/development/jira_sync_builds.yml
new file mode 100644
index 00000000000..8cb054b848d
--- /dev/null
+++ b/config/feature_flags/development/jira_sync_builds.yml
@@ -0,0 +1,8 @@
+---
+name: jira_sync_builds
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49348
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292013
+milestone: '13.7'
+type: development
+group: group::ecosystem
+default_enabled: false
diff --git a/config/feature_flags/development/suggest_pipeline.yml b/config/feature_flags/development/lfs_chunked_encoding.yml
index 69c14e24303..92f534d1000 100644
--- a/config/feature_flags/development/suggest_pipeline.yml
+++ b/config/feature_flags/development/lfs_chunked_encoding.yml
@@ -1,8 +1,8 @@
---
-name: suggest_pipeline
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45926
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267492
+name: lfs_chunked_encoding
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48269
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285581
milestone: '13.6'
type: development
-group: group::expansion
+group:
default_enabled: true
diff --git a/config/feature_flags/development/merge_ref_auto_sync.yml b/config/feature_flags/development/merge_ref_auto_sync.yml
index f22a18940c7..9fd1eecbe5a 100644
--- a/config/feature_flags/development/merge_ref_auto_sync.yml
+++ b/config/feature_flags/development/merge_ref_auto_sync.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/29
rollout_issue_url:
milestone: '12.1'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/merge_ref_auto_sync_lock.yml b/config/feature_flags/development/merge_ref_auto_sync_lock.yml
index e26c5ed5050..3aec2b4e062 100644
--- a/config/feature_flags/development/merge_ref_auto_sync_lock.yml
+++ b/config/feature_flags/development/merge_ref_auto_sync_lock.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/31
rollout_issue_url:
milestone: '12.2'
type: development
-group: group::source code
+group: group::code review
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
index 60db901d801..0cce0bbf3ba 100644
--- a/config/feature_flags/development/merge_request_cached_pipeline_serializer.yml
+++ b/config/feature_flags/development/merge_request_cached_pipeline_serializer.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38273
rollout_issue_url:
milestone: '13.5'
type: development
-group: group::source code
+group: group::code review
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 ee719f52b7c..0614485d37c 100644
--- a/config/feature_flags/development/merge_request_draft_filter.yml
+++ b/config/feature_flags/development/merge_request_draft_filter.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35942
rollout_issue_url:
milestone: '13.3'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/merge_request_reviewers.yml b/config/feature_flags/development/merge_request_reviewers.yml
index ca9de4af264..85582ee25f9 100644
--- a/config/feature_flags/development/merge_request_reviewers.yml
+++ b/config/feature_flags/development/merge_request_reviewers.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40488
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/245190
milestone: '13.4'
type: development
-group: group::source code
-default_enabled: false
+group: group::code review
+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 2969b91039a..0f4e6fe41ca 100644
--- a/config/feature_flags/development/merge_request_widget_graphql.yml
+++ b/config/feature_flags/development/merge_request_widget_graphql.yml
@@ -1,8 +1,8 @@
---
name: merge_request_widget_graphql
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38311
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267560
milestone: '13.3'
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/metrics_dashboard.yml b/config/feature_flags/development/metrics_dashboard.yml
index 81eafa74ab4..39a7fd1260b 100644
--- a/config/feature_flags/development/metrics_dashboard.yml
+++ b/config/feature_flags/development/metrics_dashboard.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29634
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257902
milestone: '13.0'
type: development
-group: group::health
+group: group::monitor
default_enabled: true
diff --git a/config/feature_flags/development/http_integrations_list.yml b/config/feature_flags/development/mr_collapsed_approval_rules.yml
index 3567f7b446d..5fca48ddc3a 100644
--- a/config/feature_flags/development/http_integrations_list.yml
+++ b/config/feature_flags/development/mr_collapsed_approval_rules.yml
@@ -1,8 +1,8 @@
---
-name: http_integrations_list
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45993
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255502
+name: mr_collapsed_approval_rules
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47475
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284052
milestone: '13.6'
type: development
-group: group::health
+group: group::source code
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 d49dc656858..1605aaa80e4 100644
--- a/config/feature_flags/development/mr_commit_neighbor_nav.yml
+++ b/config/feature_flags/development/mr_commit_neighbor_nav.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28596
rollout_issue_url:
milestone: '13.0'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/mrc_api_use_raw_diffs_from_gitaly.yml b/config/feature_flags/development/mrc_api_use_raw_diffs_from_gitaly.yml
index c44d14a6dfc..3f2381e9ff6 100644
--- a/config/feature_flags/development/mrc_api_use_raw_diffs_from_gitaly.yml
+++ b/config/feature_flags/development/mrc_api_use_raw_diffs_from_gitaly.yml
@@ -3,5 +3,5 @@ name: mrc_api_use_raw_diffs_from_gitaly
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46190
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/225322
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/multiline_comments.yml b/config/feature_flags/development/multiline_comments.yml
index dad02bf80fd..ed38e1a575f 100644
--- a/config/feature_flags/development/multiline_comments.yml
+++ b/config/feature_flags/development/multiline_comments.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37114
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/211255
milestone: '13.2'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/multiple_http_integrations_custom_mapping.yml b/config/feature_flags/development/multiple_http_integrations_custom_mapping.yml
index efc18603fdc..6c04d08369f 100644
--- a/config/feature_flags/development/multiple_http_integrations_custom_mapping.yml
+++ b/config/feature_flags/development/multiple_http_integrations_custom_mapping.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46437
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273573
milestone: '13.6'
type: development
-group: group::health
+group: group::monitor
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
index 3f79783d805..0354b18fafd 100644
--- a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml
+++ b/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263276
milestone: '13.5'
type: development
group: group::continuous integration
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/feature_flags_new_version.yml b/config/feature_flags/development/new_project_level_vsa_backend.yml
index f42054ce3ef..988e5e39a03 100644
--- a/config/feature_flags/development/feature_flags_new_version.yml
+++ b/config/feature_flags/development/new_project_level_vsa_backend.yml
@@ -1,8 +1,8 @@
---
-name: feature_flags_new_version
-introduced_by_url:
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258831
+name: new_project_level_vsa_backend
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282435
milestone: '13.7'
type: development
-group: group::progressive delivery
+group: group::optimize
default_enabled: true
diff --git a/config/feature_flags/development/operations.yml b/config/feature_flags/development/operations.yml
new file mode 100644
index 00000000000..5b5537ed740
--- /dev/null
+++ b/config/feature_flags/development/operations.yml
@@ -0,0 +1,8 @@
+---
+name: operations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48347
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::editor
+default_enabled: true
diff --git a/config/feature_flags/development/pages_serve_from_deployments.yml b/config/feature_flags/development/pages_serve_from_deployments.yml
index ab75ec16952..f73e9f5b49d 100644
--- a/config/feature_flags/development/pages_serve_from_deployments.yml
+++ b/config/feature_flags/development/pages_serve_from_deployments.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/29
milestone: '13.6'
type: development
group: group::Release Management
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/pages_use_legacy_storage_lease.yml b/config/feature_flags/development/pages_use_legacy_storage_lease.yml
new file mode 100644
index 00000000000..548a3ecd589
--- /dev/null
+++ b/config/feature_flags/development/pages_use_legacy_storage_lease.yml
@@ -0,0 +1,8 @@
+---
+name: pages_use_legacy_storage_lease
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48349
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282464
+milestone: '13.7'
+type: development
+group: group::release
+default_enabled: true
diff --git a/config/feature_flags/development/paginated_notes.yml b/config/feature_flags/development/paginated_notes.yml
index 67036d693e3..733e23083d2 100644
--- a/config/feature_flags/development/paginated_notes.yml
+++ b/config/feature_flags/development/paginated_notes.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34628
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254987
milestone: '13.2'
type: development
-group: group::source code
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/performance_bar_stats.yml b/config/feature_flags/development/performance_bar_stats.yml
new file mode 100644
index 00000000000..79315050c58
--- /dev/null
+++ b/config/feature_flags/development/performance_bar_stats.yml
@@ -0,0 +1,8 @@
+---
+name: performance_bar_stats
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48149
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285480
+milestone: '13.7'
+type: development
+group: group::product_planning
+default_enabled: false
diff --git a/config/feature_flags/development/pg_hint_plan_for_issuables.yml b/config/feature_flags/development/pg_hint_plan_for_issuables.yml
deleted file mode 100644
index 06d20c404c5..00000000000
--- a/config/feature_flags/development/pg_hint_plan_for_issuables.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: pg_hint_plan_for_issuables
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46289
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273528
-milestone: '13.6'
-type: development
-group: group::project planning
-default_enabled: false
diff --git a/config/feature_flags/development/product_analytics_aggregated_metrics.yml b/config/feature_flags/development/postgres_hll_batch_counting.yml
index 7f13b4c68a4..87d3c7816a1 100644
--- a/config/feature_flags/development/product_analytics_aggregated_metrics.yml
+++ b/config/feature_flags/development/postgres_hll_batch_counting.yml
@@ -1,8 +1,8 @@
---
-name: product_analytics_aggregated_metrics
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44624
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267550
-milestone: '13.6'
+name: postgres_hll_batch_counting
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48233
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285485
+milestone: '13.7'
type: development
group: group::product analytics
default_enabled: false
diff --git a/config/feature_flags/development/prometheus_computed_alerts.yml b/config/feature_flags/development/prometheus_computed_alerts.yml
index 428a99c1c1e..5a9a989d544 100644
--- a/config/feature_flags/development/prometheus_computed_alerts.yml
+++ b/config/feature_flags/development/prometheus_computed_alerts.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13443
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255304
milestone: '12.0'
type: development
-group: group::health
+group: group::monitor
default_enabled: false
diff --git a/config/feature_flags/development/push_rules_supersede_code_owners.yml b/config/feature_flags/development/push_rules_supersede_code_owners.yml
index 7226e443640..504cd7ec38e 100644
--- a/config/feature_flags/development/push_rules_supersede_code_owners.yml
+++ b/config/feature_flags/development/push_rules_supersede_code_owners.yml
@@ -3,5 +3,5 @@ name: push_rules_supersede_code_owners
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44126
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/262019
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/remove_resolve_note.yml b/config/feature_flags/development/remove_resolve_note.yml
index f5ec26f7580..0f792dffd0b 100644
--- a/config/feature_flags/development/remove_resolve_note.yml
+++ b/config/feature_flags/development/remove_resolve_note.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45549
rollout_issue_url:
milestone: '13.6'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/reset_integrations.yml b/config/feature_flags/development/reset_integrations.yml
new file mode 100644
index 00000000000..332fbc96ef5
--- /dev/null
+++ b/config/feature_flags/development/reset_integrations.yml
@@ -0,0 +1,8 @@
+---
+name: reset_integrations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47546
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/283875
+milestone: '13.7'
+type: development
+group: group::ecosystem
+default_enabled: false
diff --git a/config/feature_flags/development/restrict_access_to_build_debug_mode.yml b/config/feature_flags/development/restrict_access_to_build_debug_mode.yml
new file mode 100644
index 00000000000..6d195e03842
--- /dev/null
+++ b/config/feature_flags/development/restrict_access_to_build_debug_mode.yml
@@ -0,0 +1,8 @@
+---
+name: restrict_access_to_build_debug_mode
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48932
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292661
+milestone: '13.7'
+type: development
+group: group::continuous integration
+default_enabled: true
diff --git a/config/feature_flags/development/reviewer_approval_rules.yml b/config/feature_flags/development/reviewer_approval_rules.yml
new file mode 100644
index 00000000000..97181ef2a36
--- /dev/null
+++ b/config/feature_flags/development/reviewer_approval_rules.yml
@@ -0,0 +1,8 @@
+---
+name: reviewer_approval_rules
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46738
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/293742
+milestone: '13.7'
+type: development
+group: group::code review
+default_enabled: false
diff --git a/config/feature_flags/development/saas_add_seats_button.yml b/config/feature_flags/development/saas_add_seats_button.yml
new file mode 100644
index 00000000000..1817481439a
--- /dev/null
+++ b/config/feature_flags/development/saas_add_seats_button.yml
@@ -0,0 +1,8 @@
+---
+name: saas_add_seats_button
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49242
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/291060
+milestone: '13.7'
+type: development
+group: group::purchase
+default_enabled: false
diff --git a/config/feature_flags/development/saml_group_links.yml b/config/feature_flags/development/saml_group_links.yml
index cb02b426b29..3b427bd83fa 100644
--- a/config/feature_flags/development/saml_group_links.yml
+++ b/config/feature_flags/development/saml_group_links.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267020
milestone: '13.6'
type: development
group: group::access
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/security_on_demand_scans_http_header_validation.yml b/config/feature_flags/development/security_dast_site_profiles_additional_fields.yml
index 475cbfa4d9a..0ab96f16547 100644
--- a/config/feature_flags/development/security_on_demand_scans_http_header_validation.yml
+++ b/config/feature_flags/development/security_dast_site_profiles_additional_fields.yml
@@ -1,8 +1,8 @@
---
-name: security_on_demand_scans_http_header_validation
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42812
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276403
-milestone: '13.6'
+name: security_dast_site_profiles_additional_fields
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46848
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292897
+milestone: '13.7'
type: development
group: group::dynamic analysis
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 8b248da00cd..e7db2f10e2f 100644
--- a/config/feature_flags/development/service_desk_custom_address.yml
+++ b/config/feature_flags/development/service_desk_custom_address.yml
@@ -1,8 +1,8 @@
---
name: service_desk_custom_address
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284656
+milestone:
type: development
group: group::certify
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/settings_operations_prometheus_service.yml b/config/feature_flags/development/settings_operations_prometheus_service.yml
index 3b2fea80a2d..27ccaf782c2 100644
--- a/config/feature_flags/development/settings_operations_prometheus_service.yml
+++ b/config/feature_flags/development/settings_operations_prometheus_service.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24296
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258560
milestone: '12.8'
type: development
-group: group::health
+group: group::monitor
default_enabled: false
diff --git a/config/feature_flags/development/smart_cobertura_parser.yml b/config/feature_flags/development/smart_cobertura_parser.yml
new file mode 100644
index 00000000000..a3aa182e412
--- /dev/null
+++ b/config/feature_flags/development/smart_cobertura_parser.yml
@@ -0,0 +1,8 @@
+---
+name: smart_cobertura_parser
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48048
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284822
+milestone: '13.7'
+type: development
+group: group::testing
+default_enabled: false
diff --git a/config/feature_flags/development/sort_diffs.yml b/config/feature_flags/development/sort_diffs.yml
new file mode 100644
index 00000000000..505b5f0e0b5
--- /dev/null
+++ b/config/feature_flags/development/sort_diffs.yml
@@ -0,0 +1,8 @@
+---
+name: sort_diffs
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49118
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::code review
+default_enabled: false
diff --git a/config/feature_flags/development/squash_options.yml b/config/feature_flags/development/squash_options.yml
index 70114cfa252..bea03c6e9b2 100644
--- a/config/feature_flags/development/squash_options.yml
+++ b/config/feature_flags/development/squash_options.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33930
rollout_issue_url:
milestone: '13.2'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/unified_diff_components.yml b/config/feature_flags/development/unified_diff_components.yml
index 63470c2a28d..68a1cd8996f 100644
--- a/config/feature_flags/development/unified_diff_components.yml
+++ b/config/feature_flags/development/unified_diff_components.yml
@@ -3,5 +3,5 @@ name: unified_diff_components
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44974
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268039
type: development
-group: group::source code
+group: group::code review
default_enabled: false
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
index 1daf82b4b8a..9d668c73052 100644
--- 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
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/233786
milestone: '13.4'
type: development
group: group::compliance
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/view_diffs_file_by_file.yml b/config/feature_flags/development/usage_data_design_action.yml
index 1af945bf30b..e013237ecca 100644
--- a/config/feature_flags/development/view_diffs_file_by_file.yml
+++ b/config/feature_flags/development/usage_data_design_action.yml
@@ -1,8 +1,8 @@
---
-name: view_diffs_file_by_file
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35223
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229848
-milestone: '13.2'
+name: usage_data_design_action
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46626
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/287630
+milestone: '13.7'
type: development
-group: group::source code
+group: group::knowledge
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 fcef95c2b01..2ca2893b1a9 100644
--- a/config/feature_flags/development/usage_data_g_compliance_dashboard.yml
+++ b/config/feature_flags/development/usage_data_g_compliance_dashboard.yml
@@ -1,8 +1,8 @@
---
name: usage_data_g_compliance_dashboard
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url:
+rollout_issue_url:
+milestone:
type: development
group: group::compliance
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_snippets_show.yml b/config/feature_flags/development/usage_data_i_snippets_show.yml
new file mode 100644
index 00000000000..446338d5b95
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_snippets_show.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_snippets_show
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48113
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::editor
+default_enabled: true
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
index 5e4eb0d61af..488053dcf2d 100644
--- 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41881
rollout_issue_url:
milestone: '13.4'
type: development
-group: group::source code
+group: group::code review
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 c3e59a0c323..bc9aaef47ef 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_alert_create_incident.yml b/config/feature_flags/development/usage_data_incident_management_alert_create_incident.yml
new file mode 100644
index 00000000000..63432e2f476
--- /dev/null
+++ b/config/feature_flags/development/usage_data_incident_management_alert_create_incident.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_incident_management_alert_create_incident
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48087
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::monitor
+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 c858de35d56..2868f920d5b 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 198289db02d..f5133676231 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml b/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml
new file mode 100644
index 00000000000..38e94e74399
--- /dev/null
+++ b/config/feature_flags/development/usage_data_incident_management_alerts_total_unique_counts.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_incident_management_alerts_total_unique_counts
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48087
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::monitor
+default_enabled: false
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 1b5b2d1f8a0..14fc5f92744 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 9eff79d3d4a..8babb4557a6 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 1e857525d06..474466dd057 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 c562501fdad..6c6f9a58071 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 d6c4a082714..4a9b742c0ef 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 d9a9f9f5e5e..08bdd429fc3 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 1cc30a4683e..4785c8224e4 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 414f47e1137..8dc2e623caf 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 a09b8bf2f3f..90226a7c3e2 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
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 7d3a9bbff39..c00f79d1e05 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
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40475
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
milestone: '13.4'
type: development
-group: group::health
+group: group::monitor
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml b/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml
new file mode 100644
index 00000000000..1bb602730e7
--- /dev/null
+++ b/config/feature_flags/development/usage_data_incident_management_incidents_total_unique_counts.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_incident_management_incidents_total_unique_counts
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48087
+rollout_issue_url:
+milestone: '13.7'
+type: development
+group: group::monitor
+default_enabled: false
diff --git a/config/feature_flags/development/count_uploads_size_in_storage_stats.yml b/config/feature_flags/development/usage_data_static_site_editor_commits.yml
index 524e4f4abd8..a1d790b3505 100644
--- a/config/feature_flags/development/count_uploads_size_in_storage_stats.yml
+++ b/config/feature_flags/development/usage_data_static_site_editor_commits.yml
@@ -1,8 +1,8 @@
---
-name: count_uploads_size_in_storage_stats
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46941
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/281950
+name: usage_data_static_site_editor_commits
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47309
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284082
milestone: '13.6'
type: development
-group: group::project management
+group: group::static_site_editor
default_enabled: false
diff --git a/config/feature_flags/development/cd_auto_rollback.yml b/config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml
index 0878fac7d26..b68e4d12915 100644
--- a/config/feature_flags/development/cd_auto_rollback.yml
+++ b/config/feature_flags/development/usage_data_static_site_editor_merge_requests.yml
@@ -1,8 +1,8 @@
---
-name: cd_auto_rollback
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45816
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/35404
+name: usage_data_static_site_editor_merge_requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47309
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284083
milestone: '13.6'
type: development
-group: group::progressive delivery
+group: group::static_site_editor
default_enabled: false
diff --git a/config/feature_flags/development/user_other_role_details.yml b/config/feature_flags/development/user_other_role_details.yml
new file mode 100644
index 00000000000..47666a1d5c5
--- /dev/null
+++ b/config/feature_flags/development/user_other_role_details.yml
@@ -0,0 +1,8 @@
+---
+name: user_other_role_details
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45635
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255170
+milestone: '13.7'
+type: development
+group: group::conversion
+default_enabled: false
diff --git a/config/feature_flags/development/unified_diff_lines.yml b/config/feature_flags/development/vue_2fa_recovery_codes.yml
index e295893acc4..7995b00f9ab 100644
--- a/config/feature_flags/development/unified_diff_lines.yml
+++ b/config/feature_flags/development/vue_2fa_recovery_codes.yml
@@ -1,8 +1,8 @@
---
-name: unified_diff_lines
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40131
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241188
-milestone: '13.4'
+name: vue_2fa_recovery_codes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49078
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/290113
+milestone: '13.7'
type: development
-group: group::source code
+group: group::access
default_enabled: true
diff --git a/config/feature_flags/development/vue_admin_users.yml b/config/feature_flags/development/vue_admin_users.yml
new file mode 100644
index 00000000000..7464a25c0da
--- /dev/null
+++ b/config/feature_flags/development/vue_admin_users.yml
@@ -0,0 +1,8 @@
+---
+name: vue_admin_users
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48922
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/290737
+milestone: '13.7'
+type: development
+group: group::compliance
+default_enabled: false
diff --git a/config/feature_flags/development/ci_job_line_links.yml b/config/feature_flags/development/vueify_shared_runners_toggle.yml
index 458c0afb6d2..b1555c5e938 100644
--- a/config/feature_flags/development/ci_job_line_links.yml
+++ b/config/feature_flags/development/vueify_shared_runners_toggle.yml
@@ -1,8 +1,8 @@
---
-name: ci_job_line_links
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47532
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/281727
-milestone: '13.6'
+name: vueify_shared_runners_toggle
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48452
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292441
+milestone: '13.7'
type: development
group: group::continuous integration
default_enabled: false
diff --git a/config/feature_flags/development/widget_visibility_polling.yml b/config/feature_flags/development/widget_visibility_polling.yml
index 4cab4a73f8b..3021388b17f 100644
--- a/config/feature_flags/development/widget_visibility_polling.yml
+++ b/config/feature_flags/development/widget_visibility_polling.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29318
rollout_issue_url:
milestone: '12.10'
type: development
-group: group::source code
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/zip_pages_deployments.yml b/config/feature_flags/development/zip_pages_deployments.yml
deleted file mode 100644
index 34aa5c03fdc..00000000000
--- a/config/feature_flags/development/zip_pages_deployments.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-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
-milestone: '13.5'
-type: development
-group: group::release management
-default_enabled: true
diff --git a/config/feature_flags/experiment/null_hypothesis.yml b/config/feature_flags/experiment/null_hypothesis.yml
new file mode 100644
index 00000000000..716b0711ef1
--- /dev/null
+++ b/config/feature_flags/experiment/null_hypothesis.yml
@@ -0,0 +1,7 @@
+---
+name: null_hypothesis
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45840
+rollout_issue_url:
+type: experiment
+group: group::adoption
+default_enabled: false
diff --git a/config/feature_flags/ops/product_analytics_tracking.yml b/config/feature_flags/ops/product_analytics_tracking.yml
new file mode 100644
index 00000000000..82635ad0640
--- /dev/null
+++ b/config/feature_flags/ops/product_analytics_tracking.yml
@@ -0,0 +1,8 @@
+---
+name: product_analytics_tracking
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46482
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285519
+milestone: '13.7'
+type: ops
+group: group::product analytics
+default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index ae9475aa60d..57788e55f8f 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -475,6 +475,10 @@ production: &base
# GitLab EE only jobs. These jobs are automatically enabled for an EE
# installation, and ignored for a CE installation.
ee_cron_jobs:
+ # Schedule snapshots for all devops adoption segments
+ analytics_devops_adoption_create_all_snapshots_worker:
+ cron: 0 0 1 * *
+
# Snapshot active users statistics
historical_data_worker:
cron: "0 12 * * *"
@@ -616,6 +620,9 @@ production: &base
enabled: false
prevent_ldap_sign_in: false
+ # File location to read encrypted secrets from
+ # secret_file: /mnt/gitlab/ldap.yaml.enc # Default: shared/encrypted_settings/ldap.yaml.enc
+
# This setting controls the number of seconds between LDAP permission checks
# for each user. After this time has expired for a given user, their next
# interaction with GitLab (a click in the web UI, a git pull, etc.) will be
@@ -1038,10 +1045,23 @@ production: &base
# Access token for FortiAuthenticator API
# access_token: 123s3cr3t456
+ # FortiToken Cloud settings
+ forti_token_cloud:
+ # Allow using FortiToken Cloud as OTP provider
+ enabled: false
+
+ # Client ID and Secret to access FortiToken Cloud API
+ # client_id: 'YOUR_FORTI_TOKEN_CLOUD_CLIENT_ID'
+ # client_secret: 'YOUR_FORTI_TOKEN_CLOUD_CLIENT_SECRET'
+
# Shared file storage settings
shared:
# path: /mnt/gitlab # Default: shared
+ # Encrypted Settings configuration
+ encrypted_settings:
+ # path: /mnt/gitlab/encrypted_settings # Default: shared/encrypted_settings
+
# Gitaly settings
gitaly:
# Path to the directory containing Gitaly client executables.
@@ -1216,9 +1236,9 @@ production: &base
## Google tag manager
# google_tag_manager_id: '_your_tracking_id'
- ## Piwik analytics.
- # piwik_url: '_your_piwik_url'
- # piwik_site_id: '_your_piwik_site_id'
+ ## Matomo analytics.
+ # matomo_url: '_your_matomo_url'
+ # matomo_site_id: '_your_matomo_site_id'
rack_attack:
git_basic_auth:
@@ -1366,7 +1386,7 @@ test:
storages:
default:
path: tmp/tests/repositories/
- gitaly_address: unix:tmp/tests/gitaly/gitaly.socket
+ gitaly_address: unix:tmp/tests/gitaly/praefect.socket
gitaly:
client_path: tmp/tests/gitaly
diff --git a/config/initializers/01_secret_token.rb b/config/initializers/01_secret_token.rb
index 5949f463457..d7e725477eb 100644
--- a/config/initializers/01_secret_token.rb
+++ b/config/initializers/01_secret_token.rb
@@ -34,6 +34,9 @@ def create_tokens
openid_connect_signing_key: generate_new_rsa_private_key
}
+ # encrypted_settings_key_base is optional for now
+ defaults[:encrypted_settings_key_base] = generate_new_secure_token if ENV['GITLAB_GENERATE_ENCRYPTED_SETTINGS_KEY_BASE']
+
missing_secrets = set_missing_keys(defaults)
write_secrets_yml(missing_secrets) unless missing_secrets.empty?
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 022f372a608..97c0e051f1f 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -3,9 +3,17 @@ require_relative '../object_store_settings'
require_relative '../smime_signature_settings'
# Default settings
+Settings['shared'] ||= Settingslogic.new({})
+Settings.shared['path'] = Settings.absolute(Settings.shared['path'] || "shared")
+
+Settings['encrypted_settings'] ||= Settingslogic.new({})
+Settings.encrypted_settings['path'] ||= File.join(Settings.shared['path'], "encrypted_settings")
+Settings.encrypted_settings['path'] = Settings.absolute(Settings.encrypted_settings['path'])
+
Settings['ldap'] ||= Settingslogic.new({})
Settings.ldap['enabled'] = false if Settings.ldap['enabled'].nil?
Settings.ldap['prevent_ldap_sign_in'] = false if Settings.ldap['prevent_ldap_sign_in'].blank?
+Settings.ldap['secret_file'] = Settings.absolute(Settings.ldap['secret_file'] || File.join(Settings.encrypted_settings['path'], "ldap.yaml.enc"))
Gitlab.ee do
Settings.ldap['sync_time'] = 3600 if Settings.ldap['sync_time'].nil?
@@ -140,9 +148,6 @@ if Gitlab.ee? && Rails.env.test? && !saml_provider_enabled
Settings.omniauth.providers << Settingslogic.new({ 'name' => 'group_saml' })
end
-Settings['shared'] ||= Settingslogic.new({})
-Settings.shared['path'] = Settings.absolute(Settings.shared['path'] || "shared")
-
Settings['issues_tracker'] ||= {}
#
@@ -532,8 +537,14 @@ Settings.cron_jobs['member_invitation_reminder_emails_worker']['job_class'] = 'M
Settings.cron_jobs['schedule_merge_request_cleanup_refs_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['schedule_merge_request_cleanup_refs_worker']['cron'] ||= '* * * * *'
Settings.cron_jobs['schedule_merge_request_cleanup_refs_worker']['job_class'] = 'ScheduleMergeRequestCleanupRefsWorker'
+Settings.cron_jobs['manage_evidence_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['manage_evidence_worker']['cron'] ||= '0 * * * *'
+Settings.cron_jobs['manage_evidence_worker']['job_class'] = 'Releases::ManageEvidenceWorker'
Gitlab.ee do
+ Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker']['cron'] ||= '0 0 1 * *'
+ Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker']['job_class'] = 'Analytics::DevopsAdoption::CreateAllSnapshotsWorker'
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'
@@ -546,6 +557,9 @@ Gitlab.ee do
Settings.cron_jobs['adjourned_projects_deletion_cron_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['adjourned_projects_deletion_cron_worker']['cron'] ||= '0 4 * * *'
Settings.cron_jobs['adjourned_projects_deletion_cron_worker']['job_class'] = 'AdjournedProjectsDeletionCronWorker'
+ Settings.cron_jobs['geo_verification_cron_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['geo_verification_cron_worker']['cron'] ||= '* * * * *'
+ Settings.cron_jobs['geo_verification_cron_worker']['job_class'] ||= 'Geo::VerificationCronWorker'
Settings.cron_jobs['geo_file_download_dispatch_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['geo_file_download_dispatch_worker']['cron'] ||= '*/1 * * * *'
Settings.cron_jobs['geo_file_download_dispatch_worker']['job_class'] ||= 'Geo::FileDownloadDispatchWorker'
@@ -779,9 +793,17 @@ Settings.forti_authenticator['enabled'] = false if Settings.forti_authenticator[
Settings.forti_authenticator['port'] = 443 if Settings.forti_authenticator['port'].to_i == 0
#
+# FortiToken Cloud
+#
+Settings['forti_token_cloud'] ||= Settingslogic.new({})
+Settings.forti_token_cloud['enabled'] = false if Settings.forti_token_cloud['enabled'].nil?
+
+#
# Extra customization
#
Settings['extra'] ||= Settingslogic.new({})
+Settings.extra['matomo_site_id'] ||= Settings.extra['piwik_site_id'] if Settings.extra['piwik_site_id'].present?
+Settings.extra['matomo_url'] ||= Settings.extra['piwik_url'] if Settings.extra['piwik_url'].present?
#
# Rack::Attack settings
diff --git a/config/initializers/active_record_ping.rb b/config/initializers/active_record_ping.rb
new file mode 100644
index 00000000000..349a7e4a496
--- /dev/null
+++ b/config/initializers/active_record_ping.rb
@@ -0,0 +1,5 @@
+# # frozen_string_literal: true
+
+if Gitlab::Utils.to_boolean(ENV['ENABLE_ACTIVERECORD_EMPTY_PING'], default: false)
+ ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Database::PostgresqlAdapter::EmptyQueryPing)
+end
diff --git a/config/initializers/active_record_table_definition.rb b/config/initializers/active_record_table_definition.rb
index 81a8e5906f4..9220620da41 100644
--- a/config/initializers/active_record_table_definition.rb
+++ b/config/initializers/active_record_table_definition.rb
@@ -16,7 +16,7 @@ module ActiveRecord
options[:null] = false if options[:null].nil?
[:created_at, :updated_at].each do |column_name|
- column(column_name, :datetime_with_timezone, options)
+ column(column_name, :datetime_with_timezone, **options)
end
end
@@ -27,7 +27,7 @@ module ActiveRecord
# t.datetime_with_timezone :did_something_at
# end
def datetime_with_timezone(column_name, **options)
- column(column_name, :datetime_with_timezone, options)
+ column(column_name, :datetime_with_timezone, **options)
end
# Disable timestamp alias to datetime
diff --git a/config/initializers/gitlab_experiment.rb b/config/initializers/gitlab_experiment.rb
new file mode 100644
index 00000000000..40b4c0dc4ee
--- /dev/null
+++ b/config/initializers/gitlab_experiment.rb
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+Gitlab::Experiment.configure do |config|
+ config.base_class = 'ApplicationExperiment'
+ config.cache = ApplicationExperiment::Cache.new
+end
diff --git a/config/initializers/grape_validators.rb b/config/initializers/grape_validators.rb
index 715949a276f..07dd70822a2 100644
--- a/config/initializers/grape_validators.rb
+++ b/config/initializers/grape_validators.rb
@@ -9,3 +9,4 @@ Grape::Validations.register_validator(:array_none_any, ::API::Validations::Valid
Grape::Validations.register_validator(:check_assignees_count, ::API::Validations::Validators::CheckAssigneesCount)
Grape::Validations.register_validator(:untrusted_regexp, ::API::Validations::Validators::UntrustedRegexp)
Grape::Validations.register_validator(:email_or_email_list, ::API::Validations::Validators::EmailOrEmailList)
+Grape::Validations.register_validator(:iteration_id, ::API::Validations::Validators::IntegerOrCustomValue)
diff --git a/config/initializers/lograge.rb b/config/initializers/lograge.rb
index 0ea0adf86bc..5b068c15aad 100644
--- a/config/initializers/lograge.rb
+++ b/config/initializers/lograge.rb
@@ -2,7 +2,6 @@
unless Gitlab::Runtime.sidekiq?
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
@@ -17,7 +16,6 @@ unless Gitlab::Runtime.sidekiq?
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)
# Remove empty hashes to prevent type mismatches
# These are set to empty hashes in Lograge's ActionCable subscriber
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
index 58bf3f6013c..6cc4fe25765 100644
--- a/config/initializers/rack_attack.rb
+++ b/config/initializers/rack_attack.rb
@@ -1,191 +1,3 @@
# frozen_string_literal: true
-# Specs for this file can be found on:
-# * spec/lib/gitlab/throttle_spec.rb
-# * spec/requests/rack_attack_global_spec.rb
-module Gitlab::Throttle
- def self.settings
- Gitlab::CurrentSettings.current_application_settings
- end
-
- # Returns true if we should use the Admin Area protected paths throttle
- def self.protected_paths_enabled?
- self.settings.throttle_protected_paths_enabled?
- end
-
- def self.omnibus_protected_paths_present?
- Rack::Attack.throttles.key?('protected paths')
- end
-
- def self.bypass_header
- env_value = ENV['GITLAB_THROTTLE_BYPASS_HEADER']
- return unless env_value.present?
-
- "HTTP_#{env_value.upcase.tr('-', '_')}"
- end
-
- def self.unauthenticated_options
- limit_proc = proc { |req| settings.throttle_unauthenticated_requests_per_period }
- period_proc = proc { |req| settings.throttle_unauthenticated_period_in_seconds.seconds }
- { limit: limit_proc, period: period_proc }
- end
-
- def self.authenticated_api_options
- limit_proc = proc { |req| settings.throttle_authenticated_api_requests_per_period }
- period_proc = proc { |req| settings.throttle_authenticated_api_period_in_seconds.seconds }
- { limit: limit_proc, period: period_proc }
- end
-
- def self.authenticated_web_options
- limit_proc = proc { |req| settings.throttle_authenticated_web_requests_per_period }
- period_proc = proc { |req| settings.throttle_authenticated_web_period_in_seconds.seconds }
- { limit: limit_proc, period: period_proc }
- end
-
- def self.protected_paths_options
- limit_proc = proc { |req| settings.throttle_protected_paths_requests_per_period }
- period_proc = proc { |req| settings.throttle_protected_paths_period_in_seconds.seconds }
-
- { limit: limit_proc, period: period_proc }
- end
-end
-
-class Rack::Attack
- # Order conditions by how expensive they are:
- # 1. The most expensive is the `req.unauthenticated?` and
- # `req.authenticated_user_id` as it performs an expensive
- # DB/Redis query to validate the request
- # 2. Slightly less expensive is the need to query DB/Redis
- # to unmarshal settings (`Gitlab::Throttle.settings`)
- #
- # We deliberately skip `/-/health|liveness|readiness`
- # from Rack Attack as they need to always be accessible
- # by Load Balancer and additional measure is implemented
- # (token and whitelisting) to prevent abuse.
- throttle('throttle_unauthenticated', Gitlab::Throttle.unauthenticated_options) do |req|
- if !req.should_be_skipped? &&
- Gitlab::Throttle.settings.throttle_unauthenticated_enabled &&
- req.unauthenticated?
- req.ip
- end
- end
-
- throttle('throttle_authenticated_api', Gitlab::Throttle.authenticated_api_options) do |req|
- if req.api_request? &&
- Gitlab::Throttle.settings.throttle_authenticated_api_enabled
- req.authenticated_user_id([:api])
- end
- end
-
- # Product analytics feature is in experimental stage.
- # At this point we want to limit amount of events registered
- # per application (aid stands for application id).
- throttle('throttle_product_analytics_collector', limit: 100, period: 60) do |req|
- if req.product_analytics_collector_request?
- req.params['aid']
- end
- end
-
- throttle('throttle_authenticated_web', Gitlab::Throttle.authenticated_web_options) do |req|
- if req.web_request? &&
- Gitlab::Throttle.settings.throttle_authenticated_web_enabled
- req.authenticated_user_id([:api, :rss, :ics])
- end
- end
-
- throttle('throttle_unauthenticated_protected_paths', Gitlab::Throttle.protected_paths_options) do |req|
- if req.post? &&
- !req.should_be_skipped? &&
- req.protected_path? &&
- Gitlab::Throttle.protected_paths_enabled? &&
- req.unauthenticated?
- req.ip
- end
- end
-
- throttle('throttle_authenticated_protected_paths_api', Gitlab::Throttle.protected_paths_options) do |req|
- if req.post? &&
- req.api_request? &&
- req.protected_path? &&
- Gitlab::Throttle.protected_paths_enabled?
- req.authenticated_user_id([:api])
- end
- end
-
- throttle('throttle_authenticated_protected_paths_web', Gitlab::Throttle.protected_paths_options) do |req|
- if req.post? &&
- req.web_request? &&
- req.protected_path? &&
- Gitlab::Throttle.protected_paths_enabled?
- req.authenticated_user_id([:api, :rss, :ics])
- end
- end
-
- safelist('throttle_bypass_header') do |req|
- Gitlab::Throttle.bypass_header.present? &&
- req.get_header(Gitlab::Throttle.bypass_header) == '1'
- end
-
- class Request
- def unauthenticated?
- !(authenticated_user_id([:api, :rss, :ics]) || authenticated_runner_id)
- end
-
- def authenticated_user_id(request_formats)
- request_authenticator.user(request_formats)&.id
- end
-
- def authenticated_runner_id
- request_authenticator.runner&.id
- end
-
- def api_request?
- path.start_with?('/api')
- end
-
- def api_internal_request?
- path =~ %r{^/api/v\d+/internal/}
- end
-
- def health_check_request?
- path =~ %r{^/-/(health|liveness|readiness)}
- end
-
- def product_analytics_collector_request?
- path.start_with?('/-/collector/i')
- end
-
- def should_be_skipped?
- api_internal_request? || health_check_request?
- end
-
- def web_request?
- !api_request? && !health_check_request?
- end
-
- def protected_path?
- !protected_path_regex.nil?
- end
-
- def protected_path_regex
- path =~ protected_paths_regex
- end
-
- private
-
- def request_authenticator
- @request_authenticator ||= Gitlab::Auth::RequestAuthenticator.new(self)
- end
-
- def protected_paths
- Gitlab::CurrentSettings.current_application_settings.protected_paths
- end
-
- def protected_paths_regex
- Regexp.union(protected_paths.map { |path| /\A#{Regexp.escape(path)}/ })
- end
- end
-end
-
-::Rack::Attack.extend_if_ee('::EE::Gitlab::Rack::Attack')
-::Rack::Attack::Request.prepend_if_ee('::EE::Gitlab::Rack::Attack::Request')
+Gitlab::RackAttack.configure(::Rack::Attack)
diff --git a/config/initializers/rack_attack_logging.rb b/config/initializers/rack_attack_logging.rb
index e89c6b1b794..7b0a8f0d7dd 100644
--- a/config/initializers/rack_attack_logging.rb
+++ b/config/initializers/rack_attack_logging.rb
@@ -6,7 +6,7 @@ ActiveSupport::Notifications.subscribe(/rack_attack/) do |name, start, finish, r
req = payload[:request]
case req.env['rack.attack.match_type']
- when :throttle, :blocklist
+ when :throttle, :blocklist, :track
rack_attack_info = {
message: 'Rack_Attack',
env: req.env['rack.attack.match_type'],
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 8e3241a2e4c..43beae3f50d 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -46,6 +46,8 @@ Sidekiq.configure_server do |config|
config.client_middleware(&Gitlab::SidekiqMiddleware.client_configurator)
+ config.death_handlers << Gitlab::SidekiqDeathHandler.method(:handler)
+
config.on :startup do
# Clear any connections that might have been obtained before starting
# Sidekiq (e.g. in an initializer).
diff --git a/config/initializers/structure_load_in_transaction.rb b/config/initializers/structure_load_in_transaction.rb
new file mode 100644
index 00000000000..7b8f0e07203
--- /dev/null
+++ b/config/initializers/structure_load_in_transaction.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+ActiveRecord::Tasks::DatabaseTasks.structure_load_flags ||= []
+
+flag = '--single-transaction'
+
+unless ActiveRecord::Tasks::DatabaseTasks.structure_load_flags.include?(flag)
+ ActiveRecord::Tasks::DatabaseTasks.structure_load_flags << flag
+end
diff --git a/config/initializers/zz_metrics.rb b/config/initializers/zz_metrics.rb
index 8e31e4f9282..430e4d60d61 100644
--- a/config/initializers/zz_metrics.rb
+++ b/config/initializers/zz_metrics.rb
@@ -150,12 +150,6 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d
config.middleware.use(Gitlab::Metrics::ElasticsearchRackMiddleware)
end
- Sidekiq.configure_server do |config|
- config.server_middleware do |chain|
- chain.add Gitlab::Metrics::SidekiqMiddleware
- end
- end
-
# This instruments all methods residing in app/models that (appear to) use any
# of the ActiveRecord methods. This has to take place _after_ initializing as
# for some unknown reason calling eager_load! earlier breaks Devise.
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index ec433c4dda6..9f5323426d9 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -3,6 +3,13 @@ class ObjectStoreSettings
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
+ # To ensure the one Workhorse credential matches the Rails config, we
+ # enforce consolidated settings on those accelerated
+ # endpoints. Technically dependency_proxy and terraform_state fall
+ # into this category, but they will likely be handled by Workhorse in
+ # the future.
+ WORKHORSE_ACCELERATED_TYPES = SUPPORTED_TYPES - %w(pages)
+
# 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
@@ -124,6 +131,10 @@ class ObjectStoreSettings
next
end
+ # If a storage type such as Pages defines its own connection and does not
+ # use Workhorse acceleration, we allow it to override the consolidated form.
+ next if allowed_storage_specific_settings?(store_type, section.to_h)
+
# Map bucket (external name) -> remote_directory (internal representation)
target_config['remote_directory'] = target_config.delete('bucket')
target_config['consolidated_settings'] = true
@@ -140,7 +151,7 @@ class ObjectStoreSettings
return false unless settings.dig('object_store', 'enabled')
return false unless settings.dig('object_store', 'connection').present?
- SUPPORTED_TYPES.each do |store|
+ WORKHORSE_ACCELERATED_TYPES.each do |store|
# to_h is needed because something strange happens to
# Settingslogic#dig when stub_storage_settings is run in tests:
#
@@ -169,4 +180,15 @@ class ObjectStoreSettings
raise message
end
end
+
+ def allowed_storage_specific_settings?(store_type, section)
+ return false if WORKHORSE_ACCELERATED_TYPES.include?(store_type)
+
+ has_object_store_configured?(section)
+ end
+
+ def has_object_store_configured?(section)
+ # Omnibus defaults to an empty hash for connection
+ section.dig('object_store', 'enabled') && section.dig('object_store', 'connection').present?
+ end
end
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index 2db2caafcd8..71a927f59b9 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -18,6 +18,7 @@ namespace :admin do
put :unlock
put :confirm
put :approve
+ delete :reject
post :impersonate
patch :disable_two_factor
delete 'remove/:email_id', action: 'remove_email', as: 'remove_email'
@@ -126,6 +127,7 @@ namespace :admin do
resources :integrations, only: [:edit, :update] do
member do
put :test
+ post :reset
end
end
diff --git a/config/routes/git_http.rb b/config/routes/git_http.rb
index fb8119904ea..715d4b5cc59 100644
--- a/config/routes/git_http.rb
+++ b/config/routes/git_http.rb
@@ -1,60 +1,47 @@
-concern :gitactionable do
- scope(controller: :git_http) do
- get '/info/refs', action: :info_refs
- post '/git-upload-pack', action: :git_upload_pack
- post '/git-receive-pack', action: :git_receive_pack
- end
-end
-
-concern :lfsable do
- # Git LFS API (metadata)
- scope(path: 'info/lfs/objects', controller: :lfs_api) do
- post :batch
- post '/', action: :deprecated
- get '/*oid', action: :deprecated
- end
-
- scope(path: 'info/lfs') do
- resources :lfs_locks, controller: :lfs_locks_api, path: 'locks' do
- post :unlock, on: :member
- post :verify, on: :collection
- end
- end
-
- # GitLab LFS object storage
- scope(path: 'gitlab-lfs/objects/*oid', controller: :lfs_storage, constraints: { oid: /[a-f0-9]{64}/ }) do
- get '/', action: :download
-
- scope constraints: { size: /[0-9]+/ } do
- put '/*size/authorize', action: :upload_authorize
- put '/*size', action: :upload_finalize
- end
- end
-end
-
-# Git route for personal and project snippets
-scope(path: ':namespace_id/:repository_id',
- format: nil,
- constraints: { namespace_id: Gitlab::PathRegex.personal_and_project_snippets_path_regex, repository_id: /\d+\.git/ },
- module: :repositories) do
- concerns :gitactionable
-end
-
-scope(path: '*namespace_id/:repository_id',
- format: nil,
- constraints: { namespace_id: Gitlab::PathRegex.full_namespace_route_regex }) do
- scope(constraints: { repository_id: Gitlab::PathRegex.project_git_route_regex }) do
+scope(path: '*repository_path', format: false) do
+ constraints(repository_path: Gitlab::PathRegex.repository_git_route_regex) do
scope(module: :repositories) do
- concerns :gitactionable
- concerns :lfsable
+ # Git HTTP API
+ scope(controller: :git_http) do
+ get '/info/refs', action: :info_refs
+ post '/git-upload-pack', action: :git_upload_pack
+ post '/git-receive-pack', action: :git_receive_pack
+ end
+
+ # NOTE: LFS routes are exposed on all repository types, but we still check for
+ # LFS availability on the repository container in LfsRequest#lfs_check_access!
+
+ # Git LFS API (metadata)
+ scope(path: 'info/lfs/objects', controller: :lfs_api) do
+ post :batch
+ post '/', action: :deprecated
+ get '/*oid', action: :deprecated
+ end
+
+ scope(path: 'info/lfs') do
+ resources :lfs_locks, controller: :lfs_locks_api, path: 'locks' do
+ post :unlock, on: :member
+ post :verify, on: :collection
+ end
+ end
+
+ # GitLab LFS object storage
+ scope(path: 'gitlab-lfs/objects/*oid', controller: :lfs_storage, constraints: { oid: /[a-f0-9]{64}/ }) do
+ get '/', action: :download
+
+ constraints(size: /[0-9]+/) do
+ put '/*size/authorize', action: :upload_authorize
+ put '/*size', action: :upload_finalize
+ end
+ end
end
end
# Redirect /group/project.wiki.git to the project wiki
- scope(format: true, constraints: { repository_id: Gitlab::PathRegex.project_wiki_git_route_regex, format: :git }) do
+ constraints(repository_path: Gitlab::PathRegex.repository_wiki_git_route_regex) do
wiki_redirect = redirect do |params, request|
- project_id = params[:repository_id].delete_suffix('.wiki')
- path = [params[:namespace_id], project_id, 'wikis'].join('/')
+ container_path = params[:repository_path].delete_suffix('.wiki.git')
+ path = File.join(container_path, '-', 'wikis')
path << "?#{request.query_string}" unless request.query_string.blank?
path
end
@@ -63,22 +50,14 @@ scope(path: '*namespace_id/:repository_id',
end
# Redirect /group/project/info/refs to /group/project.git/info/refs
- scope(constraints: { repository_id: Gitlab::PathRegex.project_route_regex }) do
- # Allow /info/refs, /info/refs?service=git-upload-pack, and
- # /info/refs?service=git-receive-pack, but nothing else.
- #
- git_http_handshake = lambda do |request|
- ::Constraints::ProjectUrlConstrainer.new.matches?(request, existence_check: false) &&
- (request.query_string.blank? ||
- request.query_string.match(/\Aservice=git-(upload|receive)-pack\z/))
- end
-
+ # This allows cloning a repository without the trailing `.git`
+ constraints(repository_path: Gitlab::PathRegex.repository_route_regex) do
ref_redirect = redirect do |params, request|
- path = "#{params[:namespace_id]}/#{params[:repository_id]}.git/info/refs"
+ path = "#{params[:repository_path]}.git/info/refs"
path << "?#{request.query_string}" unless request.query_string.blank?
path
end
- get '/info/refs', constraints: git_http_handshake, to: ref_redirect
+ get '/info/refs', constraints: ::Constraints::RepositoryRedirectUrlConstrainer.new, to: ref_redirect
end
end
diff --git a/config/routes/group.rb b/config/routes/group.rb
index e90be482bbd..38c04369d2f 100644
--- a/config/routes/group.rb
+++ b/config/routes/group.rb
@@ -46,6 +46,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
resources :integrations, only: [:index, :edit, :update] do
member do
put :test
+ post :reset
end
end
end
@@ -124,7 +125,7 @@ end
# Dependency proxy for containers
# Because docker adds v2 prefix to URI this need to be outside of usual group routes
scope format: false do
- get 'v2', to: proc { [200, {}, ['']] } # rubocop:disable Cop/PutGroupRoutesUnderScope
+ get 'v2' => 'groups/dependency_proxy_auth#authenticate' # rubocop:disable Cop/PutGroupRoutesUnderScope
constraints image: Gitlab::PathRegex.container_image_regex, sha: Gitlab::PathRegex.container_image_blob_sha_regex do
get 'v2/*group_id/dependency_proxy/containers/*image/manifests/*tag' => 'groups/dependency_proxy_for_containers#manifest' # rubocop:todo Cop/PutGroupRoutesUnderScope
diff --git a/config/routes/import.rb b/config/routes/import.rb
index 557d7fe7143..6c99b0320de 100644
--- a/config/routes/import.rb
+++ b/config/routes/import.rb
@@ -42,15 +42,6 @@ namespace :import do
get :realtime_changes
end
- resource :google_code, only: [:create, :new], controller: :google_code do
- get :status
- post :callback
- get :jobs
-
- get :new_user_map, path: :user_map
- post :create_user_map, path: :user_map
- end
-
resource :fogbugz, only: [:create, :new], controller: :fogbugz do
get :status
post :callback
diff --git a/config/routes/merge_requests.rb b/config/routes/merge_requests.rb
index c11e5a5c3d9..41d831f239e 100644
--- a/config/routes/merge_requests.rb
+++ b/config/routes/merge_requests.rb
@@ -17,6 +17,7 @@ resources :merge_requests, concerns: :awardable, except: [:new, :create, :show],
get :accessibility_reports
get :coverage_reports
get :terraform_reports
+ get :codequality_reports
scope constraints: ->(req) { req.format == :json }, as: :json do
get :commits
diff --git a/config/routes/repository_scoped.rb b/config/routes/repository_scoped.rb
index 865a5bdb5a9..7fabf3ff895 100644
--- a/config/routes/repository_scoped.rb
+++ b/config/routes/repository_scoped.rb
@@ -34,6 +34,7 @@ scope format: false do
scope constraints: { id: /[^\0]+?/ } do
scope controller: :static_site_editor do
get '/sse/:id(/*vueroute)', action: :show, as: :show_sse
+ get '/sse', as: :root_sse, action: :index
end
end
end
diff --git a/config/routes/user.rb b/config/routes/user.rb
index 63329277e33..515a9a23360 100644
--- a/config/routes/user.rb
+++ b/config/routes/user.rb
@@ -54,8 +54,11 @@ scope(constraints: { username: Gitlab::PathRegex.root_namespace_route_regex }) d
end
constraints(::Constraints::UserUrlConstrainer.new) do
- # Get all keys of user
- get ':username.keys' => 'profiles/keys#get_keys', constraints: { username: Gitlab::PathRegex.root_namespace_route_regex }
+ # Get all SSH keys of user
+ get ':username.keys' => 'users#ssh_keys', constraints: { username: Gitlab::PathRegex.root_namespace_route_regex }
+
+ # Get all GPG keys of user
+ get ':username.gpg' => 'users#gpg_keys', constraints: { username: Gitlab::PathRegex.root_namespace_route_regex }
scope(path: ':username',
as: :user,
diff --git a/config/settings.rb b/config/settings.rb
index c681fa32491..3369f2a4480 100644
--- a/config/settings.rb
+++ b/config/settings.rb
@@ -152,6 +152,14 @@ class Settings < Settingslogic
Gitlab::Application.secrets.db_key_base
end
+ def encrypted(path)
+ Gitlab::EncryptedConfiguration.new(
+ content_path: path,
+ base_key: Gitlab::Application.secrets.encrypted_settings_key_base,
+ previous_keys: Gitlab::Application.secrets.rotated_encrypted_settings_key_base || []
+ )
+ end
+
def load_dynamic_cron_schedules!
cron_jobs['gitlab_usage_ping_worker']['cron'] ||= cron_for_usage_ping
end
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index 2c1bb3c75e1..6f8c0b352fd 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -30,8 +30,12 @@
- 1
- - analytics_code_review_metrics
- 1
+- - analytics_devops_adoption_create_snapshot
+ - 1
- - analytics_instance_statistics_counter_job
- 1
+- - approve_blocked_pending_approval_users
+ - 1
- - authorized_keys
- 2
- - authorized_project_update
@@ -58,8 +62,6 @@
- 1
- - create_commit_signature
- 2
-- - create_evidence
- - 2
- - create_github_webhook
- 2
- - create_note_diff_file
@@ -94,6 +96,8 @@
- 1
- - disallow_two_factor_for_subgroups
- 1
+- - elastic_association_indexer
+ - 1
- - elastic_commit_indexer
- 1
- - elastic_delete_project
@@ -138,6 +142,8 @@
- 1
- - github_importer
- 1
+- - gitlab_performance_bar_stats
+ - 1
- - gitlab_shell
- 2
- - group_destroy
@@ -192,6 +198,8 @@
- 1
- - namespaceless_project_destroy
- 1
+- - namespaces_onboarding_user_added
+ - 1
- - new_epic
- 2
- - new_issue
@@ -248,8 +256,12 @@
- 1
- - project_import_schedule
- 1
+- - project_schedule_bulk_repository_shard_moves
+ - 1
- - project_service
- 1
+- - project_template_export
+ - 1
- - project_update_repository_storage
- 1
- - prometheus_create_default_alerts
@@ -290,8 +302,12 @@
- 1
- - repository_update_remote_mirror
- 1
+- - requirements_management_import_requirements_csv
+ - 1
- - requirements_management_process_requirements_reports
- 1
+- - security_auto_fix
+ - 1
- - security_scans
- 2
- - self_monitoring_project_create
@@ -300,6 +316,8 @@
- 2
- - service_desk_email_receiver
- 1
+- - set_user_status_based_on_user_cap_setting
+ - 1
- - status_page_publish
- 1
- - sync_seat_link_request
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 190d97da1b4..42e27ea1668 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -19,6 +19,8 @@ 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_PUBLIC_ADDR = process.env.DEV_SERVER_PUBLIC_ADDR;
+const DEV_SERVER_ALLOWED_HOSTS =
+ process.env.DEV_SERVER_ALLOWED_HOSTS && process.env.DEV_SERVER_ALLOWED_HOSTS.split(',');
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';
@@ -27,9 +29,18 @@ const WEBPACK_MEMORY_TEST =
const NO_COMPRESSION = process.env.NO_COMPRESSION && process.env.NO_COMPRESSION !== 'false';
const NO_SOURCEMAPS = process.env.NO_SOURCEMAPS && process.env.NO_SOURCEMAPS !== 'false';
+const WEBPACK_OUTPUT_PATH = path.join(ROOT_PATH, 'public/assets/webpack');
+const WEBPACK_PUBLIC_PATH = '/assets/webpack/';
+const SOURCEGRAPH_PACKAGE = '@sourcegraph/code-host-integration';
+
const VUE_VERSION = require('vue/package.json').version;
const VUE_LOADER_VERSION = require('vue-loader/package.json').version;
const WEBPACK_VERSION = require('webpack/package.json').version;
+const SOURCEGRAPH_VERSION = require(path.join(SOURCEGRAPH_PACKAGE, 'package.json')).version;
+
+const SOURCEGRAPH_PATH = path.join('sourcegraph', SOURCEGRAPH_VERSION, '/');
+const SOURCEGRAPH_OUTPUT_PATH = path.join(WEBPACK_OUTPUT_PATH, SOURCEGRAPH_PATH);
+const SOURCEGRAPH_PUBLIC_PATH = path.join(WEBPACK_PUBLIC_PATH, SOURCEGRAPH_PATH);
const devtool = IS_PRODUCTION ? 'source-map' : 'cheap-module-eval-source-map';
@@ -141,7 +152,7 @@ if (VENDOR_DLL && !IS_PRODUCTION) {
dll = {
manifestPath: path.join(dllCachePath, 'vendor.dll.manifest.json'),
cacheFrom: dllCachePath,
- cacheTo: path.join(ROOT_PATH, `public/assets/webpack/dll.${dllHash}/`),
+ cacheTo: path.join(WEBPACK_OUTPUT_PATH, `dll.${dllHash}/`),
publicPath: `dll.${dllHash}/vendor.dll.bundle.js`,
exists: null,
};
@@ -155,8 +166,8 @@ module.exports = {
entry: generateEntries,
output: {
- path: path.join(ROOT_PATH, 'public/assets/webpack'),
- publicPath: '/assets/webpack/',
+ path: WEBPACK_OUTPUT_PATH,
+ publicPath: WEBPACK_PUBLIC_PATH,
filename: IS_PRODUCTION ? '[name].[contenthash:8].bundle.js' : '[name].bundle.js',
chunkFilename: IS_PRODUCTION ? '[name].[contenthash:8].chunk.js' : '[name].chunk.js',
globalObject: 'this', // allow HMR and web workers to play nice
@@ -362,6 +373,18 @@ module.exports = {
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
+ Popper: ['popper.js', 'default'],
+ Alert: 'exports-loader?Alert!bootstrap/js/dist/alert',
+ Button: 'exports-loader?Button!bootstrap/js/dist/button',
+ Carousel: 'exports-loader?Carousel!bootstrap/js/dist/carousel',
+ Collapse: 'exports-loader?Collapse!bootstrap/js/dist/collapse',
+ Dropdown: 'exports-loader?Dropdown!bootstrap/js/dist/dropdown',
+ Modal: 'exports-loader?Modal!bootstrap/js/dist/modal',
+ Popover: 'exports-loader?Popover!bootstrap/js/dist/popover',
+ Scrollspy: 'exports-loader?Scrollspy!bootstrap/js/dist/scrollspy',
+ Tab: 'exports-loader?Tab!bootstrap/js/dist/tab',
+ Tooltip: 'exports-loader?Tooltip!bootstrap/js/dist/tooltip',
+ Util: 'exports-loader?Util!bootstrap/js/dist/util',
}),
// if DLLs are enabled, detect whether the DLL exists and create it automatically if necessary
@@ -435,11 +458,11 @@ module.exports = {
new CopyWebpackPlugin([
{
from: path.join(ROOT_PATH, 'node_modules/pdfjs-dist/cmaps/'),
- to: path.join(ROOT_PATH, 'public/assets/webpack/cmaps/'),
+ to: path.join(WEBPACK_OUTPUT_PATH, 'cmaps/'),
},
{
- from: path.join(ROOT_PATH, 'node_modules/@sourcegraph/code-host-integration/'),
- to: path.join(ROOT_PATH, 'public/assets/webpack/sourcegraph/'),
+ from: path.join(ROOT_PATH, 'node_modules', SOURCEGRAPH_PACKAGE, '/'),
+ to: SOURCEGRAPH_OUTPUT_PATH,
ignore: ['package.json'],
},
{
@@ -447,7 +470,7 @@ module.exports = {
ROOT_PATH,
'node_modules/@gitlab/visual-review-tools/dist/visual_review_toolbar.js',
),
- to: path.join(ROOT_PATH, 'public/assets/webpack'),
+ to: WEBPACK_OUTPUT_PATH,
},
]),
@@ -541,6 +564,8 @@ module.exports = {
'process.env.IS_EE': JSON.stringify(IS_EE),
// This one is used to check against "EE" properly in application code
IS_EE: IS_EE ? 'window.gon && window.gon.ee' : JSON.stringify(false),
+ // This is used by Sourcegraph because these assets are loaded dnamically
+ 'process.env.SOURCEGRAPH_PUBLIC_PATH': JSON.stringify(SOURCEGRAPH_PUBLIC_PATH),
}),
/* Pikaday has a optional dependency to moment.
@@ -556,6 +581,7 @@ module.exports = {
host: DEV_SERVER_HOST,
port: DEV_SERVER_PORT,
public: DEV_SERVER_PUBLIC_ADDR,
+ allowedHosts: DEV_SERVER_ALLOWED_HOSTS,
https: DEV_SERVER_HTTPS,
contentBase: false,
stats: 'errors-only',