Add latest changes from gitlab-org/gitlab@master

This commit is contained in:
GitLab Bot 2022-05-03 15:07:55 +00:00
parent 5fabe42e23
commit 62098c11d1
15 changed files with 2219 additions and 87 deletions

View File

@ -156,11 +156,6 @@ Rails/NegateInclude:
Rails/Pick:
Enabled: false
# Offense count: 123
# Cop supports --auto-correct.
Rails/Pluck:
Enabled: false
# Offense count: 39
# Cop supports --auto-correct.
# Configuration parameters: Include.
@ -236,11 +231,6 @@ Style/ExplicitBlockArgument:
Style/FormatString:
Enabled: false
# Offense count: 897
# Configuration parameters: MinBodyLength.
Style/GuardClause:
Enabled: false
# Offense count: 59
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
@ -258,11 +248,6 @@ Style/HashEachMethods:
Style/IfInsideElse:
Enabled: false
# Offense count: 1934
# Cop supports --auto-correct.
Style/IfUnlessModifier:
Enabled: false
# Offense count: 64
# Cop supports --auto-correct.
Style/KeywordParametersOrder:

View File

@ -0,0 +1,109 @@
---
# Cop supports --auto-correct.
Rails/Pluck:
# Offense count: 155
# Temporarily disabled due to too many offenses
Enabled: false
Exclude:
- 'app/finders/merge_requests/oldest_per_commit_finder.rb'
- 'app/helpers/issuables_description_templates_helper.rb'
- 'app/models/ci/unit_test.rb'
- 'app/models/commit.rb'
- 'app/models/concerns/sensitive_serializable_hash.rb'
- 'app/models/integrations/chat_message/pipeline_message.rb'
- 'app/models/list.rb'
- 'app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb'
- 'app/services/feature_flags/update_service.rb'
- 'app/services/pod_logs/base_service.rb'
- 'app/services/prometheus/create_default_alerts_service.rb'
- 'ee/app/graphql/mutations/incident_management/oncall_rotation/base.rb'
- 'ee/app/models/boards/epic_list.rb'
- 'ee/app/models/vulnerabilities/finding.rb'
- 'ee/app/services/concerns/incident_management/oncall_rotations/shared_rotation_logic.rb'
- 'ee/app/workers/geo/container_repository_sync_dispatch_worker.rb'
- 'ee/app/workers/geo/file_download_dispatch_worker.rb'
- 'ee/app/workers/geo/registry_sync_worker.rb'
- 'ee/app/workers/geo/repository_shard_sync_worker.rb'
- 'ee/app/workers/geo/repository_verification/secondary/shard_worker.rb'
- 'ee/app/workers/geo/scheduler/scheduler_worker.rb'
- 'ee/lib/ee/banzai/filter/references/iteration_reference_filter.rb'
- 'ee/lib/ee/gitlab/auth/ldap/person.rb'
- 'ee/lib/ee/gitlab/background_migration/populate_uuids_for_security_findings.rb'
- 'ee/lib/ee/gitlab/checks/push_rules/file_size_check.rb'
- 'ee/lib/gitlab/ci/reports/license_scanning/report.rb'
- 'ee/spec/controllers/groups/audit_events_controller_spec.rb'
- 'ee/spec/controllers/projects/audit_events_controller_spec.rb'
- 'ee/spec/helpers/ee/geo_helper_spec.rb'
- 'ee/spec/lib/gitlab/custom_file_templates_spec.rb'
- 'ee/spec/lib/gitlab/spdx/catalogue_spec.rb'
- 'ee/spec/models/analytics/cycle_analytics/group_level_spec.rb'
- 'ee/spec/models/dast_site_profile_spec.rb'
- 'ee/spec/models/integrations/chat_message/vulnerability_message_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/releases/create_spec.rb'
- 'ee/spec/requests/api/graphql/mutations/releases/update_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/stages/update_service_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/value_streams/create_service_spec.rb'
- 'ee/spec/services/analytics/cycle_analytics/value_streams/update_service_spec.rb'
- 'ee/spec/services/ee/groups/autocomplete_service_spec.rb'
- 'ee/spec/services/quick_actions/interpret_service_spec.rb'
- 'lib/banzai/filter/references/label_reference_filter.rb'
- 'lib/banzai/filter/references/milestone_reference_filter.rb'
- 'lib/banzai/renderer.rb'
- 'lib/gitlab/access.rb'
- 'lib/gitlab/analytics/cycle_analytics/default_stages.rb'
- 'lib/gitlab/checks/lfs_check.rb'
- 'lib/gitlab/ci/pipeline/chain/build/associations.rb'
- 'lib/gitlab/ci/pipeline/chain/validate/external.rb'
- 'lib/gitlab/ci/variables/collection/sort.rb'
- 'lib/gitlab/config/entry/validators.rb'
- 'lib/gitlab/git_access.rb'
- 'lib/gitlab/metrics/dashboard/importers/prometheus_metrics.rb'
- 'lib/gitlab/metrics/dashboard/stages/custom_metrics_details_inserter.rb'
- 'lib/gitlab/sidekiq_config/cli_methods.rb'
- 'lib/gitlab/usage/metrics/name_suggestion.rb'
- 'lib/gitlab/usage_data_counters/hll_redis_counter.rb'
- 'qa/qa/specs/features/browser_ui/3_create/jira/jira_basic_integration_spec.rb'
- 'qa/qa/support/page_error_checker.rb'
- 'scripts/perf/query_limiting_report.rb'
- 'spec/config/mail_room_spec.rb'
- 'spec/config/metrics/aggregates/aggregated_metrics_spec.rb'
- 'spec/finders/license_template_finder_spec.rb'
- 'spec/graphql/resolvers/ci/test_suite_resolver_spec.rb'
- 'spec/helpers/groups/group_members_helper_spec.rb'
- 'spec/lib/atlassian/jira_connect/serializers/pull_request_entity_spec.rb'
- 'spec/lib/banzai/reference_redactor_spec.rb'
- 'spec/lib/gitlab/ci/ansi2json/line_spec.rb'
- 'spec/lib/gitlab/ci/yaml_processor_spec.rb'
- 'spec/lib/gitlab/conflict/file_spec.rb'
- 'spec/lib/gitlab/git/blame_spec.rb'
- 'spec/lib/gitlab/git/conflict/parser_spec.rb'
- 'spec/lib/gitlab/language_detection_spec.rb'
- 'spec/lib/gitlab/lograge/custom_options_spec.rb'
- 'spec/lib/gitlab/metrics/dashboard/processor_spec.rb'
- 'spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb'
- 'spec/lib/gitlab/relative_positioning/item_context_spec.rb'
- 'spec/lib/gitlab/search/query_spec.rb'
- 'spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb'
- 'spec/lib/gitlab/tree_summary_spec.rb'
- 'spec/lib/peek/views/rugged_spec.rb'
- 'spec/migrations/20210713042000_fix_ci_sources_pipelines_index_names_spec.rb'
- 'spec/models/ci/bridge_spec.rb'
- 'spec/models/ci/build_spec.rb'
- 'spec/models/ci/pipeline_spec.rb'
- 'spec/models/clusters/platforms/kubernetes_spec.rb'
- 'spec/models/instance_configuration_spec.rb'
- 'spec/models/integrations/chat_message/alert_message_spec.rb'
- 'spec/models/integrations/jira_spec.rb'
- 'spec/models/project_auto_devops_spec.rb'
- 'spec/models/project_spec.rb'
- 'spec/presenters/packages/detail/package_presenter_spec.rb'
- 'spec/presenters/packages/nuget/service_index_presenter_spec.rb'
- 'spec/serializers/ci/dag_pipeline_entity_spec.rb'
- 'spec/serializers/ci/pipeline_entity_spec.rb'
- 'spec/serializers/diff_file_entity_spec.rb'
- 'spec/serializers/stage_entity_spec.rb'
- 'spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb'
- 'spec/services/metrics/dashboard/custom_metric_embed_service_spec.rb'
- 'spec/services/projects/participants_service_spec.rb'
- 'spec/support/shared_contexts/markdown_golden_master_shared_examples.rb'
- 'tooling/danger/sidekiq_queues.rb'

View File

