summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-18 19:00:14 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-18 19:00:14 +0000
commit05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2 (patch)
tree11d0f2a6ec31c7793c184106cedc2ded3d9a2cc5 /config
parentec73467c23693d0db63a797d10194da9e72a74af (diff)
downloadgitlab-ce-05f0ebba3a2c8ddf39e436f412dc2ab5bf1353b2.tar.gz
Add latest changes from gitlab-org/gitlab@15-8-stable-eev15.8.0-rc42
Diffstat (limited to 'config')
-rw-r--r--config/README.md17
-rw-r--r--config/application.rb24
-rw-r--r--config/database.yml.decomposed-postgresql18
-rw-r--r--config/feature_categories.yml11
-rw-r--r--config/feature_flags/development/achievements.yml (renamed from config/feature_flags/development/markdown_dollar_math.yml)10
-rw-r--r--config/feature_flags/development/admin_emails_vue.yml (renamed from config/feature_flags/development/bulk_update_membership_roles.yml)8
-rw-r--r--config/feature_flags/development/apple_app_store_integration.yml (renamed from config/feature_flags/development/use_api_for_payment_validation.yml)10
-rw-r--r--config/feature_flags/development/ci_raw_variables_in_yaml_config.yml8
-rw-r--r--config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml (renamed from config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml)8
-rw-r--r--config/feature_flags/development/commit_search_trailing_spaces.yml (renamed from config/feature_flags/development/rate_limit_gitlab_shell.yml)8
-rw-r--r--config/feature_flags/development/critical_security_alert.yml8
-rw-r--r--config/feature_flags/development/dispensable_render.yml8
-rw-r--r--config/feature_flags/development/display_merge_conflicts_in_diff.yml8
-rw-r--r--config/feature_flags/development/environment_search_api_min_chars.yml8
-rw-r--r--config/feature_flags/development/environments_search_logging.yml (renamed from config/feature_flags/development/prevent_outdated_deployment_jobs.yml)8
-rw-r--r--config/feature_flags/development/file_line_blame.yml2
-rw-r--r--config/feature_flags/development/github_import_gists.yml (renamed from config/feature_flags/development/bulk_import.yml)10
-rw-r--r--config/feature_flags/development/group_export_ndjson.yml8
-rw-r--r--config/feature_flags/development/group_import_ndjson.yml8
-rw-r--r--config/feature_flags/development/hide_merge_requests_from_banned_users.yml8
-rw-r--r--config/feature_flags/development/incident_event_tags.yml8
-rw-r--r--config/feature_flags/development/issue_type_uses_work_item_types_table.yml (renamed from config/feature_flags/development/limit_assigned_issues_count.yml)8
-rw-r--r--config/feature_flags/development/jira_connect_oauth_self_managed.yml2
-rw-r--r--config/feature_flags/development/jobs_api_keyset_pagination.yml (renamed from config/feature_flags/development/cache_project_integrations.yml)8
-rw-r--r--config/feature_flags/development/move_create_deployments_to_worker.yml (renamed from config/feature_flags/development/ci_build_partition_id_token_prefix.yml)8
-rw-r--r--config/feature_flags/development/new_fonts.yml2
-rw-r--r--config/feature_flags/development/optimized_housekeeping.yml8
-rw-r--r--config/feature_flags/development/paginated_mr_discussions.yml8
-rw-r--r--config/feature_flags/development/phabricator_import.yml8
-rw-r--r--config/feature_flags/development/pipeline_name.yml8
-rw-r--r--config/feature_flags/development/project_members_index_by_project_namespace.yml8
-rw-r--r--config/feature_flags/development/project_runners_vue_ui.yml8
-rw-r--r--config/feature_flags/development/project_statistics_bulk_increment.yml (renamed from config/feature_flags/development/ci_refactoring_external_mapper.yml)8
-rw-r--r--config/feature_flags/development/rate_limit_gitlab_shell_by_ip.yml8
-rw-r--r--config/feature_flags/development/rate_limit_issuable_searches.yml8
-rw-r--r--config/feature_flags/development/readme_from_gitaly.yml (renamed from config/feature_flags/development/delay_for_repository_update_mirror.yml)8
-rw-r--r--config/feature_flags/development/remove_job_token_on_completion.yml8
-rw-r--r--config/feature_flags/development/repository_archive_hotlinking_interception.yml8
-rw-r--r--config/feature_flags/development/reset_merge_error_on_transition.yml (renamed from config/feature_flags/development/track_and_raise_delete_source_errors.yml)8
-rw-r--r--config/feature_flags/development/schema_linting.yml8
-rw-r--r--config/feature_flags/development/sec_mark_dropped_findings_as_resolved_scheduler.yml (renamed from config/feature_flags/development/update_vuln_identifiers_flag.yml)10
-rw-r--r--config/feature_flags/development/service_desk_new_note_email_native_attachments.yml (renamed from config/feature_flags/development/ci_bridge_remove_sourced_pipelines.yml)10
-rw-r--r--config/feature_flags/development/skip_notes_diff_include.yml8
-rw-r--r--config/feature_flags/development/ssh_commit_signatures.yml8
-rw-r--r--config/feature_flags/development/support_group_level_merge_checks_setting.yml8
-rw-r--r--config/feature_flags/development/update_oauth_registration_flow.yml8
-rw-r--r--config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml8
-rw-r--r--config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml8
-rw-r--r--config/feature_flags/development/validate_release_with_author.yml2
-rw-r--r--config/feature_flags/development/your_work_sidebar.yml (renamed from config/feature_flags/development/vue_group_select.yml)8
-rw-r--r--config/feature_flags/experiment/show_pages_in_deployments_menu.yml8
-rw-r--r--config/feature_flags/experiment/tier_badge.yml (renamed from config/feature_flags/development/vue_broadcast_messages.yml)12
-rw-r--r--config/feature_flags/ops/projects_build_artifacts_size_refresh_high.yml8
-rw-r--r--config/feature_flags/ops/projects_build_artifacts_size_refresh_medium.yml8
-rw-r--r--config/feature_flags/ops/suggested_reviewers_internal_api.yml8
-rw-r--r--config/gitlab.yml.example10
-rw-r--r--config/gitlab_loose_foreign_keys.yml4
-rw-r--r--config/initializers/0_marginalia.rb7
-rw-r--r--config/initializers/1_settings.rb8
-rw-r--r--config/initializers/doorkeeper.rb14
-rw-r--r--config/initializers/doorkeeper_openid_connect.rb7
-rw-r--r--config/initializers/gitlab_suggested_reviewers_secret.rb5
-rw-r--r--config/initializers/grape_validators.rb3
-rw-r--r--config/initializers/rspec_profiling.rb29
-rw-r--r--config/initializers_before_autoloader/004_zeitwerk.rb1
-rw-r--r--config/locales/en.yml7
-rw-r--r--config/mail_room.yml2
-rw-r--r--config/metrics/counts_28d/20210216175542_ci_builds.yml2
-rw-r--r--config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml2
-rw-r--r--config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml2
-rw-r--r--config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml2
-rw-r--r--config/metrics/counts_28d/20210216175556_ci_triggers.yml2
-rw-r--r--config/metrics/counts_all/20210216175525_ci_builds.yml2
-rw-r--r--config/metrics/counts_all/20210216175527_ci_external_pipelines.yml2
-rw-r--r--config/metrics/counts_all/20210216175529_ci_internal_pipelines.yml2
-rw-r--r--config/metrics/counts_all/20210216175535_ci_pipeline_schedules.yml2
-rw-r--r--config/metrics/counts_all/20210216175539_ci_triggers.yml2
-rw-r--r--config/metrics/counts_all/20210216181055_projects_with_packages.yml2
-rw-r--r--config/metrics/counts_all/20221209212603_projects_inheriting_apple_app_store_active.yml22
-rw-r--r--config/metrics/counts_all/20221209213642_groups_apple_app_store_active.yml22
-rw-r--r--config/metrics/counts_all/20221209214020_projects_apple_app_store_active.yml22
-rw-r--r--config/metrics/counts_all/20221209233053_groups_inheriting_apple_app_store_active.yml22
-rw-r--r--config/metrics/counts_all/20221209233201_instances_apple_app_store_active.yml22
-rw-r--r--config/metrics/schema.json134
-rw-r--r--config/routes.rb6
-rw-r--r--config/routes/group.rb3
-rw-r--r--config/routes/import.rb2
-rw-r--r--config/routes/uploads.rb4
-rw-r--r--config/security/banned_ssh_keys.yml16
-rw-r--r--config/sidekiq_queues.yml6
-rw-r--r--config/webpack.config.js13
91 files changed, 621 insertions, 260 deletions
diff --git a/config/README.md b/config/README.md
index f04758fcaeb..861cda5a5b6 100644
--- a/config/README.md
+++ b/config/README.md
@@ -71,14 +71,15 @@ environment variable.
An example configuration file for Redis is in this directory under the name
`resque.yml.example`.
-| Name | Fallback instance | Purpose |
-| --- | --- | --- |
-| `cache` | | Volatile non-persistent data |
-| `queues` | | Background job processing queues |
-| `shared_state` | | Persistent application state |
-| `trace_chunks` | `shared_state` | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
-| `rate_limiting` | `cache` | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state |
-| `sessions` | `shared_state` | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis)|
+| Name | Fallback instance | Purpose |
+|--------------------|-------------------|-------------------------------------------------------------------------------------------------------------|
+| `cache` | | Volatile non-persistent data |
+| `queues` | | Background job processing queues |
+| `shared_state` | | Persistent application state |
+| `trace_chunks` | `shared_state` | [CI trace chunks](https://docs.gitlab.com/ee/administration/job_logs.html#incremental-logging-architecture) |
+| `rate_limiting` | `cache` | [Rate limiting](https://docs.gitlab.com/ee/user/admin_area/settings/user_and_ip_rate_limits.html) state |
+| `sessions` | `shared_state` | [Sessions](https://docs.gitlab.com/ee/development/session.html#redis) |
+| `repository_cache` | `cache` | Repository related information |
If no configuration is found, or no URL is found in the configuration
file, the default URL used is:
diff --git a/config/application.rb b/config/application.rb
index a3fe4935fdf..61dfa59a90d 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -59,6 +59,7 @@ module Gitlab
require_dependency Rails.root.join('lib/gitlab/redis/trace_chunks')
require_dependency Rails.root.join('lib/gitlab/redis/rate_limiting')
require_dependency Rails.root.join('lib/gitlab/redis/sessions')
+ require_dependency Rails.root.join('lib/gitlab/redis/repository_cache')
require_dependency Rails.root.join('lib/gitlab/current_settings')
require_dependency Rails.root.join('lib/gitlab/middleware/read_only')
require_dependency Rails.root.join('lib/gitlab/middleware/compressed_json')
@@ -595,6 +596,29 @@ module Gitlab
Gitlab::Color, # https://gitlab.com/gitlab-org/gitlab/-/issues/368844,
Hashie::Array # https://gitlab.com/gitlab-org/gitlab/-/issues/378089
]
+ #
+ # Restore setting the YAML permitted classes for ActiveRecord
+ #
+ # In [94d81c3c39e3ddc441c3af3f874e53b197cf3f54][0] rails upstream removed
+ # the code that copied the values of
+ # config.active_record.yaml_column_permitted_classes to
+ # ActiveRecord.yaml_column_permitted_classes during the
+ # config.after_initialize stage.
+ #
+ # We can not move the setting of
+ # config.active_record.yaml_column_permitted_classes out of the
+ # after_initialize because then the gitlab classes are not loaded yet
+ #
+ # This change was also ported to the 6.1 branch and released in 6.1.7.
+ # Some distributions like Debian even [backported this change to
+ # 6.1.6.1][1].
+ #
+ # This restores the code needed to have gitlab work in those cases.
+ #
+ # [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
# on_master_start yields immediately in unclustered environments and runs
# when the primary process is done initializing otherwise.
diff --git a/config/database.yml.decomposed-postgresql b/config/database.yml.decomposed-postgresql
index 04add959ad4..3348c8cb277 100644
--- a/config/database.yml.decomposed-postgresql
+++ b/config/database.yml.decomposed-postgresql
@@ -9,6 +9,15 @@ production:
username: git
password: "secure password"
host: localhost
+ # load_balancing:
+ # hosts:
+ # - host1.example.com
+ # - host2.example.com
+ # discover:
+ # nameserver: 1.2.3.4
+ # port: 8600
+ # record: secondary.postgresql.service.consul
+ # interval: 300
ci:
adapter: postgresql
encoding: unicode
@@ -16,6 +25,15 @@ production:
username: git
password: "secure password"
host: localhost
+ # load_balancing:
+ # hosts:
+ # - host1.example.com
+ # - host2.example.com
+ # discover:
+ # nameserver: 1.2.3.4
+ # port: 8600
+ # record: secondary-ci.postgresql.service.consul
+ # interval: 300
geo:
adapter: postgresql
encoding: unicode
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index ae2eb043fdd..4282fa32a1b 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -9,6 +9,7 @@
---
- advanced_deployments
- advisory_database
+- api
- api_security
- application_instrumentation
- application_performance
@@ -20,11 +21,10 @@
- billing_and_payments
- build
- build_artifacts
-- chatops
- cloud_native_installation
- cluster_cost_management
- code_quality
-- code_review
+- code_review_workflow
- code_search
- code_suggestions
- code_testing
@@ -34,7 +34,6 @@
- container_scanning
- continuous_delivery
- continuous_integration
-- continuous_integration_scaling
- continuous_verification
- credential_management
- customersdot_application
@@ -53,7 +52,6 @@
- disaster_recovery
- dora_metrics
- dynamic_application_security_testing
-- editor_extension
- environment_management
- error_budgets
- error_tracking
@@ -64,12 +62,11 @@
- feature_flags
- five_minute_production_app
- fulfillment_admin_tooling
-- fulfillment_developer_productivity
- fulfillment_infrastructure
- fuzz_testing
- geo_replication
-- git_lfs
- gitaly
+- gitlab_cli
- global_search
- helm_chart_registry
- importers
@@ -82,7 +79,6 @@
- intel_code_security
- interactive_application_security_testing
- internationalization
-- jenkins_importer
- kubernetes_management
- license_compliance
- logging
@@ -141,5 +137,6 @@
- value_stream_management
- vulnerability_management
- web_ide
+- webhooks
- wiki
- workflow_automation
diff --git a/config/feature_flags/development/markdown_dollar_math.yml b/config/feature_flags/development/achievements.yml
index 842837ea688..853a8133351 100644
--- a/config/feature_flags/development/markdown_dollar_math.yml
+++ b/config/feature_flags/development/achievements.yml
@@ -1,8 +1,8 @@
---
-name: markdown_dollar_math
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/94111
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371180
-milestone: '15.4'
+name: achievements
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106909
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386817
+milestone: '15.8'
type: development
-group: group::project management
+group: group::organization
default_enabled: false
diff --git a/config/feature_flags/development/bulk_update_membership_roles.yml b/config/feature_flags/development/admin_emails_vue.yml
index 701f72db3e1..63fe56e089f 100644
--- a/config/feature_flags/development/bulk_update_membership_roles.yml
+++ b/config/feature_flags/development/admin_emails_vue.yml
@@ -1,8 +1,8 @@
---
-name: bulk_update_membership_roles
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/96745
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/373257
-milestone: '15.6'
+name: admin_emails_vue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106358
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386976
+milestone: '15.8'
type: development
group: group::workspace
default_enabled: false
diff --git a/config/feature_flags/development/use_api_for_payment_validation.yml b/config/feature_flags/development/apple_app_store_integration.yml
index f57df08a2b0..ec55f1ef932 100644
--- a/config/feature_flags/development/use_api_for_payment_validation.yml
+++ b/config/feature_flags/development/apple_app_store_integration.yml
@@ -1,8 +1,8 @@
---
-name: use_api_for_payment_validation
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84292
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/357282
-milestone: '14.10'
+name: apple_app_store_integration
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385335
+milestone: '15.8'
type: development
-group: group::purchase
+group: group::incubation
default_enabled: false
diff --git a/config/feature_flags/development/ci_raw_variables_in_yaml_config.yml b/config/feature_flags/development/ci_raw_variables_in_yaml_config.yml
deleted file mode 100644
index 0b6fc6022f4..00000000000
--- a/config/feature_flags/development/ci_raw_variables_in_yaml_config.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_raw_variables_in_yaml_config
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98420
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/375034
-milestone: '15.6'
-type: development
-group: group::pipeline authoring
-default_enabled: true
diff --git a/config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml b/config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml
index 8b880772d78..27ab6e221a3 100644
--- a/config/feature_flags/development/ci_pipeline_triggers_settings_vue_ui.yml
+++ b/config/feature_flags/development/ci_use_run_pipeline_schedule_worker.yml
@@ -1,8 +1,8 @@
---
-name: ci_pipeline_triggers_settings_vue_ui
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/41864
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247486
-milestone: '13.5'
+name: ci_use_run_pipeline_schedule_worker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106661
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/378361
+milestone: '15.8'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/rate_limit_gitlab_shell.yml b/config/feature_flags/development/commit_search_trailing_spaces.yml
index 3c29a71af6e..b4d2f911620 100644
--- a/config/feature_flags/development/rate_limit_gitlab_shell.yml
+++ b/config/feature_flags/development/commit_search_trailing_spaces.yml
@@ -1,8 +1,8 @@
---
-name: rate_limit_gitlab_shell
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78373
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350465
-milestone: '14.7'
+name: commit_search_trailing_spaces
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107956
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386825
+milestone: '15.8'
type: development
group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/critical_security_alert.yml b/config/feature_flags/development/critical_security_alert.yml
new file mode 100644
index 00000000000..6bb5100efc8
--- /dev/null
+++ b/config/feature_flags/development/critical_security_alert.yml
@@ -0,0 +1,8 @@
+---
+name: critical_security_alert
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108732
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387719
+milestone: '15.8'
+type: development
+group: group::distribution
+default_enabled: false
diff --git a/config/feature_flags/development/dispensable_render.yml b/config/feature_flags/development/dispensable_render.yml
deleted file mode 100644
index 6f1689b325a..00000000000
--- a/config/feature_flags/development/dispensable_render.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: dispensable_render
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81546
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/354337
-milestone: '14.9'
-type: development
-group: group::activation
-default_enabled: true
diff --git a/config/feature_flags/development/display_merge_conflicts_in_diff.yml b/config/feature_flags/development/display_merge_conflicts_in_diff.yml
deleted file mode 100644
index 71146d9236b..00000000000
--- a/config/feature_flags/development/display_merge_conflicts_in_diff.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: display_merge_conflicts_in_diff
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45008
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276918
-milestone: '13.5'
-type: development
-group: group::code review
-default_enabled: true
diff --git a/config/feature_flags/development/environment_search_api_min_chars.yml b/config/feature_flags/development/environment_search_api_min_chars.yml
new file mode 100644
index 00000000000..2d719a41cd0
--- /dev/null
+++ b/config/feature_flags/development/environment_search_api_min_chars.yml
@@ -0,0 +1,8 @@
+---
+name: environment_search_api_min_chars
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108277
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387244
+milestone: '15.8'
+type: development
+group: group::release
+default_enabled: false
diff --git a/config/feature_flags/development/prevent_outdated_deployment_jobs.yml b/config/feature_flags/development/environments_search_logging.yml
index 5b92874dfd7..76f6c78154b 100644
--- a/config/feature_flags/development/prevent_outdated_deployment_jobs.yml
+++ b/config/feature_flags/development/environments_search_logging.yml
@@ -1,8 +1,8 @@
---
-name: prevent_outdated_deployment_jobs
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97171
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370628
-milestone: '15.4'
+name: environments_search_logging
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107866
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386778
+milestone: '15.8'
type: development
group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/file_line_blame.yml b/config/feature_flags/development/file_line_blame.yml
index 1be6aeee40a..f763d436041 100644
--- a/config/feature_flags/development/file_line_blame.yml
+++ b/config/feature_flags/development/file_line_blame.yml
@@ -1,7 +1,7 @@
---
name: file_line_blame
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92538
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370818
milestone: '15.3'
type: development
group: group::source code
diff --git a/config/feature_flags/development/bulk_import.yml b/config/feature_flags/development/github_import_gists.yml
index 5a654b3f6d9..8e6e5825362 100644
--- a/config/feature_flags/development/bulk_import.yml
+++ b/config/feature_flags/development/github_import_gists.yml
@@ -1,8 +1,8 @@
---
-name: bulk_import
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42704
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255310
-milestone: '13.5'
+name: github_import_gists
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107651
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386579
+milestone: '15.8'
type: development
group: group::import
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/group_export_ndjson.yml b/config/feature_flags/development/group_export_ndjson.yml
deleted file mode 100644
index 0f6cc863022..00000000000
--- a/config/feature_flags/development/group_export_ndjson.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: group_export_ndjson
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29590
-rollout_issue_url:
-milestone: '13.0'
-type: development
-group: group::import
-default_enabled: true
diff --git a/config/feature_flags/development/group_import_ndjson.yml b/config/feature_flags/development/group_import_ndjson.yml
deleted file mode 100644
index a84df7e0074..00000000000
--- a/config/feature_flags/development/group_import_ndjson.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: group_import_ndjson
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29716
-rollout_issue_url:
-milestone: '13.0'
-type: development
-group: group::import
-default_enabled: true
diff --git a/config/feature_flags/development/hide_merge_requests_from_banned_users.yml b/config/feature_flags/development/hide_merge_requests_from_banned_users.yml
new file mode 100644
index 00000000000..6ba0bc24196
--- /dev/null
+++ b/config/feature_flags/development/hide_merge_requests_from_banned_users.yml
@@ -0,0 +1,8 @@
+---
+name: hide_merge_requests_from_banned_users
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107836
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386726
+milestone: "15.8"
+type: development
+group: group::anti-abuse
+default_enabled: false
diff --git a/config/feature_flags/development/incident_event_tags.yml b/config/feature_flags/development/incident_event_tags.yml
new file mode 100644
index 00000000000..68101b21569
--- /dev/null
+++ b/config/feature_flags/development/incident_event_tags.yml
@@ -0,0 +1,8 @@
+---
+name: incident_event_tags
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107194
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387647
+milestone: '15.8'
+type: development
+group: group::respond
+default_enabled: false
diff --git a/config/feature_flags/development/limit_assigned_issues_count.yml b/config/feature_flags/development/issue_type_uses_work_item_types_table.yml
index 7fb58220f26..4ce66b7ab33 100644
--- a/config/feature_flags/development/limit_assigned_issues_count.yml
+++ b/config/feature_flags/development/issue_type_uses_work_item_types_table.yml
@@ -1,8 +1,8 @@
---
-name: limit_assigned_issues_count
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105759
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384363
-milestone: '15.7'
+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/jira_connect_oauth_self_managed.yml b/config/feature_flags/development/jira_connect_oauth_self_managed.yml
index dd7a8b6cd29..02c4b9fa398 100644
--- a/config/feature_flags/development/jira_connect_oauth_self_managed.yml
+++ b/config/feature_flags/development/jira_connect_oauth_self_managed.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359940
milestone: '15.0'
type: development
group: group::integrations
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/cache_project_integrations.yml b/config/feature_flags/development/jobs_api_keyset_pagination.yml
index 3bb652d4b51..d97b324f97a 100644
--- a/config/feature_flags/development/cache_project_integrations.yml
+++ b/config/feature_flags/development/jobs_api_keyset_pagination.yml
@@ -1,8 +1,8 @@
---
-name: cache_project_integrations
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104062
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384004
-milestone: '15.7'
+name: jobs_api_keyset_pagination
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107152
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385940
+milestone: '15.8'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/ci_build_partition_id_token_prefix.yml b/config/feature_flags/development/move_create_deployments_to_worker.yml
index 5b3cd22a489..e428a7510de 100644
--- a/config/feature_flags/development/ci_build_partition_id_token_prefix.yml
+++ b/config/feature_flags/development/move_create_deployments_to_worker.yml
@@ -1,8 +1,8 @@
---
-name: ci_build_partition_id_token_prefix
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106179
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385401
-milestone: '15.7'
+name: move_create_deployments_to_worker
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108042
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386903
+milestone: '15.8'
type: development
group: group::pipeline execution
default_enabled: false
diff --git a/config/feature_flags/development/new_fonts.yml b/config/feature_flags/development/new_fonts.yml
index 20bf283e704..43d22a34bc7 100644
--- a/config/feature_flags/development/new_fonts.yml
+++ b/config/feature_flags/development/new_fonts.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/379147
milestone: '15.7'
type: development
group: group::foundations
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/optimized_housekeeping.yml b/config/feature_flags/development/optimized_housekeeping.yml
deleted file mode 100644
index 478d5ee22e7..00000000000
--- a/config/feature_flags/development/optimized_housekeeping.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: optimized_housekeeping
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/81465
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353607
-milestone: '14.9'
-type: development
-group: group::source code
-default_enabled: true
diff --git a/config/feature_flags/development/paginated_mr_discussions.yml b/config/feature_flags/development/paginated_mr_discussions.yml
deleted file mode 100644
index d72189d447b..00000000000
--- a/config/feature_flags/development/paginated_mr_discussions.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: paginated_mr_discussions
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/88905
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364497
-milestone: '15.1'
-type: development
-group: group::code review
-default_enabled: true
diff --git a/config/feature_flags/development/phabricator_import.yml b/config/feature_flags/development/phabricator_import.yml
deleted file mode 100644
index 5340caef140..00000000000
--- a/config/feature_flags/development/phabricator_import.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: phabricator_import
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/13569
-rollout_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/1197
-milestone: '12.0'
-type: development
-group: group::import
-default_enabled: true
diff --git a/config/feature_flags/development/pipeline_name.yml b/config/feature_flags/development/pipeline_name.yml
deleted file mode 100644
index 9070e754fff..00000000000
--- a/config/feature_flags/development/pipeline_name.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: pipeline_name
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97502
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/376095
-milestone: '15.5'
-type: development
-group: group::delivery
-default_enabled: true
diff --git a/config/feature_flags/development/project_members_index_by_project_namespace.yml b/config/feature_flags/development/project_members_index_by_project_namespace.yml
new file mode 100644
index 00000000000..17a532a5a59
--- /dev/null
+++ b/config/feature_flags/development/project_members_index_by_project_namespace.yml
@@ -0,0 +1,8 @@
+---
+name: project_members_index_by_project_namespace
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105781
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384521
+milestone: '15.7'
+type: development
+group: group::workspace
+default_enabled: false
diff --git a/config/feature_flags/development/project_runners_vue_ui.yml b/config/feature_flags/development/project_runners_vue_ui.yml
new file mode 100644
index 00000000000..a628b1a4ac3
--- /dev/null
+++ b/config/feature_flags/development/project_runners_vue_ui.yml
@@ -0,0 +1,8 @@
+---
+name: project_runners_vue_ui
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107646
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386573
+milestone: '15.8'
+type: development
+group: group::runner
+default_enabled: false
diff --git a/config/feature_flags/development/ci_refactoring_external_mapper.yml b/config/feature_flags/development/project_statistics_bulk_increment.yml
index 22933d253d4..6e8b9083a4d 100644
--- a/config/feature_flags/development/ci_refactoring_external_mapper.yml
+++ b/config/feature_flags/development/project_statistics_bulk_increment.yml
@@ -1,8 +1,8 @@
---
-name: ci_refactoring_external_mapper
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106408
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385179
+name: project_statistics_bulk_increment
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103879
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385845
milestone: '15.7'
type: development
-group: group::pipeline authoring
+group: group::pipeline insights
default_enabled: false
diff --git a/config/feature_flags/development/rate_limit_gitlab_shell_by_ip.yml b/config/feature_flags/development/rate_limit_gitlab_shell_by_ip.yml
deleted file mode 100644
index 667c0db7ee0..00000000000
--- a/config/feature_flags/development/rate_limit_gitlab_shell_by_ip.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: rate_limit_gitlab_shell_by_ip
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/91599
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/367998
-milestone: '15.3'
-type: development
-group: group::source code
-default_enabled: true
diff --git a/config/feature_flags/development/rate_limit_issuable_searches.yml b/config/feature_flags/development/rate_limit_issuable_searches.yml
new file mode 100644
index 00000000000..9a4909da72e
--- /dev/null
+++ b/config/feature_flags/development/rate_limit_issuable_searches.yml
@@ -0,0 +1,8 @@
+---
+name: rate_limit_issuable_searches
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104208"
+rollout_issue_url:
+milestone: '15.8'
+type: development
+group: group::project management
+default_enabled: false
diff --git a/config/feature_flags/development/delay_for_repository_update_mirror.yml b/config/feature_flags/development/readme_from_gitaly.yml
index c736036beb5..6e440e928f1 100644
--- a/config/feature_flags/development/delay_for_repository_update_mirror.yml
+++ b/config/feature_flags/development/readme_from_gitaly.yml
@@ -1,8 +1,8 @@
---
-name: delay_for_repository_update_mirror
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/90749
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/365948
-milestone: '15.2'
+name: readme_from_gitaly
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108609
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387703
+milestone: '15.8'
type: development
group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/remove_job_token_on_completion.yml b/config/feature_flags/development/remove_job_token_on_completion.yml
new file mode 100644
index 00000000000..4ab5ffc27ee
--- /dev/null
+++ b/config/feature_flags/development/remove_job_token_on_completion.yml
@@ -0,0 +1,8 @@
+---
+name: remove_job_token_on_completion
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108021
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386871
+milestone: '15.8'
+type: development
+group: group::pipeline execution
+default_enabled: false
diff --git a/config/feature_flags/development/repository_archive_hotlinking_interception.yml b/config/feature_flags/development/repository_archive_hotlinking_interception.yml
deleted file mode 100644
index dbdde4993f8..00000000000
--- a/config/feature_flags/development/repository_archive_hotlinking_interception.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: repository_archive_hotlinking_interception
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/50c11f278d18fe1f3fb12eb595067216bb58ade2
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/369433
-milestone: '12.10'
-type: development
-group: group::source code
-default_enabled: true
diff --git a/config/feature_flags/development/track_and_raise_delete_source_errors.yml b/config/feature_flags/development/reset_merge_error_on_transition.yml
index 5f34ab47f19..bb0b25d1666 100644
--- a/config/feature_flags/development/track_and_raise_delete_source_errors.yml
+++ b/config/feature_flags/development/reset_merge_error_on_transition.yml
@@ -1,8 +1,8 @@
---
-name: track_and_raise_delete_source_errors
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/103842
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382440
-milestone: '15.6'
+name: reset_merge_error_on_transition
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106942
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385859
+milestone: '15.8'
type: development
group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/schema_linting.yml b/config/feature_flags/development/schema_linting.yml
deleted file mode 100644
index 0abca3e03dc..00000000000
--- a/config/feature_flags/development/schema_linting.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: schema_linting
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35838
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/255919
-milestone: '13.2'
-type: development
-group: group::editor
-default_enabled: true
diff --git a/config/feature_flags/development/update_vuln_identifiers_flag.yml b/config/feature_flags/development/sec_mark_dropped_findings_as_resolved_scheduler.yml
index 3e0e7f4fa41..1f26ffb28ae 100644
--- a/config/feature_flags/development/update_vuln_identifiers_flag.yml
+++ b/config/feature_flags/development/sec_mark_dropped_findings_as_resolved_scheduler.yml
@@ -1,8 +1,8 @@
---
-name: update_vuln_identifiers_flag
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/82538
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/362179
-milestone: '15.1'
+name: sec_mark_dropped_findings_as_resolved_scheduler
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108486
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387577
+milestone: '15.8'
type: development
group: group::static analysis
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/ci_bridge_remove_sourced_pipelines.yml b/config/feature_flags/development/service_desk_new_note_email_native_attachments.yml
index 503e676d4ab..2299b33db84 100644
--- a/config/feature_flags/development/ci_bridge_remove_sourced_pipelines.yml
+++ b/config/feature_flags/development/service_desk_new_note_email_native_attachments.yml
@@ -1,8 +1,8 @@
---
-name: ci_bridge_remove_sourced_pipelines
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/105708
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384359
-milestone: '15.7'
+name: service_desk_new_note_email_native_attachments
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107887
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386860
+milestone: '15.8'
type: development
-group: group::pipeline authoring
+group: group::respond
default_enabled: false
diff --git a/config/feature_flags/development/skip_notes_diff_include.yml b/config/feature_flags/development/skip_notes_diff_include.yml
new file mode 100644
index 00000000000..886b1d47e81
--- /dev/null
+++ b/config/feature_flags/development/skip_notes_diff_include.yml
@@ -0,0 +1,8 @@
+---
+name: skip_notes_diff_include
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/108893
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388081
+milestone: '15.8'
+type: development
+group: group::product planning
+default_enabled: false
diff --git a/config/feature_flags/development/ssh_commit_signatures.yml b/config/feature_flags/development/ssh_commit_signatures.yml
deleted file mode 100644
index a056ba1a2ba..00000000000
--- a/config/feature_flags/development/ssh_commit_signatures.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ssh_commit_signatures
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97248
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350301
-milestone: '15.7'
-type: development
-group: group::source code
-default_enabled: true
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
new file mode 100644
index 00000000000..66cb9830261
--- /dev/null
+++ b/config/feature_flags/development/support_group_level_merge_checks_setting.yml
@@ -0,0 +1,8 @@
+---
+name: support_group_level_merge_checks_setting
+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
+default_enabled: false
diff --git a/config/feature_flags/development/update_oauth_registration_flow.yml b/config/feature_flags/development/update_oauth_registration_flow.yml
deleted file mode 100644
index 7b066ebf9ab..00000000000
--- a/config/feature_flags/development/update_oauth_registration_flow.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: update_oauth_registration_flow
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/85871
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/364342
-milestone: '15.2'
-type: development
-group: group::acquisition
-default_enabled: false
diff --git a/config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml b/config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml
new file mode 100644
index 00000000000..07fbc77c960
--- /dev/null
+++ b/config/feature_flags/development/use_primary_and_secondary_stores_for_repository_cache.yml
@@ -0,0 +1,8 @@
+---
+name: use_primary_and_secondary_stores_for_repository_cache
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107232#note_1216317991
+rollout_issue_url:
+milestone: '15.7'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml b/config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml
new file mode 100644
index 00000000000..adf48021597
--- /dev/null
+++ b/config/feature_flags/development/use_primary_store_as_default_for_repository_cache.yml
@@ -0,0 +1,8 @@
+---
+name: use_primary_store_as_default_for_repository_cache
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107232#note_1216317991
+rollout_issue_url:
+milestone: '15.7'
+type: development
+group: group::scalability
+default_enabled: false
diff --git a/config/feature_flags/development/validate_release_with_author.yml b/config/feature_flags/development/validate_release_with_author.yml
index 45102103183..bac23edfa89 100644
--- a/config/feature_flags/development/validate_release_with_author.yml
+++ b/config/feature_flags/development/validate_release_with_author.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/365350
milestone: '15.1'
type: development
group: group::release
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/vue_group_select.yml b/config/feature_flags/development/your_work_sidebar.yml
index d31f57a3eb9..b24af6e1ff4 100644
--- a/config/feature_flags/development/vue_group_select.yml
+++ b/config/feature_flags/development/your_work_sidebar.yml
@@ -1,8 +1,8 @@
---
-name: vue_group_select
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98597
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381042
-milestone: '15.6'
+name: your_work_sidebar
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/107345
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385855
+milestone: '15.8'
type: development
group: group::foundations
default_enabled: false
diff --git a/config/feature_flags/experiment/show_pages_in_deployments_menu.yml b/config/feature_flags/experiment/show_pages_in_deployments_menu.yml
new file mode 100644
index 00000000000..e72e5fd3af9
--- /dev/null
+++ b/config/feature_flags/experiment/show_pages_in_deployments_menu.yml
@@ -0,0 +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'
+type: experiment
+group: group::incubation
+default_enabled: false
diff --git a/config/feature_flags/development/vue_broadcast_messages.yml b/config/feature_flags/experiment/tier_badge.yml
index bc9425e93ba..be14d299bfb 100644
--- a/config/feature_flags/development/vue_broadcast_messages.yml
+++ b/config/feature_flags/experiment/tier_badge.yml
@@ -1,8 +1,8 @@
---
-name: vue_broadcast_messages
-introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/98127"
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368847
-milestone: '15.4'
-type: development
-group: group::optimize
+name: tier_badge
+introduced_by_url: "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/101575"
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/378454
+milestone: '15.8'
+type: experiment
+group: group::acquisition
default_enabled: false
diff --git a/config/feature_flags/ops/projects_build_artifacts_size_refresh_high.yml b/config/feature_flags/ops/projects_build_artifacts_size_refresh_high.yml
new file mode 100644
index 00000000000..d16ee72ab71
--- /dev/null
+++ b/config/feature_flags/ops/projects_build_artifacts_size_refresh_high.yml
@@ -0,0 +1,8 @@
+---
+name: projects_build_artifacts_size_refresh_high
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84701
+rollout_issue_url:
+milestone: '15.8'
+type: ops
+group: group::pipeline insights
+default_enabled: false
diff --git a/config/feature_flags/ops/projects_build_artifacts_size_refresh_medium.yml b/config/feature_flags/ops/projects_build_artifacts_size_refresh_medium.yml
new file mode 100644
index 00000000000..73bfd16ec94
--- /dev/null
+++ b/config/feature_flags/ops/projects_build_artifacts_size_refresh_medium.yml
@@ -0,0 +1,8 @@
+---
+name: projects_build_artifacts_size_refresh_medium
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/84701
+rollout_issue_url:
+milestone: '15.8'
+type: ops
+group: group::pipeline insights
+default_enabled: false
diff --git a/config/feature_flags/ops/suggested_reviewers_internal_api.yml b/config/feature_flags/ops/suggested_reviewers_internal_api.yml
new file mode 100644
index 00000000000..44e197307a5
--- /dev/null
+++ b/config/feature_flags/ops/suggested_reviewers_internal_api.yml
@@ -0,0 +1,8 @@
+---
+name: suggested_reviewers_internal_api
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/106648
+rollout_issue_url:
+milestone: '15.7'
+type: ops
+group: group::ai assisted
+default_enabled: true
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index f67099fbdf0..340864d2dfa 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -236,7 +236,12 @@ production: &base
#
# log_path: log/mail_room_json.log
+ # If you are using Microsoft Graph instead of IMAP, set this to false to retain
+ # messages in the inbox since deleted messages are auto-expunged after some time.
+ delete_after_delivery: true
+
# Whether to expunge (permanently remove) messages from the mailbox when they are marked as deleted after delivery
+ # Only applies to IMAP. Microsoft Graph will auto-expunge any deleted messages.
expunge_deleted: false
# For Microsoft Graph support
@@ -1266,6 +1271,11 @@ production: &base
# The URL to the Kubernetes API proxy (used by GitLab users)
# external_k8s_proxy_url: https://localhost:8154 # default: nil
+ suggested_reviewers:
+ # File that contains the secret key for verifying access to GitLab internal API for Suggested Reviewers.
+ # Default is '.gitlab_suggested_reviewers_secret' relative to Rails.root (i.e. root of the GitLab app).
+ # secret_file: /home/git/gitlab/.gitlab_suggested_reviewers_secret
+
## GitLab Elasticsearch settings
elasticsearch:
indexer_path: /home/git/gitlab-elasticsearch-indexer/
diff --git a/config/gitlab_loose_foreign_keys.yml b/config/gitlab_loose_foreign_keys.yml
index 5212ffbfd6b..3651e7f6c29 100644
--- a/config/gitlab_loose_foreign_keys.yml
+++ b/config/gitlab_loose_foreign_keys.yml
@@ -114,6 +114,10 @@ ci_runner_projects:
- table: projects
column: project_id
on_delete: async_delete
+ci_runners:
+ - table: users
+ column: creator_id
+ on_delete: async_nullify
ci_running_builds:
- table: projects
column: project_id
diff --git a/config/initializers/0_marginalia.rb b/config/initializers/0_marginalia.rb
index c776747939f..e0e68ce7248 100644
--- a/config/initializers/0_marginalia.rb
+++ b/config/initializers/0_marginalia.rb
@@ -24,7 +24,12 @@ if Gitlab.dev_or_test_env?
Marginalia::Comment.components << :line
Marginalia::Comment.lines_to_ignore = Regexp.union(
Gitlab::BacktraceCleaner::IGNORE_BACKTRACES + %w[
- lib/ruby/gems/ lib/gem_extensions/ lib/ruby/ lib/gitlab/marginalia/ gems/
+ lib/ruby/gems/
+ lib/gem_extensions/
+ lib/ruby/
+ lib/gitlab/marginalia/
+ gems/
+ lib/gitlab/database/load_balancing/connection_proxy.rb
])
end
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index aafca0e2f09..55c21744ad0 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -870,6 +870,14 @@ Settings.gitlab_kas['internal_url'] ||= 'grpc://localhost:8153'
# Settings.gitlab_kas['external_k8s_proxy_url'] ||= 'grpc://localhost:8154' # NOTE: Do not set a default until all distributions have been updated with a correct value
#
+# Suggested Reviewers
+#
+Gitlab.ee do
+ Settings['suggested_reviewers'] ||= Settingslogic.new({})
+ Settings.suggested_reviewers['secret_file'] ||= Rails.root.join('.gitlab_suggested_reviewers_secret')
+end
+
+#
# Repositories
#
Settings['repositories'] ||= Settingslogic.new({})
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index 918b2767c4d..d24c5431f53 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -121,3 +121,17 @@ Doorkeeper.configure do
# We might want to disable this in the future, see https://gitlab.com/gitlab-org/gitlab/-/issues/323615
skip_client_authentication_for_password_grant true
end
+
+module Doorkeeper
+ class AccessToken
+ # Doorkeeper OAuth Token refresh uses expires_in of refresh token for new token
+ # https://github.com/doorkeeper-gem/doorkeeper/pull/1366
+ # This override ensures that tokens with expires_in: nil do not create new
+ # tokens with expires_in: nil during refresh flow.
+ # Can be removed after https://gitlab.com/gitlab-org/gitlab/-/issues/386094 is
+ # closed
+ def expires_in
+ super || 2.hours
+ end
+ end
+end
diff --git a/config/initializers/doorkeeper_openid_connect.rb b/config/initializers/doorkeeper_openid_connect.rb
index b2cb1843fab..a3a2550811b 100644
--- a/config/initializers/doorkeeper_openid_connect.rb
+++ b/config/initializers/doorkeeper_openid_connect.rb
@@ -31,8 +31,9 @@ Doorkeeper::OpenidConnect.configure do
Digest::SHA256.hexdigest "#{user.id}-#{Rails.application.secrets.secret_key_base}"
end
- o.claim(:name) { |user| user.name }
- o.claim(:nickname) { |user| user.username }
+ o.claim(:name) { |user| user.name }
+ o.claim(:nickname) { |user| user.username }
+ o.claim(:preferred_username) { |user| user.username }
# Check whether the application has access to the email scope, and grant
# access to the user's primary email address if so, otherwise their
@@ -54,7 +55,7 @@ Doorkeeper::OpenidConnect.configure do
end
end
- o.claim(:website) { |user| user.full_website_url if user.website_url? }
+ o.claim(:website) { |user| user.full_website_url if user.website_url.present? }
o.claim(:profile) { |user| Gitlab::Routing.url_helpers.user_url user }
o.claim(:picture) { |user| user.avatar_url(only_path: false) }
o.claim(:groups) { |user| user.membership_groups.joins(:route).with_route.map(&:full_path) }
diff --git a/config/initializers/gitlab_suggested_reviewers_secret.rb b/config/initializers/gitlab_suggested_reviewers_secret.rb
new file mode 100644
index 00000000000..01c7299c414
--- /dev/null
+++ b/config/initializers/gitlab_suggested_reviewers_secret.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+return unless Gitlab.com? && Gitlab.ee?
+
+Gitlab::AppliedMl::SuggestedReviewers.ensure_secret!
diff --git a/config/initializers/grape_validators.rb b/config/initializers/grape_validators.rb
index 1492894e1fa..1eaceddf531 100644
--- a/config/initializers/grape_validators.rb
+++ b/config/initializers/grape_validators.rb
@@ -11,3 +11,6 @@ Grape::Validations.register_validator(:untrusted_regexp, ::API::Validations::Val
Grape::Validations.register_validator(:email_or_email_list, ::API::Validations::Validators::EmailOrEmailList)
Grape::Validations.register_validator(:iteration_id, ::API::Validations::Validators::IntegerOrCustomValue)
Grape::Validations.register_validator(:project_portable, ::API::Validations::Validators::ProjectPortable)
+Grape::Validations.register_validator(:destination_namespace_path, ::API::Validations::Validators::BulkImports::DestinationNamespacePath) # rubocop: disable Layout/LineLength
+Grape::Validations.register_validator(:destination_slug_path, ::API::Validations::Validators::BulkImports::DestinationSlugPath) # rubocop: disable Layout/LineLength
+Grape::Validations.register_validator(:source_full_path, ::API::Validations::Validators::BulkImports::SourceFullPath)
diff --git a/config/initializers/rspec_profiling.rb b/config/initializers/rspec_profiling.rb
index 2ab7bdade31..7cc2d6afb0f 100644
--- a/config/initializers/rspec_profiling.rb
+++ b/config/initializers/rspec_profiling.rb
@@ -6,7 +6,8 @@ module RspecProfilingExt
module Collectors
class CSVWithTimestamps < ::RspecProfiling::Collectors::CSV
TIMESTAMP_FIELDS = %w(created_at updated_at).freeze
- HEADERS = (::RspecProfiling::Collectors::CSV::HEADERS + TIMESTAMP_FIELDS).freeze
+ METADATA_FIELDS = %w(feature_category).freeze
+ HEADERS = (::RspecProfiling::Collectors::CSV::HEADERS + TIMESTAMP_FIELDS + METADATA_FIELDS).freeze
def insert(attributes)
output << HEADERS.map do |field|
@@ -40,9 +41,32 @@ module RspecProfilingExt
end
end
+ module Example
+ def feature_category
+ metadata[:feature_category]
+ end
+ end
+
module Run
def example_finished(*args)
- super
+ # rubocop:disable Gitlab/ModuleWithInstanceVariables
+ collector.insert({
+ branch: vcs.branch,
+ commit_hash: vcs.sha,
+ date: vcs.time,
+ file: @current_example.file,
+ line_number: @current_example.line_number,
+ description: @current_example.description,
+ status: @current_example.status,
+ exception: @current_example.exception,
+ time: @current_example.time,
+ query_count: @current_example.query_count,
+ query_time: @current_example.query_time,
+ request_count: @current_example.request_count,
+ request_time: @current_example.request_time,
+ feature_category: @current_example.feature_category
+ })
+ # rubocop:enable Gitlab/ModuleWithInstanceVariables
rescue StandardError => err
return if @already_logged_example_finished_error # rubocop:disable Gitlab/ModuleWithInstanceVariables
@@ -59,6 +83,7 @@ RspecProfiling.configure do |config|
if ENV.key?('CI') || ENV.key?('RSPEC_PROFILING')
RspecProfiling::VCS::Git.prepend(RspecProfilingExt::Git)
RspecProfiling::Run.prepend(RspecProfilingExt::Run)
+ RspecProfiling::Example.prepend(RspecProfilingExt::Example)
config.collector = RspecProfilingExt::Collectors::CSVWithTimestamps
config.csv_path = -> do
prefix = "#{ENV['CI_JOB_NAME']}-".gsub(%r{[ /]}, '-') if ENV['CI_JOB_NAME']
diff --git a/config/initializers_before_autoloader/004_zeitwerk.rb b/config/initializers_before_autoloader/004_zeitwerk.rb
index cae6650db41..8b3cdf1a80c 100644
--- a/config/initializers_before_autoloader/004_zeitwerk.rb
+++ b/config/initializers_before_autoloader/004_zeitwerk.rb
@@ -64,6 +64,7 @@ Rails.autoloaders.each do |autoloader|
'svg' => 'SVG',
'function_uri' => 'FunctionURI',
'uuid' => 'UUID',
+ 'occurrence_uuid' => 'OccurrenceUUID',
'vulnerability_uuid' => 'VulnerabilityUUID',
'vs_code_extension_activity_unique_counter' => 'VSCodeExtensionActivityUniqueCounter'
)
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 3c33cdac3f1..d5c7eecb068 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -32,8 +32,13 @@ en:
project_key: "Project name suffix"
user/user_detail:
job_title: 'Job title'
- user/user_detail:
bio: 'Bio'
+ linkedin: 'Linkedin'
+ twitter: 'Twitter'
+ skype: 'Skype'
+ location: 'Location'
+ organization: 'Organization'
+ website_url: 'Website url'
views:
pagination:
previous: "Prev"
diff --git a/config/mail_room.yml b/config/mail_room.yml
index 1e76f5e9875..b453ed8ce35 100644
--- a/config/mail_room.yml
+++ b/config/mail_room.yml
@@ -16,7 +16,7 @@
:name: <%= config[:mailbox].to_json %>
- :delete_after_delivery: true
+ :delete_after_delivery: <%= config.fetch(:delete_after_delivery, true).to_json %>
:expunge_deleted: <%= config[:expunge_deleted].to_json %>
<% if config[:inbox_method] %>
diff --git a/config/metrics/counts_28d/20210216175542_ci_builds.yml b/config/metrics/counts_28d/20210216175542_ci_builds.yml
index 454b02bd04d..31c41332fed 100644
--- a/config/metrics/counts_28d/20210216175542_ci_builds.yml
+++ b/config/metrics/counts_28d/20210216175542_ci_builds.yml
@@ -1,7 +1,7 @@
---
data_category: operational
key_path: usage_activity_by_stage_monthly.verify.ci_builds
-description: Unique monthly builds in project
+description: Distinct users triggering jobs in a month
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml b/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
index 1de544315ab..506abce6ce5 100644
--- a/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
+++ b/config/metrics/counts_28d/20210216175544_ci_external_pipelines.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage_monthly.verify.ci_external_pipelines
-description: Total pipelines in external repositories in a month
+description: Distinct users triggering pipelines in external repositories in a month
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml b/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
index 94faa5b1833..7ae086fbdcb 100644
--- a/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
+++ b/config/metrics/counts_28d/20210216175546_ci_internal_pipelines.yml
@@ -1,7 +1,7 @@
---
data_category: operational
key_path: usage_activity_by_stage_monthly.verify.ci_internal_pipelines
-description: Total pipelines in GitLab repositories in a month
+description: Distinct users triggering pipelines in internal repositories in a month
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml b/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
index 323606abd00..8a57e5989c4 100644
--- a/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
+++ b/config/metrics/counts_28d/20210216175552_ci_pipeline_schedules.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage_monthly.verify.ci_pipeline_schedules
-description: Total monthly Pipeline schedules in GitLab
+description: Distinct users creating pipeline schedules in a month
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_28d/20210216175556_ci_triggers.yml b/config/metrics/counts_28d/20210216175556_ci_triggers.yml
index 4fd645a39cd..a7c21eba666 100644
--- a/config/metrics/counts_28d/20210216175556_ci_triggers.yml
+++ b/config/metrics/counts_28d/20210216175556_ci_triggers.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage_monthly.verify.ci_triggers
-description: Total configured Triggers in project
+description: Distinct users creating pipeline triggers in a month
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216175525_ci_builds.yml b/config/metrics/counts_all/20210216175525_ci_builds.yml
index 37ffe117ede..bae726ec222 100644
--- a/config/metrics/counts_all/20210216175525_ci_builds.yml
+++ b/config/metrics/counts_all/20210216175525_ci_builds.yml
@@ -1,7 +1,7 @@
---
data_category: operational
key_path: usage_activity_by_stage.verify.ci_builds
-description: Unique count of builds in project
+description: Distinct users triggering jobs
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216175527_ci_external_pipelines.yml b/config/metrics/counts_all/20210216175527_ci_external_pipelines.yml
index d393fd3e924..c0ba52c36fa 100644
--- a/config/metrics/counts_all/20210216175527_ci_external_pipelines.yml
+++ b/config/metrics/counts_all/20210216175527_ci_external_pipelines.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage.verify.ci_external_pipelines
-description: Total pipelines in external repositories
+description: Distinct users triggering pipelines in external repositories
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216175529_ci_internal_pipelines.yml b/config/metrics/counts_all/20210216175529_ci_internal_pipelines.yml
index 0114bf5a9f2..4b126eb82b9 100644
--- a/config/metrics/counts_all/20210216175529_ci_internal_pipelines.yml
+++ b/config/metrics/counts_all/20210216175529_ci_internal_pipelines.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage.verify.ci_internal_pipelines
-description: Total pipelines in GitLab repositories
+description: Distinct users triggering pipelines in internal repositories
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216175535_ci_pipeline_schedules.yml b/config/metrics/counts_all/20210216175535_ci_pipeline_schedules.yml
index 99e59274094..df4fad9881a 100644
--- a/config/metrics/counts_all/20210216175535_ci_pipeline_schedules.yml
+++ b/config/metrics/counts_all/20210216175535_ci_pipeline_schedules.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage.verify.ci_pipeline_schedules
-description: Pipeline schedules in GitLab
+description: Distinct users creating pipeline schedules
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216175539_ci_triggers.yml b/config/metrics/counts_all/20210216175539_ci_triggers.yml
index e28a8487c04..485d965a428 100644
--- a/config/metrics/counts_all/20210216175539_ci_triggers.yml
+++ b/config/metrics/counts_all/20210216175539_ci_triggers.yml
@@ -1,7 +1,7 @@
---
data_category: optional
key_path: usage_activity_by_stage.verify.ci_triggers
-description: Total configured Triggers in project
+description: Distinct users creating pipeline triggers
product_section: ops
product_stage: verify
product_group: pipeline_execution
diff --git a/config/metrics/counts_all/20210216181055_projects_with_packages.yml b/config/metrics/counts_all/20210216181055_projects_with_packages.yml
index efee3ba55ce..5862f6b4ca5 100644
--- a/config/metrics/counts_all/20210216181055_projects_with_packages.yml
+++ b/config/metrics/counts_all/20210216181055_projects_with_packages.yml
@@ -9,7 +9,7 @@ product_category: package registry
value_type: number
status: active
time_frame: all
-data_source: redis
+data_source: database
distribution:
- ee
- ce
diff --git a/config/metrics/counts_all/20221209212603_projects_inheriting_apple_app_store_active.yml b/config/metrics/counts_all/20221209212603_projects_inheriting_apple_app_store_active.yml
new file mode 100644
index 00000000000..5e00246a15c
--- /dev/null
+++ b/config/metrics/counts_all/20221209212603_projects_inheriting_apple_app_store_active.yml
@@ -0,0 +1,22 @@
+---
+key_path: counts.projects_inheriting_apple_app_store_active
+description: Count of active projects inheriting integrations for Apple App Store
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+time_frame: all
+data_source: database
+data_category: optional
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20221209213642_groups_apple_app_store_active.yml b/config/metrics/counts_all/20221209213642_groups_apple_app_store_active.yml
new file mode 100644
index 00000000000..9099752c62c
--- /dev/null
+++ b/config/metrics/counts_all/20221209213642_groups_apple_app_store_active.yml
@@ -0,0 +1,22 @@
+---
+key_path: counts.groups_apple_app_store_active
+description: Count of active groups inheriting integrations for Apple App Store
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+time_frame: all
+data_source: database
+data_category: optional
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20221209214020_projects_apple_app_store_active.yml b/config/metrics/counts_all/20221209214020_projects_apple_app_store_active.yml
new file mode 100644
index 00000000000..92e9acbcca0
--- /dev/null
+++ b/config/metrics/counts_all/20221209214020_projects_apple_app_store_active.yml
@@ -0,0 +1,22 @@
+---
+key_path: counts.projects_apple_app_store_active
+description: Count of projects with active integrations for Apple App Store
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+time_frame: all
+data_source: database
+data_category: optional
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20221209233053_groups_inheriting_apple_app_store_active.yml b/config/metrics/counts_all/20221209233053_groups_inheriting_apple_app_store_active.yml
new file mode 100644
index 00000000000..f7835a4e072
--- /dev/null
+++ b/config/metrics/counts_all/20221209233053_groups_inheriting_apple_app_store_active.yml
@@ -0,0 +1,22 @@
+---
+key_path: counts.groups_inheriting_apple_app_store_active
+description: Count of active groups inheriting integrations for Apple App Store
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+time_frame: all
+data_source: database
+data_category: optional
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20221209233201_instances_apple_app_store_active.yml b/config/metrics/counts_all/20221209233201_instances_apple_app_store_active.yml
new file mode 100644
index 00000000000..436f869cf0d
--- /dev/null
+++ b/config/metrics/counts_all/20221209233201_instances_apple_app_store_active.yml
@@ -0,0 +1,22 @@
+---
+key_path: counts.instances_apple_app_store_active
+description: Count of instances with active integrations for Apple App Store
+product_section: dev
+product_stage: manage
+product_group: integrations
+product_category: integrations
+value_type: number
+status: active
+milestone: "15.8"
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/104888
+time_frame: all
+data_source: database
+data_category: optional
+performance_indicator_type: []
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/schema.json b/config/metrics/schema.json
index 8991385b714..f4594dcc2d2 100644
--- a/config/metrics/schema.json
+++ b/config/metrics/schema.json
@@ -1,69 +1,138 @@
{
"type": "object",
- "required": ["key_path", "description", "value_type", "status", "product_group", "product_section", "product_stage", "time_frame", "data_source", "distribution", "tier", "data_category", "milestone"],
+ "required": [
+ "key_path",
+ "description",
+ "value_type",
+ "status",
+ "product_group",
+ "product_section",
+ "product_stage",
+ "time_frame",
+ "data_source",
+ "distribution",
+ "tier",
+ "data_category",
+ "milestone"
+ ],
"properties": {
"key_path": {
"type": "string"
},
"name": {
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"pattern": "^([a-z]+_)*[a-z]+$"
},
"description": {
"type": "string"
},
"product_section": {
- "type": ["string"]
+ "type": [
+ "string"
+ ]
},
"product_stage": {
- "type": ["string"]
+ "type": [
+ "string"
+ ]
},
"product_group": {
"type": "string",
"pattern": "^$|^([a-z]+_)*[a-z]+$"
},
"product_category": {
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"value_type": {
"type": "string",
- "enum": ["string", "number", "boolean", "object"]
+ "enum": [
+ "string",
+ "number",
+ "boolean",
+ "object"
+ ]
},
"status": {
- "type": ["string"],
- "enum": ["active", "removed", "broken"]
+ "type": [
+ "string"
+ ],
+ "enum": [
+ "active",
+ "removed",
+ "broken"
+ ]
},
"milestone": {
- "type": ["string"],
+ "type": [
+ "string"
+ ],
"pattern": "^<?[0-9]+\\.[0-9]+$"
},
"milestone_removed": {
- "type": ["string", "null"],
+ "type": [
+ "string",
+ "null"
+ ],
"pattern": "^[0-9]+\\.[0-9]+$"
},
"introduced_by_url": {
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"removed_by_url": {
- "type": ["string", "null"]
+ "type": [
+ "string",
+ "null"
+ ]
},
"repair_issue_url": {
- "type": ["string"]
+ "type": [
+ "string"
+ ]
},
"options": {
"type": "object"
},
"time_frame": {
"type": "string",
- "enum": ["7d", "28d", "all", "none"]
+ "enum": [
+ "7d",
+ "28d",
+ "all",
+ "none"
+ ]
},
"data_source": {
"type": "string",
- "enum": ["database", "redis", "redis_hll", "prometheus", "system", "license"]
+ "enum": [
+ "database",
+ "redis",
+ "redis_hll",
+ "prometheus",
+ "system",
+ "license"
+ ]
},
"data_category": {
"type": "string",
- "enum": ["Operational", "Optional", "Subscription", "Standard", "operational", "optional", "subscription", "standard"]
+ "enum": [
+ "Operational",
+ "Optional",
+ "Subscription",
+ "Standard",
+ "operational",
+ "optional",
+ "subscription",
+ "standard"
+ ]
},
"instrumentation_class": {
"type": "string",
@@ -73,21 +142,38 @@
"type": "array",
"items": {
"type": "string",
- "enum": ["ee", "ce"]
+ "enum": [
+ "ee",
+ "ce"
+ ]
}
},
"performance_indicator_type": {
"type": "array",
"items": {
"type": "string",
- "enum": ["gmau", "smau", "paid_gmau", "umau"]
+ "enum": [
+ "gmau",
+ "smau",
+ "paid_gmau",
+ "umau",
+ "customer_health_score"
+ ]
}
},
"tier": {
"type": "array",
"items": {
"type": "string",
- "enum": ["free", "starter", "premium", "ultimate", "bronze", "silver", "gold"]
+ "enum": [
+ "free",
+ "starter",
+ "premium",
+ "ultimate",
+ "bronze",
+ "silver",
+ "gold"
+ ]
}
},
"skip_validation": {
@@ -101,12 +187,16 @@
{
"if": {
"properties": {
- "status": { "const": "broken" }
+ "status": {
+ "const": "broken"
+ }
}
},
"then": {
- "required": ["repair_issue_url"]
+ "required": [
+ "repair_issue_url"
+ ]
}
}
]
-}
+} \ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index a9cb462b326..7569bce530a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -210,7 +210,11 @@ InitializerConnections.with_disabled_database_connections do
end
# Spam reports
- resources :abuse_reports, only: [:new, :create]
+ resources :abuse_reports, only: [:new, :create] do
+ collection do
+ post :add_category
+ end
+ end
# JWKS (JSON Web Key Set) endpoint
# Used by third parties to verify CI_JOB_JWT
diff --git a/config/routes/group.rb b/config/routes/group.rb
index 819db0bb6b1..582f8bf9471 100644
--- a/config/routes/group.rb
+++ b/config/routes/group.rb
@@ -124,9 +124,8 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
resources :email_campaigns, only: :index
namespace :observability do
- get 'dashboards'
get 'explore'
- get 'manage'
+ get 'datasources'
end
namespace :harbor do
diff --git a/config/routes/import.rb b/config/routes/import.rb
index 004839d22a7..b319e6ca223 100644
--- a/config/routes/import.rb
+++ b/config/routes/import.rb
@@ -12,8 +12,6 @@ end
namespace :import do
resources :history, only: [:index], controller: :history
- resources :available_namespaces, only: [:index], controller: :available_namespaces
-
namespace :url do
post :validate
end
diff --git a/config/routes/uploads.rb b/config/routes/uploads.rb
index 7b598e84975..52c67a705dc 100644
--- a/config/routes/uploads.rb
+++ b/config/routes/uploads.rb
@@ -4,7 +4,7 @@ scope path: :uploads do
# Note attachments and User/Group/Project/Topic avatars
get "-/system/:model/:mounted_as/:id/:filename",
to: "uploads#show",
- constraints: { model: %r{note|user|group|project|projects\/topic}, mounted_as: /avatar|attachment/, filename: %r{[^/]+} }
+ constraints: { model: %r{note|user|group|project|projects\/topic|achievements\/achievement}, mounted_as: /avatar|attachment/, filename: %r{[^/]+} }
# show uploads for models, snippets (notes) available for now
get '-/system/:model/:id/:secret/:filename',
@@ -19,7 +19,7 @@ scope path: :uploads do
# Appearance
get "-/system/:model/:mounted_as/:id/:filename",
to: "uploads#show",
- constraints: { model: /appearance/, mounted_as: /logo|header_logo|favicon/, filename: /.+/ },
+ constraints: { model: /appearance/, mounted_as: /logo|header_logo|pwa_icon|favicon/, filename: /.+/ },
as: 'appearance_upload'
# create uploads for models, snippets (notes) available for now
diff --git a/config/security/banned_ssh_keys.yml b/config/security/banned_ssh_keys.yml
new file mode 100644
index 00000000000..80d794d1731
--- /dev/null
+++ b/config/security/banned_ssh_keys.yml
@@ -0,0 +1,16 @@
+---
+# https://github.com/rapid7/ssh-badkeys/tree/master/authorized
+# https://www.ctrlu.net/vuln/0006.html
+rsa:
+ - SHA256:Z+q4XhSwWY7q0BIDVPR1v/S306FjGBsid7tLq/8kIxM
+ - SHA256:uy5wXyEgbRCGsk23+J6f85om7G55Cu3UIPwC7oMZhNQ
+ - SHA256:9prMbqhS4QteoFQ1ZRJDqSBLWoHXPyKB0iWR05Ghro4
+ - SHA256:1M4RzhMyWuFS/86uPY/ce2prh/dVTHW7iD2RhpquOZA
+ - SHA256:2ewGtK7Dc8XpnfNKShczdc8HSgoEGpoX+MiJkfH2p5I
+dsa:
+ - SHA256:/JLp6z6uGE3BPcs70RQob6QOdEWQ6nDC0xY7ejPOCc0
+ - SHA256:whDP3xjKBEettbDuecxtGsfWBST+78gb6McdB9P7jCU
+ - SHA256:MEc4HfsOlMqJ3/9QMTmrKn5Xj/yfnMITMW8EwfUfTww
+ - SHA256:aPoYT2nPIfhqv6BIlbCCpbDjirBxaDFOtPfZ2K20uWw
+ - SHA256:VtjqZ5fiaeoZ3mXOYi49Lk9aO31iT4pahKFP9JPiQPc
+...
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index 929df749422..b542ba45aa8 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -113,6 +113,8 @@
- 1
- - container_repository_delete
- 1
+- - counters_cleanup_refresh
+ - 1
- - create_commit_signature
- 2
- - create_github_webhook
@@ -209,8 +211,6 @@
- 1
- - gitlab_shell
- 2
-- - gitlab_subscriptions_notify_seats_exceeded
- - 1
- - gitlab_subscriptions_trials_apply_trial
- 1
- - google_cloud_create_cloudsql_instance
@@ -409,6 +409,8 @@
- 1
- - projects_delete_branch
- 1
+- - projects_finalize_project_statistics_refresh
+ - 1
- - projects_git_garbage_collect
- 1
- - projects_import_export_parallel_project_export
diff --git a/config/webpack.config.js b/config/webpack.config.js
index a0c65ed4012..fd58e22bb99 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -312,22 +312,27 @@ module.exports = {
test: /\.mjs$/,
use: [],
},
+ {
+ test: /(@cubejs-client\/vue).*\.(js)?$/,
+ include: /node_modules/,
+ loader: 'babel-loader',
+ },
WEBPACK_USE_ESBUILD_LOADER && {
- test: /\.js$/,
+ test: /\.(js|cjs)$/,
exclude: (modulePath) =>
/node_modules|vendor[\\/]assets/.test(modulePath) && !/\.vue\.js/.test(modulePath),
loader: 'esbuild-loader',
options: esbuildConfiguration,
},
!WEBPACK_USE_ESBUILD_LOADER && {
- test: /\.js$/,
+ test: /\.(js|cjs)$/,
exclude: (modulePath) =>
/node_modules|vendor[\\/]assets/.test(modulePath) && !/\.vue\.js/.test(modulePath),
loader: 'babel-loader',
options: defaultJsOptions,
},
WEBPACK_USE_ESBUILD_LOADER && {
- test: /\.js$/,
+ test: /\.(js|cjs)$/,
include: (modulePath) =>
/node_modules\/(monaco-worker-manager|monaco-marker-data-provider)\/index\.js/.test(
modulePath,
@@ -336,7 +341,7 @@ module.exports = {
options: esbuildConfiguration,
},
!WEBPACK_USE_ESBUILD_LOADER && {
- test: /\.js$/,
+ test: /\.(js|cjs)$/,
include: (modulePath) =>
/node_modules\/(monaco-worker-manager|monaco-marker-data-provider)\/index\.js/.test(
modulePath,