# Quay

Quay, also known as Quay.io, is a container registry service that allows users to store, manage, and distribute container images. It is similar to other container registries like Docker Hub or Google Container Registry, but Quay offers some additional features and flexibility.

### Usage of Quay in Delivery Shield

* Delivery Shield gets notified for every build run in a pipeline. To identify the image for every build, it connects to the Quay repo and pulls the newly built image.
* Once the image is pulled, it runs security scans on it. The scanned results are available in the [Vulnerability Management](https://docs.opsmx.com/opsmx-secure-software-delivery-ssd-platform/user-guide/vulnerability-management) page, and **Artifact** section of the [DBOM](https://docs.opsmx.com/opsmx-secure-software-delivery-ssd-platform/user-guide/delivery-bill-of-materials-dbom) page.
* Delivery Shield also collects metadata such as Artifact SHA to perform artifact integrity checks and ensure the security in the supply chain. This information gets populated in the DBOM page for audit purposes.&#x20;

### To Integrate Quay:

1. Navigate to **Setup** > **Integrations**.
2. In the **Source** panel, click **Quay**.

<figure><img src="https://2047464521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBEa1hoX6SqpDj-ymNs%2Fuploads%2Fx0aTk9FYzkD7PyfTGMIJ%2Fquay%201.png?alt=media&#x26;token=b90b3ee1-912d-442f-8bfd-5d2b0dbdaebb" alt=""><figcaption></figcaption></figure>

3. The Quay integration page is displayed. Click **+New Account**.&#x20;

<figure><img src="https://2047464521-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBEa1hoX6SqpDj-ymNs%2Fuploads%2FSVFk4oNrh6aYdb9Ns6dV%2Fquay%202.png?alt=media&#x26;token=923d0dfd-240d-4912-9cdb-b5467f318f20" alt=""><figcaption></figcaption></figure>

4. In the popup that appears, enter the details for the following:

* **Account Name -** The name of the user docker account.&#x20;
* **Approved Artifact Repo name -** The name of the approved artifact repository from which the images are deployed.  Security issues are raised by SSD if you try to deploy images from a different repository.&#x20;
* **Host Url -** The host Url link.&#x20;
* **Username -** The username to access the docker account.&#x20;
* **Password -** The password to access the docker account.&#x20;
* Select the **Teams** and the corresponding **Environments** from the dropdown for which you want the integration to be available. The integration will be available for the selected teams and environment only.&#x20;

  <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>You can select up to 5 teams for the integration to be displayed. </p></div>

  * An example is given below for reference:

  <figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuMZQzZsZQuulVdW9B9OuffNPoEXqbcpcAkYtKVyb7YiTQxbVIt1L4Gh-zshqX2J9MFKIat8x4oWFIGxdg3j1XVagyUNhUAlD_52soyMyd1cy53p6XiYi0LsTjIBfHcybRWl61?key=D9EXoOdGF7oYOBvYaW2GnRWJ" alt=""><figcaption></figcaption></figure>

  * In the example above,&#x20;
    * if **Team 1**, **Team 2**, and **Team 3** are selected, only applications associated with these teams can access the integration. Any applications belonging to other teams, such as **Team 4**, will not have access to this account.
    * Even if the user who created this account is also an admin for **Team 4**, the integration account remains restricted and is not available for **Team 4**.&#x20;
    * Access to the account is strictly limited to the specified **Teams** and **Environments** selected during account creation.
  * **For Organization Admins:**
    * When an **Organization Admin** creates an account without selecting specific **Teams** and **Environments**, the account will be universally applicable, granting access to **all teams** and **all environments** by default.
  * **For Team Admins with Multiple Teams:**<br>
    * If a **Team Admin** who manages multiple teams creates an account without specifying particular **Teams** and **Environments**, the account will only be accessible to the teams for which the logged-in user holds admin privileges.

5. Click **Save**. The Quay account gets integrated in the artifact stage.&#x20;
6. You can edit the entered values by clicking the three dots provided at the end of each added account. Click **Edit**.
7. Enter the new values and click **Update**.&#x20;

The new values get updated.&#x20;

<br>