@ -0,0 +1,719 @@
---
Style/GuardClause:
# Offense count: 1014
# Temporarily disabled due to too many offenses
Enabled: false
Exclude:
- 'app/controllers/admin/users_controller.rb'
- 'app/controllers/application_controller.rb'
- 'app/controllers/chaos_controller.rb'
- 'app/controllers/clusters/clusters_controller.rb'
- 'app/controllers/concerns/accepts_pending_invitations.rb'
- 'app/controllers/concerns/authenticates_with_two_factor.rb'
- 'app/controllers/concerns/controller_with_cross_project_access_check.rb'
- 'app/controllers/concerns/creates_commit.rb'
- 'app/controllers/concerns/cycle_analytics_params.rb'
- 'app/controllers/concerns/enforces_admin_authentication.rb'
- 'app/controllers/concerns/enforces_two_factor_authentication.rb'
- 'app/controllers/concerns/impersonation.rb'
- 'app/controllers/concerns/issuable_actions.rb'
- 'app/controllers/concerns/issuable_collections.rb'
- 'app/controllers/concerns/oauth_applications.rb'
- 'app/controllers/concerns/page_limiter.rb'
- 'app/controllers/concerns/product_analytics_tracking.rb'
- 'app/controllers/concerns/record_user_last_activity.rb'
- 'app/controllers/concerns/routable_actions.rb'
- 'app/controllers/concerns/snippets/blobs_actions.rb'
- 'app/controllers/concerns/uploads_actions.rb'
- 'app/controllers/dashboard/todos_controller.rb'
- 'app/controllers/groups/application_controller.rb'
- 'app/controllers/groups_controller.rb'
- 'app/controllers/import/gitea_controller.rb'
- 'app/controllers/import/github_controller.rb'
- 'app/controllers/import/gitlab_controller.rb'
- 'app/controllers/import/manifest_controller.rb'
- 'app/controllers/omniauth_callbacks_controller.rb'
- 'app/controllers/passwords_controller.rb'
- 'app/controllers/profiles/two_factor_auths_controller.rb'
- 'app/controllers/projects/application_controller.rb'
- 'app/controllers/projects/blob_controller.rb'
- 'app/controllers/projects/branches_controller.rb'
- 'app/controllers/projects/commit_controller.rb'
- 'app/controllers/projects/compare_controller.rb'
- 'app/controllers/projects/design_management/designs/resized_image_controller.rb'
- 'app/controllers/projects/design_management/designs_controller.rb'
- 'app/controllers/projects/error_tracking_controller.rb'
- 'app/controllers/projects/google_cloud/base_controller.rb'
- 'app/controllers/projects/imports_controller.rb'
- 'app/controllers/projects/issues_controller.rb'
- 'app/controllers/projects/repositories_controller.rb'
- 'app/controllers/projects/settings/operations_controller.rb'
- 'app/controllers/projects/tree_controller.rb'
- 'app/controllers/registrations_controller.rb'
- 'app/controllers/repositories/git_http_controller.rb'
- 'app/controllers/repositories/lfs_api_controller.rb'
- 'app/controllers/search_controller.rb'
- 'app/controllers/sessions_controller.rb'
- 'app/controllers/users/terms_controller.rb'
- 'app/finders/award_emojis_finder.rb'
- 'app/finders/ci/auth_job_finder.rb'
- 'app/finders/ci/runners_finder.rb'
- 'app/finders/deployments_finder.rb'
- 'app/finders/group_members_finder.rb'
- 'app/finders/projects/serverless/functions_finder.rb'
- 'app/finders/snippets_finder.rb'
- 'app/graphql/mutations/concerns/mutations/spam_protection.rb'
- 'app/graphql/mutations/design_management/delete.rb'
- 'app/graphql/mutations/notes/create/note.rb'
- 'app/graphql/mutations/notes/reposition_image_diff_note.rb'
- 'app/graphql/resolvers/blobs_resolver.rb'
- 'app/graphql/resolvers/board_list_issues_resolver.rb'
- 'app/graphql/resolvers/concerns/board_item_filterable.rb'
- 'app/graphql/resolvers/concerns/issue_resolver_arguments.rb'
- 'app/graphql/resolvers/concerns/time_frame_arguments.rb'
- 'app/graphql/resolvers/projects/jira_projects_resolver.rb'
- 'app/graphql/types/ci/job_type.rb'
- 'app/graphql/types/concerns/find_closest.rb'
- 'app/helpers/admin/user_actions_helper.rb'
- 'app/helpers/appearances_helper.rb'
- 'app/helpers/application_helper.rb'
- 'app/helpers/events_helper.rb'
- 'app/helpers/issues_helper.rb'
- 'app/helpers/nav/top_nav_helper.rb'
- 'app/helpers/notes_helper.rb'
- 'app/helpers/preferences_helper.rb'
- 'app/helpers/profiles_helper.rb'
- 'app/helpers/snippets_helper.rb'
- 'app/helpers/tree_helper.rb'
- 'app/helpers/visibility_level_helper.rb'
- 'app/mailers/emails/notes.rb'
- 'app/models/alert_management/http_integration.rb'
- 'app/models/appearance.rb'
- 'app/models/application_setting.rb'
- 'app/models/bulk_imports/entity.rb'
- 'app/models/ci/build.rb'
- 'app/models/ci/build_trace.rb'
- 'app/models/ci/job_artifact.rb'
- 'app/models/ci/job_token/project_scope_link.rb'
- 'app/models/ci/pipeline.rb'
- 'app/models/ci/runner.rb'
- 'app/models/clusters/cluster.rb'
- 'app/models/clusters/platforms/kubernetes.rb'
- 'app/models/commit_range.rb'
- 'app/models/concerns/analytics/cycle_analytics/stage.rb'
- 'app/models/concerns/avatarable.rb'
- 'app/models/concerns/bulk_insert_safe.rb'
- 'app/models/concerns/cache_markdown_field.rb'
- 'app/models/concerns/cacheable_attributes.rb'
- 'app/models/concerns/counter_attribute.rb'
- 'app/models/concerns/deprecated_assignee.rb'
- 'app/models/concerns/has_wiki_page_meta_attributes.rb'
- 'app/models/concerns/issuable.rb'
- 'app/models/concerns/issuable_link.rb'
- 'app/models/concerns/metric_image_uploading.rb'
- 'app/models/concerns/milestoneish.rb'
- 'app/models/concerns/packages/debian/distribution_key.rb'
- 'app/models/concerns/time_trackable.rb'
- 'app/models/concerns/timebox.rb'
- 'app/models/concerns/token_authenticatable_strategies/base.rb'
- 'app/models/concerns/token_authenticatable_strategies/encrypted.rb'
- 'app/models/custom_emoji.rb'
- 'app/models/description_version.rb'
- 'app/models/design_management/design.rb'
- 'app/models/design_management/design_collection.rb'
- 'app/models/diff_viewer/base.rb'
- 'app/models/environment.rb'
- 'app/models/error_tracking/error_event.rb'
- 'app/models/error_tracking/project_error_tracking_setting.rb'
- 'app/models/experiment_subject.rb'
- 'app/models/external_pull_request.rb'
- 'app/models/generic_commit_status.rb'
- 'app/models/integrations/bamboo.rb'
- 'app/models/integrations/base_issue_tracker.rb'
- 'app/models/integrations/base_third_party_wiki.rb'
- 'app/models/integrations/confluence.rb'
- 'app/models/integrations/datadog.rb'
- 'app/models/integrations/emails_on_push.rb'
- 'app/models/integrations/harbor.rb'
- 'app/models/integrations/irker.rb'
- 'app/models/integrations/jenkins.rb'
- 'app/models/integrations/jira.rb'
- 'app/models/integrations/pipelines_email.rb'
- 'app/models/integrations/teamcity.rb'
- 'app/models/internal_id.rb'
- 'app/models/issue.rb'
- 'app/models/member.rb'
- 'app/models/members/project_member.rb'
- 'app/models/merge_request.rb'
- 'app/models/merge_request_assignee.rb'
- 'app/models/merge_request_reviewer.rb'
- 'app/models/namespace.rb'
- 'app/models/namespace_setting.rb'
- 'app/models/operations/feature_flags/strategy.rb'
- 'app/models/operations/feature_flags/user_list.rb'
- 'app/models/packages/conan/file_metadatum.rb'
- 'app/models/packages/conan/metadatum.rb'
- 'app/models/packages/maven/metadatum.rb'
- 'app/models/packages/package.rb'
- 'app/models/packages/pypi/metadatum.rb'
- 'app/models/packages/rubygems/metadatum.rb'
- 'app/models/pages_domain.rb'
- 'app/models/personal_access_token.rb'
- 'app/models/project.rb'
- 'app/models/project_group_link.rb'
- 'app/models/project_import_state.rb'
- 'app/models/project_label.rb'
- 'app/models/project_setting.rb'
- 'app/models/protected_branch/push_access_level.rb'
- 'app/models/repository.rb'
- 'app/models/sent_notification.rb'
- 'app/models/sentry_issue.rb'
- 'app/models/service_desk_setting.rb'
- 'app/models/snippet_input_action.rb'
- 'app/models/user.rb'
- 'app/models/users/in_product_marketing_email.rb'
- 'app/models/wiki.rb'
- 'app/presenters/ci/pipeline_presenter.rb'
- 'app/presenters/merge_request_presenter.rb'
- 'app/presenters/project_presenter.rb'
- 'app/services/boards/issues/list_service.rb'
- 'app/services/bulk_imports/file_download_service.rb'
- 'app/services/ci/create_web_ide_terminal_service.rb'
- 'app/services/ci/daily_build_group_report_result_service.rb'
- 'app/services/ci/parse_dotenv_artifact_service.rb'
- 'app/services/ci/pipelines/add_job_service.rb'
- 'app/services/ci/play_build_service.rb'
- 'app/services/ci/retry_job_service.rb'
- 'app/services/ci/update_build_queue_service.rb'
- 'app/services/clusters/agent_tokens/track_usage_service.rb'
- 'app/services/clusters/aws/fetch_credentials_service.rb'
- 'app/services/commits/commit_patch_service.rb'
- 'app/services/commits/create_service.rb'
- 'app/services/concerns/ci/job_token_scope/edit_scope_validations.rb'
- 'app/services/concerns/rate_limited_service.rb'
- 'app/services/concerns/update_repository_storage_methods.rb'
- 'app/services/concerns/validates_classification_label.rb'
- 'app/services/deployments/update_environment_service.rb'
- 'app/services/draft_notes/destroy_service.rb'
- 'app/services/files/delete_service.rb'
- 'app/services/files/multi_service.rb'
- 'app/services/files/update_service.rb'
- 'app/services/git/branch_hooks_service.rb'
- 'app/services/groups/group_links/update_service.rb'
- 'app/services/groups/import_export/export_service.rb'
- 'app/services/groups/transfer_service.rb'
- 'app/services/groups/update_service.rb'
- 'app/services/groups/update_shared_runners_service.rb'
- 'app/services/ide/base_config_service.rb'
- 'app/services/import/gitlab_projects/file_acquisition_strategies/remote_file.rb'
- 'app/services/import/validate_remote_git_endpoint_service.rb'
- 'app/services/issuable/bulk_update_service.rb'
- 'app/services/issuable/clone/base_service.rb'
- 'app/services/issuable/common_system_notes_service.rb'
- 'app/services/issuable_base_service.rb'
- 'app/services/issues/clone_service.rb'
- 'app/services/issues/move_service.rb'
- 'app/services/issues/update_service.rb'
- 'app/services/merge_requests/add_spent_time_service.rb'
- 'app/services/merge_requests/base_service.rb'
- 'app/services/merge_requests/build_service.rb'
- 'app/services/merge_requests/handle_assignees_change_service.rb'
- 'app/services/merge_requests/merge_base_service.rb'
- 'app/services/merge_requests/merge_service.rb'
- 'app/services/merge_requests/mergeability_check_service.rb'
- 'app/services/merge_requests/outdated_discussion_diff_lines_service.rb'
- 'app/services/merge_requests/push_options_handler_service.rb'
- 'app/services/merge_requests/refresh_service.rb'
- 'app/services/metrics/dashboard/base_service.rb'
- 'app/services/namespace_settings/update_service.rb'
- 'app/services/notes/create_service.rb'
- 'app/services/notes/post_process_service.rb'
- 'app/services/notification_recipients/builder/default.rb'
- 'app/services/notification_service.rb'
- 'app/services/packages/create_event_service.rb'
- 'app/services/packages/create_package_service.rb'
- 'app/services/packages/nuget/search_service.rb'
- 'app/services/post_receive_service.rb'
- 'app/services/projects/after_rename_service.rb'
- 'app/services/projects/create_service.rb'
- 'app/services/projects/destroy_rollback_service.rb'
- 'app/services/projects/destroy_service.rb'
- 'app/services/projects/hashed_storage/rollback_service.rb'
- 'app/services/projects/import_export/export_service.rb'
- 'app/services/projects/import_service.rb'
- 'app/services/projects/lfs_pointers/lfs_object_download_list_service.rb'
- 'app/services/projects/update_pages_service.rb'
- 'app/services/projects/update_repository_storage_service.rb'
- 'app/services/projects/update_service.rb'
- 'app/services/protected_branches/legacy_api_update_service.rb'
- 'app/services/snippets/repository_validation_service.rb'
- 'app/services/static_site_editor/config_service.rb'
- 'app/services/todo_service.rb'
- 'app/services/users/build_service.rb'
- 'app/services/users/update_service.rb'
- 'app/services/wiki_pages/update_service.rb'
- 'app/services/wikis/create_attachment_service.rb'
- 'app/uploaders/content_type_whitelist.rb'
- 'app/uploaders/file_mover.rb'
- 'app/uploaders/file_uploader.rb'
- 'app/validators/abstract_path_validator.rb'
- 'app/validators/any_field_validator.rb'
- 'app/validators/array_members_validator.rb'
- 'app/validators/branch_filter_validator.rb'
- 'app/validators/certificate_fingerprint_validator.rb'
- 'app/validators/certificate_key_validator.rb'
- 'app/validators/certificate_validator.rb'
- 'app/validators/cron_validator.rb'
- 'app/validators/feature_flag_strategies_validator.rb'
- 'app/validators/feature_flag_user_xids_validator.rb'
- 'app/validators/json_schema_validator.rb'
- 'app/validators/key_restriction_validator.rb'
- 'app/validators/line_code_validator.rb'
- 'app/validators/named_ecdsa_key_validator.rb'
- 'app/validators/rsa_key_validator.rb'
- 'app/validators/top_level_group_validator.rb'
- 'app/validators/x509_certificate_credentials_validator.rb'
- 'app/workers/cleanup_container_repository_worker.rb'
- 'app/workers/clusters/agents/delete_expired_events_worker.rb'
- 'app/workers/concerns/application_worker.rb'
- 'app/workers/container_registry/migration/guard_worker.rb'
- 'app/workers/deployments/hooks_worker.rb'
- 'app/workers/deployments/link_merge_request_worker.rb'
- 'app/workers/gitlab/github_import/refresh_import_jid_worker.rb'
- 'app/workers/packages/maven/metadata/sync_worker.rb'
- 'app/workers/repository_update_remote_mirror_worker.rb'
- 'config/initializers/0_inject_enterprise_edition_module.rb'
- 'config/initializers/carrierwave_patch.rb'
- 'config/initializers/devise_dynamic_password_length_validation.rb'
- 'config/initializers/google_api_client_patch.rb'
- 'config/initializers/postgresql_cte.rb'
- 'config/object_store_settings.rb'
- 'danger/feature_flag/Dangerfile'
- 'db/migrate/20210302212623_rename_vuln_fingerprints_indexes.rb'
- 'db/migrate/20210707095545_add_status_to_merge_request_cleanup_schedules.rb'
- 'db/migrate/20210816095826_add_unique_index_on_dast_profile_to_dast_profile_schedules.rb'
- 'db/migrate/20210816192041_add_invites_email_success_to_member.rb'
- 'db/migrate/20210818061156_remove_project_profile_compound_index_from_dast_profile_schedules.rb'
- 'db/migrate/20210830140524_add_state_to_member.rb'
- 'db/migrate/20211202094944_move_loose_fk_deleted_records_to_dynamic_schema.rb'
- 'db/migrate/20220215164709_update_application_settings_container_registry_exp_pol_worker_capacity_default.rb'
- 'db/post_migrate/20210713042000_fix_ci_sources_pipelines_index_names.rb'
- 'db/post_migrate/20210805192450_update_trial_plans_ci_daily_pipeline_schedule_triggers.rb'
- 'db/post_migrate/20210907211557_finalize_ci_builds_bigint_conversion.rb'
- 'ee/app/controllers/admin/emails_controller.rb'
- 'ee/app/controllers/admin/geo/application_controller.rb'
- 'ee/app/controllers/admin/geo/replicables_controller.rb'
- 'ee/app/controllers/admin/geo/settings_controller.rb'
- 'ee/app/controllers/concerns/audit_events/enforces_valid_date_params.rb'
- 'ee/app/controllers/concerns/ee/membership_actions.rb'
- 'ee/app/controllers/ee/groups/group_members_controller.rb'
- 'ee/app/controllers/ee/groups_controller.rb'
- 'ee/app/controllers/ee/registrations_controller.rb'
- 'ee/app/controllers/groups/analytics/productivity_analytics_controller.rb'
- 'ee/app/controllers/groups/billings_controller.rb'
- 'ee/app/controllers/profiles/billings_controller.rb'
- 'ee/app/controllers/projects/path_locks_controller.rb'
- 'ee/app/controllers/projects/security/policies_controller.rb'
- 'ee/app/controllers/projects/settings/slacks_controller.rb'
- 'ee/app/controllers/smartcard_controller.rb'
- 'ee/app/finders/ee/notes_finder.rb'
- 'ee/app/finders/ee/template_finder.rb'
- 'ee/app/finders/iterations_finder.rb'
- 'ee/app/finders/security/vulnerabilities_finder.rb'
- 'ee/app/graphql/mutations/iterations/create.rb'
- 'ee/app/graphql/mutations/iterations/update.rb'
- 'ee/app/graphql/mutations/projects/set_locked.rb'
- 'ee/app/graphql/resolvers/analytics/devops_adoption/enabled_namespaces_resolver.rb'
- 'ee/app/graphql/resolvers/epics_resolver.rb'
- 'ee/app/graphql/resolvers/iterations_resolver.rb'
- 'ee/app/helpers/ee/application_helper.rb'
- 'ee/app/helpers/ee/award_emoji_helper.rb'
- 'ee/app/helpers/ee/nav/new_dropdown_helper.rb'
- 'ee/app/helpers/ee/nav/top_nav_helper.rb'
- 'ee/app/helpers/ee/projects_helper.rb'
- 'ee/app/models/allowed_email_domain.rb'
- 'ee/app/models/app_sec/fuzzing/coverage/corpus.rb'
- 'ee/app/models/approval_merge_request_rule_source.rb'
- 'ee/app/models/concerns/app_sec/dast/buildable.rb'
- 'ee/app/models/concerns/ee/protected_ref_access.rb'
- 'ee/app/models/concerns/elastic/application_versioned_search.rb'
- 'ee/app/models/concerns/geo/verifiable_replicator.rb'
- 'ee/app/models/dast/profile.rb'
- 'ee/app/models/dast_site.rb'
- 'ee/app/models/dast_site_profile.rb'
- 'ee/app/models/ee/application_setting.rb'
- 'ee/app/models/ee/epic.rb'
- 'ee/app/models/ee/group_member.rb'
- 'ee/app/models/ee/incident_management/issuable_escalation_status.rb'
- 'ee/app/models/ee/issue.rb'
- 'ee/app/models/ee/issue_assignee.rb'
- 'ee/app/models/ee/iteration.rb'
- 'ee/app/models/ee/member.rb'
- 'ee/app/models/ee/merge_request.rb'
- 'ee/app/models/ee/namespace.rb'
- 'ee/app/models/ee/project.rb'
- 'ee/app/models/ee/project_member.rb'
- 'ee/app/models/ee/user.rb'
- 'ee/app/models/elasticsearch_indexed_project.rb'
- 'ee/app/models/epic/related_epic_link.rb'
- 'ee/app/models/epic_issue.rb'
- 'ee/app/models/geo_node.rb'
- 'ee/app/models/geo_node_status.rb'
- 'ee/app/models/incident_management/escalation_rule.rb'
- 'ee/app/models/incident_management/oncall_rotation.rb'
- 'ee/app/models/ip_restriction.rb'
- 'ee/app/models/iterations/cadence.rb'
- 'ee/app/models/namespace_limit.rb'
- 'ee/app/models/preloaders/environments/protected_environment_preloader.rb'
- 'ee/app/models/protected_environment.rb'
- 'ee/app/models/users_security_dashboard_project.rb'
- 'ee/app/models/vulnerabilities/feedback.rb'
- 'ee/app/presenters/ee/merge_request_presenter.rb'
- 'ee/app/services/analytics/cycle_analytics/validations.rb'
- 'ee/app/services/analytics/cycle_analytics/value_streams/create_service.rb'
- 'ee/app/services/analytics/devops_adoption/enabled_namespaces/common_methods.rb'
- 'ee/app/services/app_sec/dast/profiles/create_service.rb'
- 'ee/app/services/app_sec/dast/profiles/update_service.rb'
- 'ee/app/services/approval_rules/create_service.rb'
- 'ee/app/services/approval_rules/params_filtering_service.rb'
- 'ee/app/services/approval_rules/update_service.rb'
- 'ee/app/services/billable_members/destroy_service.rb'
- 'ee/app/services/ci/minutes/update_project_and_namespace_usage_service.rb'
- 'ee/app/services/dora/aggregate_metrics_service.rb'
- 'ee/app/services/ee/alert_management/alerts/update_service.rb'
- 'ee/app/services/ee/audit_event_service.rb'
- 'ee/app/services/ee/ci/play_bridge_service.rb'
- 'ee/app/services/ee/ci/play_build_service.rb'
- 'ee/app/services/ee/ci/retry_job_service.rb'
- 'ee/app/services/ee/commits/create_service.rb'
- 'ee/app/services/ee/groups/update_service.rb'
- 'ee/app/services/ee/issuable/common_system_notes_service.rb'
- 'ee/app/services/ee/issues/base_service.rb'
- 'ee/app/services/ee/merge_requests/merge_base_service.rb'
- 'ee/app/services/ee/merge_requests/post_merge_service.rb'
- 'ee/app/services/ee/merge_requests/refresh_service.rb'
- 'ee/app/services/ee/namespace_settings/update_service.rb'
- 'ee/app/services/ee/projects/create_service.rb'
- 'ee/app/services/ee/projects/gitlab_projects_import_service.rb'
- 'ee/app/services/ee/projects/update_service.rb'
- 'ee/app/services/ee/protected_branches/loggable.rb'
- 'ee/app/services/ee/wiki_pages/base_service.rb'
- 'ee/app/services/epics/close_service.rb'
- 'ee/app/services/epics/create_service.rb'
- 'ee/app/services/epics/reopen_service.rb'
- 'ee/app/services/epics/tree_reorder_service.rb'
- 'ee/app/services/epics/update_service.rb'
- 'ee/app/services/geo/framework_repository_sync_service.rb'
- 'ee/app/services/geo/metrics_update_service.rb'
- 'ee/app/services/geo/repository_base_sync_service.rb'
- 'ee/app/services/group_saml/group_managed_accounts/transfer_membership_service.rb'
- 'ee/app/services/groups/update_repository_storage_service.rb'
- 'ee/app/services/incident_management/oncall_rotations/remove_participant_service.rb'
- 'ee/app/services/iterations/delete_service.rb'
- 'ee/app/services/merge_trains/check_status_service.rb'
- 'ee/app/services/merge_trains/refresh_merge_request_service.rb'
- 'ee/app/services/merge_trains/refresh_service.rb'
- 'ee/app/services/namespaces/storage/email_notification_service.rb'
- 'ee/app/services/projects/slack_application_install_service.rb'
- 'ee/app/services/projects/update_mirror_service.rb'
- 'ee/app/services/security/override_uuids_service.rb'
- 'ee/app/services/timebox_report_service.rb'
- 'ee/app/validators/host_validator.rb'
- 'ee/app/workers/ee/ci/build_finished_worker.rb'
- 'ee/app/workers/ee/post_receive.rb'
- 'ee/app/workers/elastic/migration_worker.rb'
- 'ee/app/workers/elastic_namespace_rollout_worker.rb'
- 'ee/app/workers/epics/new_epic_issue_worker.rb'
- 'ee/app/workers/geo/scheduler/scheduler_worker.rb'
- 'ee/app/workers/scan_security_report_secrets_worker.rb'
- 'ee/app/workers/sync_seat_link_request_worker.rb'
- 'ee/db/geo/migrate/20180314175612_add_partial_index_to_project_registy_verification_failure_columns.rb'
- 'ee/db/geo/migrate/20180315222132_add_partial_index_to_project_registy_checksum_columns.rb'
- 'ee/db/geo/migrate/20180412213305_add_index_to_artifact_id_on_job_artifact_registry.rb'
- 'ee/lib/ee/api/ci/job_artifacts.rb'
- 'ee/lib/ee/api/features.rb'
- 'ee/lib/ee/api/helpers/projects_helpers.rb'
- 'ee/lib/ee/api/projects.rb'
- 'ee/lib/ee/api/search.rb'
- 'ee/lib/ee/audit/project_ci_cd_setting_changes_auditor.rb'
- 'ee/lib/ee/gitlab/auth/ldap/access.rb'
- 'ee/lib/ee/gitlab/auth/ldap/sync/group.rb'
- 'ee/lib/ee/gitlab/auth/o_auth/user.rb'
- 'ee/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_check_progress.rb'
- 'ee/lib/ee/gitlab/checks/push_rules/commit_check.rb'
- 'ee/lib/ee/gitlab/cleanup/orphan_job_artifact_files.rb'
- 'ee/lib/ee/gitlab/git_access.rb'
- 'ee/lib/ee/gitlab/gon_helper.rb'
- 'ee/lib/ee/gitlab/omniauth_initializer.rb'
- 'ee/lib/ee/sidebars/projects/panel.rb'
- 'ee/lib/elastic/latest/application_class_proxy.rb'
- 'ee/lib/gitlab/analytics/cycle_analytics/summary/base_time.rb'
- 'ee/lib/gitlab/ci/config/security_orchestration_policies/processor.rb'
- 'ee/lib/gitlab/ci/minutes/cost_factor.rb'
- 'ee/lib/gitlab/compliance_management/violations/approved_by_insufficient_users.rb'
- 'ee/lib/gitlab/compliance_management/violations/approved_by_merge_request_author.rb'
- 'ee/lib/gitlab/geo/geo_node_status_check.rb'
- 'ee/lib/gitlab/geo/git_push_http.rb'
- 'ee/lib/gitlab/geo/log_cursor/daemon.rb'
- 'ee/lib/gitlab/geo/oauth/logout_token.rb'
- 'ee/lib/gitlab/geo/replicator.rb'
- 'ee/lib/gitlab/graphql/aggregations/epics/lazy_epic_aggregate.rb'
- 'ee/lib/gitlab/insights/project_insights_config.rb'
- 'ee/lib/gitlab/insights/reducers/count_per_label_reducer.rb'
- 'ee/lib/gitlab/insights/reducers/count_per_period_reducer.rb'
- 'ee/lib/gitlab/insights/serializers/chartjs/bar_serializer.rb'
- 'ee/lib/gitlab/insights/serializers/chartjs/multi_series_serializer.rb'
- 'ee/lib/gitlab/insights/validators/params_validator.rb'
- 'ee/lib/omni_auth/strategies/group_saml.rb'
- 'ee/lib/pseudonymizer/dumper.rb'
- 'ee/spec/features/billings/billing_plans_spec.rb'
- 'ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_spec.rb'
- 'ee/spec/workers/update_max_seats_used_for_gitlab_com_subscriptions_worker_spec.rb'
- 'haml_lint/linter/documentation_links.rb'
- 'lib/api/commits.rb'
- 'lib/api/error_tracking/collector.rb'
- 'lib/api/feature_flags.rb'
- 'lib/api/helpers.rb'
- 'lib/api/helpers/packages/conan/api_helpers.rb'
- 'lib/api/helpers/projects_helpers.rb'
- 'lib/api/helpers/snippets_helpers.rb'
- 'lib/api/helpers/version.rb'
- 'lib/api/internal/base.rb'
- 'lib/api/projects.rb'
- 'lib/backup/files.rb'
- 'lib/banzai/filter/external_link_filter.rb'
- 'lib/banzai/filter/gollum_tags_filter.rb'
- 'lib/banzai/filter/references/merge_request_reference_filter.rb'
- 'lib/banzai/filter/wiki_link_filter/rewriter.rb'
- 'lib/bulk_imports/clients/graphql.rb'
- 'lib/bulk_imports/clients/http.rb'
- 'lib/bulk_imports/projects/pipelines/project_pipeline.rb'
- 'lib/container_registry/client.rb'
- 'lib/feature/definition.rb'
- 'lib/gem_extensions/active_record/association.rb'
- 'lib/gitlab/analytics/cycle_analytics/request_params.rb'
- 'lib/gitlab/auth.rb'
- 'lib/gitlab/auth/ldap/adapter.rb'
- 'lib/gitlab/auth/o_auth/user.rb'
- 'lib/gitlab/auth/unique_ips_limiter.rb'
- 'lib/gitlab/background_migration/fix_projects_without_project_feature.rb'
- 'lib/gitlab/bitbucket_import/importer.rb'
- 'lib/gitlab/bitbucket_server_import/importer.rb'
- 'lib/gitlab/blob_helper.rb'
- 'lib/gitlab/cache/ci/project_pipeline_status.rb'
- 'lib/gitlab/changelog/config.rb'
- 'lib/gitlab/chat/responder.rb'
- 'lib/gitlab/checks/branch_check.rb'
- 'lib/gitlab/checks/matching_merge_request.rb'
- 'lib/gitlab/checks/push_file_count_check.rb'
- 'lib/gitlab/ci/ansi2json/parser.rb'
- 'lib/gitlab/ci/ansi2json/state.rb'
- 'lib/gitlab/ci/artifact_file_reader.rb'
- 'lib/gitlab/ci/build/policy/kubernetes.rb'
- 'lib/gitlab/ci/build/policy/refs.rb'
- 'lib/gitlab/ci/config.rb'
- 'lib/gitlab/ci/config/entry/job.rb'
- 'lib/gitlab/ci/config/entry/processable.rb'
- 'lib/gitlab/ci/config/extendable/entry.rb'
- 'lib/gitlab/ci/config/external/file/base.rb'
- 'lib/gitlab/ci/config/external/file/remote.rb'
- 'lib/gitlab/ci/config/external/file/template.rb'
- 'lib/gitlab/ci/config/external/mapper.rb'
- 'lib/gitlab/ci/parsers/coverage/sax_document.rb'
- 'lib/gitlab/ci/parsers/security/common.rb'
- 'lib/gitlab/ci/pipeline/chain/command.rb'
- 'lib/gitlab/ci/pipeline/chain/limit/rate_limit.rb'
- 'lib/gitlab/ci/pipeline/chain/skip.rb'
- 'lib/gitlab/ci/pipeline/chain/validate/abilities.rb'
- 'lib/gitlab/ci/pipeline/chain/validate/repository.rb'
- 'lib/gitlab/ci/pipeline/expression/lexeme/base.rb'
- 'lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb'
- 'lib/gitlab/ci/reports/codequality_reports_comparer.rb'
- 'lib/gitlab/ci/reports/security/vulnerability_reports_comparer.rb'
- 'lib/gitlab/ci/runner/backoff.rb'
- 'lib/gitlab/ci/trace.rb'
- 'lib/gitlab/ci/trace/archive.rb'
- 'lib/gitlab/ci/trace/stream.rb'
- 'lib/gitlab/ci/yaml_processor.rb'
- 'lib/gitlab/config/entry/validators.rb'
- 'lib/gitlab/database/background_migration/batch_optimizer.rb'
- 'lib/gitlab/database/background_migration/batched_migration_wrapper.rb'
- 'lib/gitlab/database/consistency_checker.rb'
- 'lib/gitlab/database/load_balancing/configuration.rb'
- 'lib/gitlab/database/load_balancing/load_balancer.rb'
- 'lib/gitlab/database/migration_helpers.rb'
- 'lib/gitlab/database/migration_helpers/v2.rb'
- 'lib/gitlab/database/partitioning/partition_manager.rb'
- 'lib/gitlab/database/partitioning/sliding_list_strategy.rb'
- 'lib/gitlab/database/postgresql_adapter/force_disconnectable_mixin.rb'
- 'lib/gitlab/database/query_analyzers/restrict_allowed_schemas.rb'
- 'lib/gitlab/diff/custom_diff.rb'
- 'lib/gitlab/diff/file.rb'
- 'lib/gitlab/diff/highlight.rb'
- 'lib/gitlab/diff/highlight_cache.rb'
- 'lib/gitlab/email/handler/create_merge_request_handler.rb'
- 'lib/gitlab/email/handler/create_note_on_issuable_handler.rb'
- 'lib/gitlab/email/handler/service_desk_handler.rb'
- 'lib/gitlab/email/hook/email_template_interceptor.rb'
- 'lib/gitlab/email/receiver.rb'
- 'lib/gitlab/endpoint_attributes/config.rb'
- 'lib/gitlab/error_tracking.rb'
- 'lib/gitlab/event_store/event.rb'
- 'lib/gitlab/event_store/store.rb'
- 'lib/gitlab/exception_log_formatter.rb'
- 'lib/gitlab/fogbugz_import/importer.rb'
- 'lib/gitlab/git/tag.rb'
- 'lib/gitlab/git_access.rb'
- 'lib/gitlab/git_access_design.rb'
- 'lib/gitlab/git_access_snippet.rb'
- 'lib/gitlab/gitaly_client/blobs_stitcher.rb'
- 'lib/gitlab/gitaly_client/conflicts_service.rb'
- 'lib/gitlab/gitaly_client/operation_service.rb'
- 'lib/gitlab/gitaly_client/wiki_service.rb'
- 'lib/gitlab/github_import.rb'
- 'lib/gitlab/github_import/client.rb'
- 'lib/gitlab/github_import/importer/pull_request_importer.rb'
- 'lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb'
- 'lib/gitlab/github_import/importer/pull_request_review_importer.rb'
- 'lib/gitlab/github_import/object_counter.rb'
- 'lib/gitlab/gitlab_import/client.rb'
- 'lib/gitlab/gitlab_import/importer.rb'
- 'lib/gitlab/graphql/pagination/keyset/conditions/not_null_condition.rb'
- 'lib/gitlab/graphql/pagination/keyset/conditions/null_condition.rb'
- 'lib/gitlab/graphql/pagination/keyset/order_info.rb'
- 'lib/gitlab/graphql/pagination/keyset/query_builder.rb'
- 'lib/gitlab/graphql/query_analyzers/recursion_analyzer.rb'
- 'lib/gitlab/i18n/metadata_entry.rb'
- 'lib/gitlab/i18n/po_linter.rb'
- 'lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb'
- 'lib/gitlab/import_export/base/object_builder.rb'
- 'lib/gitlab/import_export/base/relation_factory.rb'
- 'lib/gitlab/import_export/command_line_util.rb'
- 'lib/gitlab/import_export/group/tree_restorer.rb'
- 'lib/gitlab/import_export/importer.rb'
- 'lib/gitlab/import_export/repo_restorer.rb'
- 'lib/gitlab/import_export/snippet_repo_restorer.rb'
- 'lib/gitlab/import_export/version_checker.rb'
- 'lib/gitlab/instrumentation/redis_cluster_validator.rb'
- 'lib/gitlab/instrumentation/uploads.rb'
- 'lib/gitlab/legacy_github_import/client.rb'
- 'lib/gitlab/legacy_github_import/issuable_formatter.rb'
- 'lib/gitlab/marginalia.rb'
- 'lib/gitlab/metrics/samplers/ruby_sampler.rb'
- 'lib/gitlab/metrics/subscribers/action_cable.rb'
- 'lib/gitlab/metrics/subscribers/active_record.rb'
- 'lib/gitlab/metrics/subscribers/external_http.rb'
- 'lib/gitlab/metrics/subscribers/rails_cache.rb'
- 'lib/gitlab/metrics/web_transaction.rb'
- 'lib/gitlab/middleware/read_only/controller.rb'
- 'lib/gitlab/pagination/gitaly_keyset_pager.rb'
- 'lib/gitlab/pagination/keyset/column_order_definition.rb'
- 'lib/gitlab/pagination/keyset/in_operator_optimization/array_scope_columns.rb'
- 'lib/gitlab/pagination/keyset/order.rb'
- 'lib/gitlab/pagination/keyset/pager.rb'
- 'lib/gitlab/pagination/keyset/paginator.rb'
- 'lib/gitlab/pagination/keyset/simple_order_builder.rb'
- 'lib/gitlab/patch/global_id.rb'
- 'lib/gitlab/patch/sprockets_base_file_digest_key.rb'
- 'lib/gitlab/process_supervisor.rb'
- 'lib/gitlab/prometheus/query_variables.rb'
- 'lib/gitlab/prometheus_client.rb'
- 'lib/gitlab/recaptcha.rb'
- 'lib/gitlab/relative_positioning/mover.rb'
- 'lib/gitlab/sanitizers/exif.rb'
- 'lib/gitlab/search/abuse_validators/no_abusive_coercion_from_string_validator.rb'
- 'lib/gitlab/search/abuse_validators/no_abusive_term_length_validator.rb'
- 'lib/gitlab/search/params.rb'
- 'lib/gitlab/serializer/pagination.rb'
- 'lib/gitlab/serverless/service.rb'
- 'lib/gitlab/shell.rb'
- 'lib/gitlab/sidekiq_config/cli_methods.rb'
- 'lib/gitlab/sidekiq_middleware/extra_done_log_metadata.rb'
- 'lib/gitlab/sidekiq_middleware/size_limiter/compressor.rb'
- 'lib/gitlab/sql/set_operator.rb'
- 'lib/gitlab/ssh_public_key.rb'
- 'lib/gitlab/url_blocker.rb'
- 'lib/gitlab/usage/metric_definition.rb'
- 'lib/gitlab/usage_data_counters/ci_template_unique_counter.rb'
- 'lib/gitlab/utils.rb'
- 'lib/gitlab/utils/override.rb'
- 'lib/gitlab/webpack/manifest.rb'
- 'lib/mattermost/session.rb'
- 'lib/release_highlights/validator/entry.rb'
- 'lib/safe_zip/entry.rb'
- 'lib/system_check/app/systemd_unit_files_or_init_script_up_to_date_check.rb'
- 'lib/system_check/incoming_email/mail_room_running_check.rb'
- 'lib/tasks/config_lint.rake'
- 'lib/tasks/gettext.rake'
- 'qa/qa/ee/page/file/show.rb'
- 'qa/qa/ee/resource/license.rb'
- 'qa/qa/mobile/page/main/menu.rb'
- 'qa/qa/mobile/page/sub_menus/common.rb'
- 'qa/qa/page/base.rb'
- 'qa/qa/page/component/invite_members_modal.rb'
- 'qa/qa/page/component/select2.rb'
- 'qa/qa/page/component/snippet.rb'
- 'qa/qa/page/mattermost/login.rb'
- 'qa/qa/page/page_concern.rb'
- 'qa/qa/resource/api_fabricator.rb'
- 'qa/qa/resource/package.rb'
- 'qa/qa/resource/registry_repository.rb'
- 'qa/qa/resource/reusable.rb'
- 'qa/qa/resource/user_gpg.rb'
- 'qa/qa/runtime/feature.rb'
- 'qa/qa/runtime/search.rb'
- 'qa/qa/service/cluster_provider/gcloud.rb'
- 'qa/qa/service/docker_run/gitlab_runner.rb'
- 'qa/qa/specs/features/browser_ui/1_manage/login/register_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/11_fulfillment/purchase/free_trial_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_audit_logs_1_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/group/group_file_template_spec.rb'
- 'qa/qa/specs/features/ee/browser_ui/1_manage/project/project_audit_logs_spec.rb'
- 'qa/qa/specs/helpers/feature_flag.rb'
- 'qa/qa/support/page_error_checker.rb'
- 'rubocop/cop/api/grape_array_missing_coerce.rb'
- 'rubocop/cop/gitlab/duplicate_spec_location.rb'
- 'rubocop/cop/gitlab/event_store_subscriber.rb'
- 'rubocop/cop/gitlab/finder_with_find_by.rb'
- 'rubocop/cop/gitlab/keys_first_and_values_first.rb'
- 'rubocop/cop/gitlab/policy_rule_boolean.rb'
- 'rubocop/cop/ignored_columns.rb'
- 'rubocop/cop/migration/add_limit_to_text_columns.rb'
- 'rubocop/cop/migration/update_column_in_batches.rb'
- 'rubocop/cop/rspec/web_mock_enable.rb'
- 'rubocop/cop/usage_data/histogram_with_large_table.rb'
- 'rubocop/cop/usage_data/large_table.rb'
- 'rubocop/routes_under_scope.rb'
- 'scripts/lint_templates_bash.rb'
- 'scripts/setup/find-jh-branch.rb'
- 'scripts/trigger-build.rb'
- 'spec/deprecation_toolkit_env.rb'
- 'spec/features/issuables/issuable_list_spec.rb'
- 'spec/features/projects/blobs/edit_spec.rb'
- 'spec/features/refactor_blob_viewer_disabled/projects/blobs/edit_spec.rb'
- 'spec/lib/gitlab/database/migrations/background_migration_helpers_spec.rb'
- 'spec/services/issues/relative_position_rebalancing_service_spec.rb'
- 'spec/services/packages/maven/metadata/append_package_file_service_spec.rb'
- 'spec/support/capybara.rb'
- 'spec/support/database/prevent_cross_joins.rb'
- 'spec/support/helpers/access_matchers_helpers.rb'
- 'spec/support/helpers/bare_repo_operations.rb'
- 'spec/support/helpers/capybara_helpers.rb'
- 'spec/support/helpers/dropzone_helper.rb'
- 'spec/support/helpers/fake_blob_helpers.rb'
- 'spec/support/helpers/filtered_search_helpers.rb'
- 'spec/support/helpers/gitaly_setup.rb'
- 'spec/support/helpers/javascript_fixtures_helpers.rb'
- 'spec/support/helpers/login_helpers.rb'
- 'spec/support/helpers/stub_gitlab_calls.rb'
- 'spec/support/helpers/test_env.rb'
- 'spec/support/helpers/wait_helpers.rb'
- 'spec/support/import_export/export_file_helper.rb'
- 'spec/support/shared_examples/features/packages_shared_examples.rb'
- 'spec/support/shared_examples/services/packages/debian/generate_distribution_shared_examples.rb'
- 'spec/workers/container_expiration_policies/cleanup_container_repository_worker_spec.rb'
- 'tooling/lib/tooling/helm3_client.rb'
- 'tooling/lib/tooling/image.rb'
- 'tooling/lib/tooling/kubernetes_client.rb'
- 'tooling/rspec_flaky/flaky_example.rb'
- 'tooling/rspec_flaky/listener.rb'

