From 9398d718d92a40a0a917040645a55dea51467a91 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Tue, 14 Apr 2020 00:09:57 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- .../groups/settings/ci_cd_controller.rb | 2 +- .../projects/settings/ci_cd_controller.rb | 2 +- app/models/deploy_token.rb | 4 +- ...ntainer_registry_authentication_service.rb | 9 +- .../update_repository_storage_service.rb | 7 ++ .../projects/settings/ci_cd/show.html.haml | 2 +- .../shared/deploy_tokens/_form.html.haml | 5 + ...roject_update_repository_storage_worker.rb | 10 -- .../22743-deploy-token-write-registry.yml | 5 + ...059_add_write_registry_to_deploy_tokens.rb | 17 +++ db/structure.sql | 4 +- doc/administration/availability/index.md | 8 ++ doc/api/deploy_tokens.md | 4 +- doc/subscriptions/index.md | 4 + doc/user/application_security/dast/index.md | 37 +++++- .../deploy_tokens/img/deploy_tokens.png | Bin 62979 -> 177352 bytes doc/user/project/deploy_tokens/index.md | 21 +++- lib/api/deploy_tokens.rb | 5 +- lib/gitlab/auth.rb | 3 +- locale/gitlab.pot | 5 +- spec/factories/deploy_tokens.rb | 1 + spec/lib/gitlab/auth_spec.rb | 117 +++++++++++------- spec/models/deploy_token_spec.rb | 4 +- ...er_registry_authentication_service_spec.rb | 10 +- spec/services/projects/fork_service_spec.rb | 2 + .../update_repository_storage_service_spec.rb | 15 ++- .../services/deploy_token_shared_examples.rb | 2 +- ...ository_storage_service_shared_examples.rb | 11 +- ...t_update_repository_storage_worker_spec.rb | 29 +---- 29 files changed, 236 insertions(+), 109 deletions(-) create mode 100644 changelogs/unreleased/22743-deploy-token-write-registry.yml create mode 100644 db/migrate/20200406192059_add_write_registry_to_deploy_tokens.rb diff --git a/app/controllers/groups/settings/ci_cd_controller.rb b/app/controllers/groups/settings/ci_cd_controller.rb index 989013df8d4..6b842fc9fe1 100644 --- a/app/controllers/groups/settings/ci_cd_controller.rb +++ b/app/controllers/groups/settings/ci_cd_controller.rb @@ -114,7 +114,7 @@ module Groups end def deploy_token_params - params.require(:deploy_token).permit(:name, :expires_at, :read_repository, :read_registry, :username) + params.require(:deploy_token).permit(:name, :expires_at, :read_repository, :read_registry, :write_registry, :username) end end end diff --git a/app/controllers/projects/settings/ci_cd_controller.rb b/app/controllers/projects/settings/ci_cd_controller.rb index 5feb3e019c2..a0f98d8f1d2 100644 --- a/app/controllers/projects/settings/ci_cd_controller.rb +++ b/app/controllers/projects/settings/ci_cd_controller.rb @@ -93,7 +93,7 @@ module Projects end def deploy_token_params - params.require(:deploy_token).permit(:name, :expires_at, :read_repository, :read_registry, :username) + params.require(:deploy_token).permit(:name, :expires_at, :read_repository, :read_registry, :write_registry, :username) end def run_autodevops_pipeline(service) diff --git a/app/models/deploy_token.rb b/app/models/deploy_token.rb index a9844f627b7..69245710f01 100644 --- a/app/models/deploy_token.rb +++ b/app/models/deploy_token.rb @@ -7,7 +7,7 @@ class DeployToken < ApplicationRecord include Gitlab::Utils::StrongMemoize add_authentication_token_field :token, encrypted: :optional - AVAILABLE_SCOPES = %i(read_repository read_registry).freeze + AVAILABLE_SCOPES = %i(read_repository read_registry write_registry).freeze GITLAB_DEPLOY_TOKEN_NAME = 'gitlab-deploy-token' default_value_for(:expires_at) { Forever.date } @@ -105,7 +105,7 @@ class DeployToken < ApplicationRecord end def ensure_at_least_one_scope - errors.add(:base, _("Scopes can't be blank")) unless read_repository || read_registry + errors.add(:base, _("Scopes can't be blank")) unless read_repository || read_registry || write_registry end def default_username diff --git a/app/services/auth/container_registry_authentication_service.rb b/app/services/auth/container_registry_authentication_service.rb index 629c1cbdc5c..4a699fe3213 100644 --- a/app/services/auth/container_registry_authentication_service.rb +++ b/app/services/auth/container_registry_authentication_service.rb @@ -135,7 +135,7 @@ module Auth when 'pull' build_can_pull?(requested_project) || user_can_pull?(requested_project) || deploy_token_can_pull?(requested_project) when 'push' - build_can_push?(requested_project) || user_can_push?(requested_project) + build_can_push?(requested_project) || user_can_push?(requested_project) || deploy_token_can_push?(requested_project) when 'delete' build_can_delete?(requested_project) || user_can_admin?(requested_project) when '*' @@ -185,6 +185,13 @@ module Auth current_user.read_registry? end + def deploy_token_can_push?(requested_project) + has_authentication_ability?(:create_container_image) && + current_user.is_a?(DeployToken) && + current_user.has_access_to?(requested_project) && + current_user.write_registry? + end + ## # We still support legacy pipeline triggers which do not have associated # actor. New permissions model and new triggers are always associated with diff --git a/app/services/projects/update_repository_storage_service.rb b/app/services/projects/update_repository_storage_service.rb index 0602089a3ab..2e5de9411d1 100644 --- a/app/services/projects/update_repository_storage_service.rb +++ b/app/services/projects/update_repository_storage_service.rb @@ -5,12 +5,15 @@ module Projects include Gitlab::ShellAdapter Error = Class.new(StandardError) + SameFilesystemError = Class.new(Error) def initialize(project) @project = project end def execute(new_repository_storage_key) + raise SameFilesystemError if same_filesystem?(project.repository.storage, new_repository_storage_key) + mirror_repositories(new_repository_storage_key) mark_old_paths_for_archive @@ -33,6 +36,10 @@ module Projects private + def same_filesystem?(old_storage, new_storage) + Gitlab::GitalyClient.filesystem_id(old_storage) == Gitlab::GitalyClient.filesystem_id(new_storage) + end + def mirror_repositories(new_repository_storage_key) mirror_repository(new_repository_storage_key) diff --git a/app/views/projects/settings/ci_cd/show.html.haml b/app/views/projects/settings/ci_cd/show.html.haml index ab2f64cdc21..c0f60b5f3b1 100644 --- a/app/views/projects/settings/ci_cd/show.html.haml +++ b/app/views/projects/settings/ci_cd/show.html.haml @@ -4,7 +4,7 @@ - expanded = expanded_by_default? - general_expanded = @project.errors.empty? ? expanded : true -- deploy_token_description = s_('DeployTokens|Deploy tokens allow read-only access to your repository and registry images.') +- deploy_token_description = s_('DeployTokens|Deploy tokens allow access to your repository and registry images.') %section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded) } .settings-header diff --git a/app/views/shared/deploy_tokens/_form.html.haml b/app/views/shared/deploy_tokens/_form.html.haml index c4e82d8e157..5751ed9cb7a 100644 --- a/app/views/shared/deploy_tokens/_form.html.haml +++ b/app/views/shared/deploy_tokens/_form.html.haml @@ -30,5 +30,10 @@ = label_tag ("deploy_token_read_registry"), 'read_registry', class: 'label-bold form-check-label' .text-secondary= s_('DeployTokens|Allows read-only access to the registry images') + %fieldset.form-group.form-check + = f.check_box :write_registry, class: 'form-check-input' + = label_tag ("deploy_token_write_registry"), 'write_registry', class: 'label-bold form-check-label' + .text-secondary= s_('DeployTokens|Allows write access to the registry images') + .prepend-top-default = f.submit s_('DeployTokens|Create deploy token'), class: 'btn btn-success qa-create-deploy-token' diff --git a/app/workers/project_update_repository_storage_worker.rb b/app/workers/project_update_repository_storage_worker.rb index bb40107494b..ecee33e6421 100644 --- a/app/workers/project_update_repository_storage_worker.rb +++ b/app/workers/project_update_repository_storage_worker.rb @@ -3,21 +3,11 @@ class ProjectUpdateRepositoryStorageWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker - SameFilesystemError = Class.new(StandardError) - feature_category :gitaly def perform(project_id, new_repository_storage_key) project = Project.find(project_id) - raise SameFilesystemError if same_filesystem?(project.repository.storage, new_repository_storage_key) - ::Projects::UpdateRepositoryStorageService.new(project).execute(new_repository_storage_key) end - - private - - def same_filesystem?(old_storage, new_storage) - Gitlab::GitalyClient.filesystem_id(old_storage) == Gitlab::GitalyClient.filesystem_id(new_storage) - end end diff --git a/changelogs/unreleased/22743-deploy-token-write-registry.yml b/changelogs/unreleased/22743-deploy-token-write-registry.yml new file mode 100644 index 00000000000..842ef95446d --- /dev/null +++ b/changelogs/unreleased/22743-deploy-token-write-registry.yml @@ -0,0 +1,5 @@ +--- +title: Add write_registry scope to deploy tokens for container registry push access +merge_request: 28958 +author: +type: added diff --git a/db/migrate/20200406192059_add_write_registry_to_deploy_tokens.rb b/db/migrate/20200406192059_add_write_registry_to_deploy_tokens.rb new file mode 100644 index 00000000000..22fdb030edc --- /dev/null +++ b/db/migrate/20200406192059_add_write_registry_to_deploy_tokens.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class AddWriteRegistryToDeployTokens < ActiveRecord::Migration[6.0] + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + disable_ddl_transaction! + + def up + add_column_with_default(:deploy_tokens, :write_registry, :boolean, default: false, allow_null: false) + end + + def down + remove_column(:deploy_tokens, :write_registry) + end +end diff --git a/db/structure.sql b/db/structure.sql index 90585a157cf..622234396a2 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -1997,7 +1997,8 @@ CREATE TABLE public.deploy_tokens ( token character varying, username character varying, token_encrypted character varying(255), - deploy_token_type smallint DEFAULT 2 NOT NULL + deploy_token_type smallint DEFAULT 2 NOT NULL, + write_registry boolean DEFAULT false NOT NULL ); CREATE SEQUENCE public.deploy_tokens_id_seq @@ -13087,6 +13088,7 @@ COPY "schema_migrations" (version) FROM STDIN; 20200403185127 20200403185422 20200406135648 +20200406192059 20200407094005 20200407094923 20200408110856 diff --git a/doc/administration/availability/index.md b/doc/administration/availability/index.md index 90113985ad5..a0d4ea7919f 100644 --- a/doc/administration/availability/index.md +++ b/doc/administration/availability/index.md @@ -26,6 +26,14 @@ watch [this 1 hour Q&A](https://www.youtube.com/watch?v=uCU8jdYzpac) with [John Northrup](https://gitlab.com/northrup), and live questions coming in from some of our customers. +GitLab offers a number of options to manage availability and resiliency. Below are the options to consider with trade-offs. + +| Event | GitLab Feature | Recovery Point Objective (RPO) | Recovery Time Objective (RTO) | Cost | +| ----- | -------------- | --- | --- | ---- | +| Availability Zone failure | "GitLab HA" | No loss | No loss | 2x Git storage, multiple nodes balanced across AZ's | +| Region failure | "GitLab Disaster Recovery" | 5-10 minutes | 30 minutes | 2x primary cost | +| All failures | Backup/Restore | Last backup | Hours to Days | Cost of storing the backups | + ## High availability ### Omnibus installation with automatic database failover diff --git a/doc/api/deploy_tokens.md b/doc/api/deploy_tokens.md index 4663159f1eb..461957847df 100644 --- a/doc/api/deploy_tokens.md +++ b/doc/api/deploy_tokens.md @@ -92,7 +92,7 @@ POST /projects/:id/deploy_tokens | `name` | string | yes | New deploy token's name | | `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. | | `username` | string | no | Username for deploy token. Default is `gitlab+deploy-token-{n}` | -| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository` or `read_registry`. | +| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, or `write_registry`. | ```shell curl --request POST --header "PRIVATE-TOKEN: " --header "Content-Type: application/json" --data '{"name": "My deploy token", "expires_at": "2021-01-01", "username": "custom-user", "scopes": ["read_repository"]}' "https://gitlab.example.com/api/v4/projects/5/deploy_tokens/" @@ -193,7 +193,7 @@ POST /groups/:id/deploy_tokens | `name` | string | yes | New deploy token's name | | `expires_at` | datetime | no | Expiration date for the deploy token. Does not expire if no value is provided. | | `username` | string | no | Username for deploy token. Default is `gitlab+deploy-token-{n}` | -| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository` or `read_registry`. | +| `scopes` | array of strings | yes | Indicates the deploy token scopes. Must be at least one of `read_repository`, `read_registry`, or `write_registry`. | Example request: diff --git a/doc/subscriptions/index.md b/doc/subscriptions/index.md index e2868d648de..f3488b45bbb 100644 --- a/doc/subscriptions/index.md +++ b/doc/subscriptions/index.md @@ -75,6 +75,10 @@ count as active users in the subscription period in which they were originally a - Members with Guest permissions on an Ultimate subscription. - GitLab-created service accounts: `Ghost User` and `Support Bot`. +##### User Statistics + +A breakdown of the users within your instance including active, billable and blocked can be found by navigating to **Admin Area > Overview > Dashboard** and selecting `Users Statistics` button within the `Users` widget.. + NOTE: **Note:** If you have LDAP integration enabled, anyone in the configured domain can sign up for a GitLab account. This can result in an unexpected bill at time of renewal. Consider [disabling new signups](../user/admin_area/settings/sign_up_restrictions.md) and managing new users manually instead. diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md index c65d6adcff6..57d2a383768 100644 --- a/doc/user/application_security/dast/index.md +++ b/doc/user/application_security/dast/index.md @@ -463,10 +463,41 @@ The DAST job does not require the project's repository to be present when runnin ## Running DAST in an offline environment -DAST can be executed on an offline GitLab Ultimate installation by using the following process: +For self-managed GitLab instances in an environment with limited, restricted, or intermittent access +to external resources through the internet, some adjustments are required for the DAST job to +successfully run. For more information, see [Offline environments](../offline_deployments/index.md). + +### Requirements for offline DAST support + +To use DAST in an offline environment, you need: + +- GitLab Runner with the [`docker` or `kubernetes` executor](#requirements). +- Docker Container Registry with a locally available copy of the DAST [container image](https://gitlab.com/gitlab-org/security-products/dast), found in the [DAST container registry](https://gitlab.com/gitlab-org/security-products/dast/container_registry). + +NOTE: **Note:** +GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy), +meaning the runner may try to pull remote images even if a local copy is available. Set GitLab +Runner's [`pull_policy` to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy) +in an offline environment if you prefer using only locally available Docker images. + +### Make GitLab DAST analyzer images available inside your Docker registry + +For DAST, import the following default DAST analyzer image from `registry.gitlab.com` to your local "offline" +registry: + +- `registry.gitlab.com/gitlab-org/security-products/dast:latest` + +The process for importing Docker images into a local offline Docker registry depends on +**your network security policy**. Please consult your IT staff to find an accepted and approved +process by which external resources can be imported or temporarily accessed. Note that these scanners are [updated periodically](../index.md#maintenance-and-update-of-the-vulnerabilities-database) +with new definitions, so consider if you are able to make periodic updates yourself. + +For details on saving and transporting Docker images as a file, see Docker's documentation on +[`docker save`](https://docs.docker.com/engine/reference/commandline/save/), [`docker load`](https://docs.docker.com/engine/reference/commandline/load/), +[`docker export`](https://docs.docker.com/engine/reference/commandline/export/), and [`docker import`](https://docs.docker.com/engine/reference/commandline/import/). + +### Set DAST CI job variables to use local DAST analyzers -1. Host the DAST image `registry.gitlab.com/gitlab-org/security-products/dast:latest` in your local - Docker container registry. 1. Add the following configuration to your `.gitlab-ci.yml` file. You must replace `image` to refer to the DAST Docker image hosted on your local Docker container registry: diff --git a/doc/user/project/deploy_tokens/img/deploy_tokens.png b/doc/user/project/deploy_tokens/img/deploy_tokens.png index 493de8e0fce9b10dc03abee64eb913c8c97ca746..afe1dfb922f6fae60822e3f1f459aa6100097bec 100644 GIT binary patch literal 177352 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 z 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 z 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 diff --git a/doc/user/project/deploy_tokens/index.md b/doc/user/project/deploy_tokens/index.md index 0bd511cf837..ebb12a6ed5d 100644 --- a/doc/user/project/deploy_tokens/index.md +++ b/doc/user/project/deploy_tokens/index.md @@ -2,8 +2,9 @@ > - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/17894) in GitLab 10.7. > - [Moved](https://gitlab.com/gitlab-org/gitlab/issues/199370) from **Settings > Repository** in GitLab 12.9. +> - [Added `write_registry` scope](https://gitlab.com/gitlab-org/gitlab/-/issues/22743) in GitLab 12.10. -Deploy tokens allow you to download (`git clone`) or read the container registry images of a project without having a user and a password. +Deploy tokens allow you to download (`git clone`) or push and pull the container registry images of a project without having a user and a password. Deploy tokens can be managed by [maintainers only](../../permissions.md). @@ -44,6 +45,7 @@ the following table. | ----- | ----------- | | `read_repository` | Allows read-access to the repository through `git clone` | | `read_registry` | Allows read-access to [container registry](../../packages/container_registry/index.md) images if a project is private and authorization is required. | +| `write_registry` | Allows write-access (push) to [container registry](../../packages/container_registry/index.md). | ## Deploy token custom username @@ -83,6 +85,21 @@ docker login -u -p registry.example.com Just replace `` and `` with the proper values. Then you can simply pull images from your Container Registry. +### Push Container Registry images + +To push the container registry images, you'll need to: + +1. Create a Deploy Token with `write_registry` as a scope. +1. Take note of your `username` and `token`. +1. Log in to GitLab’s Container Registry using the deploy token: + + ```shell + docker login -u -p registry.example.com + ``` + +Just replace `` and `` with the proper values. Then you can simply +push images to your Container Registry. + ### Group Deploy Token > [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/21765) in GitLab 12.9. @@ -107,7 +124,7 @@ There's a special case when it comes to Deploy Tokens. If a user creates one named `gitlab-deploy-token`, the username and token of the Deploy Token will be automatically exposed to the CI/CD jobs as environment variables: `CI_DEPLOY_USER` and `CI_DEPLOY_PASSWORD`, respectively. With the GitLab Deploy Token, the -`read_registry` scope is implied. +`read_registry` and `write_registry` scopes are implied. After you create the token, you can login to the Container Registry using those variables: diff --git a/lib/api/deploy_tokens.rb b/lib/api/deploy_tokens.rb index d36b75f5bfd..5de36c14d7b 100644 --- a/lib/api/deploy_tokens.rb +++ b/lib/api/deploy_tokens.rb @@ -10,6 +10,7 @@ module API result_hash = {} result_hash[:read_registry] = scopes.include?('read_registry') + result_hash[:write_registry] = scopes.include?('write_registry') result_hash[:read_repository] = scopes.include?('read_repository') result_hash end @@ -54,7 +55,7 @@ module API params do requires :name, type: String, desc: "New deploy token's name" requires :scopes, type: Array[String], values: ::DeployToken::AVAILABLE_SCOPES.map(&:to_s), - desc: 'Indicates the deploy token scopes. Must be at least one of "read_repository" or "read_registry".' + desc: 'Indicates the deploy token scopes. Must be at least one of "read_repository", "read_registry", or "write_registry".' optional :expires_at, type: DateTime, desc: 'Expiration date for the deploy token. Does not expire if no value is provided.' optional :username, type: String, desc: 'Username for deploy token. Default is `gitlab+deploy-token-{n}`' end @@ -117,7 +118,7 @@ module API params do requires :name, type: String, desc: 'The name of the deploy token' requires :scopes, type: Array[String], values: ::DeployToken::AVAILABLE_SCOPES.map(&:to_s), - desc: 'Indicates the deploy token scopes. Must be at least one of "read_repository" or "read_registry".' + desc: 'Indicates the deploy token scopes. Must be at least one of "read_repository", "read_registry", or "write_registry".' optional :expires_at, type: DateTime, desc: 'Expiration date for the deploy token. Does not expire if no value is provided.' optional :username, type: String, desc: 'Username for deploy token. Default is `gitlab+deploy-token-{n}`' end diff --git a/lib/gitlab/auth.rb b/lib/gitlab/auth.rb index c489c835d9d..8e14d21f591 100644 --- a/lib/gitlab/auth.rb +++ b/lib/gitlab/auth.rb @@ -12,7 +12,7 @@ module Gitlab REPOSITORY_SCOPES = [:read_repository, :write_repository].freeze # Scopes used for GitLab Docker Registry access - REGISTRY_SCOPES = [:read_registry].freeze + REGISTRY_SCOPES = [:read_registry, :write_registry].freeze # Scopes used for GitLab as admin ADMIN_SCOPES = [:sudo].freeze @@ -200,6 +200,7 @@ module Gitlab api: full_authentication_abilities, read_api: read_only_authentication_abilities, read_registry: [:read_container_image], + write_registry: [:create_container_image], read_repository: [:download_code], write_repository: [:download_code, :push_code] } diff --git a/locale/gitlab.pot b/locale/gitlab.pot index fb2f7c60ae2..14fc1487b5e 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -6835,6 +6835,9 @@ msgstr "" msgid "DeployTokens|Allows read-only access to the repository" msgstr "" +msgid "DeployTokens|Allows write access to the registry images" +msgstr "" + msgid "DeployTokens|Copy deploy token" msgstr "" @@ -6853,7 +6856,7 @@ msgstr "" msgid "DeployTokens|Deploy Tokens" msgstr "" -msgid "DeployTokens|Deploy tokens allow read-only access to your repository and registry images." +msgid "DeployTokens|Deploy tokens allow access to your repository and registry images." msgstr "" msgid "DeployTokens|Expires" diff --git a/spec/factories/deploy_tokens.rb b/spec/factories/deploy_tokens.rb index e86d4ab8812..657915f9976 100644 --- a/spec/factories/deploy_tokens.rb +++ b/spec/factories/deploy_tokens.rb @@ -7,6 +7,7 @@ FactoryBot.define do sequence(:name) { |n| "PDT #{n}" } read_repository { true } read_registry { true } + write_registry { false } revoked { false } expires_at { 5.days.from_now } deploy_token_type { DeployToken.deploy_token_types[:project_type] } diff --git a/spec/lib/gitlab/auth_spec.rb b/spec/lib/gitlab/auth_spec.rb index ce60a19a7b3..a0a8767637e 100644 --- a/spec/lib/gitlab/auth_spec.rb +++ b/spec/lib/gitlab/auth_spec.rb @@ -30,7 +30,7 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do it 'optional_scopes contains all non-default scopes' do stub_container_registry_config(enabled: true) - expect(subject.optional_scopes).to eq %i[read_user read_api read_repository write_repository read_registry sudo openid profile email] + expect(subject.optional_scopes).to eq %i[read_user read_api read_repository write_repository read_registry write_registry sudo openid profile email] end end @@ -38,21 +38,21 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do it 'contains all non-default scopes' do stub_container_registry_config(enabled: true) - expect(subject.all_available_scopes).to eq %i[api read_user read_api read_repository write_repository read_registry sudo] + expect(subject.all_available_scopes).to eq %i[api read_user read_api read_repository write_repository read_registry write_registry sudo] end it 'contains for non-admin user all non-default scopes without ADMIN access' do stub_container_registry_config(enabled: true) user = create(:user, admin: false) - expect(subject.available_scopes_for(user)).to eq %i[api read_user read_api read_repository write_repository read_registry] + expect(subject.available_scopes_for(user)).to eq %i[api read_user read_api read_repository write_repository read_registry write_registry] end it 'contains for admin user all non-default scopes with ADMIN access' do stub_container_registry_config(enabled: true) user = create(:user, admin: true) - expect(subject.available_scopes_for(user)).to eq %i[api read_user read_api read_repository write_repository read_registry sudo] + expect(subject.available_scopes_for(user)).to eq %i[api read_user read_api read_repository write_repository read_registry write_registry sudo] end context 'registry_scopes' do @@ -72,7 +72,7 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do end it 'contains all registry related scopes' do - expect(subject.registry_scopes).to eq %i[read_registry] + expect(subject.registry_scopes).to eq %i[read_registry write_registry] end end end @@ -401,6 +401,49 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do context 'while using deploy tokens' do let(:auth_failure) { Gitlab::Auth::Result.new(nil, nil) } + shared_examples 'registry token scope' do + it 'fails when login is not valid' do + expect(gl_auth.find_for_git_client('random_login', deploy_token.token, project: project, ip: 'ip')) + .to eq(auth_failure) + end + + it 'fails when token is not valid' do + expect(gl_auth.find_for_git_client(login, '123123', project: project, ip: 'ip')) + .to eq(auth_failure) + end + + it 'fails if token is nil' do + expect(gl_auth.find_for_git_client(login, nil, project: nil, ip: 'ip')) + .to eq(auth_failure) + end + + it 'fails if token is not related to project' do + expect(gl_auth.find_for_git_client(login, 'abcdef', project: nil, ip: 'ip')) + .to eq(auth_failure) + end + + it 'fails if token has been revoked' do + deploy_token.revoke! + + expect(deploy_token.revoked?).to be_truthy + expect(gl_auth.find_for_git_client('deploy-token', deploy_token.token, project: nil, ip: 'ip')) + .to eq(auth_failure) + end + end + + shared_examples 'deploy token with disabled registry' do + context 'when registry disabled' do + before do + stub_container_registry_config(enabled: false) + end + + it 'fails when login and token are valid' do + expect(gl_auth.find_for_git_client(login, deploy_token.token, project: nil, ip: 'ip')) + .to eq(auth_failure) + end + end + end + context 'when deploy token and user have the same username' do let(:username) { 'normal_user' } let(:user) { create(:user, username: username, password: 'my-secret') } @@ -425,34 +468,33 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do context 'and belong to the same project' do let!(:read_registry) { create(:deploy_token, username: 'deployer', read_repository: false, projects: [project]) } let!(:read_repository) { create(:deploy_token, username: read_registry.username, read_registry: false, projects: [project]) } + let(:auth_success) { Gitlab::Auth::Result.new(read_repository, project, :deploy_token, [:download_code]) } it 'succeeds for the right token' do - auth_success = Gitlab::Auth::Result.new(read_repository, project, :deploy_token, [:download_code]) - expect(gl_auth.find_for_git_client('deployer', read_repository.token, project: project, ip: 'ip')) .to eq(auth_success) end it 'fails for the wrong token' do expect(gl_auth.find_for_git_client('deployer', read_registry.token, project: project, ip: 'ip')) - .to eq(auth_failure) + .not_to eq(auth_success) end end context 'and belong to different projects' do + let_it_be(:other_project) { create(:project) } let!(:read_registry) { create(:deploy_token, username: 'deployer', read_repository: false, projects: [project]) } - let!(:read_repository) { create(:deploy_token, username: read_registry.username, read_registry: false, projects: [project]) } + let!(:read_repository) { create(:deploy_token, username: read_registry.username, read_registry: false, projects: [other_project]) } + let(:auth_success) { Gitlab::Auth::Result.new(read_repository, other_project, :deploy_token, [:download_code]) } it 'succeeds for the right token' do - auth_success = Gitlab::Auth::Result.new(read_repository, project, :deploy_token, [:download_code]) - - expect(gl_auth.find_for_git_client('deployer', read_repository.token, project: project, ip: 'ip')) + expect(gl_auth.find_for_git_client('deployer', read_repository.token, project: other_project, ip: 'ip')) .to eq(auth_success) end it 'fails for the wrong token' do - expect(gl_auth.find_for_git_client('deployer', read_registry.token, project: project, ip: 'ip')) - .to eq(auth_failure) + expect(gl_auth.find_for_git_client('deployer', read_registry.token, project: other_project, ip: 'ip')) + .not_to eq(auth_success) end end end @@ -542,45 +584,32 @@ describe Gitlab::Auth, :use_clean_rails_memory_store_caching do .to eq(auth_success) end - it 'fails when login is not valid' do - expect(gl_auth.find_for_git_client('random_login', deploy_token.token, project: project, ip: 'ip')) - .to eq(auth_failure) - end + it_behaves_like 'registry token scope' + end - it 'fails when token is not valid' do - expect(gl_auth.find_for_git_client(login, '123123', project: project, ip: 'ip')) - .to eq(auth_failure) - end + it_behaves_like 'deploy token with disabled registry' + end - it 'fails if token is nil' do - expect(gl_auth.find_for_git_client(login, nil, project: nil, ip: 'ip')) - .to eq(auth_failure) - end + context 'when the deploy token has write_registry as a scope' do + let_it_be(:deploy_token) { create(:deploy_token, write_registry: true, read_repository: false, read_registry: false, projects: [project]) } + let_it_be(:login) { deploy_token.username } - it 'fails if token is not related to project' do - expect(gl_auth.find_for_git_client(login, 'abcdef', project: nil, ip: 'ip')) - .to eq(auth_failure) + context 'when registry enabled' do + before do + stub_container_registry_config(enabled: true) end - it 'fails if token has been revoked' do - deploy_token.revoke! - - expect(deploy_token.revoked?).to be_truthy - expect(gl_auth.find_for_git_client('deploy-token', deploy_token.token, project: nil, ip: 'ip')) - .to eq(auth_failure) - end - end + it 'succeeds when login and a project token are valid' do + auth_success = Gitlab::Auth::Result.new(deploy_token, project, :deploy_token, [:create_container_image]) - context 'when registry disabled' do - before do - stub_container_registry_config(enabled: false) + expect(gl_auth.find_for_git_client(login, deploy_token.token, project: project, ip: 'ip')) + .to eq(auth_success) end - it 'fails when login and token are valid' do - expect(gl_auth.find_for_git_client(login, deploy_token.token, project: nil, ip: 'ip')) - .to eq(auth_failure) - end + it_behaves_like 'registry token scope' end + + it_behaves_like 'deploy token with disabled registry' end end end diff --git a/spec/models/deploy_token_spec.rb b/spec/models/deploy_token_spec.rb index 568699cf3f6..a2d4c046d46 100644 --- a/spec/models/deploy_token_spec.rb +++ b/spec/models/deploy_token_spec.rb @@ -62,7 +62,7 @@ describe DeployToken do context 'with no scopes' do it 'is invalid' do - deploy_token = build(:deploy_token, read_repository: false, read_registry: false) + deploy_token = build(:deploy_token, read_repository: false, read_registry: false, write_registry: false) expect(deploy_token).not_to be_valid expect(deploy_token.errors[:base].first).to eq("Scopes can't be blank") @@ -79,7 +79,7 @@ describe DeployToken do context 'with only one scope' do it 'returns scopes assigned to DeployToken' do - deploy_token = create(:deploy_token, read_registry: false) + deploy_token = create(:deploy_token, read_registry: false, write_registry: false) expect(deploy_token.scopes).to eq([:read_repository]) end end diff --git a/spec/services/auth/container_registry_authentication_service_spec.rb b/spec/services/auth/container_registry_authentication_service_spec.rb index 84f4a7a4e7a..8273269c2fb 100644 --- a/spec/services/auth/container_registry_authentication_service_spec.rb +++ b/spec/services/auth/container_registry_authentication_service_spec.rb @@ -766,8 +766,8 @@ describe Auth::ContainerRegistryAuthenticationService do { scopes: ["repository:#{project.full_path}:pull"] } end - context 'when deploy token has read_registry as a scope' do - let(:current_user) { create(:deploy_token, projects: [project]) } + context 'when deploy token has read and write registry as scopes' do + let(:current_user) { create(:deploy_token, write_registry: true, projects: [project]) } shared_examples 'able to login' do context 'registry provides read_container_image authentication_abilities' do @@ -790,7 +790,7 @@ describe Auth::ContainerRegistryAuthenticationService do { scopes: ["repository:#{project.full_path}:push"] } end - it_behaves_like 'an inaccessible' + it_behaves_like 'a pushable' end it_behaves_like 'able to login' @@ -808,7 +808,7 @@ describe Auth::ContainerRegistryAuthenticationService do { scopes: ["repository:#{project.full_path}:push"] } end - it_behaves_like 'an inaccessible' + it_behaves_like 'a pushable' end it_behaves_like 'able to login' @@ -826,7 +826,7 @@ describe Auth::ContainerRegistryAuthenticationService do { scopes: ["repository:#{project.full_path}:push"] } end - it_behaves_like 'an inaccessible' + it_behaves_like 'a pushable' end it_behaves_like 'able to login' diff --git a/spec/services/projects/fork_service_spec.rb b/spec/services/projects/fork_service_spec.rb index 443e3dfddf1..c8354f6ba4e 100644 --- a/spec/services/projects/fork_service_spec.rb +++ b/spec/services/projects/fork_service_spec.rb @@ -311,6 +311,8 @@ describe Projects::ForkService do fork_before_move = fork_project(project) # Stub everything required to move a project to a Gitaly shard that does not exist + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) stub_storage_settings('test_second_storage' => { 'path' => TestEnv::SECOND_STORAGE_PATH }) allow_any_instance_of(Gitlab::Git::Repository).to receive(:create_repository) .and_return(true) diff --git a/spec/services/projects/update_repository_storage_service_spec.rb b/spec/services/projects/update_repository_storage_service_spec.rb index 23ce6f9165d..05555fa76f7 100644 --- a/spec/services/projects/update_repository_storage_service_spec.rb +++ b/spec/services/projects/update_repository_storage_service_spec.rb @@ -20,6 +20,8 @@ describe Projects::UpdateRepositoryStorageService do let(:project_repository_double) { double(:repository) } before do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) allow(Gitlab::Git::Repository).to receive(:new).and_call_original allow(Gitlab::Git::Repository).to receive(:new) .with('test_second_storage', project.repository.raw.relative_path, project.repository.gl_repository, project.repository.full_path) @@ -49,17 +51,20 @@ describe Projects::UpdateRepositoryStorageService do end end - context 'when the project is already on the target storage' do + context 'when the filesystems are the same' do it 'bails out and does nothing' do result = subject.execute(project.repository_storage) expect(result[:status]).to eq(:error) - expect(result[:message]).to match(/repository and source have the same storage/) + expect(result[:message]).to match(/SameFilesystemError/) end end context 'when the move fails' do it 'unmarks the repository as read-only without updating the repository storage' do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) + expect(project_repository_double).to receive(:create_repository) .and_return(true) expect(project_repository_double).to receive(:replicate) @@ -77,6 +82,9 @@ describe Projects::UpdateRepositoryStorageService do context 'when the checksum does not match' do it 'unmarks the repository as read-only without updating the repository storage' do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) + expect(project_repository_double).to receive(:create_repository) .and_return(true) expect(project_repository_double).to receive(:replicate) @@ -97,6 +105,9 @@ describe Projects::UpdateRepositoryStorageService do let!(:pool) { create(:pool_repository, :ready, source_project: project) } it 'leaves the pool' do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) + expect(project_repository_double).to receive(:create_repository) .and_return(true) expect(project_repository_double).to receive(:replicate) diff --git a/spec/support/services/deploy_token_shared_examples.rb b/spec/support/services/deploy_token_shared_examples.rb index 9d681970739..adc5ea0fcdc 100644 --- a/spec/support/services/deploy_token_shared_examples.rb +++ b/spec/support/services/deploy_token_shared_examples.rb @@ -46,7 +46,7 @@ RSpec.shared_examples 'a deploy token creation service' do end context 'when the deploy token is invalid' do - let(:deploy_token_params) { attributes_for(:deploy_token, read_repository: false, read_registry: false) } + let(:deploy_token_params) { attributes_for(:deploy_token, read_repository: false, read_registry: false, write_registry: false) } it 'does not create a new DeployToken' do expect { subject }.not_to change { DeployToken.count } diff --git a/spec/support/shared_examples/services/projects/update_repository_storage_service_shared_examples.rb b/spec/support/shared_examples/services/projects/update_repository_storage_service_shared_examples.rb index b22379b8b68..d6166ac8188 100644 --- a/spec/support/shared_examples/services/projects/update_repository_storage_service_shared_examples.rb +++ b/spec/support/shared_examples/services/projects/update_repository_storage_service_shared_examples.rb @@ -22,6 +22,9 @@ RSpec.shared_examples 'moves repository to another storage' do |repository_type| context 'when the move succeeds', :clean_gitlab_redis_shared_state do before do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) + allow(project_repository_double).to receive(:create_repository) .and_return(true) allow(project_repository_double).to receive(:replicate) @@ -83,17 +86,19 @@ RSpec.shared_examples 'moves repository to another storage' do |repository_type| end end - context 'when the project is already on the target storage' do + context 'when the filesystems are the same' do it 'bails out and does nothing' do result = subject.execute(project.repository_storage) expect(result[:status]).to eq(:error) - expect(result[:message]).to match(/repository and source have the same storage/) + expect(result[:message]).to match(/SameFilesystemError/) end end context "when the move of the #{repository_type} repository fails" do it 'unmarks the repository as read-only without updating the repository storage' do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) allow(project_repository_double).to receive(:create_repository) .and_return(true) allow(project_repository_double).to receive(:replicate) @@ -119,6 +124,8 @@ RSpec.shared_examples 'moves repository to another storage' do |repository_type| context "when the checksum of the #{repository_type} repository does not match" do it 'unmarks the repository as read-only without updating the repository storage' do + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original + allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('test_second_storage').and_return(SecureRandom.uuid) allow(project_repository_double).to receive(:create_repository) .and_return(true) allow(project_repository_double).to receive(:replicate) diff --git a/spec/workers/project_update_repository_storage_worker_spec.rb b/spec/workers/project_update_repository_storage_worker_spec.rb index ed99b8135c2..57a4c2128b3 100644 --- a/spec/workers/project_update_repository_storage_worker_spec.rb +++ b/spec/workers/project_update_repository_storage_worker_spec.rb @@ -9,33 +9,12 @@ describe ProjectUpdateRepositoryStorageWorker do subject { described_class.new } describe "#perform" do - context 'when source and target repositories are on different filesystems' do - before do - allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('default').and_call_original - allow(Gitlab::GitalyClient).to receive(:filesystem_id).with('new_storage').and_return(SecureRandom.uuid) + it "calls the update repository storage service" do + expect_next_instance_of(Projects::UpdateRepositoryStorageService) do |instance| + expect(instance).to receive(:execute).with('new_storage') end - it "calls the update repository storage service" do - expect_next_instance_of(Projects::UpdateRepositoryStorageService) do |instance| - expect(instance).to receive(:execute).with('new_storage') - end - - subject.perform(project.id, 'new_storage') - end - end - - context 'when source and target repositories are on the same filesystems' do - let(:filesystem_id) { SecureRandom.uuid } - - before do - allow(Gitlab::GitalyClient).to receive(:filesystem_id).and_return(filesystem_id) - end - - it 'raises an error' do - expect_any_instance_of(::Projects::UpdateRepositoryStorageService).not_to receive(:new) - - expect { subject.perform(project.id, 'new_storage') }.to raise_error(ProjectUpdateRepositoryStorageWorker::SameFilesystemError) - end + subject.perform(project.id, 'new_storage') end end end -- GitLab