Skip to content
Snippets Groups Projects

Modify /jwt/auth endpoint for registry tag protection feature

Merged João Pereira requested to merge registry-jwt-ptags into master
All threads resolved!

What does this MR do and why?

Related to https://gitlab.com/gitlab-org/gitlab/-/issues/499874.

The rational behind the changes in this MR is described in detail here. These changes sit behind a new feature flag (https://gitlab.com/gitlab-org/gitlab/-/issues/505455+).

References

Please include cross links to any resources that are relevant to this MR This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Not applicable as the corresponding frontend changes (https://gitlab.com/gitlab-org/gitlab/-/issues/499871) are not yet implemented.

How to set up and validate locally

We'll assume that you have a gitlab-org/gitlab-test project in your GDK, and a PAT from a user with Owner role with read/write registry permissions. Set the CR_PAT environment variable to the PAT value and CR_USER to the username.

For these tests I'm going to use the jq and jwt CLI tools to facilitate parsing the output of requests. Adjust the curl commands if you don't want to use them (in which case you'll have to manually parse and decode the tokens).

  1. First make a test with the FF disabled (default). To do so we need to obtain a token from the /jwt/auth endpoint:

    curl -s -u "$CR_USER:$CR_PAT" \
        -G \
        --data-urlencode "service=container_registry" \
        --data-urlencode "scope=repository:gitlab-org/gitlab-test:pull,push" \
        http://gdk.test:3000/jwt/auth | jq -r '.token' | jwt decode -j - | jq -r '.payload.access'
    [
      {
        "actions": [
          "pull",
          "push"
        ],
        "meta": {
          "project_id": 2,
          "project_path": "gitlab-org/gitlab-test",
          "root_namespace_id": 24
        },
        "name": "gitlab-org/gitlab-test",
        "type": "repository"
      }
    ]

Note that there is no meta.tag_deny_access_patterns key.

  1. Now let's enable the FF for our project in the Rails console:

    project = Project.find_by_full_path 'gitlab-org/gitlab-test'
    Feature.enable(:container_registry_protected_tags, project)
  2. Repeat the request. You should see exactly the same output as there are no configured rules for this project.

  3. Now let's create some rules:

    project.container_registry_protection_tag_rules.create(tag_name_pattern: 'latest', minimum_access_level_for_push: Gitlab::Access::MAINTAINER, minimum_access_level_for_delete: Gitlab::Access::MAINTAINER)
    project.container_registry_protection_tag_rules.create(tag_name_pattern: 'precious', minimum_access_level_for_push: Gitlab::Access::OWNER, minimum_access_level_for_delete: Gitlab::Access::OWNER)
  4. Repeat the request. You should see:

    [
      {
        "actions": [
          "pull",
          "push"
        ],
        "meta": {
          "project_id": 2,
          "project_path": "gitlab-org/gitlab-test",
          "root_namespace_id": 24,
          "tag_deny_access_patterns": {
            "push": []
          }
        },
        "name": "gitlab-org/gitlab-test",
        "type": "repository"
      }
    ]

Note the meta.tag_deny_access_patterns object is now present, and the empty push array within, even though our user (as an admin) has no tag restrictions.

  1. Now set the CR_USER and CR_PAT variables to a username/PAT of a user with the Developer role in this project.

  2. Repeat the request. You should see:

    [
      {
        "actions": [
          "pull",
          "push"
        ],
        "meta": {
          "project_id": 2,
          "project_path": "gitlab-org/gitlab-test",
          "root_namespace_id": 24,
          "tag_deny_access_patterns": {
            "push": [
              "latest",
              "precious"
            ]
          }
        },
        "name": "gitlab-org/gitlab-test",
        "type": "repository"
      }
    ]
  3. Promote the user to Maintainer in this project, and then repeat the request. We can also test the delete action:

    curl -s -u "$CR_USER:$CR_PAT" \
        -G \
        --data-urlencode "service=container_registry" \
        --data-urlencode "scope=repository:gitlab-org/gitlab-test:pull,push,delete" \
        http://gdk.test:3000/jwt/auth | jq -r '.token' | jwt decode -j - | jq -r '.payload.access'
    [
      {
        "actions": [
          "pull",
          "push",
          "delete"
        ],
        "meta": {
          "project_id": 2,
          "project_path": "gitlab-org/gitlab-test",
          "root_namespace_id": 24,
          "tag_deny_access_patterns": {
            "delete": [
              "precious"
            ],
            "push": [
              "precious"
            ]
          }
        },
        "name": "gitlab-org/gitlab-test",
        "type": "repository"
      }
    ]

Database Review

See !171566 (comment 2245129044).

Edited by João Pereira

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ghost User
  • Ghost User
  • Ghost User
  • João Pereira added 582 commits

    added 582 commits

    Compare with previous version

  • João Pereira added 1990 commits

    added 1990 commits

    Compare with previous version

  • A deleted user added feature flag label

    added feature flag label

  • Ghost User
  • Ghost User
  • João Pereira added 2 commits

    added 2 commits

    Compare with previous version

  • João Pereira added 1 commit

    added 1 commit

    • 84f2c56d - cover edge case of repeated actions

    Compare with previous version

  • João Pereira marked this merge request as ready

    marked this merge request as ready

  • João Pereira changed title from Draft: Modify registry JWT to Modify /jwt/auth endpoint for registry tag protection feature

    changed title from Draft: Modify registry JWT to Modify /jwt/auth endpoint for registry tag protection feature

  • João Pereira marked this merge request as draft

    marked this merge request as draft

  • João Pereira changed the description

    changed the description

  • João Pereira added 1 commit

    added 1 commit

    • 6e03307b - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • João Pereira added 1 commit

    added 1 commit

    • 6be6f881 - return early if no rules exist

    Compare with previous version

  • João Pereira changed the description

    changed the description

  • João Pereira marked this merge request as ready

    marked this merge request as ready

  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • João Pereira changed milestone to %17.7

    changed milestone to %17.7

  • João Pereira resolved all threads

    resolved all threads

  • João Pereira requested review from @adie.po

    requested review from @adie.po

  • João Pereira changed the description

    changed the description

  • Adie (she/her) removed review request for @adie.po

    removed review request for @adie.po

  • João Pereira added 1 commit

    added 1 commit

    • 3b96dc58 - add test case for impossible action

    Compare with previous version

  • Adie (she/her) requested review from @10io

    requested review from @10io

  • Adie (she/her) approved this merge request

    approved this merge request

  • added pipelinetier-2 label and removed pipelinetier-1 label

  • Before you set this MR to auto-merge

    This merge request will progress on pipeline tiers until it reaches the last tier: pipelinetier-3. We will trigger a new pipeline for each transition to a higher tier.

    Before you set this MR to auto-merge, please check the following:

    • You are the last maintainer of this merge request
    • The latest pipeline for this merge request is pipelinetier-3 (You can find which tier it is in the pipeline name)
    • This pipeline is recent enough (created in the last 8 hours)

    If all the criteria above apply, please set auto-merge for this merge request.

    See pipeline tiers and merging a merge request for more details.

  • João Pereira requested review from @ngeorge1

    requested review from @ngeorge1

  • :tools: Generated by gitlab_quality-test_tooling.


    :snail: Slow tests detected in this merge request. These slow tests might be related to this merge request's changes.

    Click to expand
    Job File Name Duration Expected duration
    #8542804907 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.23 s < 50.13 s
    #8542804907 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.18 s < 50.13 s
    #8542804838 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.89 s < 50.13 s
    #8542804838 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 54.64 s < 50.13 s
    #8558658114 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.86 s < 50.13 s
    #8558658114 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.16 s < 50.13 s
    #8558658304 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.51 s < 50.13 s
    #8558658304 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.97 s < 50.13 s
    #8559259539 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.35 s < 50.13 s
    #8559259539 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 51.56 s < 50.13 s
    #8559259389 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 64.11 s < 50.13 s
    #8559259389 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.8 s < 50.13 s
    #8566369526 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.95 s < 50.13 s
    #8566369526 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.26 s < 50.13 s
    #8566369910 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.32 s < 50.13 s
    #8566369910 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.48 s < 50.13 s
    #8566370063 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.33 s < 50.13 s
    #8566370063 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.54 s < 50.13 s
    #8566369727 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 64.15 s < 50.13 s
    #8566369727 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.27 s < 50.13 s
    #8567898511 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.05 s < 50.13 s
    #8567898511 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.46 s < 50.13 s
    #8567898648 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.81 s < 50.13 s
    #8567898648 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.38 s < 50.13 s
    #8567898781 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 64.21 s < 50.13 s
    #8567898781 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.33 s < 50.13 s
    #8567980962 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.99 s < 50.13 s
    #8567980962 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.11 s < 50.13 s
    #8598811134 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.83 s < 50.13 s
    #8598811134 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 51.38 s < 50.13 s
    #8598811217 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.0 s < 50.13 s
    #8598811217 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.8 s < 50.13 s
    #8598810913 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.27 s < 50.13 s
    #8598810913 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.66 s < 50.13 s
    #8598811021 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 62.87 s < 50.13 s
    #8598811021 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.51 s < 50.13 s
    #8610560513 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 61.76 s < 50.13 s
    #8610560513 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.62 s < 50.13 s
    #8610561019 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.06 s < 50.13 s
    #8610561019 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 52.46 s < 50.13 s
    #8610560867 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.44 s < 50.13 s
    #8610560867 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.72 s < 50.13 s
    #8610561194 spec/features/projects/container_registry_spec.rb#L140 Container Registry with metadatabase enabled when there are image repositories image repo details user removes a specific tag from container repository 63.74 s < 50.13 s
    #8610561194 spec/features/projects/container_registry_spec.rb#L155 Container Registry with metadatabase enabled when there are image repositories image repo details pagination navigate to the second page 53.37 s < 50.13 s
  • A deleted user added rspec:slow test detected label
  • E2E Test Result Summary

    allure-report-publisher generated test report!

    e2e-test-on-gdk: :white_check_mark: test report for afe6692a

    expand test summary
    +------------------------------------------------------------------+
    |                          suites summary                          |
    +-------------+--------+--------+---------+-------+-------+--------+
    |             | passed | failed | skipped | flaky | total | result |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Govern      | 160    | 0      | 24      | 0     | 184   | ✅     |
    | Plan        | 164    | 0      | 16      | 0     | 180   | ✅     |
    | Verify      | 96     | 0      | 34      | 0     | 130   | ✅     |
    | Create      | 270    | 0      | 40      | 0     | 310   | ✅     |
    | Manage      | 2      | 0      | 18      | 0     | 20    | ✅     |
    | Fulfillment | 4      | 0      | 14      | 0     | 18    | ✅     |
    | Release     | 10     | 0      | 2       | 0     | 12    | ✅     |
    | Data Stores | 66     | 0      | 20      | 0     | 86    | ✅     |
    | Package     | 50     | 0      | 26      | 0     | 76    | ✅     |
    | Secure      | 8      | 0      | 6       | 0     | 14    | ✅     |
    | Monitor     | 16     | 0      | 24      | 0     | 40    | ✅     |
    | Configure   | 0      | 0      | 6       | 0     | 6     | ➖     |
    | Growth      | 0      | 0      | 4       | 0     | 4     | ➖     |
    | Ai-powered  | 0      | 0      | 4       | 0     | 4     | ➖     |
    | Analytics   | 4      | 0      | 0       | 0     | 4     | ✅     |
    | ModelOps    | 0      | 0      | 2       | 0     | 2     | ➖     |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Total       | 850    | 0      | 240     | 0     | 1090  | ✅     |
    +-------------+--------+--------+---------+-------+-------+--------+

    e2e-test-on-cng: :white_check_mark: test report for afe6692a

    expand test summary
    +------------------------------------------------------------------+
    |                          suites summary                          |
    +-------------+--------+--------+---------+-------+-------+--------+
    |             | passed | failed | skipped | flaky | total | result |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Monitor     | 8      | 0      | 12      | 0     | 20    | ✅     |
    | Secure      | 2      | 0      | 5       | 0     | 7     | ✅     |
    | Analytics   | 2      | 0      | 0       | 1     | 2     | ✅     |
    | Govern      | 84     | 0      | 10      | 1     | 94    | ✅     |
    | Plan        | 86     | 0      | 8       | 0     | 94    | ✅     |
    | Fulfillment | 2      | 0      | 7       | 1     | 9     | ✅     |
    | Create      | 140    | 0      | 19      | 1     | 159   | ✅     |
    | Package     | 24     | 0      | 14      | 0     | 38    | ✅     |
    | Verify      | 49     | 0      | 16      | 0     | 65    | ✅     |
    | Ai-powered  | 0      | 0      | 2       | 0     | 2     | ➖     |
    | Data Stores | 33     | 0      | 10      | 0     | 43    | ✅     |
    | Manage      | 1      | 0      | 9       | 0     | 10    | ✅     |
    | Release     | 5      | 0      | 1       | 0     | 6     | ✅     |
    | Growth      | 0      | 0      | 2       | 0     | 2     | ➖     |
    | ModelOps    | 0      | 0      | 1       | 0     | 1     | ➖     |
    | Configure   | 0      | 0      | 3       | 0     | 3     | ➖     |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Total       | 436    | 0      | 119     | 4     | 555   | ✅     |
    +-------------+--------+--------+---------+-------+-------+--------+
  • Nikhil George removed review request for @ngeorge1

    removed review request for @ngeorge1

  • David Fernandez removed review request for @10io

    removed review request for @10io

  • David Fernandez
  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • A deleted user added databasereview pending label
  • Ghost User
  • Ghost User
  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • João Pereira
  • João Pereira changed the description

    changed the description

  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • A deleted user added database label

    added database label

  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • João Pereira requested review from @10io

    requested review from @10io

  • Database migrations (on the main database)

    Migrations included in this change have been executed on gitlab.com data for testing purposes. For details, please see the migration testing pipeline (limited access).

    Migration Type Total runtime Result DB size change
    20241205143233 - AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel Post deploy 6.8 s :white_check_mark: +8.00 KiB [note]
    Runtime Histogram for all migrations
    Query Runtime Count
    0 seconds - 0.01 seconds 0
    0.01 seconds - 0.1 seconds 0
    0.1 seconds - 1 second 4
    1 second - 5 seconds 0
    5 seconds - 15 seconds 0
    15 seconds - 5 minutes 0
    5 minutes + 0

    Migration: 20241205143233 - AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel

    * Type: Post deploy
    * Duration: 6.8 s
    * Database size change: +8.00 KiB [note]
    Calls Total Time Max Time Mean Time Rows Query
    1 4.7 ms 4.7 ms 4.7 ms 0
    CREATE INDEX CONCURRENTLY "idx_container_registry_protection_tag_rules_on_min_access_level" ON "container_registry_protection_tag_rules" ("project_id", "minimum_access_level_for_push", "minimum_access_level_for_delete")
    1 0.6 ms 0.6 ms 0.6 ms 1
    SELECT "feature_gates"."key", "feature_gates"."value"  FROM "feature_gates"  WHERE "feature_gates"."feature_key" = $1
    2 0.0 ms 0.0 ms 0.0 ms 2
    SELECT pg_backend_pid()
    Histogram for AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel
    Query Runtime Count
    0 seconds - 0.01 seconds 0
    0.01 seconds - 0.1 seconds 0
    0.1 seconds - 1 second 4
    1 second - 5 seconds 0
    5 seconds - 15 seconds 0
    15 seconds - 5 minutes 0
    5 minutes + 0

    Other information

    No other migrations pending on GitLab.com

    Clone details
    Clone ID Clone Created At Clone Data Timestamp Expected Removal Time
    database-testing-3958083-16345809-main 2024-12-06T10:24:07Z 2024-12-04T22:48:46Z 2024-12-06 22:34:44 +0000
    database-testing-3958083-16345809-ci 2024-12-06T10:24:08Z 2024-12-06T08:40:27Z 2024-12-06 22:34:44 +0000

    Job artifacts

    Database migrations (on the ci database)

    Migrations included in this change have been executed on gitlab.com data for testing purposes. For details, please see the migration testing pipeline (limited access).

    Migration Type Total runtime Result DB size change
    20241205143233 - AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel Post deploy 8.9 s :white_check_mark: +8.00 KiB [note]
    Runtime Histogram for all migrations
    Query Runtime Count
    0 seconds - 0.01 seconds 0
    0.01 seconds - 0.1 seconds 0
    0.1 seconds - 1 second 3
    1 second - 5 seconds 0
    5 seconds - 15 seconds 0
    15 seconds - 5 minutes 0
    5 minutes + 0

    Migration: 20241205143233 - AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel

    * Type: Post deploy
    * Duration: 8.9 s
    * Database size change: +8.00 KiB [note]
    Calls Total Time Max Time Mean Time Rows Query
    1 4.8 ms 4.8 ms 4.8 ms 0
    CREATE INDEX CONCURRENTLY "idx_container_registry_protection_tag_rules_on_min_access_level" ON "container_registry_protection_tag_rules" ("project_id", "minimum_access_level_for_push", "minimum_access_level_for_delete")
    2 0.0 ms 0.0 ms 0.0 ms 2
    SELECT pg_backend_pid()
    Histogram for AddIndexContainerRegistryProtectionTagRulesOnMinAccessLevel
    Query Runtime Count
    0 seconds - 0.01 seconds 0
    0.01 seconds - 0.1 seconds 0
    0.1 seconds - 1 second 3
    1 second - 5 seconds 0
    5 seconds - 15 seconds 0
    15 seconds - 5 minutes 0
    5 minutes + 0

    Other information

    No other migrations pending on GitLab.com

    Clone details
    Clone ID Clone Created At Clone Data Timestamp Expected Removal Time
    database-testing-3958083-16345809-main 2024-12-06T10:24:07Z 2024-12-04T22:48:46Z 2024-12-06 22:34:44 +0000
    database-testing-3958083-16345809-ci 2024-12-06T10:24:08Z 2024-12-06T08:40:27Z 2024-12-06 22:34:44 +0000

    Job artifacts


    Brought to you by gitlab-org/database-team/gitlab-com-database-testing. Epic

    Edited by ****
  • João Pereira added 1 commit

    added 1 commit

    Compare with previous version

  • no schema change; no impact to data warehouse

  • Greg Myers approved this merge request

    approved this merge request

  • David Fernandez
  • David Fernandez approved this merge request

    approved this merge request

  • David Fernandez requested review from @terrichu and removed review request for @10io

    requested review from @terrichu and removed review request for @10io

  • Terri Chu requested review from @a_akgun

    requested review from @a_akgun

  • Terri Chu approved this merge request

    approved this merge request

  • Alper Akgun approved this merge request

    approved this merge request

  • added databaseapproved label and removed databasereview pending label

  • Alper Akgun resolved all threads

    resolved all threads

  • Alper Akgun enabled automatic add to merge train when checks pass

    enabled automatic add to merge train when checks pass

  • João Pereira mentioned in merge request !175251 (merged)

    mentioned in merge request !175251 (merged)

  • João Pereira requested review from @ifarkas

    requested review from @ifarkas

  • Imre Farkas
  • Imre Farkas approved this merge request

    approved this merge request

  • João Pereira resolved all threads

    resolved all threads

  • Alper Akgun removed this merge request from the merge train because the pipeline did not succeed. Learn more.

    removed this merge request from the merge train because the pipeline did not succeed. Learn more.

  • Alper Akgun removed this merge request from the merge train because the pipeline did not succeed.

    Humm it seems like the merge pipeline got stuck (https://gitlab.com/gitlab-org/gitlab/-/pipelines/1583544348).

    @a_akgun / @ifarkas, could you trigger a new one?

  • Imre Farkas enabled automatic add to merge train when checks pass

    enabled automatic add to merge train when checks pass

  • merged

  • Imre Farkas mentioned in commit 6c4c4cfa

    mentioned in commit 6c4c4cfa

  • Hello @jdrpereira :wave:

    The database team is looking for ways to improve the database review process and we would love your help!

    If you'd be open to someone on the database team reaching out to you for a chat, or if you'd like to leave some feedback asynchronously, just post a reply to this comment mentioning:

    @gitlab-org/database-team

    And someone will be by shortly!

    Thanks for your help! :heart:

    This message was generated automatically. Improve it or delete it.

  • João Pereira mentioned in merge request !175405 (merged)

    mentioned in merge request !175405 (merged)

  • added workflowstaging label and removed workflowcanary label

  • Please register or sign in to reply
    Loading