> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mistrive.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Artifact Store

> Manage repositories, images, and vulnerability scanning

The Artifact Store provides a container registry for Docker and OCI images. Each project can have multiple repositories, and each repository stores images with their tags and digests.

## Creating a repository

<Note>
  Creating a repository requires the **Artifact Store Owner** role on the project (or equivalent inherited permissions).
</Note>

Navigate to your project and open **Artifact Store**. Select **Create Repository**.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/create-repo-light.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=adebd202749a1f5b9404d70d45470fdd" alt="Mistrive Create Repository form in light mode" width="3098" height="2098" data-path="images/create-repo-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/create-repo-dark.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=411909b21a89b13da86ff6edfd17be71" alt="Mistrive Create Repository form in dark mode" width="3098" height="2098" data-path="images/create-repo-dark.png" />
</Frame>

<Steps>
  <Step title="Enter repository details">
    Provide a display name. Optionally specify a custom ID—if omitted, the system generates one automatically.
  </Step>

  <Step title="Configure scanning">
    Enable vulnerability scanning if you want automatic security analysis of pushed images.
  </Step>

  <Step title="Create">
    Submit the form. The new repository is ready to receive images.
  </Step>
</Steps>

## Browsing images

Open a repository to view its contents. The image list shows all OCI images stored in the repository.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/digest-list-light.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=1f28a49ffb780d6f2e0f709c629617c5" alt="Mistrive Repository Images page in light mode" width="3098" height="2098" data-path="images/digest-list-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/digest-list-dark.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=1fcc6d0e5e3fa7e31967f02220b97344" alt="Mistrive Repository Images page in dark mode" width="3098" height="2098" data-path="images/digest-list-dark.png" />
</Frame>

Select an image to view its digests. Each digest represents a unique image version, and tags point to specific digests.

The digest view displays:

* **Tags** pointing to this digest
* **Size** of the image
* **Created time**
* **Vulnerability summary** (if scanning is enabled)

## Vulnerability scanning

When enabled, the Artifact Store automatically scans pushed images for known vulnerabilities using Trivy.

### Enabling scanning

Scanning is configured per repository. When creating a repository, enable the scanning option. For existing repositories, edit the repository settings to toggle scanning.

### Viewing scan results

Navigate to a specific image digest to view its vulnerability report.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/scan-result-light.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=7225c2adcc97dbc405ae3b0c1e978bf8" alt="Mistrive Vulnerability Report in light mode" width="3098" height="2654" data-path="images/scan-result-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/scan-result-dark.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=e32df55982e464de7ed56bbb0624977d" alt="Mistrive Vulnerability Report in dark mode" width="3098" height="2654" data-path="images/scan-result-dark.png" />
</Frame>

The scan results show:

| Severity        | Description                                                 |
| --------------- | ----------------------------------------------------------- |
| **Critical**    | Severe vulnerabilities requiring immediate attention        |
| **High/Medium** | Significant vulnerabilities to address in your update cycle |
| **Low/Unknown** | Minor issues or vulnerabilities with undetermined severity  |

Each vulnerability entry includes the CVE identifier, title, and description.

<Tip>
  Scans run automatically when images are pushed. For recently pushed images, allow a few minutes for the scan to complete.
</Tip>

## Managing permissions

Repository permissions control who can view, push, or manage images. Permissions can be granted to specific users, service accounts, or special principals.

Navigate to your repository and open the **Permissions** tab.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/repo-iam-light.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=d9311ae962ed27d67b95196d4cf8bcd6" alt="Mistrive Repository Permissions page in light mode" width="3098" height="1480" data-path="images/repo-iam-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/mistriveinc/jjSQI289HnCoAcnz/images/repo-iam-dark.png?fit=max&auto=format&n=jjSQI289HnCoAcnz&q=85&s=2ce7baa403daed1e132bcd3ee21de419" alt="Mistrive Repository Permissions page in dark mode" width="3098" height="1480" data-path="images/repo-iam-dark.png" />
</Frame>

### Repository roles

| Role       | Capabilities                                |
| ---------- | ------------------------------------------- |
| **Viewer** | Pull images                                 |
| **Editor** | Pull and push images                        |
| **Owner**  | Full access including permission management |

### Adding a principal

<Steps>
  <Step title="Select Add Principal">
    Open the permission management interface.
  </Step>

  <Step title="Enter the principal identifier">
    Use an email address for users, a service account identifier, or a special principal.
  </Step>

  <Step title="Select a role">
    Choose Viewer, Editor, or Owner based on the access level needed.
  </Step>

  <Step title="Save">
    The principal can now access the repository according to their role.
  </Step>
</Steps>

### Special principals

The Artifact Store supports two special principals for public or semi-public access:

| Principal               | Description                                                                 |
| ----------------------- | --------------------------------------------------------------------------- |
| `allUsers`              | Anyone, including unauthenticated users. Use for fully public repositories. |
| `allAuthenticatedUsers` | Any authenticated user in your Mistrive instance.                           |

<Warning>
  Special principals can only be granted the **Viewer** role. This ensures public repositories remain read-only.
</Warning>

### Permission inheritance

Repository permissions inherit from the project hierarchy:

* A principal with **Artifact Store Viewer** on the project can pull from all repositories
* A principal with **Artifact Store Editor** on the project can push to all repositories
* A principal with **Artifact Store Owner** on the project can manage all repositories

See [Permissions](/user-guides/permissions) for the complete inheritance model.

## What's next

With your repository configured:

1. [Set up Docker authentication](/user-guides/docker-authentication) to push and pull images
2. Review [permission inheritance](/user-guides/permissions) to understand access control
