summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
commit859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch)
treed7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /config
parent446d496a6d000c73a304be52587cd9bbc7493136 (diff)
downloadgitlab-ce-859a6fb938bb9ee2a317c46dfa4fcc1af49608f0.tar.gz
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'config')
-rw-r--r--config/application.rb36
-rw-r--r--config/boot.rb2
-rw-r--r--config/dependency_decisions.yml8
-rw-r--r--config/environment.rb2
-rw-r--r--config/environments/development.rb10
-rw-r--r--config/environments/production.rb2
-rw-r--r--config/environments/test.rb2
-rw-r--r--config/feature_categories.yml3
-rw-r--r--config/feature_flags/development/add_issues_button.yml2
-rw-r--r--config/feature_flags/development/ajax_new_deploy_token.yml2
-rw-r--r--config/feature_flags/development/allow_group_deploy_token.yml2
-rw-r--r--config/feature_flags/development/api_always_use_application_json.yml (renamed from config/feature_flags/development/api_json_content_type.yml)2
-rw-r--r--config/feature_flags/development/archive_rate_limit.yml6
-rw-r--r--config/feature_flags/development/batch_suggestions.yml8
-rw-r--r--config/feature_flags/development/board_new_list.yml (renamed from config/feature_flags/development/variables_in_include_section_ci.yml)8
-rw-r--r--config/feature_flags/development/branches_pagination_without_count.yml (renamed from config/feature_flags/development/optional_code_owners_sections.yml)6
-rw-r--r--config/feature_flags/development/builds.yml8
-rw-r--r--config/feature_flags/development/cached_sidebar_open_issues_count.yml8
-rw-r--r--config/feature_flags/development/canary_ingress_weight_control.yml2
-rw-r--r--config/feature_flags/development/ci_accept_frontend_prometheus_metrics.yml (renamed from config/feature_flags/development/deploy_keys_on_protected_branches.yml)10
-rw-r--r--config/feature_flags/development/ci_config_merged_tab.yml (renamed from config/feature_flags/development/ci_auto_cancel_all_pipelines.yml)8
-rw-r--r--config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml2
-rw-r--r--config/feature_flags/development/ci_instance_variables_ui.yml2
-rw-r--r--config/feature_flags/development/ci_job_jwt.yml2
-rw-r--r--config/feature_flags/development/ci_jwt_include_environment.yml8
-rw-r--r--config/feature_flags/development/ci_jwt_signing_key.yml2
-rw-r--r--config/feature_flags/development/ci_mini_pipeline_gl_dropdown.yml (renamed from config/feature_flags/development/new_pipeline_form_prefilled_vars.yml)8
-rw-r--r--config/feature_flags/development/ci_store_pipeline_messages.yml2
-rw-r--r--config/feature_flags/development/ci_synchronous_artifact_parsing.yml2
-rw-r--r--config/feature_flags/development/ci_trigger_payload_into_pipeline.yml (renamed from config/feature_flags/development/graphql_pipeline_header.yml)8
-rw-r--r--config/feature_flags/development/ci_validate_build_dependencies.yml8
-rw-r--r--config/feature_flags/development/ci_validate_build_dependencies_override.yml (renamed from config/feature_flags/development/ci_disable_validates_dependencies.yml)4
-rw-r--r--config/feature_flags/development/clear_status_with_quick_options.yml (renamed from config/feature_flags/development/ci_pipeline_open_merge_requests.yml)10
-rw-r--r--config/feature_flags/development/codequality_backend_comparison.yml8
-rw-r--r--config/feature_flags/development/confidential_notes.yml (renamed from config/feature_flags/development/import_requirements_csv.yml)10
-rw-r--r--config/feature_flags/development/context_commits.yml8
-rw-r--r--config/feature_flags/development/coverage_data_new_finder.yml (renamed from config/feature_flags/development/smart_cobertura_parser.yml)8
-rw-r--r--config/feature_flags/development/database_sourced_aggregated_metrics.yml8
-rw-r--r--config/feature_flags/development/default_merge_ref_for_diffs.yml2
-rw-r--r--config/feature_flags/development/disable_git_http_fetch_writes.yml (renamed from config/feature_flags/ops/scalability_ci_fetch_sha.yml)12
-rw-r--r--config/feature_flags/development/disable_ssh_key_used_tracking.yml8
-rw-r--r--config/feature_flags/development/drop_license_management_artifact.yml6
-rw-r--r--config/feature_flags/development/dynamic_nonce_creation.yml8
-rw-r--r--config/feature_flags/development/export_reduce_relation_batch_size.yml6
-rw-r--r--config/feature_flags/development/feature_flag_api.yml2
-rw-r--r--config/feature_flags/development/feature_flag_permissions.yml2
-rw-r--r--config/feature_flags/development/file_identifier_hash.yml6
-rw-r--r--config/feature_flags/development/forking.yml8
-rw-r--r--config/feature_flags/development/forward_deployment_enabled.yml2
-rw-r--r--config/feature_flags/development/generic_packages.yml2
-rw-r--r--config/feature_flags/development/gitaly_catfile-cache.yml8
-rw-r--r--config/feature_flags/development/gitaly_deny_disk_access.yml8
-rw-r--r--config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml8
-rw-r--r--config/feature_flags/development/gitlab_ci_archived_trace_consistent_reads.yml (renamed from config/feature_flags/development/gitlab_experiments.yml)8
-rw-r--r--config/feature_flags/development/gitlab_ci_trace_read_consistency.yml8
-rw-r--r--config/feature_flags/development/gl_tooltips.yml8
-rw-r--r--config/feature_flags/development/graphql_individual_release_page.yml2
-rw-r--r--config/feature_flags/development/graphql_milestone_stats.yml2
-rw-r--r--config/feature_flags/development/graphql_pipeline_details_users.yml8
-rw-r--r--config/feature_flags/development/graphql_release_data.yml2
-rw-r--r--config/feature_flags/development/graphql_releases_page.yml2
-rw-r--r--config/feature_flags/development/group_ci_cd_analytics_page.yml2
-rw-r--r--config/feature_flags/development/group_import_export.yml6
-rw-r--r--config/feature_flags/development/honor_escaped_markdown.yml8
-rw-r--r--config/feature_flags/development/improved_merge_diff_highlighting.yml (renamed from config/feature_flags/development/core_security_mr_widget.yml)10
-rw-r--r--config/feature_flags/development/instance_statistics.yml2
-rw-r--r--config/feature_flags/development/issue_rebalancing_optimization.yml (renamed from config/feature_flags/development/track_issue_activity_actions.yml)10
-rw-r--r--config/feature_flags/development/issues.yml8
-rw-r--r--config/feature_flags/development/jira_for_vulnerabilities.yml2
-rw-r--r--config/feature_flags/development/jira_issues_show_integration.yml (renamed from config/feature_flags/development/jira_sync_feature_flags.yml)8
-rw-r--r--config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml8
-rw-r--r--config/feature_flags/development/lfs_check.yml4
-rw-r--r--config/feature_flags/development/local_file_reviews.yml (renamed from config/feature_flags/development/multiline_comments.yml)8
-rw-r--r--config/feature_flags/development/log_import_export_relation_creation.yml6
-rw-r--r--config/feature_flags/development/merge_request_draft_filter.yml2
-rw-r--r--config/feature_flags/development/merge_request_rebase_nowait_lock.yml8
-rw-r--r--config/feature_flags/development/merge_request_refs_cleanup.yml8
-rw-r--r--config/feature_flags/development/merge_requests.yml8
-rw-r--r--config/feature_flags/development/migrate_user_mentions.yml2
-rw-r--r--config/feature_flags/development/new_jira_connect_ui.yml2
-rw-r--r--config/feature_flags/development/new_release_page.yml2
-rw-r--r--config/feature_flags/development/not_issuable_queries.yml2
-rw-r--r--config/feature_flags/development/optimized_issuable_label_filter.yml4
-rw-r--r--config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml8
-rw-r--r--config/feature_flags/development/optimized_timebox_queries.yml8
-rw-r--r--config/feature_flags/development/pages.yml8
-rw-r--r--config/feature_flags/development/pages_serve_from_deployments.yml2
-rw-r--r--config/feature_flags/development/pages_serve_from_legacy_storage.yml8
-rw-r--r--config/feature_flags/development/pages_serve_from_migrated_zip.yml8
-rw-r--r--config/feature_flags/development/pages_serve_with_zip_file_protocol.yml4
-rw-r--r--config/feature_flags/development/pages_update_legacy_storage.yml (renamed from config/feature_flags/development/reviewer_approval_rules.yml)10
-rw-r--r--config/feature_flags/development/paginate_commit_view.yml8
-rw-r--r--config/feature_flags/development/prohibit_hexadecimal_branch_names.yml6
-rw-r--r--config/feature_flags/development/project_list_filter_bar.yml8
-rw-r--r--config/feature_flags/development/query_deploymenys_via_finished_at_in_vsa.yml8
-rw-r--r--config/feature_flags/development/release_evidence.yml2
-rw-r--r--config/feature_flags/development/release_mr_issue_urls.yml2
-rw-r--r--config/feature_flags/development/remove_comment_close_reopen.yml (renamed from config/feature_flags/development/merge_request_reviewers.yml)10
-rw-r--r--config/feature_flags/development/remove_resolve_note.yml2
-rw-r--r--config/feature_flags/development/repository.yml8
-rw-r--r--config/feature_flags/development/repository_archive_hotlinking_interception.yml6
-rw-r--r--config/feature_flags/development/retarget_merge_requests.yml (renamed from config/feature_flags/development/whats_new_drawer.yml)10
-rw-r--r--config/feature_flags/development/rubygem_packages.yml (renamed from config/feature_flags/development/packages_and_registries_group_settings.yml)8
-rw-r--r--config/feature_flags/development/secure_security_and_compliance_configuration_page_on_ce.yml (renamed from config/feature_flags/development/core_security_mr_widget_downloads.yml)10
-rw-r--r--config/feature_flags/development/similarity_search.yml2
-rw-r--r--config/feature_flags/development/simplified_commit_status_group_name.yml8
-rw-r--r--config/feature_flags/development/snippets.yml8
-rw-r--r--config/feature_flags/development/sort_diffs.yml4
-rw-r--r--config/feature_flags/development/specialized_project_authorization_workers.yml4
-rw-r--r--config/feature_flags/development/suggestions_custom_commit.yml2
-rw-r--r--config/feature_flags/development/trace_memory_allocations.yml (renamed from config/feature_flags/development/maintenance_mode.yml)10
-rw-r--r--config/feature_flags/development/track_unique_visits.yml2
-rw-r--r--config/feature_flags/development/track_unique_wiki_page_views.yml8
-rw-r--r--config/feature_flags/development/tribute_autocomplete.yml2
-rw-r--r--config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml6
-rw-r--r--config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml2
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_edit_mr_desc.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_edit_mr_title.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_approval_rule_added.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_approval_rule_deleted.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_approval_rule_edited.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_approve_mr.yml (renamed from config/feature_flags/development/operations.yml)8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_assigned.yml (renamed from config/feature_flags/development/squash_options.yml)6
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_create_mr_from_issue.yml (renamed from config/feature_flags/development/dag_pipeline_tab.yml)8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_marked_as_draft.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_review_requested.yml (renamed from config/feature_flags/development/deploy_tokens_api.yml)8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_toggled_task_item_status.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_unapprove_mr.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_unmarked_as_draft.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_code_review_user_vs_code_api_request.yml (renamed from config/feature_flags/development/approval_suggestions.yml)8
-rw-r--r--config/feature_flags/development/usage_data_i_testing_group_code_coverage_project_click_total.yml (renamed from config/feature_flags/development/ci_live_trace_use_fog_attributes.yml)8
-rw-r--r--config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml8
-rw-r--r--config/feature_flags/development/usage_data_i_testing_metrics_report_artifact_uploaders.yml8
-rw-r--r--config/feature_flags/development/usage_data_track_ecosystem_jira_service.yml (renamed from config/feature_flags/development/jira_sync_deployments.yml)8
-rw-r--r--config/feature_flags/development/usage_data_track_quickactions.yml (renamed from config/feature_flags/development/vue_issuable_sidebar.yml)8
-rw-r--r--config/feature_flags/development/usage_data_unique_users_committing_ciconfigfile.yml (renamed from config/feature_flags/development/ci_allow_failure_with_exit_codes.yml)8
-rw-r--r--config/feature_flags/development/use_workhorse_s3_client.yml2
-rw-r--r--config/feature_flags/development/user_mode_in_session.yml8
-rw-r--r--config/feature_flags/development/user_time_settings.yml8
-rw-r--r--config/feature_flags/development/validate_import_decompressed_archive_size.yml6
-rw-r--r--config/feature_flags/development/vue_epics_list.yml (renamed from config/feature_flags/development/jira_sync_builds.yml)10
-rw-r--r--config/feature_flags/development/vue_notification_dropdown.yml (renamed from config/feature_flags/development/caching_experiments.yml)10
-rw-r--r--config/feature_flags/development/vue_project_members_list.yml (renamed from config/feature_flags/development/metrics_dashboard.yml)10
-rw-r--r--config/feature_flags/development/webperf_experiment.yml8
-rw-r--r--config/feature_flags/development/wiki.yml8
-rw-r--r--config/feature_flags/development/workhorse_archive_cache_disabled.yml6
-rw-r--r--config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml8
-rw-r--r--config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml (renamed from config/feature_flags/experiment/pipelines_empty_state_experiment_percentage.yml)8
-rw-r--r--config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml2
-rw-r--r--config/feature_flags/experiment/jobs_empty_state_experiment_percentage.yml8
-rw-r--r--config/feature_flags/experiment/learn_gitlab_a_experiment_percentage.yml (renamed from config/feature_flags/experiment/onboarding_issues_experiment_percentage.yml)10
-rw-r--r--config/feature_flags/experiment/learn_gitlab_b_experiment_percentage.yml8
-rw-r--r--config/feature_flags/experiment/members_invite_email.yml8
-rw-r--r--config/gitlab.yml.example10
-rw-r--r--config/helpers/incremental_webpack_compiler.js128
-rw-r--r--config/initializers/01_secret_token.rb2
-rw-r--r--config/initializers/0_acts_as_taggable.rb2
-rw-r--r--config/initializers/0_inject_enterprise_edition_module.rb35
-rw-r--r--config/initializers/0_inject_feature_flags.rb2
-rw-r--r--config/initializers/0_marginalia.rb5
-rw-r--r--config/initializers/0_post_deployment_migrations.rb2
-rw-r--r--config/initializers/1_settings.rb27
-rw-r--r--config/initializers/2_gitlab.rb2
-rw-r--r--config/initializers/5_backend.rb2
-rw-r--r--config/initializers/6_validations.rb2
-rw-r--r--config/initializers/7_prometheus_metrics.rb47
-rw-r--r--config/initializers/7_redis.rb2
-rw-r--r--config/initializers/8_devise.rb2
-rw-r--r--config/initializers/8_gitaly.rb2
-rw-r--r--config/initializers/9_fast_gettext.rb2
-rw-r--r--config/initializers/action_dispatch_http_mime_negotiation.rb2
-rw-r--r--config/initializers/action_mailer_hooks.rb2
-rw-r--r--config/initializers/active_record_data_types.rb2
-rw-r--r--config/initializers/active_record_ping.rb2
-rw-r--r--config/initializers/active_record_preloader.rb2
-rw-r--r--config/initializers/active_record_schema_ignore_tables.rb2
-rw-r--r--config/initializers/active_record_table_definition.rb2
-rw-r--r--config/initializers/ar_speed_up_migration_checking.rb2
-rw-r--r--config/initializers/asset_proxy_settings.rb2
-rw-r--r--config/initializers/attr_encrypted_no_db_connection.rb2
-rw-r--r--config/initializers/backtrace_silencers.rb2
-rw-r--r--config/initializers/batch_loader.rb2
-rw-r--r--config/initializers/bootstrap_form.rb2
-rw-r--r--config/initializers/bullet.rb2
-rw-r--r--config/initializers/cluster_events_before_phased_restart.rb2
-rw-r--r--config/initializers/console_message.rb2
-rw-r--r--config/initializers/cookies_serializer.rb2
-rw-r--r--config/initializers/date_time_formats.rb2
-rw-r--r--config/initializers/default_url_options.rb2
-rw-r--r--config/initializers/deprecations.rb2
-rw-r--r--config/initializers/direct_upload_support.rb2
-rw-r--r--config/initializers/doorkeeper.rb2
-rw-r--r--config/initializers/doorkeeper_openid_connect.rb2
-rw-r--r--config/initializers/etag_caching.rb2
-rw-r--r--config/initializers/faraday.rb3
-rw-r--r--config/initializers/fill_shards.rb2
-rw-r--r--config/initializers/fix_local_cache_middleware.rb2
-rw-r--r--config/initializers/fog_google_https_private_urls.rb2
-rw-r--r--config/initializers/forbid_sidekiq_in_transactions.rb2
-rw-r--r--config/initializers/gettext_rails_i18n_patch.rb2
-rw-r--r--config/initializers/gitlab_kas_secret.rb2
-rw-r--r--config/initializers/gitlab_shell_secret_token.rb2
-rw-r--r--config/initializers/gitlab_workhorse_secret.rb2
-rw-r--r--config/initializers/go_get.rb2
-rw-r--r--config/initializers/grpc.rb2
-rw-r--r--config/initializers/hamlit.rb2
-rw-r--r--config/initializers/health_check.rb2
-rw-r--r--config/initializers/http_hostname_override.rb2
-rw-r--r--config/initializers/kaminari_active_record_relation_methods_with_limit.rb2
-rw-r--r--config/initializers/kaminari_config.rb2
-rw-r--r--config/initializers/lograge.rb2
-rw-r--r--config/initializers/mail_encoding_patch.rb2
-rw-r--r--config/initializers/mime_types.rb2
-rw-r--r--config/initializers/mini_magick.rb2
-rw-r--r--config/initializers/net_http_patch.rb33
-rw-r--r--config/initializers/new_framework_defaults.rb2
-rw-r--r--config/initializers/octokit.rb2
-rw-r--r--config/initializers/omniauth.rb2
-rw-r--r--config/initializers/peek.rb3
-rw-r--r--config/initializers/postgresql_cte.rb2
-rw-r--r--config/initializers/premailer.rb2
-rw-r--r--config/initializers/query_limiting.rb2
-rw-r--r--config/initializers/rack_attack_logging.rb38
-rw-r--r--config/initializers/rack_lineprof.rb2
-rw-r--r--config/initializers/relative_naming_ci_namespace.rb2
-rw-r--r--config/initializers/request_context.rb2
-rw-r--r--config/initializers/request_profiler.rb2
-rw-r--r--config/initializers/routing_draw.rb2
-rw-r--r--config/initializers/sentry.rb2
-rw-r--r--config/initializers/server_uptime.rb2
-rw-r--r--config/initializers/session_store.rb2
-rw-r--r--config/initializers/sherlock.rb2
-rw-r--r--config/initializers/sidekiq.rb4
-rw-r--r--config/initializers/sprockets.rb2
-rw-r--r--config/initializers/static_files.rb2
-rw-r--r--config/initializers/time_zone.rb2
-rw-r--r--config/initializers/tracing.rb1
-rw-r--r--config/initializers/trusted_proxies.rb2
-rw-r--r--config/initializers/validate_puma.rb10
-rw-r--r--config/initializers/warden.rb2
-rw-r--r--config/initializers/workhorse_multipart.rb2
-rw-r--r--config/initializers/wrap_parameters.rb2
-rw-r--r--config/initializers/zz_metrics.rb17
-rw-r--r--config/initializers_before_autoloader/000_inflections.rb2
-rw-r--r--config/known_invalid_graphql_queries.yml4
-rw-r--r--config/metrics/counts_28d/20210201124930_deployments.yml20
-rw-r--r--config/metrics/counts_28d/deployments.yml15
-rw-r--r--config/metrics/counts_7d/20210201124931_g_project_management_issue_title_changed_weekly.yml20
-rw-r--r--config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml16
-rw-r--r--config/metrics/counts_all/20210201124934_deployments.yml19
-rw-r--r--config/metrics/counts_all/20210204124930_servers.yml14
-rw-r--r--config/metrics/counts_all/20210204124932_clusters.yml14
-rw-r--r--config/metrics/counts_all/deployments.yml15
-rw-r--r--config/metrics/license/20210201124932_recorded_at.yml (renamed from config/metrics/license/recorded_at.yml)22
-rw-r--r--config/metrics/license/20210201124933_uuid.yml20
-rw-r--r--config/metrics/license/20210204124827_hostname.yml19
-rw-r--r--config/metrics/license/20210204124829_active_user_count.yml19
-rw-r--r--config/metrics/license/20210204124854_license_management_jobs.yml16
-rw-r--r--config/metrics/license/20210204124926_license_trial_ends_on.yml14
-rw-r--r--config/metrics/license/20210204124928_version.yml14
-rw-r--r--config/metrics/license/20210204124936_version.yml14
-rw-r--r--config/metrics/license/20210204124938_recording_ce_finished_at.yml16
-rw-r--r--config/metrics/license/uuid.yml17
-rw-r--r--config/metrics/schema.json34
-rw-r--r--config/metrics/settings/20210201124935_database_adapter.yml (renamed from config/metrics/settings/database_adapter.yml)22
-rw-r--r--config/metrics/settings/20210204124856_instance_auto_devops_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124858_container_registry_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124900_dependency_proxy_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124902_gitlab_shared_runners_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124904_gravatar_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124906_ldap_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124908_mattermost_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124910_omniauth_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124912_prometheus_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124914_prometheus_metrics_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124916_reply_by_email_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124918_signup_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124920_web_ide_clientside_preview_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124922_grafana_link_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124924_elasticsearch_enabled.yml14
-rw-r--r--config/metrics/settings/20210204124934_enabled.yml14
-rw-r--r--config/object_store_settings.rb16
-rw-r--r--config/puma.example.development.rb2
-rw-r--r--config/puma.rb.example2
-rw-r--r--config/puma_actioncable.example.development.rb2
-rw-r--r--config/routes.rb27
-rw-r--r--config/routes/admin.rb2
-rw-r--r--config/routes/api.rb2
-rw-r--r--config/routes/dashboard.rb2
-rw-r--r--config/routes/development.rb2
-rw-r--r--config/routes/explore.rb2
-rw-r--r--config/routes/git_http.rb6
-rw-r--r--config/routes/google_api.rb2
-rw-r--r--config/routes/group.rb1
-rw-r--r--config/routes/help.rb2
-rw-r--r--config/routes/import.rb2
-rw-r--r--config/routes/legacy_builds.rb2
-rw-r--r--config/routes/merge_requests.rb1
-rw-r--r--config/routes/project.rb13
-rw-r--r--config/routes/repository.rb2
-rw-r--r--config/routes/sherlock.rb2
-rw-r--r--config/routes/sidekiq.rb2
-rw-r--r--config/routes/snippets.rb2
-rw-r--r--config/routes/uploads.rb2
-rw-r--r--config/routes/user.rb4
-rw-r--r--config/routes/wiki.rb2
-rw-r--r--config/sidekiq_queues.yml12
-rw-r--r--config/smime_signature_settings.rb2
-rw-r--r--config/spring.rb2
-rw-r--r--config/webpack.config.js26
314 files changed, 1650 insertions, 604 deletions
diff --git a/config/application.rb b/config/application.rb
index a8b6bc937cf..7e15d02a6da 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -176,12 +176,15 @@ module Gitlab
config.assets.precompile << "notify.css"
config.assets.precompile << "mailers/*.css"
config.assets.precompile << "page_bundles/_mixins_and_variables_and_functions.css"
+ config.assets.precompile << "page_bundles/admin/application_settings_metrics_and_profiling.css"
+ config.assets.precompile << "page_bundles/admin/jobs_index.css"
config.assets.precompile << "page_bundles/alert_management_details.css"
config.assets.precompile << "page_bundles/alert_management_settings.css"
config.assets.precompile << "page_bundles/boards.css"
config.assets.precompile << "page_bundles/build.css"
config.assets.precompile << "page_bundles/ci_status.css"
config.assets.precompile << "page_bundles/cycle_analytics.css"
+ config.assets.precompile << "page_bundles/security_discover.css"
config.assets.precompile << "page_bundles/dev_ops_report.css"
config.assets.precompile << "page_bundles/environments.css"
config.assets.precompile << "page_bundles/epics.css"
@@ -287,6 +290,14 @@ module Gitlab
methods: :any,
expose: headers_to_expose
end
+
+ # Cross-origin requests must be enabled for the Authorization code with PKCE OAuth flow when used from a browser.
+ allow do
+ origins '*'
+ resource '/oauth/token',
+ credentials: false,
+ methods: [:post]
+ end
end
# Use caching across all environments
@@ -368,30 +379,5 @@ module Gitlab
end
end
end
-
- config.after_initialize do
- # Devise (see initializers/8_devise.rb) already reloads routes if
- # eager loading is enabled, so don't do this twice since it's
- # expensive.
- Rails.application.reload_routes! unless config.eager_load
-
- project_url_helpers = Module.new do
- extend ActiveSupport::Concern
-
- Gitlab::Application.routes.named_routes.helper_names.each do |name|
- next unless name.include?('namespace_project')
-
- define_method(name.sub('namespace_project', 'project')) do |project, *args|
- send(name, project&.namespace, project, *args)
- end
- end
- end
-
- # We add the MilestonesRoutingHelper because we know that this does not
- # conflict with the methods defined in `project_url_helpers`, and we want
- # these methods available in the same places.
- Gitlab::Routing.add_helpers(project_url_helpers)
- Gitlab::Routing.add_helpers(TimeboxesRoutingHelper)
- end
end
end
diff --git a/config/boot.rb b/config/boot.rb
index da4e6b7290c..41bf7953737 100644
--- a/config/boot.rb
+++ b/config/boot.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
# Set up gems listed in the Gemfile.
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml
index c12ede63fba..774254d2ff1 100644
--- a/config/dependency_decisions.yml
+++ b/config/dependency_decisions.yml
@@ -310,7 +310,7 @@
- dompurify
- Apache-2.0
- :who: Lukas Eipert
- :why: "https://github.com/cure53/DOMPurify/blob/main/LICENSE and https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31928#note_346604841"
+ :why: https://github.com/cure53/DOMPurify/blob/main/LICENSE and https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31928#note_346604841
:versions: []
:when: 2020-08-13 13:42:46.508082000 Z
- - :permit
@@ -325,3 +325,9 @@
:why: Used to generate documentation. https://pypi.org/project/docutils/0.13.1/
:versions: []
:when: 2020-10-05 20:22:55.955189491 Z
+- - :permit
+ - WTFPL
+ - :who: Stan Hu
+ :why: https://github.com/xijo/reverse_markdown/blob/master/LICENSE
+ :versions: []
+ :when: 2021-02-03 08:47:28.792907000 Z
diff --git a/config/environment.rb b/config/environment.rb
index 426333bb469..d5abe55806c 100644
--- a/config/environment.rb
+++ b/config/environment.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Load the Rails application.
require_relative 'application'
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 31a3af77ba1..50d394859bc 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb
@@ -9,7 +11,13 @@ Rails.application.configure do
# Show full error reports and disable caching
config.active_record.verbose_query_logs = true
config.consider_all_requests_local = true
- config.action_controller.perform_caching = false
+
+ if Rails.root.join('tmp', 'caching-dev.txt').exist?
+ config.action_controller.perform_caching = true
+ config.action_controller.enable_fragment_cache_logging = true
+ else
+ config.action_controller.perform_caching = false
+ end
# Show a warning when a large data set is loaded into memory
config.active_record.warn_on_records_fetched_greater_than = 1000
diff --git a/config/environments/production.rb b/config/environments/production.rb
index d9b3ee354b0..e1a7db8d860 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 4e359cd308c..2c6ab3bbc79 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'gitlab/testing/request_blocker_middleware'
require 'gitlab/testing/robots_blocker_middleware'
require 'gitlab/testing/request_inspector_middleware'
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 805cc3b50a3..5c7ae175d1d 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -66,6 +66,7 @@
- jenkins_importer
- jira_importer
- kubernetes_management
+- license
- license_compliance
- live_preview
- load_testing
@@ -84,7 +85,6 @@
- privacy_control_center
- product_analytics
- projects
-- provision
- purchase
- quality_management
- release_evidence
@@ -113,6 +113,7 @@
- usability_testing
- usage_ping
- users
+- utilization
- value_stream_management
- vulnerability_database
- vulnerability_management
diff --git a/config/feature_flags/development/add_issues_button.yml b/config/feature_flags/development/add_issues_button.yml
index cc4727a29c4..12a6ef61bba 100644
--- a/config/feature_flags/development/add_issues_button.yml
+++ b/config/feature_flags/development/add_issues_button.yml
@@ -1,7 +1,7 @@
---
name: add_issues_button
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47898
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292803
milestone: '13.6'
type: development
group: group::project management
diff --git a/config/feature_flags/development/ajax_new_deploy_token.yml b/config/feature_flags/development/ajax_new_deploy_token.yml
index 9a6826e6993..6b0d9697006 100644
--- a/config/feature_flags/development/ajax_new_deploy_token.yml
+++ b/config/feature_flags/development/ajax_new_deploy_token.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27141
rollout_issue_url:
milestone: '12.10'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/allow_group_deploy_token.yml b/config/feature_flags/development/allow_group_deploy_token.yml
index 91437352ad8..83f8f86b02c 100644
--- a/config/feature_flags/development/allow_group_deploy_token.yml
+++ b/config/feature_flags/development/allow_group_deploy_token.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23460
rollout_issue_url:
milestone: '12.8'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/api_json_content_type.yml b/config/feature_flags/development/api_always_use_application_json.yml
index 5653a834e62..4405ef64012 100644
--- a/config/feature_flags/development/api_json_content_type.yml
+++ b/config/feature_flags/development/api_always_use_application_json.yml
@@ -1,5 +1,5 @@
---
-name: api_json_content_type
+name: api_always_use_application_json
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42229
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/270067
milestone: '13.6'
diff --git a/config/feature_flags/development/archive_rate_limit.yml b/config/feature_flags/development/archive_rate_limit.yml
index ee4af4d2835..3318d7fa939 100644
--- a/config/feature_flags/development/archive_rate_limit.yml
+++ b/config/feature_flags/development/archive_rate_limit.yml
@@ -1,8 +1,8 @@
---
name: archive_rate_limit
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25750
rollout_issue_url:
-milestone:
+milestone: '12.9'
type: development
-group:
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/batch_suggestions.yml b/config/feature_flags/development/batch_suggestions.yml
index f2bb0a8f9cb..6a13094f0ab 100644
--- a/config/feature_flags/development/batch_suggestions.yml
+++ b/config/feature_flags/development/batch_suggestions.yml
@@ -1,8 +1,8 @@
---
name: batch_suggestions
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34782
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320755
+milestone: '13.1'
type: development
-group:
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/variables_in_include_section_ci.yml b/config/feature_flags/development/board_new_list.yml
index f6fc810e6f2..e80da8c554f 100644
--- a/config/feature_flags/development/variables_in_include_section_ci.yml
+++ b/config/feature_flags/development/board_new_list.yml
@@ -1,8 +1,8 @@
---
-name: variables_in_include_section_ci
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50188/
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294294
+name: board_new_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52061
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299366
milestone: '13.8'
type: development
-group: group::compliance
+group: group::project management
default_enabled: false
diff --git a/config/feature_flags/development/optional_code_owners_sections.yml b/config/feature_flags/development/branches_pagination_without_count.yml
index a7933f42fc9..e342f302b2c 100644
--- a/config/feature_flags/development/optional_code_owners_sections.yml
+++ b/config/feature_flags/development/branches_pagination_without_count.yml
@@ -1,8 +1,8 @@
---
-name: optional_code_owners_sections
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51002
+name: branches_pagination_without_count
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50759
rollout_issue_url:
-milestone: '13.8'
+milestone: '13.9'
type: development
group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/builds.yml b/config/feature_flags/development/builds.yml
deleted file mode 100644
index 9787c2b1e20..00000000000
--- a/config/feature_flags/development/builds.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: builds
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/cached_sidebar_open_issues_count.yml b/config/feature_flags/development/cached_sidebar_open_issues_count.yml
new file mode 100644
index 00000000000..e94566057fc
--- /dev/null
+++ b/config/feature_flags/development/cached_sidebar_open_issues_count.yml
@@ -0,0 +1,8 @@
+---
+name: cached_sidebar_open_issues_count
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49739
+rollout_issue_url:
+milestone: '13.8'
+type: development
+group: group::product planning
+default_enabled: false
diff --git a/config/feature_flags/development/canary_ingress_weight_control.yml b/config/feature_flags/development/canary_ingress_weight_control.yml
index b2b5a3e5dfa..66d3f2de0ea 100644
--- a/config/feature_flags/development/canary_ingress_weight_control.yml
+++ b/config/feature_flags/development/canary_ingress_weight_control.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43816
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/260295
milestone: '13.5'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/deploy_keys_on_protected_branches.yml b/config/feature_flags/development/ci_accept_frontend_prometheus_metrics.yml
index 438726c0315..b795b2505d8 100644
--- a/config/feature_flags/development/deploy_keys_on_protected_branches.yml
+++ b/config/feature_flags/development/ci_accept_frontend_prometheus_metrics.yml
@@ -1,8 +1,8 @@
---
-name: deploy_keys_on_protected_branches
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35638
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/247866
-milestone: '13.5'
+name: ci_accept_frontend_prometheus_metrics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52820
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300770
+milestone: '13.9'
type: development
-group: group::progressive delivery
+group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml b/config/feature_flags/development/ci_config_merged_tab.yml
index 7dfc6146b08..8ccdf105951 100644
--- a/config/feature_flags/development/ci_auto_cancel_all_pipelines.yml
+++ b/config/feature_flags/development/ci_config_merged_tab.yml
@@ -1,8 +1,8 @@
---
-name: ci_auto_cancel_all_pipelines
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46686
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/275997
-milestone: '13.6'
+name: ci_config_merged_tab
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53299
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/301103
+milestone: '13.9'
type: development
group: group::pipeline authoring
default_enabled: true
diff --git a/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml b/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml
index 4b134457a20..3962af65540 100644
--- a/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml
+++ b/config/feature_flags/development/ci_disallow_to_create_merge_request_pipelines_in_target_project.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40724
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/235119
milestone: '13.4'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/ci_instance_variables_ui.yml b/config/feature_flags/development/ci_instance_variables_ui.yml
index f5cd2d21bd1..73bc0346818 100644
--- a/config/feature_flags/development/ci_instance_variables_ui.yml
+++ b/config/feature_flags/development/ci_instance_variables_ui.yml
@@ -1,7 +1,7 @@
---
name: ci_instance_variables_ui
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33510
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299879
milestone: '13.1'
type: development
group: group::continuous integration
diff --git a/config/feature_flags/development/ci_job_jwt.yml b/config/feature_flags/development/ci_job_jwt.yml
index cba278c9103..ef2f43175ed 100644
--- a/config/feature_flags/development/ci_job_jwt.yml
+++ b/config/feature_flags/development/ci_job_jwt.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28063
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207125
milestone: '12.10'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/ci_jwt_include_environment.yml b/config/feature_flags/development/ci_jwt_include_environment.yml
new file mode 100644
index 00000000000..ea55ce0c569
--- /dev/null
+++ b/config/feature_flags/development/ci_jwt_include_environment.yml
@@ -0,0 +1,8 @@
+---
+name: ci_jwt_include_environment
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53431
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321206
+milestone: '13.9'
+type: development
+group: group::configure
+default_enabled: false
diff --git a/config/feature_flags/development/ci_jwt_signing_key.yml b/config/feature_flags/development/ci_jwt_signing_key.yml
index 4f37b49d797..021f4e49e41 100644
--- a/config/feature_flags/development/ci_jwt_signing_key.yml
+++ b/config/feature_flags/development/ci_jwt_signing_key.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34249
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/258546
milestone: '13.6'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml b/config/feature_flags/development/ci_mini_pipeline_gl_dropdown.yml
index 0354b18fafd..50e1e6715df 100644
--- a/config/feature_flags/development/new_pipeline_form_prefilled_vars.yml
+++ b/config/feature_flags/development/ci_mini_pipeline_gl_dropdown.yml
@@ -1,8 +1,8 @@
---
-name: new_pipeline_form_prefilled_vars
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44120
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263276
-milestone: '13.5'
+name: ci_mini_pipeline_gl_dropdown
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52821
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300400
+milestone: '13.9'
type: development
group: group::continuous integration
default_enabled: true
diff --git a/config/feature_flags/development/ci_store_pipeline_messages.yml b/config/feature_flags/development/ci_store_pipeline_messages.yml
index ae20b11f79c..702e4d891a9 100644
--- a/config/feature_flags/development/ci_store_pipeline_messages.yml
+++ b/config/feature_flags/development/ci_store_pipeline_messages.yml
@@ -1,7 +1,7 @@
---
name: ci_store_pipeline_messages
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33762
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/224199
milestone: '13.2'
type: development
group: group::continuous integration
diff --git a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
index a5cf148559f..ab3a35e409b 100644
--- a/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
+++ b/config/feature_flags/development/ci_synchronous_artifact_parsing.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26247
rollout_issue_url:
milestone: '12.9'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/graphql_pipeline_header.yml b/config/feature_flags/development/ci_trigger_payload_into_pipeline.yml
index 1d400c17452..93dd7113f2a 100644
--- a/config/feature_flags/development/graphql_pipeline_header.yml
+++ b/config/feature_flags/development/ci_trigger_payload_into_pipeline.yml
@@ -1,8 +1,8 @@
---
-name: graphql_pipeline_header
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39494
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254235
-milestone: '13.5'
+name: ci_trigger_payload_into_pipeline
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53837
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321027
+milestone: '13.9'
type: development
group: group::pipeline authoring
default_enabled: false
diff --git a/config/feature_flags/development/ci_validate_build_dependencies.yml b/config/feature_flags/development/ci_validate_build_dependencies.yml
new file mode 100644
index 00000000000..885bdcf0c20
--- /dev/null
+++ b/config/feature_flags/development/ci_validate_build_dependencies.yml
@@ -0,0 +1,8 @@
+---
+name: ci_validate_build_dependencies
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14009
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257852
+milestone: '10.3'
+type: development
+group: group::continuous integration
+default_enabled: true
diff --git a/config/feature_flags/development/ci_disable_validates_dependencies.yml b/config/feature_flags/development/ci_validate_build_dependencies_override.yml
index fd5b3d41eef..bce4b88ca39 100644
--- a/config/feature_flags/development/ci_disable_validates_dependencies.yml
+++ b/config/feature_flags/development/ci_validate_build_dependencies_override.yml
@@ -1,7 +1,7 @@
---
-name: ci_disable_validates_dependencies
+name: ci_validate_build_dependencies_override
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/14009
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257847
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257852
milestone: '10.3'
type: development
group: group::continuous integration
diff --git a/config/feature_flags/development/ci_pipeline_open_merge_requests.yml b/config/feature_flags/development/clear_status_with_quick_options.yml
index 7e2ae1edd34..3a8af1569c2 100644
--- a/config/feature_flags/development/ci_pipeline_open_merge_requests.yml
+++ b/config/feature_flags/development/clear_status_with_quick_options.yml
@@ -1,8 +1,8 @@
---
-name: ci_pipeline_open_merge_requests
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38673
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292727
-milestone: '13.7'
-group: group::memory
+name: clear_status_with_quick_options
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53620
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320777
+milestone: '13.9'
type: development
+group: group::optimize
default_enabled: true
diff --git a/config/feature_flags/development/codequality_backend_comparison.yml b/config/feature_flags/development/codequality_backend_comparison.yml
new file mode 100644
index 00000000000..f7c3c14f674
--- /dev/null
+++ b/config/feature_flags/development/codequality_backend_comparison.yml
@@ -0,0 +1,8 @@
+---
+name: codequality_backend_comparison
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53068
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300796
+milestone: '13.9'
+type: development
+group: group::testing
+default_enabled: false
diff --git a/config/feature_flags/development/import_requirements_csv.yml b/config/feature_flags/development/confidential_notes.yml
index 736d2204b44..4e9add5eb3c 100644
--- a/config/feature_flags/development/import_requirements_csv.yml
+++ b/config/feature_flags/development/confidential_notes.yml
@@ -1,8 +1,8 @@
---
-name: import_requirements_csv
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48060
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284846
-milestone: '13.7'
+name: confidential_notes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52949
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/207474
+milestone: '13.9'
type: development
group: group::product planning
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/context_commits.yml b/config/feature_flags/development/context_commits.yml
index 270a058558b..521ab5d0a6f 100644
--- a/config/feature_flags/development/context_commits.yml
+++ b/config/feature_flags/development/context_commits.yml
@@ -1,8 +1,8 @@
---
name: context_commits
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23701
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320757
+milestone: '12.8'
type: development
-group:
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/smart_cobertura_parser.yml b/config/feature_flags/development/coverage_data_new_finder.yml
index a3aa182e412..a7c283ce3db 100644
--- a/config/feature_flags/development/smart_cobertura_parser.yml
+++ b/config/feature_flags/development/coverage_data_new_finder.yml
@@ -1,8 +1,8 @@
---
-name: smart_cobertura_parser
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48048
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/284822
-milestone: '13.7'
+name: coverage_data_new_finder
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53670
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/301093
+milestone: '13.9'
type: development
group: group::testing
default_enabled: false
diff --git a/config/feature_flags/development/database_sourced_aggregated_metrics.yml b/config/feature_flags/development/database_sourced_aggregated_metrics.yml
new file mode 100644
index 00000000000..d971ad0b9d2
--- /dev/null
+++ b/config/feature_flags/development/database_sourced_aggregated_metrics.yml
@@ -0,0 +1,8 @@
+---
+name: database_sourced_aggregated_metrics
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52784
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300411
+milestone: '13.9'
+type: development
+group: group::product intelligence
+default_enabled: false
diff --git a/config/feature_flags/development/default_merge_ref_for_diffs.yml b/config/feature_flags/development/default_merge_ref_for_diffs.yml
index 1058cff5e8f..f197044d47f 100644
--- a/config/feature_flags/development/default_merge_ref_for_diffs.yml
+++ b/config/feature_flags/development/default_merge_ref_for_diffs.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276917
milestone: '13.4'
type: development
group: group::code review
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/ops/scalability_ci_fetch_sha.yml b/config/feature_flags/development/disable_git_http_fetch_writes.yml
index e8133f16072..aba9df97d95 100644
--- a/config/feature_flags/ops/scalability_ci_fetch_sha.yml
+++ b/config/feature_flags/development/disable_git_http_fetch_writes.yml
@@ -1,8 +1,8 @@
---
-name: scalability_ci_fetch_sha
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51208
-rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/746
-milestone: '13.8'
-type: ops
-group: team::Scalability
+name: disable_git_http_fetch_writes
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54322
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/883
+milestone: '13.9'
+type: development
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/development/disable_ssh_key_used_tracking.yml b/config/feature_flags/development/disable_ssh_key_used_tracking.yml
new file mode 100644
index 00000000000..2efd38b073a
--- /dev/null
+++ b/config/feature_flags/development/disable_ssh_key_used_tracking.yml
@@ -0,0 +1,8 @@
+---
+name: disable_ssh_key_used_tracking
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/54335
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/889
+milestone: '13.9'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/drop_license_management_artifact.yml b/config/feature_flags/development/drop_license_management_artifact.yml
index 1be40187b43..23c2290c07d 100644
--- a/config/feature_flags/development/drop_license_management_artifact.yml
+++ b/config/feature_flags/development/drop_license_management_artifact.yml
@@ -1,8 +1,8 @@
---
name: drop_license_management_artifact
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31247
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299114
+milestone: 13.0
type: development
group: group::composition analysis
default_enabled: true
diff --git a/config/feature_flags/development/dynamic_nonce_creation.yml b/config/feature_flags/development/dynamic_nonce_creation.yml
new file mode 100644
index 00000000000..b135f288554
--- /dev/null
+++ b/config/feature_flags/development/dynamic_nonce_creation.yml
@@ -0,0 +1,8 @@
+---
+name: dynamic_nonce_creation
+introduced_by_url:
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::manage
+default_enabled: false
diff --git a/config/feature_flags/development/export_reduce_relation_batch_size.yml b/config/feature_flags/development/export_reduce_relation_batch_size.yml
index 70b19dfe594..63164b6e9fe 100644
--- a/config/feature_flags/development/export_reduce_relation_batch_size.yml
+++ b/config/feature_flags/development/export_reduce_relation_batch_size.yml
@@ -1,8 +1,8 @@
---
name: export_reduce_relation_batch_size
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34057
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282245
+milestone: '13.1'
type: development
group: group::import
default_enabled: false
diff --git a/config/feature_flags/development/feature_flag_api.yml b/config/feature_flags/development/feature_flag_api.yml
index 3dc1d87d741..167b5ff4cf2 100644
--- a/config/feature_flags/development/feature_flag_api.yml
+++ b/config/feature_flags/development/feature_flag_api.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18198
rollout_issue_url:
milestone: '12.4'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/feature_flag_permissions.yml b/config/feature_flags/development/feature_flag_permissions.yml
index b7a4e8cb1bb..48371af5221 100644
--- a/config/feature_flags/development/feature_flag_permissions.yml
+++ b/config/feature_flags/development/feature_flag_permissions.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/10096
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254981
milestone: '11.10'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/file_identifier_hash.yml b/config/feature_flags/development/file_identifier_hash.yml
index d5dc2b03eb6..84879e6c33e 100644
--- a/config/feature_flags/development/file_identifier_hash.yml
+++ b/config/feature_flags/development/file_identifier_hash.yml
@@ -1,8 +1,8 @@
---
name: file_identifier_hash
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33028
rollout_issue_url:
-milestone:
+milestone: '13.1'
type: development
-group:
+group: group::code review
default_enabled: false
diff --git a/config/feature_flags/development/forking.yml b/config/feature_flags/development/forking.yml
deleted file mode 100644
index 77e223d6268..00000000000
--- a/config/feature_flags/development/forking.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: forking
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/forward_deployment_enabled.yml b/config/feature_flags/development/forward_deployment_enabled.yml
index b4ad2e75561..750fad15f15 100644
--- a/config/feature_flags/development/forward_deployment_enabled.yml
+++ b/config/feature_flags/development/forward_deployment_enabled.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/24412
rollout_issue_url:
milestone: '12.8'
type: development
-group: group::progressive delivery
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/generic_packages.yml b/config/feature_flags/development/generic_packages.yml
index aa41fb58a56..b2ab35c713c 100644
--- a/config/feature_flags/development/generic_packages.yml
+++ b/config/feature_flags/development/generic_packages.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40045
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/239133
milestone: '13.4'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/gitaly_catfile-cache.yml b/config/feature_flags/development/gitaly_catfile-cache.yml
deleted file mode 100644
index 14268e328f0..00000000000
--- a/config/feature_flags/development/gitaly_catfile-cache.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gitaly_catfile-cache
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: false
diff --git a/config/feature_flags/development/gitaly_deny_disk_access.yml b/config/feature_flags/development/gitaly_deny_disk_access.yml
deleted file mode 100644
index b9c401e90d4..00000000000
--- a/config/feature_flags/development/gitaly_deny_disk_access.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gitaly_deny_disk_access
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: false
diff --git a/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml b/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml
new file mode 100644
index 00000000000..86e268af772
--- /dev/null
+++ b/config/feature_flags/development/gitaly_upload_pack_gitaly_hooks.yml
@@ -0,0 +1,8 @@
+---
+name: gitaly_upload_pack_gitaly_hooks
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/807
+milestone: '13.9'
+type: development
+group:
+default_enabled: false
diff --git a/config/feature_flags/development/gitlab_experiments.yml b/config/feature_flags/development/gitlab_ci_archived_trace_consistent_reads.yml
index 51fa6aa4529..c2a64263f08 100644
--- a/config/feature_flags/development/gitlab_experiments.yml
+++ b/config/feature_flags/development/gitlab_ci_archived_trace_consistent_reads.yml
@@ -1,8 +1,8 @@
---
-name: gitlab_experiments
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45840
+name: gitlab_ci_archived_trace_consistent_reads
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53716
rollout_issue_url:
-milestone: '13.7'
+milestone: '13.9'
type: development
-group: group::adoption
+group: group::continuous integration
default_enabled: false
diff --git a/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml b/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml
new file mode 100644
index 00000000000..ee0b4e46924
--- /dev/null
+++ b/config/feature_flags/development/gitlab_ci_trace_read_consistency.yml
@@ -0,0 +1,8 @@
+---
+name: gitlab_ci_trace_read_consistency
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46976
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320938
+milestone: '13.9'
+type: development
+group: group::continuous integration
+default_enabled: true
diff --git a/config/feature_flags/development/gl_tooltips.yml b/config/feature_flags/development/gl_tooltips.yml
deleted file mode 100644
index 22c67019c33..00000000000
--- a/config/feature_flags/development/gl_tooltips.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: gl_tooltips
-introduced_by_url:
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292972
-milestone: '13.8'
-type: development
-group: group::editor
-default_enabled: false
diff --git a/config/feature_flags/development/graphql_individual_release_page.yml b/config/feature_flags/development/graphql_individual_release_page.yml
index 07eac51d380..8cf13ca4854 100644
--- a/config/feature_flags/development/graphql_individual_release_page.yml
+++ b/config/feature_flags/development/graphql_individual_release_page.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44779
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/263522
milestone: '13.5'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/graphql_milestone_stats.yml b/config/feature_flags/development/graphql_milestone_stats.yml
index f6873e1c9e9..2f09f2b188a 100644
--- a/config/feature_flags/development/graphql_milestone_stats.yml
+++ b/config/feature_flags/development/graphql_milestone_stats.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35066
rollout_issue_url:
milestone: '13.2'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/graphql_pipeline_details_users.yml b/config/feature_flags/development/graphql_pipeline_details_users.yml
new file mode 100644
index 00000000000..a52cf23c878
--- /dev/null
+++ b/config/feature_flags/development/graphql_pipeline_details_users.yml
@@ -0,0 +1,8 @@
+---
+name: graphql_pipeline_details_users
+introduced_by_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299112
+milestone: '13.9'
+type: development
+group: group::pipeline authoring
+default_enabled: false
diff --git a/config/feature_flags/development/graphql_release_data.yml b/config/feature_flags/development/graphql_release_data.yml
index ef1f3dbba4c..a49d0ee1a6a 100644
--- a/config/feature_flags/development/graphql_release_data.yml
+++ b/config/feature_flags/development/graphql_release_data.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30753
rollout_issue_url:
milestone: '13.0'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/graphql_releases_page.yml b/config/feature_flags/development/graphql_releases_page.yml
index 541cf04bd79..b267f0543ec 100644
--- a/config/feature_flags/development/graphql_releases_page.yml
+++ b/config/feature_flags/development/graphql_releases_page.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33095
rollout_issue_url:
milestone: '13.4'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/group_ci_cd_analytics_page.yml b/config/feature_flags/development/group_ci_cd_analytics_page.yml
index 9f25ca7e6ad..1ee7bda169b 100644
--- a/config/feature_flags/development/group_ci_cd_analytics_page.yml
+++ b/config/feature_flags/development/group_ci_cd_analytics_page.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292601
milestone: '13.8'
type: development
group: group::release
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/group_import_export.yml b/config/feature_flags/development/group_import_export.yml
index 59204f2d16e..0eb01340bef 100644
--- a/config/feature_flags/development/group_import_export.yml
+++ b/config/feature_flags/development/group_import_export.yml
@@ -1,8 +1,8 @@
---
name: group_import_export
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22423
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282245
+milestone: '12.8'
type: development
group: group::import
default_enabled: true
diff --git a/config/feature_flags/development/honor_escaped_markdown.yml b/config/feature_flags/development/honor_escaped_markdown.yml
new file mode 100644
index 00000000000..6a8f62d5b74
--- /dev/null
+++ b/config/feature_flags/development/honor_escaped_markdown.yml
@@ -0,0 +1,8 @@
+---
+name: honor_escaped_markdown
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45922
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300531
+milestone: '13.9'
+type: development
+group: 'group::project management'
+default_enabled: false
diff --git a/config/feature_flags/development/core_security_mr_widget.yml b/config/feature_flags/development/improved_merge_diff_highlighting.yml
index dfeb30cd83a..b397405a12c 100644
--- a/config/feature_flags/development/core_security_mr_widget.yml
+++ b/config/feature_flags/development/improved_merge_diff_highlighting.yml
@@ -1,8 +1,8 @@
---
-name: core_security_mr_widget
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44639
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/249543
-milestone: '13.5'
+name: improved_merge_diff_highlighting
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52499
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299884
+milestone: '13.9'
type: development
-group: group::static analysis
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/instance_statistics.yml b/config/feature_flags/development/instance_statistics.yml
index b5354561d03..3caddad8b69 100644
--- a/config/feature_flags/development/instance_statistics.yml
+++ b/config/feature_flags/development/instance_statistics.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40583
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/241711
milestone: '13.4'
type: development
-group: group::analytics
+group: group::optimize
default_enabled: true
diff --git a/config/feature_flags/development/track_issue_activity_actions.yml b/config/feature_flags/development/issue_rebalancing_optimization.yml
index c755dac8e75..abaeb53f63d 100644
--- a/config/feature_flags/development/track_issue_activity_actions.yml
+++ b/config/feature_flags/development/issue_rebalancing_optimization.yml
@@ -1,8 +1,8 @@
---
-name: track_issue_activity_actions
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40904
-rollout_issue_url:
-milestone: '13.4'
+name: issue_rebalancing_optimization
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53384
+rollout_issue_url:
+milestone: '13.9'
type: development
group: group::project management
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/issues.yml b/config/feature_flags/development/issues.yml
deleted file mode 100644
index a6ff572da52..00000000000
--- a/config/feature_flags/development/issues.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: issues
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/jira_for_vulnerabilities.yml b/config/feature_flags/development/jira_for_vulnerabilities.yml
index 32500c48da8..e00bd15cd09 100644
--- a/config/feature_flags/development/jira_for_vulnerabilities.yml
+++ b/config/feature_flags/development/jira_for_vulnerabilities.yml
@@ -4,4 +4,4 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46982
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276893
type: development
group: group::threat insights
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/jira_sync_feature_flags.yml b/config/feature_flags/development/jira_issues_show_integration.yml
index c5925766919..dd89ace22be 100644
--- a/config/feature_flags/development/jira_sync_feature_flags.yml
+++ b/config/feature_flags/development/jira_issues_show_integration.yml
@@ -1,8 +1,8 @@
---
-name: jira_sync_feature_flags
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50390
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296990
-milestone: '13.8'
+name: jira_issues_show_integration
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52446
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299832
+milestone: '13.9'
type: development
group: group::ecosystem
default_enabled: false
diff --git a/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml b/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml
new file mode 100644
index 00000000000..fac509224e0
--- /dev/null
+++ b/config/feature_flags/development/kubernetes_agent_on_gitlab_com.yml
@@ -0,0 +1,8 @@
+---
+name: kubernetes_agent_on_gitlab_com
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53322
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300960
+milestone: '13.9'
+type: development
+group: group::configure
+default_enabled: false
diff --git a/config/feature_flags/development/lfs_check.yml b/config/feature_flags/development/lfs_check.yml
index 1a6413bd016..8e13d46a02f 100644
--- a/config/feature_flags/development/lfs_check.yml
+++ b/config/feature_flags/development/lfs_check.yml
@@ -1,8 +1,8 @@
---
name: lfs_check
introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/27451
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/233550
milestone: '11.11'
type: development
-group:
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/multiline_comments.yml b/config/feature_flags/development/local_file_reviews.yml
index ed38e1a575f..4001f6ade72 100644
--- a/config/feature_flags/development/multiline_comments.yml
+++ b/config/feature_flags/development/local_file_reviews.yml
@@ -1,8 +1,8 @@
---
-name: multiline_comments
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37114
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/211255
-milestone: '13.2'
+name: local_file_reviews
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51513
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296674
+milestone: '13.9'
type: development
group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/log_import_export_relation_creation.yml b/config/feature_flags/development/log_import_export_relation_creation.yml
index ca7223c52b0..04d1b1e5d4f 100644
--- a/config/feature_flags/development/log_import_export_relation_creation.yml
+++ b/config/feature_flags/development/log_import_export_relation_creation.yml
@@ -1,8 +1,8 @@
---
name: log_import_export_relation_creation
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27605
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282245
+milestone: '12.10'
type: development
group: group::import
default_enabled: false
diff --git a/config/feature_flags/development/merge_request_draft_filter.yml b/config/feature_flags/development/merge_request_draft_filter.yml
index 0614485d37c..3c08e0304d2 100644
--- a/config/feature_flags/development/merge_request_draft_filter.yml
+++ b/config/feature_flags/development/merge_request_draft_filter.yml
@@ -1,7 +1,7 @@
---
name: merge_request_draft_filter
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35942
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/298776
milestone: '13.3'
type: development
group: group::code review
diff --git a/config/feature_flags/development/merge_request_rebase_nowait_lock.yml b/config/feature_flags/development/merge_request_rebase_nowait_lock.yml
index 3ea69762c1d..e0d837a3757 100644
--- a/config/feature_flags/development/merge_request_rebase_nowait_lock.yml
+++ b/config/feature_flags/development/merge_request_rebase_nowait_lock.yml
@@ -1,8 +1,8 @@
---
name: merge_request_rebase_nowait_lock
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18481
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320758
+milestone: '12.5'
type: development
-group:
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/merge_request_refs_cleanup.yml b/config/feature_flags/development/merge_request_refs_cleanup.yml
new file mode 100644
index 00000000000..79ea3c8b7a7
--- /dev/null
+++ b/config/feature_flags/development/merge_request_refs_cleanup.yml
@@ -0,0 +1,8 @@
+---
+name: merge_request_refs_cleanup
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51558
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296874
+milestone: '13.8'
+type: development
+group: group::code review
+default_enabled: false
diff --git a/config/feature_flags/development/merge_requests.yml b/config/feature_flags/development/merge_requests.yml
deleted file mode 100644
index 27f5f8b1085..00000000000
--- a/config/feature_flags/development/merge_requests.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: merge_requests
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/migrate_user_mentions.yml b/config/feature_flags/development/migrate_user_mentions.yml
index df9e5477590..2b250994b5a 100644
--- a/config/feature_flags/development/migrate_user_mentions.yml
+++ b/config/feature_flags/development/migrate_user_mentions.yml
@@ -1,7 +1,7 @@
---
name: migrate_user_mentions
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34378
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/231175
milestone: '13.3'
type: development
group: group::project management
diff --git a/config/feature_flags/development/new_jira_connect_ui.yml b/config/feature_flags/development/new_jira_connect_ui.yml
index 8783c1ed7fd..3420141ce2d 100644
--- a/config/feature_flags/development/new_jira_connect_ui.yml
+++ b/config/feature_flags/development/new_jira_connect_ui.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/295647
milestone: '13.8'
type: development
group: group::ecosystem
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/new_release_page.yml b/config/feature_flags/development/new_release_page.yml
index c3f757bfc41..7b73c296e4e 100644
--- a/config/feature_flags/development/new_release_page.yml
+++ b/config/feature_flags/development/new_release_page.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35367
rollout_issue_url:
milestone: '13.2'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/not_issuable_queries.yml b/config/feature_flags/development/not_issuable_queries.yml
index 80aba0fef0f..e5770d1a2ea 100644
--- a/config/feature_flags/development/not_issuable_queries.yml
+++ b/config/feature_flags/development/not_issuable_queries.yml
@@ -1,7 +1,7 @@
---
name: not_issuable_queries
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27639
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292809
milestone: '13.0'
type: development
group: group::project management
diff --git a/config/feature_flags/development/optimized_issuable_label_filter.yml b/config/feature_flags/development/optimized_issuable_label_filter.yml
index 4712cdaf230..8385b85e143 100644
--- a/config/feature_flags/development/optimized_issuable_label_filter.yml
+++ b/config/feature_flags/development/optimized_issuable_label_filter.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34503
rollout_issue_url:
milestone: '13.4'
type: development
-group: group::analytics
-default_enabled: false
+group: group::optimize
+default_enabled: true
diff --git a/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml b/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml
new file mode 100644
index 00000000000..a7a458e3d29
--- /dev/null
+++ b/config/feature_flags/development/optimized_merge_request_count_with_merged_at_filter.yml
@@ -0,0 +1,8 @@
+---
+name: optimized_merge_request_count_with_merged_at_filter
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52113
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299347
+milestone: '13.9'
+type: development
+group: group::optimize
+default_enabled: true
diff --git a/config/feature_flags/development/optimized_timebox_queries.yml b/config/feature_flags/development/optimized_timebox_queries.yml
index 215242046c5..eea0b149079 100644
--- a/config/feature_flags/development/optimized_timebox_queries.yml
+++ b/config/feature_flags/development/optimized_timebox_queries.yml
@@ -1,8 +1,8 @@
---
name: optimized_timebox_queries
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32953
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/34043
+milestone: '13.1'
type: development
-group:
+group: group::project management
default_enabled: true
diff --git a/config/feature_flags/development/pages.yml b/config/feature_flags/development/pages.yml
deleted file mode 100644
index b32ab9af770..00000000000
--- a/config/feature_flags/development/pages.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: pages
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/pages_serve_from_deployments.yml b/config/feature_flags/development/pages_serve_from_deployments.yml
index f73e9f5b49d..d13bf2dfaa5 100644
--- a/config/feature_flags/development/pages_serve_from_deployments.yml
+++ b/config/feature_flags/development/pages_serve_from_deployments.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46320
rollout_issue_url: https://gitlab.com/gitlab-com/gl-infra/production/-/issues/2932
milestone: '13.6'
type: development
-group: group::Release Management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/pages_serve_from_legacy_storage.yml b/config/feature_flags/development/pages_serve_from_legacy_storage.yml
new file mode 100644
index 00000000000..37d83106737
--- /dev/null
+++ b/config/feature_flags/development/pages_serve_from_legacy_storage.yml
@@ -0,0 +1,8 @@
+---
+name: pages_serve_from_legacy_storage
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297228
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297524
+milestone: '13.8'
+type: development
+group: group::release
+default_enabled: true
diff --git a/config/feature_flags/development/pages_serve_from_migrated_zip.yml b/config/feature_flags/development/pages_serve_from_migrated_zip.yml
new file mode 100644
index 00000000000..18b912215b6
--- /dev/null
+++ b/config/feature_flags/development/pages_serve_from_migrated_zip.yml
@@ -0,0 +1,8 @@
+---
+name: pages_serve_from_migrated_zip
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52573
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300021
+milestone: '13.9'
+type: development
+group: group::release
+default_enabled: false
diff --git a/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml b/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml
index 7700cf7fae5..836702debba 100644
--- a/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml
+++ b/config/feature_flags/development/pages_serve_with_zip_file_protocol.yml
@@ -1,8 +1,8 @@
---
name: pages_serve_with_zip_file_protocol
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46320
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321677
milestone: '13.6'
type: development
-group: group::Release Management
+group: group::release
default_enabled: false
diff --git a/config/feature_flags/development/reviewer_approval_rules.yml b/config/feature_flags/development/pages_update_legacy_storage.yml
index 78bc52de5b3..4a228b4cb8b 100644
--- a/config/feature_flags/development/reviewer_approval_rules.yml
+++ b/config/feature_flags/development/pages_update_legacy_storage.yml
@@ -1,8 +1,8 @@
---
-name: reviewer_approval_rules
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46738
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/293742
-milestone: '13.7'
+name: pages_update_legacy_storage
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50683
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/296138
+milestone: '13.9'
type: development
-group: group::code review
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/paginate_commit_view.yml b/config/feature_flags/development/paginate_commit_view.yml
new file mode 100644
index 00000000000..ee89788a219
--- /dev/null
+++ b/config/feature_flags/development/paginate_commit_view.yml
@@ -0,0 +1,8 @@
+---
+name: paginate_commit_view
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52819
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300540
+milestone: '13.9'
+type: development
+group: group::source code
+default_enabled: false
diff --git a/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml b/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml
index cf90ccd0f69..916312b1005 100644
--- a/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml
+++ b/config/feature_flags/development/prohibit_hexadecimal_branch_names.yml
@@ -1,8 +1,8 @@
---
name: prohibit_hexadecimal_branch_names
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/28439ca4b1dd14f22a5a6ad14530f6bf1046f8bc
rollout_issue_url:
-milestone:
+milestone: '12.10'
type: development
-group:
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/project_list_filter_bar.yml b/config/feature_flags/development/project_list_filter_bar.yml
index 7f8ea867990..29d5d67af95 100644
--- a/config/feature_flags/development/project_list_filter_bar.yml
+++ b/config/feature_flags/development/project_list_filter_bar.yml
@@ -1,8 +1,8 @@
---
name: project_list_filter_bar
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/11209
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321404
+milestone: '11.11'
type: development
-group:
+group: group::access
default_enabled: false
diff --git a/config/feature_flags/development/query_deploymenys_via_finished_at_in_vsa.yml b/config/feature_flags/development/query_deploymenys_via_finished_at_in_vsa.yml
new file mode 100644
index 00000000000..4dcb4ddde64
--- /dev/null
+++ b/config/feature_flags/development/query_deploymenys_via_finished_at_in_vsa.yml
@@ -0,0 +1,8 @@
+---
+name: query_deploymenys_via_finished_at_in_vsa
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53050
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300649
+milestone: '13.9'
+type: development
+group: group::optimize
+default_enabled: true
diff --git a/config/feature_flags/development/release_evidence.yml b/config/feature_flags/development/release_evidence.yml
index 87648e6a261..3ba5ed86c71 100644
--- a/config/feature_flags/development/release_evidence.yml
+++ b/config/feature_flags/development/release_evidence.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/26509
rollout_issue_url:
milestone: '12.10'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/release_mr_issue_urls.yml b/config/feature_flags/development/release_mr_issue_urls.yml
index b017a716b51..4f9b43ce4e1 100644
--- a/config/feature_flags/development/release_mr_issue_urls.yml
+++ b/config/feature_flags/development/release_mr_issue_urls.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18727
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276619
milestone: '12.4'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/merge_request_reviewers.yml b/config/feature_flags/development/remove_comment_close_reopen.yml
index 85582ee25f9..1d3bf305cae 100644
--- a/config/feature_flags/development/merge_request_reviewers.yml
+++ b/config/feature_flags/development/remove_comment_close_reopen.yml
@@ -1,8 +1,8 @@
---
-name: merge_request_reviewers
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40488
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/245190
-milestone: '13.4'
+name: remove_comment_close_reopen
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49614
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/198562
+milestone: '13.9'
type: development
group: group::code review
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/remove_resolve_note.yml b/config/feature_flags/development/remove_resolve_note.yml
index 0f792dffd0b..008a469e16d 100644
--- a/config/feature_flags/development/remove_resolve_note.yml
+++ b/config/feature_flags/development/remove_resolve_note.yml
@@ -1,7 +1,7 @@
---
name: remove_resolve_note
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/45549
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320756
milestone: '13.6'
type: development
group: group::code review
diff --git a/config/feature_flags/development/repository.yml b/config/feature_flags/development/repository.yml
deleted file mode 100644
index a9dd6cbdcb5..00000000000
--- a/config/feature_flags/development/repository.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: repository
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/repository_archive_hotlinking_interception.yml b/config/feature_flags/development/repository_archive_hotlinking_interception.yml
index 6b684e5a8c7..56943627231 100644
--- a/config/feature_flags/development/repository_archive_hotlinking_interception.yml
+++ b/config/feature_flags/development/repository_archive_hotlinking_interception.yml
@@ -1,8 +1,8 @@
---
name: repository_archive_hotlinking_interception
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/commit/50c11f278d18fe1f3fb12eb595067216bb58ade2
rollout_issue_url:
-milestone:
+milestone: '12.10'
type: development
-group:
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/whats_new_drawer.yml b/config/feature_flags/development/retarget_merge_requests.yml
index c06dfbe1fe6..39ac4be0219 100644
--- a/config/feature_flags/development/whats_new_drawer.yml
+++ b/config/feature_flags/development/retarget_merge_requests.yml
@@ -1,8 +1,8 @@
---
-name: whats_new_drawer
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38975
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/254186
-milestone: '13.3'
+name: retarget_merge_requests
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53710
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320895
+milestone: '13.9'
type: development
-group: group::retention
+group: group::memory
default_enabled: false
diff --git a/config/feature_flags/development/packages_and_registries_group_settings.yml b/config/feature_flags/development/rubygem_packages.yml
index 8712fa4895d..9f394f091bb 100644
--- a/config/feature_flags/development/packages_and_registries_group_settings.yml
+++ b/config/feature_flags/development/rubygem_packages.yml
@@ -1,8 +1,8 @@
---
-name: packages_and_registries_group_settings
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51460
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297371
-milestone: '13.8'
+name: rubygem_packages
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52147
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299383
+milestone: '13.9'
type: development
group: group::package
default_enabled: false
diff --git a/config/feature_flags/development/core_security_mr_widget_downloads.yml b/config/feature_flags/development/secure_security_and_compliance_configuration_page_on_ce.yml
index d89fbc302b3..e86211243a1 100644
--- a/config/feature_flags/development/core_security_mr_widget_downloads.yml
+++ b/config/feature_flags/development/secure_security_and_compliance_configuration_page_on_ce.yml
@@ -1,8 +1,8 @@
---
-name: core_security_mr_widget_downloads
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48769
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/273418
-milestone: '13.7'
+name: secure_security_and_compliance_configuration_page_on_ce
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50282
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294076
+milestone: '13.9'
type: development
group: group::static analysis
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/development/similarity_search.yml b/config/feature_flags/development/similarity_search.yml
index 312ab767eb0..978095c94b5 100644
--- a/config/feature_flags/development/similarity_search.yml
+++ b/config/feature_flags/development/similarity_search.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37300/
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38675
milestone: '13.3'
type: development
-group: group::analytics
+group: group::optimize
default_enabled: true
diff --git a/config/feature_flags/development/simplified_commit_status_group_name.yml b/config/feature_flags/development/simplified_commit_status_group_name.yml
new file mode 100644
index 00000000000..410d351de5f
--- /dev/null
+++ b/config/feature_flags/development/simplified_commit_status_group_name.yml
@@ -0,0 +1,8 @@
+---
+name: simplified_commit_status_group_name
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52644
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::testing
+default_enabled: false
diff --git a/config/feature_flags/development/snippets.yml b/config/feature_flags/development/snippets.yml
deleted file mode 100644
index ee06c54e237..00000000000
--- a/config/feature_flags/development/snippets.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: snippets
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group:
-default_enabled: true
diff --git a/config/feature_flags/development/sort_diffs.yml b/config/feature_flags/development/sort_diffs.yml
index 505b5f0e0b5..49f04c30f49 100644
--- a/config/feature_flags/development/sort_diffs.yml
+++ b/config/feature_flags/development/sort_diffs.yml
@@ -1,8 +1,8 @@
---
name: sort_diffs
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49118
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/293819
milestone: '13.7'
type: development
group: group::code review
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/specialized_project_authorization_workers.yml b/config/feature_flags/development/specialized_project_authorization_workers.yml
index f3dbf09af14..16d6d4ed82f 100644
--- a/config/feature_flags/development/specialized_project_authorization_workers.yml
+++ b/config/feature_flags/development/specialized_project_authorization_workers.yml
@@ -1,8 +1,8 @@
---
name: specialized_project_authorization_workers
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31377
-rollout_issue_url:
+rollout_issue_url:
milestone: '13.0'
type: development
group: group::access
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/suggestions_custom_commit.yml b/config/feature_flags/development/suggestions_custom_commit.yml
index e51e219ee1d..44455664813 100644
--- a/config/feature_flags/development/suggestions_custom_commit.yml
+++ b/config/feature_flags/development/suggestions_custom_commit.yml
@@ -5,4 +5,4 @@ rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/297404
milestone: '13.9'
type: development
group: group::code review
-default_enabled: false
+default_enabled: true
diff --git a/config/feature_flags/development/maintenance_mode.yml b/config/feature_flags/development/trace_memory_allocations.yml
index 53ecea7ba2b..78f21d2e520 100644
--- a/config/feature_flags/development/maintenance_mode.yml
+++ b/config/feature_flags/development/trace_memory_allocations.yml
@@ -1,8 +1,8 @@
---
-name: maintenance_mode
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28158
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/217895
-milestone: '12.10'
+name: trace_memory_allocations
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52306
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299524
+milestone: '13.9'
type: development
-group: group::geo
+group: group::memory
default_enabled: false
diff --git a/config/feature_flags/development/track_unique_visits.yml b/config/feature_flags/development/track_unique_visits.yml
index 80d969cc65b..b11539e830b 100644
--- a/config/feature_flags/development/track_unique_visits.yml
+++ b/config/feature_flags/development/track_unique_visits.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33146
rollout_issue_url:
milestone: '13.2'
type: development
-group: group::analytics
+group: group::optimize
default_enabled: true
diff --git a/config/feature_flags/development/track_unique_wiki_page_views.yml b/config/feature_flags/development/track_unique_wiki_page_views.yml
deleted file mode 100644
index 39d25352e73..00000000000
--- a/config/feature_flags/development/track_unique_wiki_page_views.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: track_unique_wiki_page_views
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/44622
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/267162
-milestone: '13.5'
-type: development
-group: group::editor
-default_enabled: true
diff --git a/config/feature_flags/development/tribute_autocomplete.yml b/config/feature_flags/development/tribute_autocomplete.yml
index 47fbd11f844..02094350b32 100644
--- a/config/feature_flags/development/tribute_autocomplete.yml
+++ b/config/feature_flags/development/tribute_autocomplete.yml
@@ -1,7 +1,7 @@
---
name: tribute_autocomplete
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/32671
-rollout_issue_url:
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292804
milestone: '13.2'
type: development
group: group::project management
diff --git a/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml b/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml
index 986f002aa1d..c94b48d8329 100644
--- a/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml
+++ b/config/feature_flags/development/unlink_fork_network_upon_visibility_decrease.yml
@@ -1,8 +1,8 @@
---
name: unlink_fork_network_upon_visibility_decrease
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20466
rollout_issue_url:
-milestone:
+milestone: '12.6'
type: development
-group:
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
index 58a28139a35..de3ca4fc689 100644
--- a/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
+++ b/config/feature_flags/development/usage_data_i_ci_secrets_management_vault_build_created.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46515
rollout_issue_url:
milestone: '13.6'
type: development
-group: group::release management
+group: group::release
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_edit_mr_desc.yml b/config/feature_flags/development/usage_data_i_code_review_edit_mr_desc.yml
new file mode 100644
index 00000000000..cd49759c1d8
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_edit_mr_desc.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_edit_mr_desc
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292830
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_edit_mr_title.yml b/config/feature_flags/development/usage_data_i_code_review_edit_mr_title.yml
new file mode 100644
index 00000000000..61d238b312a
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_edit_mr_title.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_edit_mr_title
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292830
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml b/config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml
new file mode 100644
index 00000000000..832be26d50d
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_add_suggestion.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_add_suggestion
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52189
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml b/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml
new file mode 100644
index 00000000000..03aa1691825
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_apply_suggestion.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_apply_suggestion
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52189
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_added.yml b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_added.yml
new file mode 100644
index 00000000000..749b17f9e0c
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_added.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_approval_rule_added
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320966
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_deleted.yml b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_deleted.yml
new file mode 100644
index 00000000000..ef97df30aeb
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_deleted.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_approval_rule_deleted
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320966
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_edited.yml b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_edited.yml
new file mode 100644
index 00000000000..5ecdaf3a2d0
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_approval_rule_edited.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_approval_rule_edited
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320966
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/operations.yml b/config/feature_flags/development/usage_data_i_code_review_user_approve_mr.yml
index 5b5537ed740..c20d201de7c 100644
--- a/config/feature_flags/development/operations.yml
+++ b/config/feature_flags/development/usage_data_i_code_review_user_approve_mr.yml
@@ -1,8 +1,8 @@
---
-name: operations
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48347
+name: usage_data_i_code_review_user_approve_mr
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53201
rollout_issue_url:
-milestone: '13.7'
+milestone: '13.9'
type: development
-group: group::editor
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/squash_options.yml b/config/feature_flags/development/usage_data_i_code_review_user_assigned.yml
index bea03c6e9b2..f18208e44dc 100644
--- a/config/feature_flags/development/squash_options.yml
+++ b/config/feature_flags/development/usage_data_i_code_review_user_assigned.yml
@@ -1,8 +1,8 @@
---
-name: squash_options
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/33930
+name: usage_data_i_code_review_user_assigned
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52194
rollout_issue_url:
-milestone: '13.2'
+milestone: '13.9'
type: development
group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/dag_pipeline_tab.yml b/config/feature_flags/development/usage_data_i_code_review_user_create_mr_from_issue.yml
index f2ae897df8e..1cd95061a66 100644
--- a/config/feature_flags/development/dag_pipeline_tab.yml
+++ b/config/feature_flags/development/usage_data_i_code_review_user_create_mr_from_issue.yml
@@ -1,8 +1,8 @@
---
-name: dag_pipeline_tab
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30310
+name: usage_data_i_code_review_user_create_mr_from_issue
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53808
rollout_issue_url:
-milestone: '13.0'
+milestone: '13.9'
type: development
-group: group::pipeline authoring
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_marked_as_draft.yml b/config/feature_flags/development/usage_data_i_code_review_user_marked_as_draft.yml
new file mode 100644
index 00000000000..82dc1582558
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_marked_as_draft.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_marked_as_draft
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/301223
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml b/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml
new file mode 100644
index 00000000000..8c7af83bab4
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_resolve_thread.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_resolve_thread
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52130
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/deploy_tokens_api.yml b/config/feature_flags/development/usage_data_i_code_review_user_review_requested.yml
index b9741e05d7e..540ac1f61e1 100644
--- a/config/feature_flags/development/deploy_tokens_api.yml
+++ b/config/feature_flags/development/usage_data_i_code_review_user_review_requested.yml
@@ -1,8 +1,8 @@
---
-name: deploy_tokens_api
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25219
+name: usage_data_i_code_review_user_review_requested
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52194
rollout_issue_url:
-milestone: '12.9'
+milestone: '13.9'
type: development
-group: group::package
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_toggled_task_item_status.yml b/config/feature_flags/development/usage_data_i_code_review_user_toggled_task_item_status.yml
new file mode 100644
index 00000000000..f2db27d0549
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_toggled_task_item_status.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_toggled_task_item_status
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/320851
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_unapprove_mr.yml b/config/feature_flags/development/usage_data_i_code_review_user_unapprove_mr.yml
new file mode 100644
index 00000000000..9d31ad6a482
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_unapprove_mr.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_unapprove_mr
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53201
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_unmarked_as_draft.yml b/config/feature_flags/development/usage_data_i_code_review_user_unmarked_as_draft.yml
new file mode 100644
index 00000000000..9582562ff74
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_unmarked_as_draft.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_unmarked_as_draft
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/301223
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml b/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml
new file mode 100644
index 00000000000..49b860416c5
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_code_review_user_unresolve_thread.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_code_review_user_unresolve_thread
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52130
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::code review
+default_enabled: true
diff --git a/config/feature_flags/development/approval_suggestions.yml b/config/feature_flags/development/usage_data_i_code_review_user_vs_code_api_request.yml
index 14961d2e248..531832ad633 100644
--- a/config/feature_flags/development/approval_suggestions.yml
+++ b/config/feature_flags/development/usage_data_i_code_review_user_vs_code_api_request.yml
@@ -1,8 +1,8 @@
---
-name: approval_suggestions
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/38992
+name: usage_data_i_code_review_user_vs_code_api_request
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52484
rollout_issue_url:
-milestone: '13.3'
+milestone: '13.9'
type: development
-group: group::composition analysis
+group: group::code review
default_enabled: true
diff --git a/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml b/config/feature_flags/development/usage_data_i_testing_group_code_coverage_project_click_total.yml
index 20a38d77407..c4850caaf9d 100644
--- a/config/feature_flags/development/ci_live_trace_use_fog_attributes.yml
+++ b/config/feature_flags/development/usage_data_i_testing_group_code_coverage_project_click_total.yml
@@ -1,8 +1,8 @@
---
-name: ci_live_trace_use_fog_attributes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47536
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/285079
-milestone: '13.6'
+name: usage_data_i_testing_group_code_coverage_project_click_total
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51411
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299893
+milestone: '13.8'
type: development
group: group::testing
default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml b/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml
new file mode 100644
index 00000000000..3ffb9bceb99
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_testing_load_performance_widget_total.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_testing_load_performance_widget_total
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52688
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::testing
+default_enabled: true
diff --git a/config/feature_flags/development/usage_data_i_testing_metrics_report_artifact_uploaders.yml b/config/feature_flags/development/usage_data_i_testing_metrics_report_artifact_uploaders.yml
new file mode 100644
index 00000000000..968ab3e63f1
--- /dev/null
+++ b/config/feature_flags/development/usage_data_i_testing_metrics_report_artifact_uploaders.yml
@@ -0,0 +1,8 @@
+---
+name: usage_data_i_testing_metrics_report_artifact_uploaders
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51670
+rollout_issue_url:
+milestone: '13.9'
+type: development
+group: group::testing
+default_enabled: true
diff --git a/config/feature_flags/development/jira_sync_deployments.yml b/config/feature_flags/development/usage_data_track_ecosystem_jira_service.yml
index 8a644d43ba0..adf850aa8bc 100644
--- a/config/feature_flags/development/jira_sync_deployments.yml
+++ b/config/feature_flags/development/usage_data_track_ecosystem_jira_service.yml
@@ -1,8 +1,8 @@
---
-name: jira_sync_deployments
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49757
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/294034
-milestone: '13.7'
+name: usage_data_track_ecosystem_jira_service
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52110
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/300447
+milestone: '13.9'
type: development
group: group::ecosystem
default_enabled: false
diff --git a/config/feature_flags/development/vue_issuable_sidebar.yml b/config/feature_flags/development/usage_data_track_quickactions.yml
index 47c17db1206..57f698f7031 100644
--- a/config/feature_flags/development/vue_issuable_sidebar.yml
+++ b/config/feature_flags/development/usage_data_track_quickactions.yml
@@ -1,8 +1,8 @@
---
-name: vue_issuable_sidebar
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/18199
-rollout_issue_url:
-milestone: '12.4'
+name: usage_data_track_quickactions
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52398
+rollout_issue_url:
+milestone: '13.9'
type: development
group: group::project management
default_enabled: false
diff --git a/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml b/config/feature_flags/development/usage_data_unique_users_committing_ciconfigfile.yml
index 1d33a162445..1d3092ed615 100644
--- a/config/feature_flags/development/ci_allow_failure_with_exit_codes.yml
+++ b/config/feature_flags/development/usage_data_unique_users_committing_ciconfigfile.yml
@@ -1,8 +1,8 @@
---
-name: ci_allow_failure_with_exit_codes
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49145
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292024
-milestone: '13.7'
+name: usage_data_unique_users_committing_ciconfigfile
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52172
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299403
+milestone: '13.9'
type: development
group: group::pipeline authoring
default_enabled: true
diff --git a/config/feature_flags/development/use_workhorse_s3_client.yml b/config/feature_flags/development/use_workhorse_s3_client.yml
index 7f14d51a66c..3c34c420ebf 100644
--- a/config/feature_flags/development/use_workhorse_s3_client.yml
+++ b/config/feature_flags/development/use_workhorse_s3_client.yml
@@ -4,5 +4,5 @@ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35480
rollout_issue_url:
milestone: '13.2'
type: development
-group:
+group: group::source code
default_enabled: true
diff --git a/config/feature_flags/development/user_mode_in_session.yml b/config/feature_flags/development/user_mode_in_session.yml
index a3c4d44e4ce..1b0a0053cf4 100644
--- a/config/feature_flags/development/user_mode_in_session.yml
+++ b/config/feature_flags/development/user_mode_in_session.yml
@@ -1,8 +1,8 @@
---
name: user_mode_in_session
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/16981
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321025
+milestone: 12.4
type: development
-group:
+group: group::access
default_enabled: false
diff --git a/config/feature_flags/development/user_time_settings.yml b/config/feature_flags/development/user_time_settings.yml
index eaeb7f17794..098b96e97f0 100644
--- a/config/feature_flags/development/user_time_settings.yml
+++ b/config/feature_flags/development/user_time_settings.yml
@@ -1,8 +1,8 @@
---
name: user_time_settings
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25381
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/321407
+milestone: '11.11'
type: development
-group:
+group: group::access
default_enabled: false
diff --git a/config/feature_flags/development/validate_import_decompressed_archive_size.yml b/config/feature_flags/development/validate_import_decompressed_archive_size.yml
index 644a936a67c..675586bc9ee 100644
--- a/config/feature_flags/development/validate_import_decompressed_archive_size.yml
+++ b/config/feature_flags/development/validate_import_decompressed_archive_size.yml
@@ -1,8 +1,8 @@
---
name: validate_import_decompressed_archive_size
-introduced_by_url:
-rollout_issue_url:
-milestone:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/39686
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/282245
+milestone: '13.4'
type: development
group: group::import
default_enabled: false
diff --git a/config/feature_flags/development/jira_sync_builds.yml b/config/feature_flags/development/vue_epics_list.yml
index 8cb054b848d..22e2a53aeee 100644
--- a/config/feature_flags/development/jira_sync_builds.yml
+++ b/config/feature_flags/development/vue_epics_list.yml
@@ -1,8 +1,8 @@
---
-name: jira_sync_builds
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49348
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/292013
-milestone: '13.7'
+name: vue_epics_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46769
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/276189
+milestone: '13.9'
type: development
-group: group::ecosystem
+group: group::product planning
default_enabled: false
diff --git a/config/feature_flags/development/caching_experiments.yml b/config/feature_flags/development/vue_notification_dropdown.yml
index 3d540aca476..4c4f67fe928 100644
--- a/config/feature_flags/development/caching_experiments.yml
+++ b/config/feature_flags/development/vue_notification_dropdown.yml
@@ -1,8 +1,8 @@
---
-name: caching_experiments
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/49669
-rollout_issue_url:
-milestone: '13.7'
+name: vue_notification_dropdown
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52068
+rollout_issue_url:
+milestone: '13.8'
type: development
-group: group::adoption
+group: group::optimize
default_enabled: false
diff --git a/config/feature_flags/development/metrics_dashboard.yml b/config/feature_flags/development/vue_project_members_list.yml
index 39a7fd1260b..55f4d2bf62a 100644
--- a/config/feature_flags/development/metrics_dashboard.yml
+++ b/config/feature_flags/development/vue_project_members_list.yml
@@ -1,8 +1,8 @@
---
-name: metrics_dashboard
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29634
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/257902
-milestone: '13.0'
+name: vue_project_members_list
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/52148
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/299954
+milestone: '13.9'
type: development
-group: group::monitor
+group: group::access
default_enabled: true
diff --git a/config/feature_flags/development/webperf_experiment.yml b/config/feature_flags/development/webperf_experiment.yml
deleted file mode 100644
index 50408df0555..00000000000
--- a/config/feature_flags/development/webperf_experiment.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: webperf_experiment
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group: group::editor
-default_enabled: false
diff --git a/config/feature_flags/development/wiki.yml b/config/feature_flags/development/wiki.yml
deleted file mode 100644
index 008852d2c13..00000000000
--- a/config/feature_flags/development/wiki.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: wiki
-introduced_by_url:
-rollout_issue_url:
-milestone:
-type: development
-group: group::editor
-default_enabled: true
diff --git a/config/feature_flags/development/workhorse_archive_cache_disabled.yml b/config/feature_flags/development/workhorse_archive_cache_disabled.yml
index e7871d9062b..e40741863d4 100644
--- a/config/feature_flags/development/workhorse_archive_cache_disabled.yml
+++ b/config/feature_flags/development/workhorse_archive_cache_disabled.yml
@@ -1,8 +1,8 @@
---
name: workhorse_archive_cache_disabled
-introduced_by_url:
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/16325
rollout_issue_url:
-milestone:
+milestone: '10.5'
type: development
-group:
+group: group::source code
default_enabled: false
diff --git a/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml b/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml
deleted file mode 100644
index d4a695502f9..00000000000
--- a/config/feature_flags/experiment/default_to_issues_board_experiment_percentage.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: default_to_issues_board_experiment_percentage
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/43939
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268298
-milestone: '13.5'
-type: experiment
-group: group::conversion
-default_enabled: true
diff --git a/config/feature_flags/experiment/pipelines_empty_state_experiment_percentage.yml b/config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml
index beb8e8a21c6..8cb198a2102 100644
--- a/config/feature_flags/experiment/pipelines_empty_state_experiment_percentage.yml
+++ b/config/feature_flags/experiment/in_product_marketing_emails_experiment_percentage.yml
@@ -1,8 +1,8 @@
---
-name: pipelines_empty_state_experiment_percentage
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/47952
-rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/289
-milestone: '13.8'
+name: in_product_marketing_emails_experiment_percentage
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50679
+rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/303
+milestone: "13.9"
type: experiment
group: group::activation
default_enabled: false
diff --git a/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml b/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml
index 6fac63b381c..216726178f1 100644
--- a/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml
+++ b/config/feature_flags/experiment/invite_members_new_dropdown_experiment_percentage.yml
@@ -1,7 +1,7 @@
---
name: invite_members_new_dropdown_experiment_percentage
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/50069
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/268129
+rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/291
milestone: '13.8'
type: experiment
group: group::expansion
diff --git a/config/feature_flags/experiment/jobs_empty_state_experiment_percentage.yml b/config/feature_flags/experiment/jobs_empty_state_experiment_percentage.yml
deleted file mode 100644
index 33a15e28d44..00000000000
--- a/config/feature_flags/experiment/jobs_empty_state_experiment_percentage.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: jobs_empty_state_experiment_percentage
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48686
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/281054
-milestone: '13.7'
-type: experiment
-group: group::activation
-default_enabled: false
diff --git a/config/feature_flags/experiment/onboarding_issues_experiment_percentage.yml b/config/feature_flags/experiment/learn_gitlab_a_experiment_percentage.yml
index 7a8f3074d96..54b7ea465f1 100644
--- a/config/feature_flags/experiment/onboarding_issues_experiment_percentage.yml
+++ b/config/feature_flags/experiment/learn_gitlab_a_experiment_percentage.yml
@@ -1,8 +1,8 @@
---
-name: onboarding_issues_experiment_percentage
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/31656/
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/224515
-milestone: '13.0'
+name: learn_gitlab_a_experiment_percentage
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53089
+rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/281022
+milestone: '13.9'
type: experiment
group: group::conversion
-default_enabled: true
+default_enabled: false
diff --git a/config/feature_flags/experiment/learn_gitlab_b_experiment_percentage.yml b/config/feature_flags/experiment/learn_gitlab_b_experiment_percentage.yml
new file mode 100644
index 00000000000..cca5d35baf3
--- /dev/null
+++ b/config/feature_flags/experiment/learn_gitlab_b_experiment_percentage.yml
@@ -0,0 +1,8 @@
+---
+name: learn_gitlab_b_experiment_percentage
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/53089
+rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/306
+milestone: '13.9'
+type: experiment
+group: group::conversion
+default_enabled: false
diff --git a/config/feature_flags/experiment/members_invite_email.yml b/config/feature_flags/experiment/members_invite_email.yml
new file mode 100644
index 00000000000..5bf0b9d10d0
--- /dev/null
+++ b/config/feature_flags/experiment/members_invite_email.yml
@@ -0,0 +1,8 @@
+---
+name: members_invite_email
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/51223
+rollout_issue_url: https://gitlab.com/gitlab-org/growth/team-tasks/-/issues/325
+milestone: '13.9'
+type: experiment
+group: group::expansion
+default_enabled: false
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 92e7501d49d..65627b0e166 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -165,6 +165,9 @@ production: &base
## Disable jQuery and CSS animations
# disable_animations: true
+ ## Application settings cache expiry in seconds (default: 60)
+ # application_settings_cache_seconds: 60
+
## Reply by email
# Allow users to comment on issues and merge requests by replying to notification emails.
# For documentation on how to set this up, see http://doc.gitlab.com/ce/administration/reply_by_email.html
@@ -413,7 +416,7 @@ production: &base
## Gravatar
## If using gravatar.com, there's nothing to change here. For Libravatar
## you'll need to provide the custom URLs. For more information,
- ## see: https://docs.gitlab.com/ee/customization/libravatar.html
+ ## see: https://docs.gitlab.com/ee/administration/libravatar.html
gravatar:
# Gravatar/Libravatar URLs: possible placeholders: %{hash} %{size} %{email} %{username}
# plain_url: "http://..." # default: https://www.gravatar.com/avatar/%{hash}?s=%{size}&d=identicon
@@ -432,7 +435,7 @@ production: &base
cron: "0 * * * *"
# Execute scheduled triggers
pipeline_schedule_worker:
- cron: "19 * * * *"
+ cron: "3-59/10 * * * *"
# Remove expired build artifacts
expire_build_artifacts_worker:
cron: "*/7 * * * *"
@@ -587,7 +590,7 @@ production: &base
# enabled: true
# primary_api_url: http://localhost:5000/ # internal address to the primary registry, will be used by GitLab to directly communicate with primary registry API
- ## Feature Flag https://docs.gitlab.com/ee/user/project/operations/feature_flags.html
+ ## Feature Flag https://docs.gitlab.com/ee/operations/feature_flags.html
feature_flags:
unleash:
# enabled: false
@@ -1239,6 +1242,7 @@ production: &base
## Matomo analytics.
# matomo_url: '_your_matomo_url'
# matomo_site_id: '_your_matomo_site_id'
+ # matomo_disable_cookies: false
rack_attack:
git_basic_auth:
diff --git a/config/helpers/incremental_webpack_compiler.js b/config/helpers/incremental_webpack_compiler.js
new file mode 100644
index 00000000000..786bb6071fa
--- /dev/null
+++ b/config/helpers/incremental_webpack_compiler.js
@@ -0,0 +1,128 @@
+const fs = require('fs');
+const path = require('path');
+
+const log = (msg, ...rest) => console.log(`IncrementalWebpackCompiler: ${msg}`, ...rest);
+
+// If we force a recompile immediately, the page reload doesn't seem to work.
+// Five seconds seem to work fine and the user can read the message
+const TIMEOUT = 5000;
+
+class NoopCompiler {
+ constructor() {
+ this.enabled = false;
+ }
+
+ filterEntryPoints(entryPoints) {
+ return entryPoints;
+ }
+
+ logStatus() {}
+
+ setupMiddleware() {}
+}
+
+class IncrementalWebpackCompiler {
+ constructor(historyFilePath) {
+ this.enabled = true;
+ this.history = {};
+ this.compiledEntryPoints = new Set([
+ // Login page
+ 'pages.sessions.new',
+ // Explore page
+ 'pages.root',
+ ]);
+ this.historyFilePath = historyFilePath;
+ this._loadFromHistory();
+ }
+
+ filterEntryPoints(entrypoints) {
+ return Object.fromEntries(
+ Object.entries(entrypoints).map(([key, val]) => {
+ if (this.compiledEntryPoints.has(key)) {
+ return [key, val];
+ }
+ return [key, ['./webpack_non_compiled_placeholder.js']];
+ }),
+ );
+ }
+
+ logStatus(totalCount) {
+ const current = this.compiledEntryPoints.size;
+ log(`Currently compiling route entrypoints: ${current} of ${totalCount}`);
+ }
+
+ setupMiddleware(app, server) {
+ app.use((req, res, next) => {
+ const fileName = path.basename(req.url);
+
+ /**
+ * We are only interested in files that have a name like `pages.foo.bar.chunk.js`
+ * because those are the ones corresponding to our entry points.
+ *
+ * This filters out hot update files that are for example named "pages.foo.bar.[hash].hot-update.js"
+ */
+ if (fileName.startsWith('pages.') && fileName.endsWith('.chunk.js')) {
+ const chunk = fileName.replace(/\.chunk\.js$/, '');
+
+ this._addToHistory(chunk);
+
+ if (!this.compiledEntryPoints.has(chunk)) {
+ log(`First time we are seeing ${chunk}. Adding to compilation.`);
+
+ this.compiledEntryPoints.add(chunk);
+
+ setTimeout(() => {
+ server.middleware.invalidate(() => {
+ if (server.sockets) {
+ server.sockWrite(server.sockets, 'content-changed');
+ }
+ });
+ }, TIMEOUT);
+ }
+ }
+
+ next();
+ });
+ }
+
+ // private methods
+
+ _addToHistory(chunk) {
+ if (!this.history[chunk]) {
+ this.history[chunk] = { lastVisit: null, count: 0 };
+ }
+ this.history[chunk].lastVisit = Date.now();
+ this.history[chunk].count += 1;
+
+ try {
+ fs.writeFileSync(this.historyFilePath, JSON.stringify(this.history), 'utf8');
+ } catch (e) {
+ log('Warning – Could not write to history', e.message);
+ }
+ }
+
+ _loadFromHistory() {
+ try {
+ this.history = JSON.parse(fs.readFileSync(this.historyFilePath, 'utf8'));
+ const entryPoints = Object.keys(this.history);
+ log(`Successfully loaded history containing ${entryPoints.length} entry points`);
+ /*
+ TODO: Let's ask a few folks to give us their history file after a milestone of usage
+ Then we can make smarter decisions on when to throw out rather than rendering everything
+ Something like top 20/30/40 entries visited in the last 7/10/15 days might be sufficient
+ */
+ this.compiledEntryPoints = new Set([...this.compiledEntryPoints, ...entryPoints]);
+ } catch (e) {
+ log(`No history found...`);
+ }
+ }
+}
+
+module.exports = (enabled, historyFilePath) => {
+ log(`Status – ${enabled ? 'enabled' : 'disabled'}`);
+
+ if (enabled) {
+ return new IncrementalWebpackCompiler(historyFilePath);
+ }
+ return new NoopCompiler();
+};
diff --git a/config/initializers/01_secret_token.rb b/config/initializers/01_secret_token.rb
index d7e725477eb..c4520b4b313 100644
--- a/config/initializers/01_secret_token.rb
+++ b/config/initializers/01_secret_token.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# WARNING: Before you make a change to secrets.yml, read the development guide for GitLab secrets
# doc/development/application_secrets.md.
#
diff --git a/config/initializers/0_acts_as_taggable.rb b/config/initializers/0_acts_as_taggable.rb
index 50dc47673ab..9a92b8f2d18 100644
--- a/config/initializers/0_acts_as_taggable.rb
+++ b/config/initializers/0_acts_as_taggable.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
ActsAsTaggableOn.strict_case_match = true
# tags_counter enables caching count of tags which results in an update whenever a tag is added or removed
diff --git a/config/initializers/0_inject_enterprise_edition_module.rb b/config/initializers/0_inject_enterprise_edition_module.rb
index b3ebb44ef25..7478727f869 100644
--- a/config/initializers/0_inject_enterprise_edition_module.rb
+++ b/config/initializers/0_inject_enterprise_edition_module.rb
@@ -6,12 +6,7 @@ module InjectEnterpriseEditionModule
def prepend_if_ee(constant, with_descendants: false)
return unless Gitlab.ee?
- ee_module = constant.constantize
- prepend(ee_module)
-
- if with_descendants
- descendants.each { |descendant| descendant.prepend(ee_module) }
- end
+ prepend_module(constant.constantize, with_descendants)
end
def extend_if_ee(constant)
@@ -21,6 +16,34 @@ module InjectEnterpriseEditionModule
def include_if_ee(constant)
include(constant.constantize) if Gitlab.ee?
end
+
+ def prepend_ee_mod(with_descendants: false)
+ return unless Gitlab.ee?
+
+ prepend_module(ee_module, with_descendants)
+ end
+
+ def extend_ee_mod
+ extend(ee_module) if Gitlab.ee?
+ end
+
+ def include_ee_mod
+ include(ee_module) if Gitlab.ee?
+ end
+
+ private
+
+ def prepend_module(mod, with_descendants)
+ prepend(mod)
+
+ if with_descendants
+ descendants.each { |descendant| descendant.prepend(mod) }
+ end
+ end
+
+ def ee_module
+ ::EE.const_get(name, false)
+ end
end
Module.prepend(InjectEnterpriseEditionModule)
diff --git a/config/initializers/0_inject_feature_flags.rb b/config/initializers/0_inject_feature_flags.rb
index 5b33b3bb4ea..daf208bd960 100644
--- a/config/initializers/0_inject_feature_flags.rb
+++ b/config/initializers/0_inject_feature_flags.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# This needs to be loaded after
# config/initializers/0_inject_enterprise_edition_module.rb
diff --git a/config/initializers/0_marginalia.rb b/config/initializers/0_marginalia.rb
index 5c6cf7752c4..952dd75886d 100644
--- a/config/initializers/0_marginalia.rb
+++ b/config/initializers/0_marginalia.rb
@@ -9,6 +9,11 @@ require 'marginalia'
# Refer: https://github.com/basecamp/marginalia/blob/v1.8.0/lib/marginalia/railtie.rb#L67
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.prepend(Gitlab::Marginalia::ActiveRecordInstrumentation)
+# By default, PostgreSQL only tracks the first 1024 bytes of a SQL
+# query. Prepending the comment allows us to trace the source of the
+# query without having to increase the `track_activity_query_size`
+# parameter.
+Marginalia::Comment.prepend_comment = true unless Rails.env.test? # Some tests do string matching against raw SQL
Marginalia::Comment.components = [:application, :controller, :action, :correlation_id, :jid, :job_class]
# As mentioned in https://github.com/basecamp/marginalia/pull/93/files,
diff --git a/config/initializers/0_post_deployment_migrations.rb b/config/initializers/0_post_deployment_migrations.rb
index 2d647f72840..dabb82c8525 100644
--- a/config/initializers/0_post_deployment_migrations.rb
+++ b/config/initializers/0_post_deployment_migrations.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Post deployment migrations are included by default. This file must be loaded
# before other initializers as Rails may otherwise memoize a list of migrations
# excluding the post deployment migrations.
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index bbed08f5044..c478123f4eb 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require_relative '../settings'
require_relative '../object_store_settings'
require_relative '../smime_signature_settings'
@@ -309,6 +311,13 @@ Settings.pages['storage_path'] = Settings.pages['path']
Settings.pages['object_store'] = ObjectStoreSettings.legacy_parse(Settings.pages['object_store'])
#
+# GitLab documentation
+#
+Settings['gitlab_docs'] ||= Settingslogic.new({})
+Settings.gitlab_docs['enabled'] ||= false
+Settings.gitlab_docs['host'] = nil unless Settings.gitlab_docs.enabled
+
+#
# Geo
#
Gitlab.ee do
@@ -416,7 +425,7 @@ Settings.cron_jobs['stuck_ci_jobs_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['stuck_ci_jobs_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['stuck_ci_jobs_worker']['job_class'] = 'StuckCiJobsWorker'
Settings.cron_jobs['pipeline_schedule_worker'] ||= Settingslogic.new({})
-Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '19 * * * *'
+Settings.cron_jobs['pipeline_schedule_worker']['cron'] ||= '3-59/10 * * * *'
Settings.cron_jobs['pipeline_schedule_worker']['job_class'] = 'PipelineScheduleWorker'
Settings.cron_jobs['expire_build_artifacts_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['expire_build_artifacts_worker']['cron'] ||= '*/7 * * * *'
@@ -445,6 +454,9 @@ Settings.cron_jobs['personal_access_tokens_expired_notification_worker']['job_cl
Settings.cron_jobs['repository_archive_cache_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['repository_archive_cache_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['repository_archive_cache_worker']['job_class'] = 'RepositoryArchiveCacheWorker'
+Settings.cron_jobs['packages_composer_cache_cleanup_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['packages_composer_cache_cleanup_worker']['cron'] ||= '30 * * * *'
+Settings.cron_jobs['packages_composer_cache_cleanup_worker']['job_class'] = 'Packages::Composer::CacheCleanupWorker'
Settings.cron_jobs['import_export_project_cleanup_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['import_export_project_cleanup_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['import_export_project_cleanup_worker']['job_class'] = 'ImportExportProjectCleanupWorker'
@@ -544,6 +556,15 @@ Settings.cron_jobs['schedule_merge_request_cleanup_refs_worker']['job_class'] =
Settings.cron_jobs['manage_evidence_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['manage_evidence_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['manage_evidence_worker']['job_class'] = 'Releases::ManageEvidenceWorker'
+Settings.cron_jobs['user_status_cleanup_batch_worker'] ||= Settingslogic.new({})
+Settings.cron_jobs['user_status_cleanup_batch_worker']['cron'] ||= '* * * * *'
+Settings.cron_jobs['user_status_cleanup_batch_worker']['job_class'] = 'UserStatusCleanup::BatchWorker'
+
+Gitlab.com do
+ Settings.cron_jobs['namespaces_in_product_marketing_emails_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['namespaces_in_product_marketing_emails_worker']['cron'] ||= '0 9 * * *'
+ Settings.cron_jobs['namespaces_in_product_marketing_emails_worker']['job_class'] = 'Namespaces::InProductMarketingEmailsWorker'
+end
Gitlab.ee do
Settings.cron_jobs['analytics_devops_adoption_create_all_snapshots_worker'] ||= Settingslogic.new({})
@@ -597,6 +618,9 @@ Gitlab.ee do
Settings.cron_jobs['incident_sla_exceeded_check_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['incident_sla_exceeded_check_worker']['cron'] ||= '*/2 * * * *'
Settings.cron_jobs['incident_sla_exceeded_check_worker']['job_class'] = 'IncidentManagement::IncidentSlaExceededCheckWorker'
+ Settings.cron_jobs['incident_management_persist_oncall_rotation_worker'] ||= Settingslogic.new({})
+ Settings.cron_jobs['incident_management_persist_oncall_rotation_worker']['cron'] ||= '*/5 * * * *'
+ Settings.cron_jobs['incident_management_persist_oncall_rotation_worker']['job_class'] = 'IncidentManagement::OncallRotations::PersistAllRotationsShiftsJob'
Settings.cron_jobs['import_software_licenses_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['import_software_licenses_worker']['cron'] ||= '0 3 * * 0'
Settings.cron_jobs['import_software_licenses_worker']['job_class'] = 'ImportSoftwareLicensesWorker'
@@ -808,6 +832,7 @@ Settings.forti_token_cloud['enabled'] = false if Settings.forti_token_cloud['ena
Settings['extra'] ||= Settingslogic.new({})
Settings.extra['matomo_site_id'] ||= Settings.extra['piwik_site_id'] if Settings.extra['piwik_site_id'].present?
Settings.extra['matomo_url'] ||= Settings.extra['piwik_url'] if Settings.extra['piwik_url'].present?
+Settings.extra['matomo_disable_cookies'] = false if Settings.extra['matomo_disable_cookies'].nil?
#
# Rack::Attack settings
diff --git a/config/initializers/2_gitlab.rb b/config/initializers/2_gitlab.rb
index 8b7f245b7b0..5b78a471f8a 100644
--- a/config/initializers/2_gitlab.rb
+++ b/config/initializers/2_gitlab.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
require_dependency 'gitlab'
diff --git a/config/initializers/5_backend.rb b/config/initializers/5_backend.rb
index 46854af9b55..78910bb7675 100644
--- a/config/initializers/5_backend.rb
+++ b/config/initializers/5_backend.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Rails.env.test?
required_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version_required)
current_version = Gitlab::VersionInfo.parse(Gitlab::Shell.version)
diff --git a/config/initializers/6_validations.rb b/config/initializers/6_validations.rb
index 827b15e5c8d..060b04be824 100644
--- a/config/initializers/6_validations.rb
+++ b/config/initializers/6_validations.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
def storage_validation_error(message)
raise "#{message}. Please fix this in your gitlab.yml before starting GitLab."
end
diff --git a/config/initializers/7_prometheus_metrics.rb b/config/initializers/7_prometheus_metrics.rb
index 65ff6b656b9..a304f861db8 100644
--- a/config/initializers/7_prometheus_metrics.rb
+++ b/config/initializers/7_prometheus_metrics.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'prometheus/client'
# Keep separate directories for separate processes
@@ -39,6 +41,32 @@ Sidekiq.configure_server do |config|
end
if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled?
+ # When running Puma in a Single mode, `on_master_start` and `on_worker_start` are the same.
+ # Thus, we order these events to run `reinitialize_on_pid_change` with `force: true` first.
+ Gitlab::Cluster::LifecycleEvents.on_master_start do
+ # Ensure that stale Prometheus metrics don't accumulate over time
+ Prometheus::CleanupMultiprocDirService.new.execute
+
+ ::Prometheus::Client.reinitialize_on_pid_change(force: true)
+
+ if Gitlab::Runtime.unicorn?
+ Gitlab::Metrics::Samplers::UnicornSampler.instance(Settings.monitoring.unicorn_sampler_interval).start
+ elsif Gitlab::Runtime.puma?
+ Gitlab::Metrics::Samplers::PumaSampler.instance.start
+ end
+
+ Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION }, 1)
+
+ unless Gitlab::Runtime.sidekiq?
+ Gitlab::Metrics::RequestsRackMiddleware.initialize_metrics
+ end
+
+ Gitlab::Ci::Parsers.instrument!
+ rescue IOError => e
+ Gitlab::ErrorTracking.track_exception(e)
+ Gitlab::Metrics.error_detected!
+ end
+
Gitlab::Cluster::LifecycleEvents.on_worker_start do
defined?(::Prometheus::Client.reinitialize_on_pid_change) && Prometheus::Client.reinitialize_on_pid_change
@@ -53,25 +81,8 @@ if !Rails.env.test? && Gitlab::Metrics.prometheus_metrics_enabled?
if Gitlab.ee? && Gitlab::Runtime.sidekiq?
Gitlab::Metrics::Samplers::GlobalSearchSampler.instance.start
end
- rescue IOError => e
- Gitlab::ErrorTracking.track_exception(e)
- Gitlab::Metrics.error_detected!
- end
-
- Gitlab::Cluster::LifecycleEvents.on_master_start do
- ::Prometheus::Client.reinitialize_on_pid_change(force: true)
-
- if Gitlab::Runtime.unicorn?
- Gitlab::Metrics::Samplers::UnicornSampler.instance(Settings.monitoring.unicorn_sampler_interval).start
- elsif Gitlab::Runtime.puma?
- Gitlab::Metrics::Samplers::PumaSampler.instance.start
- end
- Gitlab::Metrics.gauge(:deployments, 'GitLab Version', {}, :max).set({ version: Gitlab::VERSION }, 1)
-
- unless Gitlab::Runtime.sidekiq?
- Gitlab::Metrics::RequestsRackMiddleware.initialize_metrics
- end
+ Gitlab::Ci::Parsers.instrument!
rescue IOError => e
Gitlab::ErrorTracking.track_exception(e)
Gitlab::Metrics.error_detected!
diff --git a/config/initializers/7_redis.rb b/config/initializers/7_redis.rb
index af4967521b8..a6025a6dbf0 100644
--- a/config/initializers/7_redis.rb
+++ b/config/initializers/7_redis.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Make sure we initialize a Redis connection pool before multi-threaded
# execution starts by
# 1. Sidekiq
diff --git a/config/initializers/8_devise.rb b/config/initializers/8_devise.rb
index a4841a11a00..3cac012c2f7 100644
--- a/config/initializers/8_devise.rb
+++ b/config/initializers/8_devise.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Use this hook to configure devise mailer, warden hooks and so forth. The first
# four configuration values can also be set straight in your models.
Devise.setup do |config|
diff --git a/config/initializers/8_gitaly.rb b/config/initializers/8_gitaly.rb
index f4f116e67f7..d7b5bfbc269 100644
--- a/config/initializers/8_gitaly.rb
+++ b/config/initializers/8_gitaly.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'uri'
Gitlab.config.repositories.storages.keys.each do |storage|
diff --git a/config/initializers/9_fast_gettext.rb b/config/initializers/9_fast_gettext.rb
index f836e6e971d..0c28a1b7ce8 100644
--- a/config/initializers/9_fast_gettext.rb
+++ b/config/initializers/9_fast_gettext.rb
@@ -1,2 +1,4 @@
+# frozen_string_literal: true
+
FastGettext.default_available_locales = Gitlab::I18n.available_locales
I18n.available_locales = Gitlab::I18n.available_locales
diff --git a/config/initializers/action_dispatch_http_mime_negotiation.rb b/config/initializers/action_dispatch_http_mime_negotiation.rb
index 6c31de2de55..2d6afb97a60 100644
--- a/config/initializers/action_dispatch_http_mime_negotiation.rb
+++ b/config/initializers/action_dispatch_http_mime_negotiation.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Starting with Rails 5, Rails tries to determine the request format based on
# the extension of the full URL path if no explicit `format` param or `Accept`
# header is provided, like when simply browsing to a page in your browser.
diff --git a/config/initializers/action_mailer_hooks.rb b/config/initializers/action_mailer_hooks.rb
index 41e34b6eb20..46d5e387d9d 100644
--- a/config/initializers/action_mailer_hooks.rb
+++ b/config/initializers/action_mailer_hooks.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
unless Gitlab.config.gitlab.email_enabled
ActionMailer::Base.register_interceptor(::Gitlab::Email::Hook::DisableEmailInterceptor)
ActionMailer::Base.logger = nil
diff --git a/config/initializers/active_record_data_types.rb b/config/initializers/active_record_data_types.rb
index 3fa999e9908..f8f0a69622f 100644
--- a/config/initializers/active_record_data_types.rb
+++ b/config/initializers/active_record_data_types.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# ActiveRecord custom data type for storing datetimes with timezone information.
# See https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/11229
diff --git a/config/initializers/active_record_ping.rb b/config/initializers/active_record_ping.rb
index 349a7e4a496..196f587f565 100644
--- a/config/initializers/active_record_ping.rb
+++ b/config/initializers/active_record_ping.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# # frozen_string_literal: true
if Gitlab::Utils.to_boolean(ENV['ENABLE_ACTIVERECORD_EMPTY_PING'], default: false)
diff --git a/config/initializers/active_record_preloader.rb b/config/initializers/active_record_preloader.rb
index d585ecda307..349ca6c4831 100644
--- a/config/initializers/active_record_preloader.rb
+++ b/config/initializers/active_record_preloader.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module ActiveRecord
module Associations
class Preloader
diff --git a/config/initializers/active_record_schema_ignore_tables.rb b/config/initializers/active_record_schema_ignore_tables.rb
index 0a840bbf1d8..55c44e00c40 100644
--- a/config/initializers/active_record_schema_ignore_tables.rb
+++ b/config/initializers/active_record_schema_ignore_tables.rb
@@ -1,2 +1,4 @@
+# frozen_string_literal: true
+
# Ignore dynamically managed partitions in static application schema
ActiveRecord::SchemaDumper.ignore_tables += ["#{Gitlab::Database::DYNAMIC_PARTITIONS_SCHEMA}.*"]
diff --git a/config/initializers/active_record_table_definition.rb b/config/initializers/active_record_table_definition.rb
index 9220620da41..3c6311f034f 100644
--- a/config/initializers/active_record_table_definition.rb
+++ b/config/initializers/active_record_table_definition.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# ActiveRecord custom method definitions with timezone information.
# See https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/11229
diff --git a/config/initializers/ar_speed_up_migration_checking.rb b/config/initializers/ar_speed_up_migration_checking.rb
index c4ffcc54cb2..778b2ee0cb1 100644
--- a/config/initializers/ar_speed_up_migration_checking.rb
+++ b/config/initializers/ar_speed_up_migration_checking.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Rails.env.test?
require 'active_record/migration'
diff --git a/config/initializers/asset_proxy_settings.rb b/config/initializers/asset_proxy_settings.rb
index 92247aba1b8..48eedcee681 100644
--- a/config/initializers/asset_proxy_settings.rb
+++ b/config/initializers/asset_proxy_settings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
#
# Asset proxy settings
#
diff --git a/config/initializers/attr_encrypted_no_db_connection.rb b/config/initializers/attr_encrypted_no_db_connection.rb
index 7ad458929db..f8d0effbbad 100644
--- a/config/initializers/attr_encrypted_no_db_connection.rb
+++ b/config/initializers/attr_encrypted_no_db_connection.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module AttrEncrypted
module Adapters
module ActiveRecord
diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb
index 2f892f78112..f3e01d23448 100644
--- a/config/initializers/backtrace_silencers.rb
+++ b/config/initializers/backtrace_silencers.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.backtrace_cleaner.remove_silencers!
# This allows us to see the proper caller of SQL calls in {development,test}.log
diff --git a/config/initializers/batch_loader.rb b/config/initializers/batch_loader.rb
index 2e2256b0eb9..d88b43fbcea 100644
--- a/config/initializers/batch_loader.rb
+++ b/config/initializers/batch_loader.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Rails.application.config.middleware.use(BatchLoader::Middleware)
diff --git a/config/initializers/bootstrap_form.rb b/config/initializers/bootstrap_form.rb
index bbc1d83a63f..8121bc8bf1d 100644
--- a/config/initializers/bootstrap_form.rb
+++ b/config/initializers/bootstrap_form.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module BootstrapFormBuilderCustomization
def label_class
"label-bold"
diff --git a/config/initializers/bullet.rb b/config/initializers/bullet.rb
index d1f72ca3ce7..2d21514b121 100644
--- a/config/initializers/bullet.rb
+++ b/config/initializers/bullet.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
def bullet_enabled?
Gitlab::Utils.to_boolean(ENV['ENABLE_BULLET'].to_s)
end
diff --git a/config/initializers/cluster_events_before_phased_restart.rb b/config/initializers/cluster_events_before_phased_restart.rb
index aae5470d6ae..d029adbe363 100644
--- a/config/initializers/cluster_events_before_phased_restart.rb
+++ b/config/initializers/cluster_events_before_phased_restart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Technical debt, this should be ideally upstreamed.
#
# However, there's currently no way to hook before doing
diff --git a/config/initializers/console_message.rb b/config/initializers/console_message.rb
index fe47195062b..2c05c2c9a24 100644
--- a/config/initializers/console_message.rb
+++ b/config/initializers/console_message.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# rubocop:disable Rails/Output
if Gitlab::Runtime.console?
# note that this will not print out when using `spring`
diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
index e9a71f32581..375a23fdfd6 100644
--- a/config/initializers/cookies_serializer.rb
+++ b/config/initializers/cookies_serializer.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
Rails.application.config.action_dispatch.use_cookies_with_metadata = true
diff --git a/config/initializers/date_time_formats.rb b/config/initializers/date_time_formats.rb
index 1939ced512d..44d07869033 100644
--- a/config/initializers/date_time_formats.rb
+++ b/config/initializers/date_time_formats.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# :short - 10 Nov
# :medium - Nov 10, 2007
# :long - November 10, 2007
diff --git a/config/initializers/default_url_options.rb b/config/initializers/default_url_options.rb
index de2cdc6ecae..138a8e467c7 100644
--- a/config/initializers/default_url_options.rb
+++ b/config/initializers/default_url_options.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
default_url_options = {
host: Gitlab.config.gitlab.host,
protocol: Gitlab.config.gitlab.protocol,
diff --git a/config/initializers/deprecations.rb b/config/initializers/deprecations.rb
index 2b07ca665e2..3d03efe67e0 100644
--- a/config/initializers/deprecations.rb
+++ b/config/initializers/deprecations.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Rails.env.development? || ENV['GITLAB_LEGACY_PATH_LOG_MESSAGE']
deprecator = ActiveSupport::Deprecation.new('11.0', 'GitLab')
diff --git a/config/initializers/direct_upload_support.rb b/config/initializers/direct_upload_support.rb
index 919b80b79c0..880aea7d114 100644
--- a/config/initializers/direct_upload_support.rb
+++ b/config/initializers/direct_upload_support.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
class DirectUploadsValidator
SUPPORTED_DIRECT_UPLOAD_PROVIDERS = [ObjectStorage::Config::GOOGLE_PROVIDER,
ObjectStorage::Config::AWS_PROVIDER,
diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb
index 6b54b5074d5..1cf70909997 100644
--- a/config/initializers/doorkeeper.rb
+++ b/config/initializers/doorkeeper.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Doorkeeper.configure do
# Change the ORM that doorkeeper will use.
# Currently supported options are :active_record, :mongoid2, :mongoid3, :mongo_mapper
diff --git a/config/initializers/doorkeeper_openid_connect.rb b/config/initializers/doorkeeper_openid_connect.rb
index 3523776c4f7..12a963ce45d 100644
--- a/config/initializers/doorkeeper_openid_connect.rb
+++ b/config/initializers/doorkeeper_openid_connect.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Doorkeeper::OpenidConnect.configure do
issuer Gitlab.config.gitlab.url
diff --git a/config/initializers/etag_caching.rb b/config/initializers/etag_caching.rb
index eba88801141..2e5574d2602 100644
--- a/config/initializers/etag_caching.rb
+++ b/config/initializers/etag_caching.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# This middleware has to come after Gitlab::Metrics::RackMiddleware
# in the middleware stack, because it tracks events with
# GitLab Performance Monitoring
diff --git a/config/initializers/faraday.rb b/config/initializers/faraday.rb
new file mode 100644
index 00000000000..2700751e79f
--- /dev/null
+++ b/config/initializers/faraday.rb
@@ -0,0 +1,3 @@
+# frozen_string_literal: true
+
+::Faraday::Request.register_middleware(gitlab_error_callback: -> { ::Gitlab::Faraday::ErrorCallback })
diff --git a/config/initializers/fill_shards.rb b/config/initializers/fill_shards.rb
index 90c0d63e4fe..e2889f59574 100644
--- a/config/initializers/fill_shards.rb
+++ b/config/initializers/fill_shards.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# The explicit schema version check is needed because during our migration rollback testing,
# `Shard.connected?` could be cached and return true even though the table doesn't exist
return unless Shard.connected?
diff --git a/config/initializers/fix_local_cache_middleware.rb b/config/initializers/fix_local_cache_middleware.rb
index 2644ee6a7d3..94da6d9c0e0 100644
--- a/config/initializers/fix_local_cache_middleware.rb
+++ b/config/initializers/fix_local_cache_middleware.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module LocalCacheRegistryCleanupWithEnsure
LocalCacheRegistry =
ActiveSupport::Cache::Strategy::LocalCache::LocalCacheRegistry
diff --git a/config/initializers/fog_google_https_private_urls.rb b/config/initializers/fog_google_https_private_urls.rb
index ef6afb2b686..78cbd41a609 100644
--- a/config/initializers/fog_google_https_private_urls.rb
+++ b/config/initializers/fog_google_https_private_urls.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
#
# Monkey patching the https support for private urls
# See https://gitlab.com/gitlab-org/gitlab/issues/4879
diff --git a/config/initializers/forbid_sidekiq_in_transactions.rb b/config/initializers/forbid_sidekiq_in_transactions.rb
index f505fb5843a..85ec8cad0a3 100644
--- a/config/initializers/forbid_sidekiq_in_transactions.rb
+++ b/config/initializers/forbid_sidekiq_in_transactions.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Sidekiq
module Worker
EnqueueFromTransactionError = Class.new(StandardError)
diff --git a/config/initializers/gettext_rails_i18n_patch.rb b/config/initializers/gettext_rails_i18n_patch.rb
index 09c9b325a04..c23049e93c9 100644
--- a/config/initializers/gettext_rails_i18n_patch.rb
+++ b/config/initializers/gettext_rails_i18n_patch.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'gettext_i18n_rails/haml_parser'
require 'gettext_i18n_rails_js/parser/javascript'
require 'json'
diff --git a/config/initializers/gitlab_kas_secret.rb b/config/initializers/gitlab_kas_secret.rb
index 5e86e954684..8955f71a597 100644
--- a/config/initializers/gitlab_kas_secret.rb
+++ b/config/initializers/gitlab_kas_secret.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Gitlab::Kas.ensure_secret!
diff --git a/config/initializers/gitlab_shell_secret_token.rb b/config/initializers/gitlab_shell_secret_token.rb
index 529dcdd4644..e11f65bb8ca 100644
--- a/config/initializers/gitlab_shell_secret_token.rb
+++ b/config/initializers/gitlab_shell_secret_token.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Gitlab::Shell.ensure_secret_token!
diff --git a/config/initializers/gitlab_workhorse_secret.rb b/config/initializers/gitlab_workhorse_secret.rb
index ed54dc11098..5c959a72bd1 100644
--- a/config/initializers/gitlab_workhorse_secret.rb
+++ b/config/initializers/gitlab_workhorse_secret.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
begin
Gitlab::Workhorse.secret
rescue
diff --git a/config/initializers/go_get.rb b/config/initializers/go_get.rb
index 7e7896b4900..830579f4a8a 100644
--- a/config/initializers/go_get.rb
+++ b/config/initializers/go_get.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Rails.application.config.middleware.use(Gitlab::Middleware::Go)
diff --git a/config/initializers/grpc.rb b/config/initializers/grpc.rb
index b96962fe7db..66b212ef131 100644
--- a/config/initializers/grpc.rb
+++ b/config/initializers/grpc.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'logger'
GRPC_LOGGER = Logger.new(Rails.root.join('log/grpc.log'))
diff --git a/config/initializers/hamlit.rb b/config/initializers/hamlit.rb
index b5bcae4bbfc..dda38d2a61f 100644
--- a/config/initializers/hamlit.rb
+++ b/config/initializers/hamlit.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Hamlit::RailsTemplate.set_options(attr_quote: '"')
Hamlit::Filters.remove_filter('coffee')
diff --git a/config/initializers/health_check.rb b/config/initializers/health_check.rb
index 1496f20afc1..0b35aaf115b 100644
--- a/config/initializers/health_check.rb
+++ b/config/initializers/health_check.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
HealthCheck.setup do |config|
config.standard_checks = %w(database migrations cache)
config.full_checks = %w(database migrations cache)
diff --git a/config/initializers/http_hostname_override.rb b/config/initializers/http_hostname_override.rb
index 58dd380326f..5d2739c1f58 100644
--- a/config/initializers/http_hostname_override.rb
+++ b/config/initializers/http_hostname_override.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# This override allows passing `@hostname_override` to the SNI protocol,
# which is used to lookup the correct SSL certificate in the
# request handshake process.
diff --git a/config/initializers/kaminari_active_record_relation_methods_with_limit.rb b/config/initializers/kaminari_active_record_relation_methods_with_limit.rb
index 55b98cda520..982cb69e532 100644
--- a/config/initializers/kaminari_active_record_relation_methods_with_limit.rb
+++ b/config/initializers/kaminari_active_record_relation_methods_with_limit.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module Kaminari
# Active Record specific page scope methods implementations
module ActiveRecordRelationMethodsWithLimit
diff --git a/config/initializers/kaminari_config.rb b/config/initializers/kaminari_config.rb
index 3cbe9a058d7..8e10079ce36 100644
--- a/config/initializers/kaminari_config.rb
+++ b/config/initializers/kaminari_config.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Kaminari.configure do |config|
config.default_per_page = 20
config.max_per_page = 100
diff --git a/config/initializers/lograge.rb b/config/initializers/lograge.rb
index 5b068c15aad..e8479bc6aa4 100644
--- a/config/initializers/lograge.rb
+++ b/config/initializers/lograge.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Only use Lograge for Rails
unless Gitlab::Runtime.sidekiq?
Rails.application.reloader.to_prepare do
diff --git a/config/initializers/mail_encoding_patch.rb b/config/initializers/mail_encoding_patch.rb
index d53b058ba75..11a96625e08 100644
--- a/config/initializers/mail_encoding_patch.rb
+++ b/config/initializers/mail_encoding_patch.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Monkey patch mail 2.7.1 to fix quoted-printable issues with newlines
# The issues upstream invalidate SMIME signatures under some conditions
# This was working properly in 2.6.6
diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb
index acbdf8de5a6..5329232cc92 100644
--- a/config/initializers/mime_types.rb
+++ b/config/initializers/mime_types.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
# Add new mime types for use in respond_to blocks:
diff --git a/config/initializers/mini_magick.rb b/config/initializers/mini_magick.rb
index db0e7bbaaa3..8e3e55279f7 100644
--- a/config/initializers/mini_magick.rb
+++ b/config/initializers/mini_magick.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
MiniMagick.configure do |config|
config.cli = :graphicsmagick
end
diff --git a/config/initializers/net_http_patch.rb b/config/initializers/net_http_patch.rb
new file mode 100644
index 00000000000..a50ba7580cc
--- /dev/null
+++ b/config/initializers/net_http_patch.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+# Monkey patch Net::HTTP to fix missing URL decoding for username and password in proxy settings
+#
+# See proposed upstream fix https://github.com/ruby/net-http/pull/5
+# See Ruby-lang issue https://bugs.ruby-lang.org/issues/17542
+# See issue on GitLab https://gitlab.com/gitlab-org/gitlab/-/issues/289836
+
+module Net
+ class HTTP < Protocol
+ def proxy_user
+ if environment_variable_is_multiuser_safe? && @proxy_from_env
+ user = proxy_uri&.user
+ CGI.unescape(user) unless user.nil?
+ else
+ @proxy_user
+ end
+ end
+
+ def proxy_pass
+ if environment_variable_is_multiuser_safe? && @proxy_from_env
+ pass = proxy_uri&.password
+ CGI.unescape(pass) unless pass.nil?
+ else
+ @proxy_pass
+ end
+ end
+
+ def environment_variable_is_multiuser_safe?
+ ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE
+ end
+ end
+end
diff --git a/config/initializers/new_framework_defaults.rb b/config/initializers/new_framework_defaults.rb
index 115ee08dbb6..3d3ee5299e2 100644
--- a/config/initializers/new_framework_defaults.rb
+++ b/config/initializers/new_framework_defaults.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Remove this `if` condition when upgraded to rails 5.0.
# The body must be kept.
# Be sure to restart your server when you modify this file.
diff --git a/config/initializers/octokit.rb b/config/initializers/octokit.rb
index b3749258ec5..cd8c8ec24ee 100644
--- a/config/initializers/octokit.rb
+++ b/config/initializers/octokit.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Octokit.middleware.insert_after Octokit::Middleware::FollowRedirects, Gitlab::Octokit::Middleware
diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb
index a2720ab9986..85984772d05 100644
--- a/config/initializers/omniauth.rb
+++ b/config/initializers/omniauth.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Gitlab::Auth::Ldap::Config.enabled?
module OmniAuth::Strategies
Gitlab::Auth::Ldap::Config.available_servers.each do |server|
diff --git a/config/initializers/peek.rb b/config/initializers/peek.rb
index fa74d8620f4..85bfc4f0214 100644
--- a/config/initializers/peek.rb
+++ b/config/initializers/peek.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'peek/adapters/redis'
Peek::Adapters::Redis.prepend ::Gitlab::PerformanceBar::RedisAdapterWhenPeekEnabled
@@ -11,6 +13,7 @@ Peek.into Peek::Views::Gitaly
Peek.into Peek::Views::RedisDetailed
Peek.into Peek::Views::Elasticsearch
Peek.into Peek::Views::Rugged
+Peek.into Peek::Views::ExternalHttp
Peek.into Peek::Views::BulletDetailed if defined?(Bullet)
Peek.into Peek::Views::Tracing if Labkit::Tracing.tracing_url_enabled?
diff --git a/config/initializers/postgresql_cte.rb b/config/initializers/postgresql_cte.rb
index 68d53c4edbf..1ea0b4cfb58 100644
--- a/config/initializers/postgresql_cte.rb
+++ b/config/initializers/postgresql_cte.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Adds support for WITH statements when using PostgreSQL. The code here is taken
# from https://github.com/shmay/ctes_in_my_pg which at the time of writing has
# not been pushed to RubyGems. The license of this repository is as follows:
diff --git a/config/initializers/premailer.rb b/config/initializers/premailer.rb
index 87f8e67ef1c..77077888af3 100644
--- a/config/initializers/premailer.rb
+++ b/config/initializers/premailer.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# See https://github.com/fphilipe/premailer-rails#configuration
Premailer::Rails.config.merge!(
generate_text_part: false,
diff --git a/config/initializers/query_limiting.rb b/config/initializers/query_limiting.rb
index 66864d1898e..66aefc97c6a 100644
--- a/config/initializers/query_limiting.rb
+++ b/config/initializers/query_limiting.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Gitlab::QueryLimiting.enable?
require_dependency 'gitlab/query_limiting/active_support_subscriber'
require_dependency 'gitlab/query_limiting/transaction'
diff --git a/config/initializers/rack_attack_logging.rb b/config/initializers/rack_attack_logging.rb
deleted file mode 100644
index 7b0a8f0d7dd..00000000000
--- a/config/initializers/rack_attack_logging.rb
+++ /dev/null
@@ -1,38 +0,0 @@
-# frozen_string_literal: true
-#
-# Adds logging for all Rack Attack blocks and throttling events.
-
-ActiveSupport::Notifications.subscribe(/rack_attack/) do |name, start, finish, request_id, payload|
- req = payload[:request]
-
- case req.env['rack.attack.match_type']
- when :throttle, :blocklist, :track
- rack_attack_info = {
- message: 'Rack_Attack',
- env: req.env['rack.attack.match_type'],
- remote_ip: req.ip,
- request_method: req.request_method,
- path: req.fullpath,
- matched: req.env['rack.attack.matched']
- }
-
- throttles_with_user_information = [
- :throttle_authenticated_api,
- :throttle_authenticated_web,
- :throttle_authenticated_protected_paths_api,
- :throttle_authenticated_protected_paths_web
- ]
-
- if throttles_with_user_information.include? req.env['rack.attack.matched'].to_sym
- user_id = req.env['rack.attack.match_discriminator']
- user = User.find_by(id: user_id)
-
- rack_attack_info[:user_id] = user_id
- rack_attack_info['meta.user'] = user.username unless user.nil?
- end
-
- Gitlab::AuthLogger.error(rack_attack_info)
- when :safelist
- Gitlab::Instrumentation::Throttle.safelist = req.env['rack.attack.matched']
- end
-end
diff --git a/config/initializers/rack_lineprof.rb b/config/initializers/rack_lineprof.rb
index f7172fce9bc..e66bfd88907 100644
--- a/config/initializers/rack_lineprof.rb
+++ b/config/initializers/rack_lineprof.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# The default colors of rack-lineprof can be very hard to look at in terminals
# with darker backgrounds. This patch tweaks the colors a bit so the output is
# actually readable.
diff --git a/config/initializers/relative_naming_ci_namespace.rb b/config/initializers/relative_naming_ci_namespace.rb
index d9d3034150f..7380597722a 100644
--- a/config/initializers/relative_naming_ci_namespace.rb
+++ b/config/initializers/relative_naming_ci_namespace.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Description: https://coderwall.com/p/heed_q/rails-routing-and-namespaced-models
#
# This allows us to use CI ActiveRecord objects in all routes and use it:
diff --git a/config/initializers/request_context.rb b/config/initializers/request_context.rb
index f79f1f32d70..99e51ce498a 100644
--- a/config/initializers/request_context.rb
+++ b/config/initializers/request_context.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do |config|
config.middleware.insert_after RequestStore::Middleware, Gitlab::Middleware::RequestContext
end
diff --git a/config/initializers/request_profiler.rb b/config/initializers/request_profiler.rb
index fb5a7b8372e..8e426772b9a 100644
--- a/config/initializers/request_profiler.rb
+++ b/config/initializers/request_profiler.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do |config|
config.middleware.use(Gitlab::RequestProfiler::Middleware)
end
diff --git a/config/initializers/routing_draw.rb b/config/initializers/routing_draw.rb
index f0f74954eef..4978073633c 100644
--- a/config/initializers/routing_draw.rb
+++ b/config/initializers/routing_draw.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Adds draw method into Rails routing
# It allows us to keep routing split into files
ActionDispatch::Routing::Mapper.prepend Gitlab::Patch::DrawRoute
diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb
index a1eddd6a2c2..df80d4f7f73 100644
--- a/config/initializers/sentry.rb
+++ b/config/initializers/sentry.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
require 'gitlab/current_settings'
diff --git a/config/initializers/server_uptime.rb b/config/initializers/server_uptime.rb
index 46bf242e143..9e58a848007 100644
--- a/config/initializers/server_uptime.rb
+++ b/config/initializers/server_uptime.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Rails.application.config.booted_at = Time.now
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb
index da24881885e..6e0cd33aa96 100644
--- a/config/initializers/session_store.rb
+++ b/config/initializers/session_store.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
require 'gitlab/current_settings'
diff --git a/config/initializers/sherlock.rb b/config/initializers/sherlock.rb
index 8f2ababb712..ba33ffa13c5 100644
--- a/config/initializers/sherlock.rb
+++ b/config/initializers/sherlock.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Gitlab::Sherlock.enabled?
Rails.application.configure do |config|
config.middleware.use(Gitlab::Sherlock::Middleware)
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index 43beae3f50d..19c5e4df854 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -31,9 +31,9 @@ Sidekiq.configure_server do |config|
Sidekiq.logger.formatter = Gitlab::SidekiqLogging::JSONFormatter.new
config.options[:job_logger] = Gitlab::SidekiqLogging::StructuredLogger
- # Remove the default-provided handler
+ # Remove the default-provided handler. The exception is logged inside
+ # Gitlab::SidekiqLogging::StructuredLogger
config.error_handlers.reject! { |handler| handler.is_a?(Sidekiq::ExceptionHandler::Logger) }
- config.error_handlers << Gitlab::SidekiqLogging::ExceptionHandler.new
end
config.redis = queues_config_hash
diff --git a/config/initializers/sprockets.rb b/config/initializers/sprockets.rb
index a20b7dc75e9..d0660574eb6 100644
--- a/config/initializers/sprockets.rb
+++ b/config/initializers/sprockets.rb
@@ -1 +1,3 @@
+# frozen_string_literal: true
+
Sprockets.register_compressor 'application/javascript', :terser, Terser::Compressor
diff --git a/config/initializers/static_files.rb b/config/initializers/static_files.rb
index 4e19fec084a..3cdb5a5abcf 100644
--- a/config/initializers/static_files.rb
+++ b/config/initializers/static_files.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
app = Rails.application
if app.config.public_file_server.enabled
diff --git a/config/initializers/time_zone.rb b/config/initializers/time_zone.rb
index bca7411ad63..8ad6b2d3447 100644
--- a/config/initializers/time_zone.rb
+++ b/config/initializers/time_zone.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Time.zone = Gitlab.config.gitlab.time_zone || Time.zone
# The default is normally set by Rails in the
# active_support.initialize_time_zone Railtie, but we need to set it
diff --git a/config/initializers/tracing.rb b/config/initializers/tracing.rb
index 3058bdeb84e..3f066953c23 100644
--- a/config/initializers/tracing.rb
+++ b/config/initializers/tracing.rb
@@ -8,6 +8,7 @@ if Labkit::Tracing.enabled?
# Instrument Redis
Labkit::Tracing::Redis.instrument
+ Labkit::Tracing::ExternalHttp.instrument
# Instrument Rails
Labkit::Tracing::Rails::ActiveRecordSubscriber.instrument
diff --git a/config/initializers/trusted_proxies.rb b/config/initializers/trusted_proxies.rb
index a4528020c06..79e4b831c5e 100644
--- a/config/initializers/trusted_proxies.rb
+++ b/config/initializers/trusted_proxies.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Override Rack::Request to make use of the same list of trusted_proxies
# as the ActionDispatch::Request object. This is necessary for libraries
# like rack_attack where they don't use ActionDispatch, and we want them
diff --git a/config/initializers/validate_puma.rb b/config/initializers/validate_puma.rb
index ac5678c4b5a..9723765d00f 100644
--- a/config/initializers/validate_puma.rb
+++ b/config/initializers/validate_puma.rb
@@ -1,5 +1,11 @@
# frozen_string_literal: true
-if Gitlab::Runtime.puma? && ::Puma.cli_config.options[:workers].to_i == 0
- raise 'Puma is only supported in Cluster-mode: workers > 0'
+def max_puma_workers
+ Puma.cli_config.options[:workers].to_i
+end
+
+if Gitlab::Runtime.puma? && !Gitlab::Runtime.puma_in_clustered_mode?
+ raise 'Puma is only supported in Clustered mode (workers > 0)' if Gitlab.com?
+
+ warn 'WARNING: Puma is running in Single mode (workers = 0). Some features may not work. Please refer to https://gitlab.com/groups/gitlab-org/-/epics/5303 for info.'
end
diff --git a/config/initializers/warden.rb b/config/initializers/warden.rb
index 3cfab52efd1..2517c0cf5c2 100644
--- a/config/initializers/warden.rb
+++ b/config/initializers/warden.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do |config|
Warden::Manager.after_set_user(scope: :user) do |user, auth, opts|
Gitlab::Auth::UniqueIpsLimiter.limit_user!(user)
diff --git a/config/initializers/workhorse_multipart.rb b/config/initializers/workhorse_multipart.rb
index 9c170d1adfa..b68a6fc6ee5 100644
--- a/config/initializers/workhorse_multipart.rb
+++ b/config/initializers/workhorse_multipart.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
Rails.application.configure do |config|
# ApolloUploadServer::Middleware expects to find uploaded files ready to use
config.middleware.insert_before(ApolloUploadServer::Middleware, Gitlab::Middleware::Multipart)
diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb
index 999df20181e..85b2d840618 100644
--- a/config/initializers/wrap_parameters.rb
+++ b/config/initializers/wrap_parameters.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
#
# This file contains settings for ActionController::ParamsWrapper which
diff --git a/config/initializers/zz_metrics.rb b/config/initializers/zz_metrics.rb
index 430e4d60d61..7da1779f87b 100644
--- a/config/initializers/zz_metrics.rb
+++ b/config/initializers/zz_metrics.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# This file was prefixed with zz_ because we want to load it the last!
# See: https://gitlab.com/gitlab-org/gitlab-foss/issues/55611
@@ -88,6 +90,7 @@ def instrument_classes(instrumentation)
instrumentation.instrument_methods(Gitlab::Highlight)
instrumentation.instrument_instance_methods(Gitlab::Highlight)
+ instrumentation.instrument_instance_method(Gitlab::Ci::Config::Yaml::Tags::Resolver, :to_hash)
Gitlab.ee do
instrumentation.instrument_instance_methods(Elastic::Latest::GitInstanceProxy)
@@ -154,9 +157,13 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d
# of the ActiveRecord methods. This has to take place _after_ initializing as
# for some unknown reason calling eager_load! earlier breaks Devise.
Gitlab::Application.config.after_initialize do
- Rails.application.eager_load!
+ # We should move all the logic of this file to somewhere else
+ # and require it after `Rails.application.initialize!` in `environment.rb` file.
+ models_path = Rails.root.join('app', 'models').to_s
- models = Rails.root.join('app', 'models').to_s
+ Dir.glob("**/*.rb", base: models_path).sort.each do |file|
+ require_dependency file
+ end
regex = Regexp.union(
ActiveRecord::Querying.public_instance_methods(false).map(&:to_s)
@@ -172,7 +179,7 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d
else
loc = method.source_location
- loc && loc[0].start_with?(models) && method.source =~ regex
+ loc && loc[0].start_with?(models_path) && method.source =~ regex
end
end
@@ -202,4 +209,8 @@ if Gitlab::Metrics.enabled? && !Rails.env.test? && !(Rails.env.development? && d
class ::Redis::Client
prepend TrackNewRedisConnections
end
+
+ Labkit::NetHttpPublisher.labkit_prepend!
+ Labkit::ExconPublisher.labkit_prepend!
+ Labkit::HTTPClientPublisher.labkit_prepend!
end
diff --git a/config/initializers_before_autoloader/000_inflections.rb b/config/initializers_before_autoloader/000_inflections.rb
index 85c53ab4320..9eb1ebe77bf 100644
--- a/config/initializers_before_autoloader/000_inflections.rb
+++ b/config/initializers_before_autoloader/000_inflections.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format
diff --git a/config/known_invalid_graphql_queries.yml b/config/known_invalid_graphql_queries.yml
index 8ea9b662aa7..3dc4b10a6a8 100644
--- a/config/known_invalid_graphql_queries.yml
+++ b/config/known_invalid_graphql_queries.yml
@@ -1,5 +1,5 @@
---
filenames:
- - ee/app/assets/javascripts/on_demand_scans/graphql/dast_scan_create.mutation.graphql
- ee/app/assets/javascripts/oncall_schedules/graphql/mutations/update_oncall_schedule_rotation.mutation.graphql
- - ee/app/assets/javascripts/oncall_schedules/graphql/mutations/destroy_oncall_rotation.mutation.graphql
+ - ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/api_fuzzing_ci_configuration.query.graphql
+ - ee/app/assets/javascripts/security_configuration/api_fuzzing/graphql/create_api_fuzzing_configuration.mutation.graphql
diff --git a/config/metrics/counts_28d/20210201124930_deployments.yml b/config/metrics/counts_28d/20210201124930_deployments.yml
new file mode 100644
index 00000000000..e03785d62ba
--- /dev/null
+++ b/config/metrics/counts_28d/20210201124930_deployments.yml
@@ -0,0 +1,20 @@
+---
+key_path: counts_monthly.deployments
+description: Total deployments count for recent 28 days
+product_section: ops
+product_stage: release
+product_group: group::ops release
+product_category:
+value_type: number
+status: data_available
+milestone: 13.2
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35493
+time_frame: 28d
+data_source: database
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_28d/deployments.yml b/config/metrics/counts_28d/deployments.yml
deleted file mode 100644
index dabd50ef5be..00000000000
--- a/config/metrics/counts_28d/deployments.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: deployments
-description: Total deployments count for recent 28 days
-value_type: integer
-stage: release
-status: data_available
-default_generation: generation_1
-full_path:
- generation_1: counts_monthy.deployments
-milestone: 13.2
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/35493
-group: 'group::ops release'
-time_frame: 28d
-data_source: database
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
diff --git a/config/metrics/counts_7d/20210201124931_g_project_management_issue_title_changed_weekly.yml b/config/metrics/counts_7d/20210201124931_g_project_management_issue_title_changed_weekly.yml
new file mode 100644
index 00000000000..07b20fd2938
--- /dev/null
+++ b/config/metrics/counts_7d/20210201124931_g_project_management_issue_title_changed_weekly.yml
@@ -0,0 +1,20 @@
+---
+key_path: redis_hll_counters.issues_edit.g_project_management_issue_title_changed_weekly
+description: Distinct users count that changed issue title in a group for last recent week
+product_stage: plan
+product_group: group::project management
+product_category: issue_tracking
+value_type: number
+status: data_available
+milestone: 13.6
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
+time_frame: 7d
+data_source: redis_hll
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
+
diff --git a/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml b/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml
deleted file mode 100644
index 997263f9e30..00000000000
--- a/config/metrics/counts_7d/g_project_management_issue_title_changed_weekly.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: g_project_management_issue_title_changed_weekly
-description: Distinct users count that changed issue title in a group for last recent week
-value_type: integer
-product_category: issue_tracking
-stage: plan
-status: data_available
-default_generation: generation_1
-full_path:
- generation_1: redis_hll_counters.issues_edit.g_project_management_issue_title_changed_weekly
-milestone: 13.6
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/issues/229918
-group: 'group::project management'
-time_frame: 7d
-data_source: redis_hll
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
diff --git a/config/metrics/counts_all/20210201124934_deployments.yml b/config/metrics/counts_all/20210201124934_deployments.yml
new file mode 100644
index 00000000000..8b93eaf989d
--- /dev/null
+++ b/config/metrics/counts_all/20210201124934_deployments.yml
@@ -0,0 +1,19 @@
+---
+key_path: counts.deployments
+description: Total deployments count
+product_section: ops
+product_stage: release
+product_group: group::ops release
+value_type: number
+status: data_available
+milestone: 8.12
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/735
+time_frame: all
+data_source: database
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/counts_all/20210204124930_servers.yml b/config/metrics/counts_all/20210204124930_servers.yml
new file mode 100644
index 00000000000..3103797ccce
--- /dev/null
+++ b/config/metrics/counts_all/20210204124930_servers.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitaly.servers
+description: Total Gitalty Servers
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: number
+status: data_available
+time_frame: all
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/counts_all/20210204124932_clusters.yml b/config/metrics/counts_all/20210204124932_clusters.yml
new file mode 100644
index 00000000000..1bb86905502
--- /dev/null
+++ b/config/metrics/counts_all/20210204124932_clusters.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitaly.clusters
+description: Total GitLab Managed clusters both enabled and disabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: number
+status: data_available
+time_frame: all
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/counts_all/deployments.yml b/config/metrics/counts_all/deployments.yml
deleted file mode 100644
index bb78e8d6144..00000000000
--- a/config/metrics/counts_all/deployments.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: deployments
-description: Total deployments count
-value_type: integer
-stage: release
-status: data_available
-default_generation: generation_1
-full_path:
- generation_1: counts.deployments
-milestone: 8.12
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/735
-group: 'group::ops release'
-time_frame: all
-data_source: database
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
diff --git a/config/metrics/license/recorded_at.yml b/config/metrics/license/20210201124932_recorded_at.yml
index 5b2b3b37290..af60dcb329e 100644
--- a/config/metrics/license/recorded_at.yml
+++ b/config/metrics/license/20210201124932_recorded_at.yml
@@ -1,16 +1,20 @@
-name: recorded_at
+---
+key_path: recorded_at
description: When the Usage Ping computation was started
-value_type: string
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
product_category: collection
-stage: growth
+value_type: string
status: data_available
-default_generation: generation_1
-full_path:
- generation_1: recorded_at
milestone: 8.10
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/557
-group: group::product analytics
time_frame: none
data_source: ruby
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/license/20210201124933_uuid.yml b/config/metrics/license/20210201124933_uuid.yml
new file mode 100644
index 00000000000..6cd4ca58ef8
--- /dev/null
+++ b/config/metrics/license/20210201124933_uuid.yml
@@ -0,0 +1,20 @@
+---
+key_path: uuid
+description: GitLab instance unique identifier
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+milestone: 9.1
+introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1521
+time_frame: none
+data_source: database
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/license/20210204124827_hostname.yml b/config/metrics/license/20210204124827_hostname.yml
new file mode 100644
index 00000000000..6f878f04863
--- /dev/null
+++ b/config/metrics/license/20210204124827_hostname.yml
@@ -0,0 +1,19 @@
+---
+key_path: hostname
+description: Host name of GitLab instance
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source:
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+skip_validation: true
diff --git a/config/metrics/license/20210204124829_active_user_count.yml b/config/metrics/license/20210204124829_active_user_count.yml
new file mode 100644
index 00000000000..21dacb43d92
--- /dev/null
+++ b/config/metrics/license/20210204124829_active_user_count.yml
@@ -0,0 +1,19 @@
+---
+key_path: active_user_count
+description: This is named the instance_user_count in the Versions application.
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source: database
+distribution:
+- ce
+- ee
+tier:
+- free
+- premium
+- ultimate
+skip_validation: true
diff --git a/config/metrics/license/20210204124854_license_management_jobs.yml b/config/metrics/license/20210204124854_license_management_jobs.yml
new file mode 100644
index 00000000000..f89df165662
--- /dev/null
+++ b/config/metrics/license/20210204124854_license_management_jobs.yml
@@ -0,0 +1,16 @@
+---
+key_path: counts.license_management_jobs
+description: Name on the GitLab license
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: number
+status: data_available
+time_frame: none
+data_source: database
+distribution: []
+tier:
+- premium
+- ultimate
+skip_validation: true
diff --git a/config/metrics/license/20210204124926_license_trial_ends_on.yml b/config/metrics/license/20210204124926_license_trial_ends_on.yml
new file mode 100644
index 00000000000..6e78c6239e9
--- /dev/null
+++ b/config/metrics/license/20210204124926_license_trial_ends_on.yml
@@ -0,0 +1,14 @@
+---
+key_path: license_trial_ends_on
+description: Date the license ends on
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/license/20210204124928_version.yml b/config/metrics/license/20210204124928_version.yml
new file mode 100644
index 00000000000..a5e8acb1eaa
--- /dev/null
+++ b/config/metrics/license/20210204124928_version.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitaly.version
+description: Version of Gitaly
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/license/20210204124936_version.yml b/config/metrics/license/20210204124936_version.yml
new file mode 100644
index 00000000000..f9c28d40d3d
--- /dev/null
+++ b/config/metrics/license/20210204124936_version.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitlab_pages.version
+description: The version number of GitLab Pages
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/license/20210204124938_recording_ce_finished_at.yml b/config/metrics/license/20210204124938_recording_ce_finished_at.yml
new file mode 100644
index 00000000000..bc8a3e57b45
--- /dev/null
+++ b/config/metrics/license/20210204124938_recording_ce_finished_at.yml
@@ -0,0 +1,16 @@
+---
+key_path: recording_ce_finished_at
+description: When the core features were computed
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: string
+status: data_available
+time_frame: none
+data_source:
+distribution:
+- ce
+- ee
+tier: []
+skip_validation: true
diff --git a/config/metrics/license/uuid.yml b/config/metrics/license/uuid.yml
deleted file mode 100644
index 38e0d74fc22..00000000000
--- a/config/metrics/license/uuid.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: uuid
-description: GitLab instance unique identifier
-value_type: string
-product_category: collection
-stage: growth
-status: data_available
-default_generation: generation_1
-full_path:
- generation_1: uuid
- generation_2: license.uuid
-milestone: 9.1
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1521
-group: group::product analytics
-time_frame: none
-data_source: database
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
diff --git a/config/metrics/schema.json b/config/metrics/schema.json
index 4d1120a7d8d..d71eddab469 100644
--- a/config/metrics/schema.json
+++ b/config/metrics/schema.json
@@ -1,32 +1,32 @@
{
"type": "object",
- "required": ["name", "description", "value_type", "status", "default_generation", "full_path", "group", "time_frame", "data_source", "distribution", "tier"],
+ "required": ["key_path", "description", "value_type", "status", "product_group", "time_frame", "data_source", "distribution", "tier"],
"properties": {
- "name": {
+ "key_path": {
"type": "string"
},
"description": {
"type": "string"
},
- "value_type": {
- "type": "string",
- "enum": ["integer", "string", "number", "boolean"]
+ "product_section": {
+ "type": ["string", "null"]
},
- "product_category": {
+ "product_stage": {
"type": ["string", "null"]
},
- "stage": {
+ "product_group": {
+ "type": "string"
+ },
+ "product_category": {
"type": ["string", "null"]
},
+ "value_type": {
+ "type": "string",
+ "enum": ["integer", "string", "number", "boolean"]
+ },
"status": {
"type": ["string"],
- "enum": ["data_available", "planned", "in_progress", "implmented"]
- },
- "default_generation": {
- "type": "string"
- },
- "full_path": {
- "type": "object"
+ "enum": ["data_available", "planned", "in_progress", "implemented"]
},
"milestone": {
"type": ["number", "null"]
@@ -37,9 +37,6 @@
"introduced_by_url": {
"type": ["string", "null"]
},
- "group": {
- "type": "string"
- },
"time_frame": {
"type": "string",
"enum": ["7d", "28d", "all", "none"]
@@ -61,6 +58,9 @@
"type": "string",
"enum": ["free", "starter", "premium", "ultimate", "bronze", "silver", "gold"]
}
+ },
+ "skip_validation": {
+ "type": "boolean"
}
}
}
diff --git a/config/metrics/settings/database_adapter.yml b/config/metrics/settings/20210201124935_database_adapter.yml
index b24fc933a08..020325995b1 100644
--- a/config/metrics/settings/database_adapter.yml
+++ b/config/metrics/settings/20210201124935_database_adapter.yml
@@ -1,14 +1,18 @@
-name: adapter
+---
+key_path: database.adapter
description: This metric only returns a value of PostgreSQL in supported versions of GitLab. It could be removed from the usage ping. Historically MySQL was also supported.
-value_type: string
+product_section: enablement
+product_stage: enablement
+product_group: group::enablement distribution
product_category: collection
-stage: growth
+value_type: string
status: data_available
-default_generation: generation_1
-full_path:
- generation_1: database.adapter
-group: group::enablement distribution
time_frame: none
data_source: database
-distribution: [ee, ce]
-tier: ['free', 'starter', 'premium', 'ultimate', 'bronze', 'silver', 'gold']
+distribution:
+- ee
+- ce
+tier:
+- free
+- premium
+- ultimate
diff --git a/config/metrics/settings/20210204124856_instance_auto_devops_enabled.yml b/config/metrics/settings/20210204124856_instance_auto_devops_enabled.yml
new file mode 100644
index 00000000000..41f6d432b78
--- /dev/null
+++ b/config/metrics/settings/20210204124856_instance_auto_devops_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: instance_auto_devops_enabled
+description: Whether auto DevOps is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124858_container_registry_enabled.yml b/config/metrics/settings/20210204124858_container_registry_enabled.yml
new file mode 100644
index 00000000000..53567998a76
--- /dev/null
+++ b/config/metrics/settings/20210204124858_container_registry_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: container_registry_enabled
+description: Whether container registry is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124900_dependency_proxy_enabled.yml b/config/metrics/settings/20210204124900_dependency_proxy_enabled.yml
new file mode 100644
index 00000000000..cecb9035dc6
--- /dev/null
+++ b/config/metrics/settings/20210204124900_dependency_proxy_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: dependency_proxy_enabled
+description: Whether dependency proxy is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124902_gitlab_shared_runners_enabled.yml b/config/metrics/settings/20210204124902_gitlab_shared_runners_enabled.yml
new file mode 100644
index 00000000000..5cdb62237e4
--- /dev/null
+++ b/config/metrics/settings/20210204124902_gitlab_shared_runners_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitlab_shared_runners_enabled
+description: Whether shared runners is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124904_gravatar_enabled.yml b/config/metrics/settings/20210204124904_gravatar_enabled.yml
new file mode 100644
index 00000000000..7102c96332a
--- /dev/null
+++ b/config/metrics/settings/20210204124904_gravatar_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: gravatar_enabled
+description: Whether gravatar is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124906_ldap_enabled.yml b/config/metrics/settings/20210204124906_ldap_enabled.yml
new file mode 100644
index 00000000000..b0bdeded7d9
--- /dev/null
+++ b/config/metrics/settings/20210204124906_ldap_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: ldap_enabled
+description: Whether LDAP is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124908_mattermost_enabled.yml b/config/metrics/settings/20210204124908_mattermost_enabled.yml
new file mode 100644
index 00000000000..7082b6c4ec5
--- /dev/null
+++ b/config/metrics/settings/20210204124908_mattermost_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: mattermost_enabled
+description: Whether Mattermost is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124910_omniauth_enabled.yml b/config/metrics/settings/20210204124910_omniauth_enabled.yml
new file mode 100644
index 00000000000..10483bd977b
--- /dev/null
+++ b/config/metrics/settings/20210204124910_omniauth_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: omniauth_enabled
+description: Whether OmniAuth is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124912_prometheus_enabled.yml b/config/metrics/settings/20210204124912_prometheus_enabled.yml
new file mode 100644
index 00000000000..0e6199e9976
--- /dev/null
+++ b/config/metrics/settings/20210204124912_prometheus_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: prometheus_enabled
+description: Whether the bundled Prometheus is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124914_prometheus_metrics_enabled.yml b/config/metrics/settings/20210204124914_prometheus_metrics_enabled.yml
new file mode 100644
index 00000000000..50b08c15919
--- /dev/null
+++ b/config/metrics/settings/20210204124914_prometheus_metrics_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: prometheus_metrics_enabled
+description: Whether Prometheus Metrics endpoint is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124916_reply_by_email_enabled.yml b/config/metrics/settings/20210204124916_reply_by_email_enabled.yml
new file mode 100644
index 00000000000..82defcf4014
--- /dev/null
+++ b/config/metrics/settings/20210204124916_reply_by_email_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: reply_by_email_enabled
+description: Whether incoming email is setup
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124918_signup_enabled.yml b/config/metrics/settings/20210204124918_signup_enabled.yml
new file mode 100644
index 00000000000..49d997bd2a8
--- /dev/null
+++ b/config/metrics/settings/20210204124918_signup_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: signup_enabled
+description: Whether public signup is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124920_web_ide_clientside_preview_enabled.yml b/config/metrics/settings/20210204124920_web_ide_clientside_preview_enabled.yml
new file mode 100644
index 00000000000..d3eb20e93fd
--- /dev/null
+++ b/config/metrics/settings/20210204124920_web_ide_clientside_preview_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: web_ide_clientside_preview_enabled
+description: Whether web ide clientside preview is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124922_grafana_link_enabled.yml b/config/metrics/settings/20210204124922_grafana_link_enabled.yml
new file mode 100644
index 00000000000..a78936d3324
--- /dev/null
+++ b/config/metrics/settings/20210204124922_grafana_link_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: grafana_link_enabled
+description: Whether Grafana is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124924_elasticsearch_enabled.yml b/config/metrics/settings/20210204124924_elasticsearch_enabled.yml
new file mode 100644
index 00000000000..4b7d560b4ef
--- /dev/null
+++ b/config/metrics/settings/20210204124924_elasticsearch_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: elasticsearch_enabled
+description: Whether Elasticsearch is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/metrics/settings/20210204124934_enabled.yml b/config/metrics/settings/20210204124934_enabled.yml
new file mode 100644
index 00000000000..3f4c8653dd1
--- /dev/null
+++ b/config/metrics/settings/20210204124934_enabled.yml
@@ -0,0 +1,14 @@
+---
+key_path: gitlab_pages.enabled
+description: Whether GitLab Pages is enabled
+product_section: growth
+product_stage: growth
+product_group: group::product intelligence
+product_category: collection
+value_type: boolean
+status: data_available
+time_frame: none
+data_source:
+distribution: []
+tier: []
+skip_validation: true
diff --git a/config/object_store_settings.rb b/config/object_store_settings.rb
index 9f5323426d9..938129757f1 100644
--- a/config/object_store_settings.rb
+++ b/config/object_store_settings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Set default values for object_store settings
class ObjectStoreSettings
SUPPORTED_TYPES = %w(artifacts external_diffs lfs uploads packages dependency_proxy terraform_state pages).freeze
@@ -78,7 +80,7 @@ class ObjectStoreSettings
# "background_upload" => false,
# "proxy_download" => false,
# "remote_directory" => "artifacts"
- # }
+ # }
#
# Settings.lfs['object_store'] = {
# "enabled" => true,
@@ -97,7 +99,7 @@ class ObjectStoreSettings
# "background_upload" => false,
# "proxy_download" => true,
# "remote_directory" => "lfs-objects"
- # }
+ # }
#
# Note that with the common config:
# 1. Only one object store credentials can now be used. This is
@@ -124,6 +126,9 @@ class ObjectStoreSettings
target_config = common_config.merge(overrides.slice(*ALLOWED_OBJECT_STORE_OVERRIDES))
section = settings.try(store_type)
+ # Admins can selectively disable object storage for a specific
+ # type as an override in the consolidated settings.
+ next unless overrides.fetch('enabled', true)
next unless section
if section['enabled'] && target_config['bucket'].blank?
@@ -140,6 +145,8 @@ class ObjectStoreSettings
target_config['consolidated_settings'] = true
section['object_store'] = target_config
end
+
+ settings
end
private
@@ -152,8 +159,9 @@ class ObjectStoreSettings
return false unless settings.dig('object_store', 'connection').present?
WORKHORSE_ACCELERATED_TYPES.each do |store|
- # to_h is needed because something strange happens to
- # Settingslogic#dig when stub_storage_settings is run in tests:
+ # to_h is needed because we define `default` as a Gitaly storage name
+ # in stub_storage_settings. This causes Settingslogic to redefine Hash#default,
+ # which causes Hash#dig to fail when the key doesn't exist: https://gitlab.com/gitlab-org/gitlab/-/issues/286873
#
# (byebug) section.dig
# *** ArgumentError Exception: wrong number of arguments (given 0, expected 1+)
diff --git a/config/puma.example.development.rb b/config/puma.example.development.rb
index 28c2af3acb3..1901b5a0c1c 100644
--- a/config/puma.example.development.rb
+++ b/config/puma.example.development.rb
@@ -86,7 +86,7 @@ end
# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork
if defined?(nakayoshi_fork)
- nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
+ nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
end
# Use json formatter
diff --git a/config/puma.rb.example b/config/puma.rb.example
index 9fc354a8fe8..6684919e912 100644
--- a/config/puma.rb.example
+++ b/config/puma.rb.example
@@ -76,7 +76,7 @@ end
# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork
if defined?(nakayoshi_fork)
- nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
+ nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
end
# Use json formatter
diff --git a/config/puma_actioncable.example.development.rb b/config/puma_actioncable.example.development.rb
index d0da3dcd8f2..a12b4523848 100644
--- a/config/puma_actioncable.example.development.rb
+++ b/config/puma_actioncable.example.development.rb
@@ -86,7 +86,7 @@ end
# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#nakayoshi_fork
if defined?(nakayoshi_fork)
- nakayoshi_fork unless ENV['DISABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
+ nakayoshi_fork if ENV['ENABLE_PUMA_NAKAYOSHI_FORK'] == 'true'
end
# Use json formatter
diff --git a/config/routes.rb b/config/routes.rb
index 31e483df326..90a26c0a20f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
require 'sidekiq/web'
require 'sidekiq/cron/web'
require 'product_analytics/collector_app'
@@ -60,9 +62,10 @@ Rails.application.routes.draw do
end
# Search
- get 'search' => 'search#show'
+ get 'search' => 'search#show', as: :search
get 'search/autocomplete' => 'search#autocomplete', as: :search_autocomplete
get 'search/count' => 'search#count', as: :search_count
+ get 'search/opensearch' => 'search#opensearch', as: :search_opensearch
# JSON Web Token
get 'jwt/auth' => 'jwt#auth'
@@ -158,6 +161,7 @@ Rails.application.routes.draw do
get :db_spin
get :sleep
get :kill
+ post :gc
end
end
@@ -288,7 +292,28 @@ Rails.application.routes.draw do
get '/sitemap' => 'sitemap#show', format: :xml
end
+ # Creates shorthand helper methods for project resources.
+ # For example; for the `namespace_project_path` this also creates `project_path`.
+ #
+ # TODO: We don't need the `Gitlab::Routing` module at all as we can use
+ # the `direct` DSL method of Rails to define url helpers. Move all the
+ # custom url helpers to use the `direct` DSL method and remove the `Gitlab::Routing`.
+ # For more information: https://gitlab.com/gitlab-org/gitlab/-/issues/299583
+ Gitlab::Application.routes.set.filter_map { |route| route.name if route.name&.include?('namespace_project') }.each do |name|
+ new_name = name.sub('namespace_project', 'project')
+
+ direct(new_name) do |project, *args|
+ # This is due to a bug I've found in Rails.
+ # For more information: https://gitlab.com/gitlab-org/gitlab/-/issues/299591
+ args.pop if args.last == {}
+
+ send("#{name}_url", project&.namespace, project, *args)
+ end
+ end
+
root to: "root#index"
get '*unmatched_route', to: 'application#route_not_found'
end
+
+Gitlab::Routing.add_helpers(TimeboxesRoutingHelper)
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index 71a927f59b9..3e04f0d97cb 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :admin do
resources :users, constraints: { id: %r{[a-zA-Z./0-9_\-]+} } do
resources :keys, only: [:show, :destroy]
diff --git a/config/routes/api.rb b/config/routes/api.rb
index 5dbfcc98f0f..dcbc98991e2 100644
--- a/config/routes/api.rb
+++ b/config/routes/api.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
post '/api/graphql', to: 'graphql#execute'
mount GraphiQL::Rails::Engine, at: '/-/graphql-explorer', graphql_path: Gitlab::Utils.append_path(Gitlab.config.gitlab.relative_url_root, '/api/graphql')
diff --git a/config/routes/dashboard.rb b/config/routes/dashboard.rb
index 7e29a36f020..6a3aa5ff0c1 100644
--- a/config/routes/dashboard.rb
+++ b/config/routes/dashboard.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
resource :dashboard, controller: 'dashboard', only: [] do
get :issues, action: :issues_calendar, constraints: lambda { |req| req.format == :ics }
get :issues
diff --git a/config/routes/development.rb b/config/routes/development.rb
index 9b2b47c6a21..4ea53e14120 100644
--- a/config/routes/development.rb
+++ b/config/routes/development.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Rails.env.development?
# Make the built-in Rails routes available in development, otherwise they'd
# get swallowed by the `namespace/project` route matcher below.
diff --git a/config/routes/explore.rb b/config/routes/explore.rb
index 59b53bdcf42..c6bf98b6fb3 100644
--- a/config/routes/explore.rb
+++ b/config/routes/explore.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
namespace :explore do
resources :projects, only: [:index] do
collection do
diff --git a/config/routes/git_http.rb b/config/routes/git_http.rb
index 715d4b5cc59..6899a89cc7d 100644
--- a/config/routes/git_http.rb
+++ b/config/routes/git_http.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
scope(path: '*repository_path', format: false) do
constraints(repository_path: Gitlab::PathRegex.repository_git_route_regex) do
scope(module: :repositories) do
@@ -42,7 +44,7 @@ scope(path: '*repository_path', format: false) do
wiki_redirect = redirect do |params, request|
container_path = params[:repository_path].delete_suffix('.wiki.git')
path = File.join(container_path, '-', 'wikis')
- path << "?#{request.query_string}" unless request.query_string.blank?
+ path += "?#{request.query_string}" unless request.query_string.blank?
path
end
@@ -54,7 +56,7 @@ scope(path: '*repository_path', format: false) do
constraints(repository_path: Gitlab::PathRegex.repository_route_regex) do
ref_redirect = redirect do |params, request|
path = "#{params[:repository_path]}.git/info/refs"
- path << "?#{request.query_string}" unless request.query_string.blank?
+ path += "?#{request.query_string}" unless request.query_string.blank?
path
end
diff --git a/config/routes/google_api.rb b/config/routes/google_api.rb
index a119b47c176..06f8d988072 100644
--- a/config/routes/google_api.rb
+++ b/config/routes/google_api.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
scope '-' do
namespace :google_api do
resource :auth, only: [], controller: :authorizations do
diff --git a/config/routes/group.rb b/config/routes/group.rb
index 012d5926872..e1ae860f6ec 100644
--- a/config/routes/group.rb
+++ b/config/routes/group.rb
@@ -111,6 +111,7 @@ constraints(::Constraints::GroupUrlConstrainer.new) do
resources :container_registries, only: [:index, :show], controller: 'registry/repositories'
resource :dependency_proxy, only: [:show, :update]
+ resources :email_campaigns, only: :index
end
scope(path: '*id',
diff --git a/config/routes/help.rb b/config/routes/help.rb
index 446310ba314..2a0aba8b632 100644
--- a/config/routes/help.rb
+++ b/config/routes/help.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
get 'help' => 'help#index'
get 'help/shortcuts' => 'help#shortcuts'
get 'help/instance_configuration' => 'help#instance_configuration'
diff --git a/config/routes/import.rb b/config/routes/import.rb
index 5f94fb8d058..64830ef1e52 100644
--- a/config/routes/import.rb
+++ b/config/routes/import.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Alias import callbacks under the /users/auth endpoint so that
# the OAuth2 callback URL can be restricted under http://example.com/users/auth
# instead of http://example.com.
diff --git a/config/routes/legacy_builds.rb b/config/routes/legacy_builds.rb
index 5ab2b953ce1..c08b581e101 100644
--- a/config/routes/legacy_builds.rb
+++ b/config/routes/legacy_builds.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do
collection do
resources :artifacts, only: [], controller: 'build_artifacts' do
diff --git a/config/routes/merge_requests.rb b/config/routes/merge_requests.rb
index 41d831f239e..b0bab1717a6 100644
--- a/config/routes/merge_requests.rb
+++ b/config/routes/merge_requests.rb
@@ -18,6 +18,7 @@ resources :merge_requests, concerns: :awardable, except: [:new, :create, :show],
get :coverage_reports
get :terraform_reports
get :codequality_reports
+ get :codequality_mr_diff_reports
scope constraints: ->(req) { req.format == :json }, as: :json do
get :commits
diff --git a/config/routes/project.rb b/config/routes/project.rb
index 2e61bc8175e..21dfe173715 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -37,6 +37,10 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
+ namespace :security do
+ resource :configuration, only: [:show], controller: :configuration
+ end
+
resources :artifacts, only: [:index, :destroy]
resources :packages, only: [:index, :show, :destroy], module: :packages
@@ -83,10 +87,15 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
+ get :learn_gitlab, action: :index, controller: 'learn_gitlab'
+
namespace :ci do
resource :lint, only: [:show, :create]
resource :pipeline_editor, only: [:show], controller: :pipeline_editor, path: 'editor'
resources :daily_build_group_report_results, only: [:index], constraints: { format: /(csv|json)/ }
+ namespace :prometheus_metrics do
+ resources :histograms, only: [:create], constraints: { format: 'json' }
+ end
end
namespace :settings do
@@ -132,7 +141,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
end
end
- resources :project_members, except: [:show, :new, :edit], constraints: { id: %r{[a-zA-Z./0-9_\-#%+]+} }, concerns: :access_requestable do
+ resources :project_members, except: [:show, :new, :edit], constraints: { id: %r{[a-zA-Z./0-9_\-#%+:]+} }, concerns: :access_requestable do
collection do
delete :leave
@@ -219,7 +228,7 @@ constraints(::Constraints::ProjectUrlConstrainer.new) do
resources :starrers, only: [:index]
resources :forks, only: [:index, :new, :create]
- resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+/ }
+ resources :group_links, only: [:create, :update, :destroy], constraints: { id: /\d+|:id/ }
resource :import, only: [:new, :create, :show]
resource :avatar, only: [:show, :destroy]
diff --git a/config/routes/repository.rb b/config/routes/repository.rb
index 43837f2ce34..61a407d5a35 100644
--- a/config/routes/repository.rb
+++ b/config/routes/repository.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# All routing related to repository browsing
resource :repository, only: [:create] do
diff --git a/config/routes/sherlock.rb b/config/routes/sherlock.rb
index c9969f91c36..a9be434dba7 100644
--- a/config/routes/sherlock.rb
+++ b/config/routes/sherlock.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
if Gitlab::Sherlock.enabled?
namespace :sherlock do
resources :transactions, only: [:index, :show] do
diff --git a/config/routes/sidekiq.rb b/config/routes/sidekiq.rb
index 36ec8bc1d54..5f6755fc3b3 100644
--- a/config/routes/sidekiq.rb
+++ b/config/routes/sidekiq.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
constraints ::Constraints::AdminConstrainer.new do
mount Sidekiq::Web, at: '/admin/sidekiq', as: :sidekiq
end
diff --git a/config/routes/snippets.rb b/config/routes/snippets.rb
index 9e0c42fa07d..5c162d0c37f 100644
--- a/config/routes/snippets.rb
+++ b/config/routes/snippets.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
resources :snippets, except: [:create, :update, :destroy], concerns: :awardable, constraints: { id: /\d+/ } do
member do
get :raw
diff --git a/config/routes/uploads.rb b/config/routes/uploads.rb
index fb8af76397c..71a868175a9 100644
--- a/config/routes/uploads.rb
+++ b/config/routes/uploads.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
scope path: :uploads do
# Note attachments and User/Group/Project avatars
get "-/system/:model/:mounted_as/:id/:filename",
diff --git a/config/routes/user.rb b/config/routes/user.rb
index 515a9a23360..41319b6d730 100644
--- a/config/routes/user.rb
+++ b/config/routes/user.rb
@@ -46,9 +46,13 @@ scope(constraints: { username: Gitlab::PathRegex.root_namespace_route_regex }) d
get :contributed, as: :contributed_projects
get :starred, as: :starred_projects
get :snippets
+ get :followers
+ get :following
get :exists
get :suggests
get :activity
+ post :follow
+ post :unfollow
get '/', to: redirect('%{username}'), as: nil
end
end
diff --git a/config/routes/wiki.rb b/config/routes/wiki.rb
index 49ad39e8369..4d14743b3d3 100644
--- a/config/routes/wiki.rb
+++ b/config/routes/wiki.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
scope(controller: :wikis) do
scope(path: 'wikis', as: :wikis) do
get :git_access
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index d5b3925131e..678b585e6d7 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -158,6 +158,12 @@
- 1
- - group_saml_group_sync
- 1
+- - group_wikis_git_garbage_collect
+ - 1
+- - groups_schedule_bulk_repository_shard_moves
+ - 1
+- - groups_update_repository_storage
+ - 1
- - hashed_storage
- 1
- - import_issues_csv
@@ -166,6 +172,8 @@
- 2
- - incident_management_apply_incident_sla_exceeded_label
- 1
+- - incident_management_oncall_rotations_persist_shifts_job
+ - 1
- - invalid_gpg_signature_update
- 2
- - irker
@@ -270,6 +278,8 @@
- 1
- - project_update_repository_storage
- 1
+- - projects_git_garbage_collect
+ - 1
- - prometheus_create_default_alerts
- 1
- - propagate_integration
@@ -360,5 +370,7 @@
- 1
- - web_hooks_destroy
- 1
+- - wikis_git_garbage_collect
+ - 1
- - x509_certificate_revoke
- 1
diff --git a/config/smime_signature_settings.rb b/config/smime_signature_settings.rb
index 4a8cf1a06f7..4b50e01dba0 100644
--- a/config/smime_signature_settings.rb
+++ b/config/smime_signature_settings.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
# Set default values for email_smime settings
class SmimeSignatureSettings
def self.parse(email_smime)
diff --git a/config/spring.rb b/config/spring.rb
index 0092d0fd1b0..3f00e6ab23f 100644
--- a/config/spring.rb
+++ b/config/spring.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
%w(
.ruby-version
.rbenv-vars
diff --git a/config/webpack.config.js b/config/webpack.config.js
index 958b27d674d..19059c35c46 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -9,6 +9,7 @@ const MonacoWebpackPlugin = require('./plugins/monaco_webpack');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const CopyWebpackPlugin = require('copy-webpack-plugin');
const vendorDllHash = require('./helpers/vendor_dll_hash');
+const createIncrementalWebpackCompiler = require('./helpers/incremental_webpack_compiler');
const ROOT_PATH = path.resolve(__dirname, '..');
const VENDOR_DLL = process.env.WEBPACK_VENDOR_DLL && process.env.WEBPACK_VENDOR_DLL !== 'false';
@@ -23,6 +24,10 @@ const DEV_SERVER_ALLOWED_HOSTS =
process.env.DEV_SERVER_ALLOWED_HOSTS && process.env.DEV_SERVER_ALLOWED_HOSTS.split(',');
const DEV_SERVER_HTTPS = process.env.DEV_SERVER_HTTPS && process.env.DEV_SERVER_HTTPS !== 'false';
const DEV_SERVER_LIVERELOAD = IS_DEV_SERVER && process.env.DEV_SERVER_LIVERELOAD !== 'false';
+const INCREMENTAL_COMPILER_ENABLED =
+ IS_DEV_SERVER &&
+ process.env.DEV_SERVER_INCREMENTAL &&
+ process.env.DEV_SERVER_INCREMENTAL !== 'false';
const WEBPACK_REPORT = process.env.WEBPACK_REPORT && process.env.WEBPACK_REPORT !== 'false';
const WEBPACK_MEMORY_TEST =
process.env.WEBPACK_MEMORY_TEST && process.env.WEBPACK_MEMORY_TEST !== 'false';
@@ -48,6 +53,11 @@ let autoEntriesCount = 0;
let watchAutoEntries = [];
const defaultEntries = ['./main'];
+const incrementalCompiler = createIncrementalWebpackCompiler(
+ INCREMENTAL_COMPILER_ENABLED,
+ path.join(CACHE_PATH, 'incremental-webpack-compiler-history.json'),
+);
+
function generateEntries() {
// generate automatic entry points
const autoEntries = {};
@@ -97,7 +107,7 @@ function generateEntries() {
jira_connect_app: './jira_connect/index.js',
};
- return Object.assign(manualEntries, autoEntries);
+ return Object.assign(manualEntries, incrementalCompiler.filterEntryPoints(autoEntries));
}
const alias = {
@@ -495,9 +505,13 @@ module.exports = {
watchAutoEntries.forEach((watchPath) => compilation.contextDependencies.add(watchPath));
// report our auto-generated bundle count
- console.log(
- `${autoEntriesCount} entries from '/pages' automatically added to webpack output.`,
- );
+ if (incrementalCompiler.enabled) {
+ incrementalCompiler.logStatus(autoEntriesCount);
+ } else {
+ console.log(
+ `${autoEntriesCount} entries from '/pages' automatically added to webpack output.`,
+ );
+ }
callback();
});
@@ -576,8 +590,10 @@ module.exports = {
*/
new webpack.IgnorePlugin(/moment/, /pikaday/),
].filter(Boolean),
-
devServer: {
+ before(app, server) {
+ incrementalCompiler.setupMiddleware(app, server);
+ },
host: DEV_SERVER_HOST,
port: DEV_SERVER_PORT,
public: DEV_SERVER_PUBLIC_ADDR,