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