File diff suppressed because it is too large Load Diff

View File

@ -84,12 +84,7 @@ export default {
<template #actions>
<runner-edit-button v-if="canUpdate && runner.editAdminUrl" :href="runner.editAdminUrl" />
<runner-pause-button v-if="canUpdate" :runner="runner" />
<runner-delete-button
v-if="canDelete"
:runner="runner"
category="secondary"
@deleted="onDeleted"
/>
<runner-delete-button v-if="canDelete" :runner="runner" @deleted="onDeleted" />
</template>
</runner-header>

View File

@ -165,6 +165,7 @@ export default {
:loading="deleting"
:disabled="disabled"
variant="danger"
category="secondary"
v-bind="$attrs"
>
{{ buttonContent }}

View File

@ -100,15 +100,15 @@ Note the following when promoting a secondary:
#### Promoting a **secondary** site running on a single node running GitLab 14.5 and later
1. SSH in to your **secondary** node and execute:
1. SSH in to your **secondary** site and execute:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -125,7 +125,7 @@ The `gitlab-ctl promote-to-primary-node` and `gitlab-ctl promoted-db` commands a
deprecated in GitLab 14.5 and later, and are scheduled to [be removed in GitLab 15.0](https://gitlab.com/gitlab-org/gitlab/-/issues/345207).
Use `gitlab-ctl geo promote` instead.
1. SSH in to your **secondary** node and login as root:
1. SSH in to your **secondary** site and login as root:
```shell
sudo -i
@ -142,7 +142,7 @@ Use `gitlab-ctl geo promote` instead.
1. Promote the **secondary** site to the **primary** site:
- To promote the secondary node to primary along with [preflight checks](planned_failover.md#preflight-checks):
- To promote the secondary site to primary along with [preflight checks](planned_failover.md#preflight-checks):
```shell
gitlab-ctl promote-to-primary-node
@ -163,7 +163,7 @@ Use `gitlab-ctl geo promote` instead.
shows that it is complete, you can skip the preflight checks to make the
command complete promotion. This bug was fixed in GitLab 13.8 and later.
- To promote the secondary node to primary **without any further confirmation**,
- To promote the secondary site to primary **without any further confirmation**,
even when preflight checks fail:
```shell
@ -178,13 +178,13 @@ Use `gitlab-ctl geo promote` instead.
1. SSH to every Sidekiq, PostgresSQL, and Gitaly node in the **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the node on the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -192,13 +192,13 @@ Use `gitlab-ctl geo promote` instead.
1. SSH into each Rails node on your **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -256,13 +256,13 @@ do this manually.
1. SSH to every Sidekiq, PostgresSQL, and Gitaly node in the **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -270,13 +270,13 @@ do this manually.
1. SSH into each Rails node on your **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -347,7 +347,7 @@ site first.
- [Azure PostgreSQL](https://docs.microsoft.com/en-us/azure/postgresql/howto-read-replicas-portal#stop-replication)
- [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql/replication/manage-replicas#promote-replica)
- For other external PostgreSQL databases, save the following script in your
secondary node, for example `/tmp/geo_promote.sh`, and modify the connection
secondary site, for example `/tmp/geo_promote.sh`, and modify the connection
parameters to match your environment. Then, execute it to promote the replica:
```shell
@ -370,13 +370,13 @@ site first.
1. SSH to every Sidekiq, PostgresSQL, and Gitaly node in the **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -384,13 +384,13 @@ site first.
1. SSH into each Rails node on your **secondary** site and run one of the following commands:
- To promote the secondary node to primary:
- To promote the secondary site to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the secondary site to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -418,7 +418,7 @@ required:
- [Azure PostgreSQL](https://docs.microsoft.com/en-us/azure/postgresql/howto-read-replicas-portal#stop-replication)
- [Google Cloud SQL](https://cloud.google.com/sql/docs/mysql/replication/manage-replicas#promote-replica)
- For other external PostgreSQL databases, save the following script in your
secondary node, for example `/tmp/geo_promote.sh`, and modify the connection
secondary site, for example `/tmp/geo_promote.sh`, and modify the connection
parameters to match your environment. Then, execute it to promote the replica:
```shell
@ -503,7 +503,7 @@ secondary domain, like changing Git remotes and API URLs.
in `/etc/gitlab/gitlab.rb`.
1. For GitLab 12.0 through 12.7, you may need to update the **primary**
node's name in the database. This bug has been fixed in GitLab 12.8.
site's name in the database. This bug has been fixed in GitLab 12.8.
To determine if you need to do this, search for the
`gitlab_rails["geo_node_name"]` setting in your `/etc/gitlab/gitlab.rb`
@ -571,9 +571,9 @@ and after that you also need two extra steps.
# Allow PostgreSQL client authentication from the primary and secondary IPs. These IPs may be
# public or VPC addresses in CIDR format, for example ['198.51.100.1/32', '198.51.100.2/32']
##
postgresql['md5_auth_cidr_addresses'] = ['<primary_node_ip>/32', '<secondary_node_ip>/32']
postgresql['md5_auth_cidr_addresses'] = ['<primary_site_ip>/32', '<secondary_site_ip>/32']
# Every secondary server needs to have its own slot so specify the number of secondary nodes you're going to have
# Every secondary site needs to have its own slot so specify the number of secondary sites you're going to have
postgresql['max_replication_slots'] = 1
##
@ -662,7 +662,7 @@ must disable the **primary** site:
- Revoke object storage permissions from the **primary** site.
- Physically disconnect a machine.
### Step 2. Promote all **secondary** sites external to the cluster
### Step 2. Promote all **secondary** site nodes external to the cluster
WARNING:
If the secondary site [has been paused](../../geo/index.md#pausing-and-resuming-replication), this performs
@ -673,13 +673,13 @@ If you are running GitLab 14.5 and later:
1. For each node outside of the **secondary** Kubernetes cluster using Omnibus such as PostgreSQL or Gitaly, SSH into the node and run one of the following commands:
- To promote the secondary node to primary:
- To promote the **secondary** site node external to the Kubernetes cluster to primary:
```shell
sudo gitlab-ctl geo promote
```
- To promote the secondary node to primary **without any further confirmation**:
- To promote the **secondary** site node external to the Kubernetes cluster to primary **without any further confirmation**:
```shell
sudo gitlab-ctl geo promote --force
@ -699,7 +699,7 @@ If you are running GitLab 14.5 and later:
If you are running GitLab 14.4 and earlier:
1. SSH in to the database node in the **secondary** and trigger PostgreSQL to
1. SSH in to the database node in the **secondary** site and trigger PostgreSQL to
promote to read-write:
```shell

View File

@ -254,7 +254,7 @@ Omnibus GitLab-managed database. External databases are not supported.
In some circumstances, like during [upgrades](replication/updating_the_geo_sites.md) or a [planned failover](disaster_recovery/planned_failover.md), it is desirable to pause replication between the primary and secondary.
Pausing and resuming replication is done via a command line tool from the a node in the secondary site where the `postgresql` service is enabled.
Pausing and resuming replication is done via a command line tool from the node in the secondary site where the `postgresql` service is enabled.
If `postgresql` is on a standalone database node, ensure that `gitlab.rb` on that node contains the configuration line `gitlab_rails['geo_node_name'] = 'node_name'`, where `node_name` is the same as the `geo_name_name` on the application node.
@ -288,7 +288,7 @@ For more information on how to replicate the Container Registry, see [Docker Reg
### Geo secondary proxy
For more information on using Geo proxying on secondary nodes, see [Geo proxying for secondary sites](secondary_proxy/index.md).
For more information on using Geo proxying on secondary sites, see [Geo proxying for secondary sites](secondary_proxy/index.md).
### Security Review

View File

@ -419,6 +419,21 @@ sudo gitlab-ctl reconfigure
To help us resolve this problem, consider commenting on
[the issue](https://gitlab.com/gitlab-org/gitlab/-/issues/4489).
### Message: `FATAL: could not connect to the primary server: server certificate for "PostgreSQL" does not match host name`
This happens because the PostgreSQL certificate that the Omnibus GitLab package automatically creates contains
the Common Name `PostgreSQL`, but the replication is connecting to a different host and GitLab attempts to use
the `verify-full` SSL mode by default.
In order to fix this, you can either:
- Use the `--sslmode=verify-ca` argument with the `replicate-geo-database` command.
- For an already replicated database, change `sslmode=verify-full` to `sslmode=verify-ca`
in `/var/opt/gitlab/postgresql/data/gitlab-geo.conf` and run `gitlab-ctl restart postgresql`.
- [Configure SSL for PostgreSQL](https://docs.gitlab.com/omnibus/settings/database.html#configuring-ssl)
with a custom certificate (including the host name that's used to connect to the database in the CN or SAN)
instead of using the automatically generated certificate.
### Message: `LOG: invalid CIDR mask in address`
This happens on wrongly-formatted addresses in `postgresql['md5_auth_cidr_addresses']`.
@ -1101,6 +1116,21 @@ This is due to [Pages data not being managed by Geo](datatypes.md#limitations-on
Find advice to resolve those error messages in the
[Pages administration documentation](../../../administration/pages/index.md#404-error-after-promoting-a-geo-secondary-to-a-primary-node).
### Primary site returns 500 error when accessing `/admin/geo/replication/projects`
Navigating to **Admin > Geo > Replication** (or `/admin/geo/replication/projects`) on a primary Geo site, shows a 500 error, while that same link on the secondary works fine. The primary's `production.log` has a similar entry to the following:
```plaintext
Geo::TrackingBase::SecondaryNotConfigured: Geo secondary database is not configured
from ee/app/models/geo/tracking_base.rb:26:in `connection'
[..]
from ee/app/views/admin/geo/projects/_all.html.haml:1
```
On a Geo primary site this error can be ignored.
This happens because GitLab is attempting to display registries from the [Geo tracking database](../../../administration/geo/#geo-tracking-database) which doesn't exist on the primary site (only the original projects exist on the primary; no replicated projects are present, therefore no tracking database exists).
## Fixing client errors
### Authorization errors from LFS HTTP(s) client requests

View File

@ -300,6 +300,24 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o
need it when setting up the **secondary** node! The certificate is not sensitive
data.
However, this certificate is created with a generic `PostgreSQL` Common Name. For this,
you must use the `verify-ca` mode when replicating the database, otherwise,
the hostname mismatch will cause errors.
1. Optional. Generate your own SSL certificate and manually
[configure SSL for PostgreSQL](https://docs.gitlab.com/omnibus/settings/database.html#configuring-ssl),
instead of using the generated certificate.
You will need at least the SSL certificate and key, and set the `postgresql['ssl_cert_file']` and
`postgresql['ssl_key_file']` values to their full paths, as per the Database SSL docs.
This allows you to use the `verify-full` SSL mode when replicating the database
and get the extra benefit of verifying the full hostname in the CN.
You can use this certificate (that you have also set in `postgresql['ssl_cert_file']`) instead
of the certificate from the point above going forward. This will allow you to use `verify-full`
without replication errors if the CN matches.
#### Step 2. Configure the **secondary** server
1. SSH into your GitLab **secondary** server and login as root:
@ -367,6 +385,12 @@ There is an [issue where support is being discussed](https://gitlab.com/gitlab-o
-h <primary_node_ip>
```
NOTE:
If you are using manually generated certificates and plan on using
`sslmode=verify-full` to benefit of the full hostname verification,
make sure to replace `verify-ca` to `verify-full` when
running the command.
When prompted enter the password you set in the first step for the
`gitlab_replicator` user. If all worked correctly, you should see
the list of **primary** node's databases.
@ -455,6 +479,7 @@ data before running `pg_basebackup`.
gitlab-ctl replicate-geo-database \
--slot-name=<secondary_node_name> \
--host=<primary_node_ip>
--sslmode=verify-ca
```
NOTE:
@ -463,6 +488,13 @@ data before running `pg_basebackup`.
When prompted, enter the _plaintext_ password you set up for the `gitlab_replicator`
user in the first step.
NOTE:
If you have generated custom PostgreSQL certificates, you will want to use
`--sslmode=verify-full` (or omit the `sslmode` line entirely), to benefit from the extra
validation of the full host name in the certificate CN / SAN for additional security.
Otherwise, using the automatically created certificate with `verify-full` will fail,
as it has a generic `PostgreSQL` CN which will not match the `--host` value in this command.
This command also takes a number of additional options. You can use `--help`
to list them all, but here are a couple of tips:

View File

@ -753,6 +753,21 @@ group.members_with_parents.count
parent.members_with_descendants.count
```
### Find gropus that are pending deletion
```ruby
#
# This section lists all the groups which are pending deletion
#
Group.all.each do |g|
if g.marked_for_deletion?
puts "Group ID: #{g.id}"
puts "Group name: #{g.name}"
puts "Group path: #{g.full_path}"
end
end
```
### Delete a group
```ruby

View File

@ -156,14 +156,6 @@ Example response:
"location": "gitlab.example.com:5000/group/project",
"created_at": "2019-01-10T13:38:57.391Z",
"cleanup_policy_started_at": "2020-08-17T03:12:35.489Z",
"tags_count": 1,
"tags": [
{
"name": "0.0.1",
"path": "group/project:0.0.1",
"location": "gitlab.example.com:5000/group/project:0.0.1"
}
]
},
{
"id": 2,
@ -173,24 +165,6 @@ Example response:
"location": "gitlab.example.com:5000/group/other_project",
"created_at": "2019-01-10T13:39:08.229Z",
"cleanup_policy_started_at": "2020-01-10T15:40:57.391Z",
"tags_count": 3,
"tags": [
{
"name": "0.0.1",
"path": "group/other_project:0.0.1",
"location": "gitlab.example.com:5000/group/other_project:0.0.1"
},
{
"name": "0.0.2",
"path": "group/other_project:0.0.2",
"location": "gitlab.example.com:5000/group/other_project:0.0.2"
},
{
"name": "latest",
"path": "group/other_project:latest",
"location": "gitlab.example.com:5000/group/other_project:latest"
}
]
}
]
```

View File

@ -106,6 +106,11 @@ the scope set to `api` or `read_api`.
Open your [`~/.netrc`](https://everything.curl.dev/usingcurl/netrc) file
and add the following text. Replace the variables in `< >` with your values.
WARNING:
If you use an environment variable called `NETRC`, Go will use its value
as a filename and ignore `~/.netrc`. If you intend to use `~/.netrc` in
the GitLab CI **do not use `NETRC` as an environment variable name**.
```plaintext
machine <url> login <username> password <token>
```

View File

@ -24,8 +24,6 @@ module API
end
params do
use :pagination
optional :tags, type: Boolean, default: false, desc: 'Determines if tags should be included'
optional :tags_count, type: Boolean, default: false, desc: 'Determines if the tags count should be included'
end
get ':id/registry/repositories' do
repositories = ContainerRepositoriesFinder.new(
@ -34,7 +32,7 @@ module API
track_package_event('list_repositories', :container, user: current_user, namespace: user_group)
present paginate(repositories), with: Entities::ContainerRegistry::Repository, tags: params[:tags], tags_count: params[:tags_count]
present paginate(repositories), with: Entities::ContainerRegistry::Repository, tags: false, tags_count: false
end
end

View File

@ -37,22 +37,15 @@ RSpec.describe API::GroupContainerRepositories do
let(:url) { "/groups/#{group.id}/registry/repositories" }
let(:snowplow_gitlab_standard_context) { { user: api_user, namespace: group } }
subject { get api(url, api_user), params: params }
subject { get api(url, api_user) }
it_behaves_like 'rejected container repository access', :guest, :forbidden
it_behaves_like 'rejected container repository access', :anonymous, :not_found
it_behaves_like 'handling network errors with the container registry' do
let(:params) { { tags: true } }
end
it_behaves_like 'returns repositories for allowed users', :reporter, 'group' do
let(:object) { group }
end
it_behaves_like 'returns tags for allowed users', :reporter, 'group' do
let(:object) { group }
end
it_behaves_like 'a package tracking event', described_class.name, 'list_repositories'
context 'with invalid group id' do