Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
8bf623d6ea
commit
a1131ca818
|
|
@ -426,8 +426,8 @@ lib/gitlab/checks/**
|
|||
/doc/administration/configure.md @axil
|
||||
/doc/administration/consul.md @axil
|
||||
/doc/administration/credentials_inventory.md @jglassman1
|
||||
/doc/administration/custom_project_templates.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/diff_limits.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/custom_project_templates.md @msedlakjakubowski
|
||||
/doc/administration/diff_limits.md @msedlakjakubowski
|
||||
/doc/administration/docs_self_host.md @axil
|
||||
/doc/administration/encrypted_configuration.md @axil
|
||||
/doc/administration/environment_variables.md @axil
|
||||
|
|
@ -438,24 +438,21 @@ lib/gitlab/checks/**
|
|||
/doc/administration/geo/ @axil
|
||||
/doc/administration/geo_sites.md @axil
|
||||
/doc/administration/get_started.md @kpaizee
|
||||
/doc/administration/git_protocol.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/git_protocol.md @msedlakjakubowski
|
||||
/doc/administration/gitaly/ @eread
|
||||
/doc/administration/housekeeping.md @eread
|
||||
/doc/administration/inactive_project_deletion.md @eread
|
||||
/doc/administration/incoming_email.md @msedlakjakubowski
|
||||
/doc/administration/index.md @axil
|
||||
/doc/administration/instance_limits.md @axil
|
||||
/doc/administration/integration/diagrams_net.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/integration/kroki.md @msedlakjakubowski
|
||||
/doc/administration/integration/mailgun.md @msedlakjakubowski
|
||||
/doc/administration/integration/plantuml.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/integration/ @msedlakjakubowski
|
||||
/doc/administration/integration/terminal.md @phillipwells
|
||||
/doc/administration/invalidate_markdown_cache.md @msedlakjakubowski
|
||||
/doc/administration/issue_closing_pattern.md @aqualls
|
||||
/doc/administration/job_artifacts.md @marcel.amirault
|
||||
/doc/administration/job_logs.md @fneill
|
||||
/doc/administration/labels.md @msedlakjakubowski
|
||||
/doc/administration/lfs/ @aqualls @msedlakjakubowski
|
||||
/doc/administration/lfs/ @msedlakjakubowski
|
||||
/doc/administration/libravatar.md @axil
|
||||
/doc/administration/license.md @fneill
|
||||
/doc/administration/license_file.md @fneill
|
||||
|
|
@ -463,8 +460,8 @@ lib/gitlab/checks/**
|
|||
/doc/administration/logs/ @axil
|
||||
/doc/administration/logs/index.md @msedlakjakubowski
|
||||
/doc/administration/maintenance_mode/ @axil
|
||||
/doc/administration/merge_request_diffs.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/merge_requests_approvals.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/merge_request_diffs.md @msedlakjakubowski
|
||||
/doc/administration/merge_requests_approvals.md @msedlakjakubowski
|
||||
/doc/administration/moderate_users.md @jglassman1
|
||||
/doc/administration/monitoring/github_imports.md @eread @ashrafkhamis
|
||||
/doc/administration/monitoring/health_check.md @msedlakjakubowski
|
||||
|
|
@ -483,8 +480,8 @@ lib/gitlab/checks/**
|
|||
/doc/administration/nfs.md @axil
|
||||
/doc/administration/object_storage.md @axil
|
||||
/doc/administration/operations/ @axil
|
||||
/doc/administration/operations/fast_ssh_key_lookup.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/operations/gitlab_sshd.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/operations/fast_ssh_key_lookup.md @msedlakjakubowski
|
||||
/doc/administration/operations/gitlab_sshd.md @msedlakjakubowski
|
||||
/doc/administration/operations/moving_repositories.md @eread
|
||||
/doc/administration/package_information/ @axil
|
||||
/doc/administration/packages/ @marcel.amirault
|
||||
|
|
@ -508,39 +505,39 @@ lib/gitlab/checks/**
|
|||
/doc/administration/restart_gitlab.md @axil
|
||||
/doc/administration/review_abuse_reports.md @phillipwells
|
||||
/doc/administration/server_hooks.md @eread
|
||||
/doc/administration/settings/account_and_limit_settings.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/account_and_limit_settings.md @msedlakjakubowski
|
||||
/doc/administration/settings/continuous_integration.md @marcel.amirault
|
||||
/doc/administration/settings/deprecated_api_rate_limits.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/deprecated_api_rate_limits.md @msedlakjakubowski
|
||||
/doc/administration/settings/email.md @msedlakjakubowski
|
||||
/doc/administration/settings/external_authorization.md @jglassman1
|
||||
/doc/administration/settings/files_api_rate_limits.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/git_lfs_rate_limits.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/files_api_rate_limits.md @msedlakjakubowski
|
||||
/doc/administration/settings/git_lfs_rate_limits.md @msedlakjakubowski
|
||||
/doc/administration/settings/gitaly_timeouts.md @eread
|
||||
/doc/administration/settings/import_export_rate_limits.md @eread @ashrafkhamis
|
||||
/doc/administration/settings/incident_management_rate_limits.md @msedlakjakubowski
|
||||
/doc/administration/settings/index.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/instance_template_repository.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/index.md @msedlakjakubowski
|
||||
/doc/administration/settings/instance_template_repository.md @msedlakjakubowski
|
||||
/doc/administration/settings/package_registry_rate_limits.md @phillipwells
|
||||
/doc/administration/settings/project_integration_management.md @eread @ashrafkhamis
|
||||
/doc/administration/settings/push_event_activities_limit.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/push_event_activities_limit.md @msedlakjakubowski
|
||||
/doc/administration/settings/rate_limit_on_issues_creation.md @msedlakjakubowski
|
||||
/doc/administration/settings/rate_limit_on_notes_creation.md @msedlakjakubowski
|
||||
/doc/administration/settings/rate_limit_on_pipelines_creation.md @marcel.amirault
|
||||
/doc/administration/settings/rate_limit_on_projects_api.md @lciutacu
|
||||
/doc/administration/settings/rate_limit_on_users_api.md @jglassman1
|
||||
/doc/administration/settings/rate_limits_on_git_ssh_operations.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/rate_limits_on_git_ssh_operations.md @msedlakjakubowski
|
||||
/doc/administration/settings/scim_setup.md @jglassman1
|
||||
/doc/administration/settings/security_and_compliance.md @rdickenson
|
||||
/doc/administration/settings/slack_app.md @eread @ashrafkhamis
|
||||
/doc/administration/settings/terraform_limits.md @phillipwells
|
||||
/doc/administration/settings/third_party_offers.md @lciutacu
|
||||
/doc/administration/settings/usage_statistics.md @lciutacu
|
||||
/doc/administration/settings/visibility_and_access_controls.md @aqualls @msedlakjakubowski
|
||||
/doc/administration/settings/visibility_and_access_controls.md @msedlakjakubowski
|
||||
/doc/administration/sidekiq/ @axil
|
||||
/doc/administration/sidekiq/sidekiq_memory_killer.md @jglassman1
|
||||
/doc/administration/silent_mode/ @axil
|
||||
/doc/administration/smime_signing_email.md @axil
|
||||
/doc/administration/snippets/ @aqualls @msedlakjakubowski
|
||||
/doc/administration/snippets/ @msedlakjakubowski
|
||||
/doc/administration/static_objects_external_storage.md @ashrafkhamis
|
||||
/doc/administration/system_hooks.md @eread @ashrafkhamis
|
||||
/doc/administration/terraform_state.md @phillipwells
|
||||
|
|
@ -559,10 +556,10 @@ lib/gitlab/checks/**
|
|||
/doc/api/avatar.md @jglassman1
|
||||
/doc/api/award_emoji.md @msedlakjakubowski
|
||||
/doc/api/boards.md @msedlakjakubowski
|
||||
/doc/api/branches.md @aqualls @msedlakjakubowski
|
||||
/doc/api/branches.md @msedlakjakubowski
|
||||
/doc/api/bulk_imports.md @eread @ashrafkhamis
|
||||
/doc/api/cluster_agents.md @phillipwells
|
||||
/doc/api/commits.md @aqualls @msedlakjakubowski
|
||||
/doc/api/commits.md @msedlakjakubowski
|
||||
/doc/api/container_registry.md @marcel.amirault
|
||||
/doc/api/custom_attributes.md @msedlakjakubowski
|
||||
/doc/api/database_migrations.md @aqualls
|
||||
|
|
@ -571,7 +568,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/deploy_keys.md @phillipwells
|
||||
/doc/api/deploy_tokens.md @phillipwells
|
||||
/doc/api/deployments.md @phillipwells
|
||||
/doc/api/discussions.md @aqualls @msedlakjakubowski
|
||||
/doc/api/discussions.md @msedlakjakubowski
|
||||
/doc/api/dora/ @lciutacu
|
||||
/doc/api/draft_notes.md @aqualls
|
||||
/doc/api/environments.md @phillipwells
|
||||
|
|
@ -586,7 +583,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/geo_nodes.md @axil
|
||||
/doc/api/geo_sites.md @axil
|
||||
/doc/api/graphql/audit_report.md @eread
|
||||
/doc/api/graphql/branch_rules.md @aqualls @msedlakjakubowski
|
||||
/doc/api/graphql/branch_rules.md @msedlakjakubowski
|
||||
/doc/api/graphql/custom_emoji.md @msedlakjakubowski
|
||||
/doc/api/graphql/getting_started.md @eread @ashrafkhamis
|
||||
/doc/api/graphql/index.md @eread @ashrafkhamis
|
||||
|
|
@ -605,7 +602,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/group_labels.md @msedlakjakubowski
|
||||
/doc/api/group_level_variables.md @marcel.amirault
|
||||
/doc/api/group_milestones.md @msedlakjakubowski
|
||||
/doc/api/group_protected_branches.md @aqualls @msedlakjakubowski
|
||||
/doc/api/group_protected_branches.md @msedlakjakubowski
|
||||
/doc/api/group_protected_environments.md @phillipwells
|
||||
/doc/api/group_relations_export.md @eread @ashrafkhamis
|
||||
/doc/api/group_releases.md @phillipwells
|
||||
|
|
@ -622,7 +619,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/iterations.md @msedlakjakubowski
|
||||
/doc/api/job_artifacts.md @marcel.amirault
|
||||
/doc/api/jobs.md @marcel.amirault
|
||||
/doc/api/keys.md @aqualls @msedlakjakubowski
|
||||
/doc/api/keys.md @msedlakjakubowski
|
||||
/doc/api/labels.md @msedlakjakubowski
|
||||
/doc/api/license.md @fneill
|
||||
/doc/api/linked_epics.md @msedlakjakubowski
|
||||
|
|
@ -630,7 +627,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/markdown.md @msedlakjakubowski
|
||||
/doc/api/member_roles.md @jglassman1
|
||||
/doc/api/members.md @jglassman1
|
||||
/doc/api/merge_request_approvals.md @aqualls @msedlakjakubowski
|
||||
/doc/api/merge_request_approvals.md @msedlakjakubowski
|
||||
/doc/api/merge_request_context_commits.md @aqualls
|
||||
/doc/api/merge_requests.md @aqualls
|
||||
/doc/api/merge_trains.md @marcel.amirault
|
||||
|
|
@ -652,27 +649,27 @@ lib/gitlab/checks/**
|
|||
/doc/api/plan_limits.md @jglassman1
|
||||
/doc/api/product_analytics.md @lciutacu
|
||||
/doc/api/project_access_tokens.md @jglassman1
|
||||
/doc/api/project_aliases.md @aqualls @msedlakjakubowski
|
||||
/doc/api/project_badges.md @aqualls @msedlakjakubowski
|
||||
/doc/api/project_aliases.md @msedlakjakubowski
|
||||
/doc/api/project_badges.md @msedlakjakubowski
|
||||
/doc/api/project_clusters.md @phillipwells
|
||||
/doc/api/project_import_export.md @eread @ashrafkhamis
|
||||
/doc/api/project_job_token_scopes.md @marcel.amirault
|
||||
/doc/api/project_level_variables.md @marcel.amirault
|
||||
/doc/api/project_relations_export.md @eread @ashrafkhamis
|
||||
/doc/api/project_repository_storage_moves.md @eread
|
||||
/doc/api/project_snippets.md @aqualls @msedlakjakubowski
|
||||
/doc/api/project_statistics.md @aqualls @msedlakjakubowski
|
||||
/doc/api/project_templates.md @aqualls @msedlakjakubowski
|
||||
/doc/api/project_snippets.md @msedlakjakubowski
|
||||
/doc/api/project_statistics.md @msedlakjakubowski
|
||||
/doc/api/project_templates.md @msedlakjakubowski
|
||||
/doc/api/project_vulnerabilities.md @rdickenson
|
||||
/doc/api/projects.md @lciutacu
|
||||
/doc/api/protected_branches.md @aqualls @msedlakjakubowski
|
||||
/doc/api/protected_branches.md @msedlakjakubowski
|
||||
/doc/api/protected_environments.md @phillipwells
|
||||
/doc/api/protected_tags.md @aqualls @msedlakjakubowski
|
||||
/doc/api/protected_tags.md @msedlakjakubowski
|
||||
/doc/api/releases/ @phillipwells
|
||||
/doc/api/remote_mirrors.md @aqualls @msedlakjakubowski
|
||||
/doc/api/repositories.md @aqualls @msedlakjakubowski
|
||||
/doc/api/repository_files.md @aqualls @msedlakjakubowski
|
||||
/doc/api/repository_submodules.md @aqualls @msedlakjakubowski
|
||||
/doc/api/remote_mirrors.md @msedlakjakubowski
|
||||
/doc/api/repositories.md @msedlakjakubowski
|
||||
/doc/api/repository_files.md @msedlakjakubowski
|
||||
/doc/api/repository_submodules.md @msedlakjakubowski
|
||||
/doc/api/resource_groups.md @phillipwells
|
||||
/doc/api/resource_iteration_events.md @msedlakjakubowski
|
||||
/doc/api/resource_label_events.md @eread
|
||||
|
|
@ -688,15 +685,15 @@ lib/gitlab/checks/**
|
|||
/doc/api/secure_files.md @marcel.amirault
|
||||
/doc/api/settings.md @jglassman1
|
||||
/doc/api/sidekiq_metrics.md @axil
|
||||
/doc/api/snippet_repository_storage_moves.md @aqualls @msedlakjakubowski
|
||||
/doc/api/snippets.md @aqualls @msedlakjakubowski
|
||||
/doc/api/snippet_repository_storage_moves.md @msedlakjakubowski
|
||||
/doc/api/snippets.md @msedlakjakubowski
|
||||
/doc/api/statistics.md @jglassman1
|
||||
/doc/api/status_checks.md @eread
|
||||
/doc/api/suggestions.md @aqualls @msedlakjakubowski
|
||||
/doc/api/suggestions.md @msedlakjakubowski
|
||||
/doc/api/system_hooks.md @eread @ashrafkhamis
|
||||
/doc/api/tags.md @aqualls @msedlakjakubowski
|
||||
/doc/api/templates/dockerfiles.md @aqualls @msedlakjakubowski
|
||||
/doc/api/templates/gitignores.md @aqualls @msedlakjakubowski
|
||||
/doc/api/tags.md @msedlakjakubowski
|
||||
/doc/api/templates/dockerfiles.md @msedlakjakubowski
|
||||
/doc/api/templates/gitignores.md @msedlakjakubowski
|
||||
/doc/api/templates/gitlab_ci_ymls.md @marcel.amirault
|
||||
/doc/api/templates/licenses.md @rdickenson
|
||||
/doc/api/todos.md @msedlakjakubowski
|
||||
|
|
@ -709,6 +706,7 @@ lib/gitlab/checks/**
|
|||
/doc/api/vulnerability_exports.md @rdickenson
|
||||
/doc/api/vulnerability_findings.md @rdickenson
|
||||
/doc/architecture/blueprints/cells/ @lciutacu
|
||||
/doc/architecture/blueprints/ci_builds_runner_fleet_metrics/ @fneill
|
||||
/doc/architecture/blueprints/database/scalability/patterns/ @aqualls
|
||||
/doc/architecture/blueprints/database_scaling/ @aqualls
|
||||
/doc/ci/ @marcel.amirault
|
||||
|
|
@ -731,7 +729,7 @@ lib/gitlab/checks/**
|
|||
/doc/development/auto_devops.md @phillipwells
|
||||
/doc/development/avoiding_required_stops.md @axil
|
||||
/doc/development/backend/ @sselhorn
|
||||
/doc/development/backend/create_source_code_be/ @aqualls @msedlakjakubowski
|
||||
/doc/development/backend/create_source_code_be/ @msedlakjakubowski
|
||||
/doc/development/build_test_package.md @axil
|
||||
/doc/development/bulk_import.md @eread @ashrafkhamis
|
||||
/doc/development/cached_queries.md @jglassman1
|
||||
|
|
@ -739,13 +737,13 @@ lib/gitlab/checks/**
|
|||
/doc/development/chatops_on_gitlabcom.md @phillipwells
|
||||
/doc/development/cicd/ @marcel.amirault
|
||||
/doc/development/code_intelligence/ @aqualls
|
||||
/doc/development/code_owners/ @aqualls @msedlakjakubowski
|
||||
/doc/development/code_owners/ @msedlakjakubowski
|
||||
/doc/development/contributing/ @sselhorn
|
||||
/doc/development/database/ @aqualls
|
||||
/doc/development/database/filtering_by_label.md @msedlakjakubowski
|
||||
/doc/development/database/multiple_databases.md @lciutacu
|
||||
/doc/development/database_review.md @aqualls
|
||||
/doc/development/developing_with_solargraph.md @aqualls @msedlakjakubowski
|
||||
/doc/development/developing_with_solargraph.md @msedlakjakubowski
|
||||
/doc/development/development_processes.md @sselhorn
|
||||
/doc/development/distributed_tracing.md @msedlakjakubowski
|
||||
/doc/development/distribution/ @axil
|
||||
|
|
@ -754,17 +752,17 @@ lib/gitlab/checks/**
|
|||
/doc/development/fe_guide/ @sselhorn
|
||||
/doc/development/fe_guide/customizable_dashboards.md @lciutacu
|
||||
/doc/development/fe_guide/merge_request_widget_extensions.md @aqualls
|
||||
/doc/development/fe_guide/source_editor.md @aqualls @msedlakjakubowski
|
||||
/doc/development/fe_guide/source_editor.md @msedlakjakubowski
|
||||
/doc/development/feature_categorization/ @sselhorn
|
||||
/doc/development/feature_development.md @sselhorn
|
||||
/doc/development/feature_flags/ @sselhorn
|
||||
/doc/development/fips_compliance.md @aqualls @msedlakjakubowski
|
||||
/doc/development/fips_compliance.md @msedlakjakubowski
|
||||
/doc/development/geo.md @axil
|
||||
/doc/development/geo/ @axil
|
||||
/doc/development/git_object_deduplication.md @eread
|
||||
/doc/development/gitaly.md @eread
|
||||
/doc/development/gitlab_flavored_markdown/ @ashrafkhamis
|
||||
/doc/development/gitlab_shell/ @aqualls @msedlakjakubowski
|
||||
/doc/development/gitlab_shell/ @msedlakjakubowski
|
||||
/doc/development/graphql_guide/ @eread @ashrafkhamis
|
||||
/doc/development/graphql_guide/batchloader.md @aqualls
|
||||
/doc/development/i18n/ @eread @ashrafkhamis
|
||||
|
|
@ -776,17 +774,17 @@ lib/gitlab/checks/**
|
|||
/doc/development/integrations/secure.md @rdickenson
|
||||
/doc/development/integrations/secure_partner_integration.md @rdickenson
|
||||
/doc/development/internal_analytics/ @lciutacu
|
||||
/doc/development/internal_api/ @aqualls @msedlakjakubowski
|
||||
/doc/development/internal_api/ @msedlakjakubowski
|
||||
/doc/development/internal_users.md @sselhorn
|
||||
/doc/development/issuable-like-models.md @msedlakjakubowski
|
||||
/doc/development/issue_types.md @msedlakjakubowski
|
||||
/doc/development/kubernetes.md @phillipwells
|
||||
/doc/development/labels/ @sselhorn
|
||||
/doc/development/lfs.md @aqualls @msedlakjakubowski
|
||||
/doc/development/lfs.md @msedlakjakubowski
|
||||
/doc/development/logging.md @msedlakjakubowski
|
||||
/doc/development/maintenance_mode.md @axil
|
||||
/doc/development/merge_request_concepts/ @aqualls
|
||||
/doc/development/merge_request_concepts/rate_limits.md @aqualls @msedlakjakubowski
|
||||
/doc/development/merge_request_concepts/rate_limits.md @msedlakjakubowski
|
||||
/doc/development/migration_style_guide.md @aqualls
|
||||
/doc/development/navigation_sidebar.md @sselhorn
|
||||
/doc/development/omnibus.md @axil
|
||||
|
|
@ -797,9 +795,9 @@ lib/gitlab/checks/**
|
|||
/doc/development/permissions.md @jglassman1
|
||||
/doc/development/permissions/ @jglassman1
|
||||
/doc/development/policies.md @jglassman1
|
||||
/doc/development/project_templates.md @aqualls @msedlakjakubowski
|
||||
/doc/development/project_templates.md @msedlakjakubowski
|
||||
/doc/development/prometheus_metrics.md @msedlakjakubowski
|
||||
/doc/development/rails_endpoints/ @aqualls @msedlakjakubowski
|
||||
/doc/development/rails_endpoints/ @msedlakjakubowski
|
||||
/doc/development/real_time.md @jglassman1
|
||||
/doc/development/rubocop_development_guide.md @sselhorn
|
||||
/doc/development/search/ @ashrafkhamis
|
||||
|
|
@ -812,10 +810,10 @@ lib/gitlab/checks/**
|
|||
/doc/development/value_stream_analytics/ @lciutacu
|
||||
/doc/development/work_items.md @msedlakjakubowski
|
||||
/doc/development/work_items_widgets.md @msedlakjakubowski
|
||||
/doc/development/workhorse/ @aqualls @msedlakjakubowski
|
||||
/doc/development/workhorse/ @msedlakjakubowski
|
||||
/doc/downgrade_ee_to_ce/ @axil
|
||||
/doc/drawers/ @ashrafkhamis
|
||||
/doc/gitlab-basics/ @aqualls @msedlakjakubowski
|
||||
/doc/gitlab-basics/ @msedlakjakubowski
|
||||
/doc/install/ @axil
|
||||
/doc/install/postgresql_extensions.md @aqualls
|
||||
/doc/integration/ @jglassman1
|
||||
|
|
@ -833,7 +831,7 @@ lib/gitlab/checks/**
|
|||
/doc/integration/mattermost/ @axil
|
||||
/doc/integration/partner_marketplace.md @fneill
|
||||
/doc/integration/recaptcha.md @phillipwells
|
||||
/doc/integration/sourcegraph.md @aqualls @msedlakjakubowski
|
||||
/doc/integration/sourcegraph.md @msedlakjakubowski
|
||||
/doc/integration/trello_power_up.md @eread @ashrafkhamis
|
||||
/doc/integration/vault.md @phillipwells
|
||||
/doc/operations/feature_flags.md @phillipwells
|
||||
|
|
@ -842,7 +840,7 @@ lib/gitlab/checks/**
|
|||
/doc/policy/ @axil
|
||||
/doc/raketasks/ @axil
|
||||
/doc/raketasks/spdx.md @rdickenson
|
||||
/doc/raketasks/x509_signatures.md @aqualls @msedlakjakubowski
|
||||
/doc/raketasks/x509_signatures.md @msedlakjakubowski
|
||||
/doc/security/ @jglassman1
|
||||
/doc/security/email_verification.md @phillipwells
|
||||
/doc/security/identity_verification.md @phillipwells
|
||||
|
|
@ -850,8 +848,7 @@ lib/gitlab/checks/**
|
|||
/doc/topics/authentication/ @jglassman1
|
||||
/doc/topics/autodevops/ @phillipwells
|
||||
/doc/topics/data_seeder.md @sselhorn
|
||||
/doc/topics/git/ @aqualls @msedlakjakubowski
|
||||
/doc/topics/gitlab_flow.md @aqualls @msedlakjakubowski
|
||||
/doc/topics/git/ @msedlakjakubowski
|
||||
/doc/topics/offline/ @axil
|
||||
/doc/topics/plan_and_track.md @msedlakjakubowski
|
||||
/doc/tutorials/ @kpaizee
|
||||
|
|
@ -862,6 +859,7 @@ lib/gitlab/checks/**
|
|||
/doc/tutorials/convert_personal_namespace_to_group/ @lciutacu
|
||||
/doc/tutorials/dependency_scanning.md @rdickenson
|
||||
/doc/tutorials/fuzz_testing/ @rdickenson
|
||||
/doc/tutorials/install_gitlab_single_node/ @axil
|
||||
/doc/tutorials/move_personal_project_to_group/ @lciutacu
|
||||
/doc/tutorials/protected_workflow/ @aqualls
|
||||
/doc/tutorials/scan_result_policy/ @rdickenson
|
||||
|
|
@ -870,12 +868,11 @@ lib/gitlab/checks/**
|
|||
/doc/user/analytics/ @lciutacu
|
||||
/doc/user/analytics/ci_cd_analytics.md @phillipwells
|
||||
/doc/user/application_security/ @rdickenson
|
||||
/doc/user/asciidoc.md @aqualls @msedlakjakubowski
|
||||
/doc/user/asciidoc.md @aqualls
|
||||
/doc/user/award_emojis.md @msedlakjakubowski
|
||||
/doc/user/clusters/ @phillipwells
|
||||
/doc/user/compliance/ @rdickenson
|
||||
/doc/user/compliance/compliance_center/ @eread
|
||||
/doc/user/compliance/compliance_report/ @eread
|
||||
/doc/user/compliance/index.md @eread
|
||||
/doc/user/crm/ @msedlakjakubowski
|
||||
/doc/user/discussions/ @aqualls
|
||||
|
|
@ -884,7 +881,7 @@ lib/gitlab/checks/**
|
|||
/doc/user/group/ @lciutacu
|
||||
/doc/user/group/clusters/ @phillipwells
|
||||
/doc/user/group/compliance_frameworks.md @eread
|
||||
/doc/user/group/custom_project_templates.md @aqualls @msedlakjakubowski
|
||||
/doc/user/group/custom_project_templates.md @aqualls
|
||||
/doc/user/group/epics/ @msedlakjakubowski
|
||||
/doc/user/group/import/ @eread @ashrafkhamis
|
||||
/doc/user/group/issues_analytics/ @msedlakjakubowski
|
||||
|
|
@ -918,19 +915,19 @@ lib/gitlab/checks/**
|
|||
/doc/user/profile/notifications.md @msedlakjakubowski
|
||||
/doc/user/profile/personal_access_tokens.md @jglassman1
|
||||
/doc/user/profile/user_passwords.md @jglassman1
|
||||
/doc/user/project/autocomplete_characters.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/autocomplete_characters.md @aqualls
|
||||
/doc/user/project/badges.md @lciutacu
|
||||
/doc/user/project/changelogs.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/changelogs.md @aqualls
|
||||
/doc/user/project/clusters/ @phillipwells
|
||||
/doc/user/project/code_intelligence.md @aqualls
|
||||
/doc/user/project/codeowners/ @aqualls @msedlakjakubowski
|
||||
/doc/user/project/codeowners/ @aqualls
|
||||
/doc/user/project/deploy_boards.md @phillipwells
|
||||
/doc/user/project/deploy_keys/ @phillipwells
|
||||
/doc/user/project/deploy_tokens/ @phillipwells
|
||||
/doc/user/project/description_templates.md @msedlakjakubowski
|
||||
/doc/user/project/file_lock.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/git_attributes.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/highlighting.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/file_lock.md @aqualls
|
||||
/doc/user/project/git_attributes.md @aqualls
|
||||
/doc/user/project/highlighting.md @aqualls
|
||||
/doc/user/project/import/ @eread @ashrafkhamis
|
||||
/doc/user/project/import/jira.md @msedlakjakubowski
|
||||
/doc/user/project/index.md @lciutacu
|
||||
|
|
@ -942,33 +939,29 @@ lib/gitlab/checks/**
|
|||
/doc/user/project/labels.md @msedlakjakubowski
|
||||
/doc/user/project/members/ @lciutacu
|
||||
/doc/user/project/merge_requests/ @aqualls
|
||||
/doc/user/project/merge_requests/approvals/ @aqualls @msedlakjakubowski
|
||||
/doc/user/project/merge_requests/cherry_pick_changes.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/merge_requests/csv_export.md @eread
|
||||
/doc/user/project/merge_requests/methods/ @aqualls @msedlakjakubowski
|
||||
/doc/user/project/merge_requests/squash_and_merge.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/merge_requests/status_checks.md @eread
|
||||
/doc/user/project/milestones/ @msedlakjakubowski
|
||||
/doc/user/project/organize_work_with_projects.md @lciutacu
|
||||
/doc/user/project/protected_branches.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/protected_tags.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/push_options.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/protected_branches.md @aqualls
|
||||
/doc/user/project/protected_tags.md @aqualls
|
||||
/doc/user/project/push_options.md @aqualls
|
||||
/doc/user/project/quick_actions.md @msedlakjakubowski
|
||||
/doc/user/project/releases/ @phillipwells
|
||||
/doc/user/project/releases/release_evidence.md @eread
|
||||
/doc/user/project/remote_development/ @ashrafkhamis
|
||||
/doc/user/project/repository/ @aqualls @msedlakjakubowski
|
||||
/doc/user/project/repository/ @aqualls
|
||||
/doc/user/project/repository/file_finder.md @ashrafkhamis
|
||||
/doc/user/project/repository/managing_large_repositories.md @axil
|
||||
/doc/user/project/repository/vscode.md @ashrafkhamis
|
||||
/doc/user/project/repository/web_editor.md @ashrafkhamis
|
||||
/doc/user/project/requirements/ @msedlakjakubowski
|
||||
/doc/user/project/service_desk.md @msedlakjakubowski
|
||||
/doc/user/project/service_desk/ @msedlakjakubowski
|
||||
/doc/user/project/settings/import_export.md @eread @ashrafkhamis
|
||||
/doc/user/project/settings/import_export_troubleshooting.md @eread @ashrafkhamis
|
||||
/doc/user/project/settings/index.md @lciutacu
|
||||
/doc/user/project/settings/project_access_tokens.md @jglassman1
|
||||
/doc/user/project/system_notes.md @aqualls @msedlakjakubowski
|
||||
/doc/user/project/system_notes.md @aqualls
|
||||
/doc/user/project/time_tracking.md @msedlakjakubowski
|
||||
/doc/user/project/web_ide/ @ashrafkhamis
|
||||
/doc/user/project/working_with_projects.md @lciutacu
|
||||
|
|
@ -978,7 +971,7 @@ lib/gitlab/checks/**
|
|||
/doc/user/search/ @ashrafkhamis
|
||||
/doc/user/search/command_palette.md @sselhorn
|
||||
/doc/user/shortcuts.md @ashrafkhamis
|
||||
/doc/user/snippets.md @aqualls @msedlakjakubowski
|
||||
/doc/user/snippets.md @aqualls
|
||||
/doc/user/ssh.md @jglassman1
|
||||
/doc/user/tasks.md @msedlakjakubowski
|
||||
/doc/user/todos.md @msedlakjakubowski
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@
|
|||
services:
|
||||
- !reference [.zoekt-services, services]
|
||||
- name: elasticsearch:7.17.6
|
||||
command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false"]
|
||||
command: ["elasticsearch", "-E", "discovery.type=single-node", "-E", "xpack.security.enabled=false", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"]
|
||||
|
||||
.use-pg12-es7-ee:
|
||||
extends:
|
||||
|
|
@ -350,6 +350,7 @@
|
|||
variables:
|
||||
ES_SETTING_DISCOVERY_TYPE: "single-node"
|
||||
ES_SETTING_XPACK_SECURITY_ENABLED: "false"
|
||||
ES_SETTING_CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD__ENABLED: "false"
|
||||
|
||||
.use-pg13-es8-ee:
|
||||
extends:
|
||||
|
|
@ -383,7 +384,7 @@
|
|||
- !reference [.zoekt-services, services]
|
||||
- name: opensearchproject/opensearch:1.3.5
|
||||
alias: elasticsearch
|
||||
command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true"]
|
||||
command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"]
|
||||
|
||||
.use-pg13-opensearch1-ee:
|
||||
extends:
|
||||
|
|
@ -414,7 +415,7 @@
|
|||
- !reference [.zoekt-services, services]
|
||||
- name: opensearchproject/opensearch:2.2.1
|
||||
alias: elasticsearch
|
||||
command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true"]
|
||||
command: ["bin/opensearch", "-E", "discovery.type=single-node", "-E", "plugins.security.disabled=true", "-E", "cluster.routing.allocation.disk.threshold_enabled=false"]
|
||||
|
||||
.use-pg13-opensearch2-ee:
|
||||
extends:
|
||||
|
|
|
|||
|
|
@ -2756,8 +2756,6 @@
|
|||
- "scripts/rspec_helpers.sh"
|
||||
- <<: *if-merge-request
|
||||
changes:
|
||||
- "gems/gitlab-rspec/**/*"
|
||||
- "gems/rspec_flaky/**/*"
|
||||
- "scripts/flaky_examples/prune-old-flaky-examples"
|
||||
|
||||
###################
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
v16.3.0-rc4
|
||||
v16.3.0-rc5
|
||||
|
|
|
|||
|
|
@ -474,3 +474,10 @@
|
|||
margin-left: $gl-padding;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin btn-svg {
|
||||
height: $gl-padding;
|
||||
width: $gl-padding;
|
||||
top: 0;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@import 'mixins_and_variables_and_functions';
|
||||
@import 'framework/buttons';
|
||||
@import 'framework/mixins';
|
||||
|
||||
.edit-user {
|
||||
.emoji-menu-toggle-button {
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class Note < ApplicationRecord
|
|||
scope :with_api_entity_associations, -> { preload(:note_diff_file, :author) }
|
||||
scope :inc_relations_for_view, ->(noteable = nil) do
|
||||
relations = [{ project: :group }, { author: :status }, :updated_by, :resolved_by,
|
||||
:award_emoji, { system_note_metadata: :description_version }, :suggestions]
|
||||
:award_emoji, :note_metadata, { system_note_metadata: :description_version }, :suggestions]
|
||||
|
||||
if noteable.nil? || DiffNote.noteable_types.include?(noteable.class.name)
|
||||
relations += [:note_diff_file, :diff_note_positions]
|
||||
|
|
|
|||
|
|
@ -1,76 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# Responsible for returning an embed containing the specified
|
||||
# metrics chart for an alert. Creates panels based on the
|
||||
# matching metric stored in the database.
|
||||
#
|
||||
# Use Gitlab::Metrics::Dashboard::Finder to retrieve dashboards.
|
||||
module Metrics
|
||||
module Dashboard
|
||||
class GitlabAlertEmbedService < ::Metrics::Dashboard::BaseEmbedService
|
||||
include Gitlab::Metrics::Dashboard::Defaults
|
||||
include Gitlab::Utils::StrongMemoize
|
||||
|
||||
SEQUENCE = [
|
||||
STAGES::PanelIdsInserter
|
||||
].freeze
|
||||
|
||||
class << self
|
||||
# Determines whether the provided params are sufficient
|
||||
# to uniquely identify a panel composed of user-defined
|
||||
# custom metrics from the DB.
|
||||
def valid_params?(params)
|
||||
[
|
||||
embedded?(params[:embedded]),
|
||||
params[:prometheus_alert_id].is_a?(Integer)
|
||||
].all?
|
||||
end
|
||||
end
|
||||
|
||||
def raw_dashboard
|
||||
panels_not_found!(alert_id: alert_id) unless alert && prometheus_metric
|
||||
|
||||
{ 'panel_groups' => [{ 'panels' => [panel] }] }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def allowed?
|
||||
Ability.allowed?(current_user, :read_prometheus_alerts, project)
|
||||
end
|
||||
|
||||
def alert_id
|
||||
params[:prometheus_alert_id]
|
||||
end
|
||||
|
||||
def alert
|
||||
strong_memoize(:alert) do
|
||||
Projects::Prometheus::AlertsFinder.new(id: alert_id).execute.first
|
||||
end
|
||||
end
|
||||
|
||||
def process_params
|
||||
params.merge(environment: alert.environment)
|
||||
end
|
||||
|
||||
def prometheus_metric
|
||||
strong_memoize(:prometheus_metric) do
|
||||
PrometheusMetricsFinder.new(id: alert.prometheus_metric_id).execute.first
|
||||
end
|
||||
end
|
||||
|
||||
def panel
|
||||
{
|
||||
title: prometheus_metric.title,
|
||||
y_label: prometheus_metric.y_label,
|
||||
metrics: [prometheus_metric.to_metric_hash],
|
||||
type: DEFAULT_PANEL_TYPE
|
||||
}
|
||||
end
|
||||
|
||||
def sequence
|
||||
SEQUENCE
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -22,19 +22,19 @@ module Integrations
|
|||
|
||||
mentionable = case mentionable_type
|
||||
when 'Issue'
|
||||
Issue.find(mentionable_id)
|
||||
Issue.find_by_id(mentionable_id)
|
||||
when 'MergeRequest'
|
||||
MergeRequest.find(mentionable_id)
|
||||
MergeRequest.find_by_id(mentionable_id)
|
||||
else
|
||||
Sidekiq.logger.error(
|
||||
message: 'Integrations::GroupMentionWorker: mentionable not supported',
|
||||
mentionable_type: mentionable_type,
|
||||
mentionable_id: mentionable_id
|
||||
)
|
||||
nil
|
||||
end
|
||||
|
||||
if mentionable.nil?
|
||||
Sidekiq.logger.error(
|
||||
message: 'Integrations::GroupMentionWorker: mentionable not supported',
|
||||
mentionable_type: mentionable_type,
|
||||
mentionable_id: mentionable_id
|
||||
)
|
||||
return
|
||||
end
|
||||
return if mentionable.nil?
|
||||
|
||||
Integrations::GroupMentionService.new(mentionable, hook_data: hook_data, is_confidential: is_confidential).execute
|
||||
end
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ Audit event types are used to [filter streamed audit events](index.md#update-eve
|
|||
| [`audit_events_streaming_headers_create`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92068) | Triggered when a streaming header for audit events is created | **{check-circle}** Yes | **{check-circle}** Yes | `audit_events` | [15.3](https://gitlab.com/gitlab-org/gitlab/-/issues/366350) |
|
||||
| [`audit_events_streaming_headers_destroy`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92068) | Triggered when a streaming header for audit events is deleted | **{check-circle}** Yes | **{check-circle}** Yes | `audit_events` | [15.3](https://gitlab.com/gitlab-org/gitlab/-/issues/366350) |
|
||||
| [`audit_events_streaming_headers_update`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92068) | Triggered when a streaming header for audit events is updated | **{check-circle}** Yes | **{check-circle}** Yes | `compliance_management` | [15.3](https://gitlab.com/gitlab-org/gitlab/-/issues/366350) |
|
||||
| [`audit_events_streaming_instance_headers_create`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/125870) | Triggered when a streaming header for instance level external audit event destination is created | **{check-circle}** Yes | **{check-circle}** Yes | `audit_events` | [16.3](https://gitlab.com/gitlab-org/gitlab/-/issues/417433) |
|
||||
| [`audit_events_streaming_instance_headers_destroy`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/127228) | Triggered when a streaming header for instance level external audit event destination is deleted | **{check-circle}** Yes | **{check-circle}** Yes | `audit_events` | [16.3](https://gitlab.com/gitlab-org/gitlab/-/issues/417433) |
|
||||
| [`audit_events_streaming_instance_headers_update`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/127228) | Triggered when a streaming header for instance level external audit event destination is updated | **{check-circle}** Yes | **{check-circle}** Yes | `audit_events` | [16.3](https://gitlab.com/gitlab-org/gitlab/-/issues/417433) |
|
||||
| [`authenticated_with_group_saml`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28575) | Triggered after successfully signing in with SAML authentication | **{check-circle}** Yes | **{check-circle}** Yes | `user_management` | [12.10](https://gitlab.com/gitlab-org/gitlab/-/issues/35710) |
|
||||
| [`ban_user`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/116103) | Event triggered on user ban action | **{check-circle}** Yes | **{check-circle}** Yes | `user_management` | [15.11](https://gitlab.com/gitlab-org/gitlab/-/issues/377620) |
|
||||
| [`change_membership_state`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87924) | Event triggered on a users membership is updated | **{check-circle}** Yes | **{check-circle}** Yes | `user_management` | [15.1](https://gitlab.com/gitlab-org/gitlab/-/issues/362200) |
|
||||
|
|
@ -91,6 +94,7 @@ Audit event types are used to [filter streamed audit events](index.md#update-eve
|
|||
| [`group_access_token_creation_failed`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92225) | Event triggered on failing to create a group access token | **{check-circle}** Yes | **{check-circle}** Yes | `subgroup` | [15.2](https://gitlab.com/gitlab-org/gitlab/-/issues/363087) |
|
||||
| [`group_access_token_deleted`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92225) | Event triggered on deleting a group access token | **{check-circle}** Yes | **{check-circle}** Yes | `subgroup` | [15.2](https://gitlab.com/gitlab-org/gitlab/-/issues/363087) |
|
||||
| [`group_access_token_deletion_failed`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92225) | Event triggered on failure to delete a group access token | **{check-circle}** Yes | **{check-circle}** Yes | `subgroup` | [15.2](https://gitlab.com/gitlab-org/gitlab/-/issues/363087) |
|
||||
| [`group_created`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/121005) | Event triggered when a group is created. | **{check-circle}** Yes | **{check-circle}** Yes | `groups_and_projects` | [16.3](https://gitlab.com/gitlab-org/gitlab/-/issues/411595) |
|
||||
| [`group_deletion_marked`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/116986) | Event triggered when a group is marked for deletion. | **{check-circle}** Yes | **{check-circle}** Yes | `compliance_management` | [15.11](https://gitlab.com/gitlab-org/gitlab/-/issues/374106) |
|
||||
| [`group_deploy_token_created`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93091) | Audit event triggered when a groups deploy token is created | **{check-circle}** Yes | **{check-circle}** Yes | `continuous_delivery` | [15.3](https://gitlab.com/gitlab-org/gitlab/-/issues/363087) |
|
||||
| [`group_deploy_token_creation_failed`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/93091) | Audit event triggered when a groups deploy token fails to create | **{check-circle}** Yes | **{check-circle}** Yes | `continuous_delivery` | [15.3](https://gitlab.com/gitlab-org/gitlab/-/issues/363087) |
|
||||
|
|
|
|||
|
|
@ -309,6 +309,8 @@ Event type filters are removed if:
|
|||
|
||||
Manage Google Cloud Logging destinations for top-level groups.
|
||||
|
||||
Before setting up Google Cloud Logging streaming audit events, you must satisfy [the prerequisites](index.md#prerequisites).
|
||||
|
||||
#### Add a new Google Cloud Logging destination
|
||||
|
||||
Add a new Google Cloud Logging configuration destination to a top-level group.
|
||||
|
|
|
|||
|
|
@ -186,11 +186,13 @@ To override the `content-type` header default value for a top-level group stream
|
|||
|
||||
Manage Google Cloud Logging destinations for top-level groups.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
Before setting up Google Cloud Logging streaming audit events, you must:
|
||||
|
||||
1. Create a service account for Google Cloud with the appropriate credentials and permissions. This account is used to configure audit log streaming authentication.
|
||||
For more information, see [Creating and managing service accounts in the Google Cloud documentation](https://cloud.google.com/iam/docs/service-accounts-create#creating).
|
||||
1. Enable the **Logging Admin** role for the service account to enable logging on Google Cloud. For more information, see [Access control with IAM](https://cloud.google.com/logging/docs/access-control#permissions_and_roles).
|
||||
1. Enable the **Logs Writer** role for the service account to enable logging on Google Cloud. For more information, see [Access control with IAM](https://cloud.google.com/logging/docs/access-control#logging.logWriter).
|
||||
1. Create a JSON key for the service account. For more information, see [Creating a service account key](https://cloud.google.com/iam/docs/keys-create-delete#creating).
|
||||
|
||||
#### Add a new Google Cloud Logging destination
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ You should use Docker-in-Docker with TLS enabled,
|
|||
which is supported by [GitLab.com shared runners](../runners/index.md).
|
||||
|
||||
You should always pin a specific version of the image, like `docker:20.10.16`.
|
||||
If you use a tag like `docker:stable`, you have no control over which version is used.
|
||||
If you use a tag like `docker:latest`, you have no control over which version is used.
|
||||
This can cause incompatibility problems when new versions are released.
|
||||
|
||||
#### Use the Docker executor with Docker-in-Docker
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ socket or `localhost`. Read more in [accessing the services](#accessing-the-serv
|
|||
## How the health check of services works
|
||||
|
||||
Services are designed to provide additional features which are **network accessible**.
|
||||
They may be a database like MySQL, or Redis, and even `docker:stable-dind` which
|
||||
They may be a database like MySQL, or Redis, and even `docker:dind` which
|
||||
allows you to use Docker-in-Docker. It can be practically anything that's
|
||||
required for the CI/CD job to proceed, and is accessed by network.
|
||||
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ To use private runners:
|
|||
|
||||
```shell
|
||||
$ gitlab-runner register --executor "docker" \
|
||||
--docker-image="docker:stable" \
|
||||
--docker-image="docker:latest" \
|
||||
--url "https://gitlab.com/" \
|
||||
--description "cq-sans-dind" \
|
||||
--tag-list "cq-sans-dind" \
|
||||
|
|
@ -171,7 +171,7 @@ To use private runners:
|
|||
builds_dir = "/tmp/builds"
|
||||
[runners.docker]
|
||||
tls_verify = false
|
||||
image = "docker:stable"
|
||||
image = "docker:latest"
|
||||
privileged = false
|
||||
disable_entrypoint_overwrite = false
|
||||
oom_kill_disable = false
|
||||
|
|
|
|||
|
|
@ -446,17 +446,23 @@ When the docs are generated, the output is:
|
|||
|
||||
To stop the command, press <kbd>Control</kbd>+<kbd>C</kbd>.
|
||||
|
||||
### Buttons in the UI
|
||||
|
||||
For elements with a visible label, use the label in bold with matching case.
|
||||
|
||||
For example: `Select **Cancel**.`
|
||||
|
||||
### Text entered in the UI
|
||||
|
||||
If you want the user to type something in the UI, use backticks. For example:
|
||||
|
||||
```plaintext
|
||||
In the **Commit message** box, type `This is my merge request`.
|
||||
In the **Commit message** text box, type `This is my merge request`.
|
||||
```
|
||||
|
||||
Backticks are more precise than quotes. For example, in this string:
|
||||
|
||||
- In the **Commit message** box, type "This is my merge request."
|
||||
- In the **Commit message** text box, type "This is my merge request."
|
||||
|
||||
It's not clear whether the user should include the period in the string.
|
||||
|
||||
|
|
@ -1552,20 +1558,6 @@ Do not copy and paste content from other sources unless it is a limited
|
|||
quotation with the source cited. Typically it is better to rephrase
|
||||
relevant information in your own words or link out to the other source.
|
||||
|
||||
## Terms
|
||||
|
||||
To maintain consistency through GitLab documentation, use these styles and terms.
|
||||
|
||||
### Describe UI elements
|
||||
|
||||
Follow these styles when you're describing user interface elements in an
|
||||
application:
|
||||
|
||||
- For elements with a visible label, use that label in bold with matching case.
|
||||
For example, `Select **Cancel**`.
|
||||
- For elements with a tooltip or hover label, use that label in bold with
|
||||
matching case. For example, `Select **Add status emoji**`.
|
||||
|
||||
## Products and features
|
||||
|
||||
Refer to the information in this section when describing products and features
|
||||
|
|
@ -1871,8 +1863,3 @@ It renders as:
|
|||
```
|
||||
|
||||
::EndTabs
|
||||
|
||||
## Feature flags
|
||||
|
||||
Learn how to [document features deployed behind flags](../feature_flags.md). For
|
||||
guidance on developing GitLab with feature flags, see [Feature flags in development of GitLab](../../feature_flags/index.md).
|
||||
|
|
|
|||
|
|
@ -602,7 +602,7 @@ variables:
|
|||
SOURCE_IMAGE: registry.gitlab.com/security-products/container-scanning:6
|
||||
TARGET_IMAGE: $CI_REGISTRY/namespace/container-scanning
|
||||
|
||||
image: docker:stable
|
||||
image: docker:latest
|
||||
|
||||
update-scanner-image:
|
||||
services:
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module Database
|
||||
module SchemaValidation
|
||||
class SchemaInconsistency < ApplicationRecord
|
||||
self.table_name = :schema_inconsistencies
|
||||
|
||||
belongs_to :issue
|
||||
|
||||
validates :object_name, :valitador_name, :table_name, :diff, presence: true
|
||||
|
||||
scope :with_open_issues, -> { joins(:issue).where('issue.state_id': Issue.available_states[:opened]) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -13,7 +13,6 @@ module Gitlab
|
|||
include Gitlab::Utils::StrongMemoize
|
||||
|
||||
SERVICES = [
|
||||
::Metrics::Dashboard::GitlabAlertEmbedService,
|
||||
::Metrics::Dashboard::CustomMetricEmbedService,
|
||||
::Metrics::Dashboard::DefaultEmbedService,
|
||||
::Metrics::Dashboard::SystemDashboardService
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ namespace :tw do
|
|||
CodeOwnerRule.new('Runner', '@fneill'),
|
||||
CodeOwnerRule.new('Runner SaaS', '@fneill'),
|
||||
CodeOwnerRule.new('Security Policies', '@rdickenson'),
|
||||
CodeOwnerRule.new('Source Code', '@aqualls @msedlakjakubowski'),
|
||||
CodeOwnerRule.new('Source Code', ->(path) { path.start_with?('/doc/user') ? '@aqualls' : '@msedlakjakubowski' }),
|
||||
CodeOwnerRule.new('Static Analysis', '@rdickenson'),
|
||||
CodeOwnerRule.new('Style Guide', '@sselhorn'),
|
||||
CodeOwnerRule.new('Tenant Scale', '@lciutacu'),
|
||||
|
|
@ -100,8 +100,14 @@ namespace :tw do
|
|||
end
|
||||
end
|
||||
|
||||
def self.writer_for_group(category)
|
||||
CODE_OWNER_RULES.find { |rule| rule.category == category }&.writer
|
||||
def self.writer_for_group(category, path)
|
||||
writer = CODE_OWNER_RULES.find { |rule| rule.category == category }&.writer
|
||||
|
||||
if writer.is_a?(String) || writer.nil?
|
||||
writer
|
||||
else
|
||||
writer.call(path)
|
||||
end
|
||||
end
|
||||
|
||||
errors = []
|
||||
|
|
@ -118,7 +124,7 @@ namespace :tw do
|
|||
next
|
||||
end
|
||||
|
||||
writer = writer_for_group(document.group)
|
||||
writer = writer_for_group(document.group, relative_file)
|
||||
next unless writer
|
||||
|
||||
mappings << DocumentOwnerMapping.new(relative_file, writer) if document.has_a_valid_group?
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
FactoryBot.define do
|
||||
factory :schema_inconsistency, class: '::Gitlab::Database::SchemaValidation::SchemaInconsistency' do
|
||||
issue factory: :issue
|
||||
|
||||
object_name { 'name' }
|
||||
table_name { 'table' }
|
||||
valitador_name { 'validator' }
|
||||
diff { 'diff' }
|
||||
end
|
||||
end
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Gitlab::Database::SchemaValidation::SchemaInconsistency, type: :model, feature_category: :database do
|
||||
it { is_expected.to be_a ApplicationRecord }
|
||||
|
||||
describe 'associations' do
|
||||
it { is_expected.to belong_to(:issue) }
|
||||
end
|
||||
|
||||
describe "Validations" do
|
||||
it { is_expected.to validate_presence_of(:object_name) }
|
||||
it { is_expected.to validate_presence_of(:valitador_name) }
|
||||
it { is_expected.to validate_presence_of(:table_name) }
|
||||
it { is_expected.to validate_presence_of(:diff) }
|
||||
end
|
||||
|
||||
describe 'scopes' do
|
||||
describe '.with_open_issues' do
|
||||
subject(:inconsistencies) { described_class.with_open_issues }
|
||||
|
||||
let(:closed_issue) { create(:issue, :closed) }
|
||||
let(:open_issue) { create(:issue, :opened) }
|
||||
|
||||
let!(:schema_inconsistency_with_issue_closed) do
|
||||
create(:schema_inconsistency, object_name: 'index_name', table_name: 'achievements',
|
||||
valitador_name: 'different_definition_indexes', issue: closed_issue)
|
||||
end
|
||||
|
||||
let!(:schema_inconsistency_with_issue_opened) do
|
||||
create(:schema_inconsistency, object_name: 'index_name', table_name: 'achievements',
|
||||
valitador_name: 'different_definition_indexes', issue: open_issue)
|
||||
end
|
||||
|
||||
it 'returns only schema inconsistencies with GitLab issues open' do
|
||||
expect(inconsistencies).to eq([schema_inconsistency_with_issue_opened])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -44,12 +44,6 @@ RSpec.describe Gitlab::Metrics::Dashboard::ServiceSelector do
|
|||
|
||||
it { is_expected.to be Metrics::Dashboard::CustomMetricEmbedService }
|
||||
end
|
||||
|
||||
context 'when metrics embed is for an alert' do
|
||||
let(:arguments) { { embedded: true, prometheus_alert_id: 5 } }
|
||||
|
||||
it { is_expected.to be Metrics::Dashboard::GitlabAlertEmbedService }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -27,19 +27,15 @@ RSpec.describe 'merge requests discussions', feature_category: :source_code_mana
|
|||
end
|
||||
# rubocop:enable RSpec/InstanceVariable
|
||||
|
||||
shared_examples 'N+1 queries' do
|
||||
it 'avoids N+1 DB queries', :request_store do
|
||||
send_request # warm up
|
||||
it 'avoids N+1 DB queries', :request_store do
|
||||
send_request # warm up
|
||||
|
||||
create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.project)
|
||||
control = ActiveRecord::QueryRecorder.new { send_request }
|
||||
create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.project)
|
||||
control = ActiveRecord::QueryRecorder.new { send_request }
|
||||
|
||||
create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.project)
|
||||
create(:diff_note_on_merge_request, noteable: merge_request, project: merge_request.project)
|
||||
|
||||
expect do
|
||||
send_request
|
||||
end.not_to exceed_query_limit(control).with_threshold(notes_metadata_threshold)
|
||||
end
|
||||
expect { send_request }.not_to exceed_query_limit(control)
|
||||
end
|
||||
|
||||
it 'returns 200' do
|
||||
|
|
@ -48,13 +44,6 @@ RSpec.describe 'merge requests discussions', feature_category: :source_code_mana
|
|||
expect(response).to have_gitlab_http_status(:ok)
|
||||
end
|
||||
|
||||
# https://docs.gitlab.com/ee/development/query_recorder.html#use-request-specs-instead-of-controller-specs
|
||||
context 'with notes_metadata_threshold' do
|
||||
let(:notes_metadata_threshold) { 1 }
|
||||
|
||||
it_behaves_like 'N+1 queries'
|
||||
end
|
||||
|
||||
it 'limits Gitaly queries', :request_store do
|
||||
Gitlab::GitalyClient.allow_n_plus_1_calls do
|
||||
create_list(:diff_note_on_merge_request, 7, noteable: merge_request, project: merge_request.project)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Projects::NotesController, feature_category: :team_planning do
|
||||
let_it_be(:project) { create(:project, :public) }
|
||||
let_it_be(:issue) { create(:issue, project: project) }
|
||||
|
||||
describe '#index' do
|
||||
def get_notes
|
||||
get project_noteable_notes_path(project, target_type: 'issue', target_id: issue.id, format: :json),
|
||||
headers: { 'X-Last-Fetched-At': 0 }
|
||||
end
|
||||
|
||||
it 'does not execute N+1 queries' do
|
||||
get_notes
|
||||
|
||||
create(:note_on_issue, project: project, noteable: issue)
|
||||
|
||||
control = ActiveRecord::QueryRecorder.new { get_notes }
|
||||
|
||||
create(:note_on_issue, project: project, noteable: issue)
|
||||
|
||||
expect { get_notes }.not_to exceed_query_limit(control)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
RSpec.describe Metrics::Dashboard::GitlabAlertEmbedService, feature_category: :metrics do
|
||||
include MetricsDashboardHelpers
|
||||
|
||||
let_it_be(:alert) { create(:prometheus_alert) }
|
||||
let_it_be(:project) { alert.project }
|
||||
let_it_be(:user) { create(:user) }
|
||||
|
||||
let(:alert_id) { alert.id }
|
||||
|
||||
before_all do
|
||||
project.add_maintainer(user)
|
||||
end
|
||||
|
||||
describe '.valid_params?' do
|
||||
let(:valid_params) do
|
||||
{
|
||||
embedded: true,
|
||||
prometheus_alert_id: alert_id
|
||||
}
|
||||
end
|
||||
|
||||
subject { described_class.valid_params?(params) }
|
||||
|
||||
let(:params) { valid_params }
|
||||
|
||||
it { is_expected.to be_truthy }
|
||||
|
||||
context 'missing embedded' do
|
||||
let(:params) { valid_params.except(:embedded) }
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context 'not embedded' do
|
||||
let(:params) { valid_params.merge(embedded: 'false') }
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context 'missing alert id' do
|
||||
let(:params) { valid_params.except(:prometheus_alert_id) }
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
|
||||
context 'missing alert id' do
|
||||
let(:params) { valid_params.merge(prometheus_alert_id: 'none') }
|
||||
|
||||
it { is_expected.to be_falsey }
|
||||
end
|
||||
end
|
||||
|
||||
describe '#get_dashboard' do
|
||||
let(:service_params) do
|
||||
[
|
||||
project,
|
||||
user,
|
||||
{
|
||||
embedded: true,
|
||||
prometheus_alert_id: alert_id
|
||||
}
|
||||
]
|
||||
end
|
||||
|
||||
let(:service_call) { described_class.new(*service_params).get_dashboard }
|
||||
|
||||
context 'when alerting is available' do
|
||||
it_behaves_like 'valid embedded dashboard service response'
|
||||
it_behaves_like 'raises error for users with insufficient permissions'
|
||||
|
||||
it 'generates an panel based on the alert' do
|
||||
result = service_call
|
||||
panel = result[:dashboard][:panel_groups][0][:panels][0]
|
||||
metric = panel[:metrics].first
|
||||
|
||||
expect(panel[:metrics].length).to eq 1
|
||||
expect(panel).to include(
|
||||
title: alert.prometheus_metric.title,
|
||||
y_label: alert.prometheus_metric.y_label,
|
||||
type: 'area-chart'
|
||||
)
|
||||
expect(metric[:metric_id]).to eq alert.prometheus_metric_id
|
||||
end
|
||||
|
||||
context 'when the metric does not exist' do
|
||||
let(:alert_id) { -4 }
|
||||
|
||||
it_behaves_like 'misconfigured dashboard service response', :not_found
|
||||
end
|
||||
|
||||
it 'does not cache the unprocessed dashboard' do
|
||||
# Fail spec if any method of Cache class is called.
|
||||
stub_const('Gitlab::Metrics::Dashboard::Cache', double)
|
||||
|
||||
described_class.new(*service_params).get_dashboard
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -37,12 +37,10 @@ RSpec.describe Integrations::GroupMentionWorker, :clean_gitlab_redis_shared_stat
|
|||
|
||||
context 'when mentionable_type is not supported' do
|
||||
let(:args) do
|
||||
{
|
||||
super().merge(
|
||||
mentionable_type: 'Unsupported',
|
||||
mentionable_id: 23,
|
||||
hook_data: {},
|
||||
is_confidential: false
|
||||
}
|
||||
mentionable_id: 23
|
||||
)
|
||||
end
|
||||
|
||||
it 'does not execute the service' do
|
||||
|
|
@ -61,5 +59,15 @@ RSpec.describe Integrations::GroupMentionWorker, :clean_gitlab_redis_shared_stat
|
|||
worker.perform(args)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when mentionable cannot be found' do
|
||||
let(:args) { super().merge(mentionable_id: non_existing_record_id) }
|
||||
|
||||
it 'does not execute the service' do
|
||||
expect(service_class).not_to receive(:new)
|
||||
|
||||
worker.perform(args)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue