diff options
Diffstat (limited to 'config')
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', |