---
id: "container-registry"
type: "kind"
category: "data"
url: "https://localhost:3000/catalogue/kinds/container-registry"
---

# Container registry

A store of container images addressed by repository and tag.

| | |
|---|---|
| Category | Data |
| Properties | 7 |
| Components | 15 |
| Rules | 0 |

## Properties

| property | type | values | required | default |
|---|---|---|---|---|
| `geoReplicated` | boolean | — | no | false |
| `imageScanning` | boolean | — | no | — |
| `immutableTags` | boolean | — | no | — |
| `managed` | boolean | — | no | false |
| `retentionDays` | integer | — | no | — |
| `staticCredentials` | boolean | — | no | — |
| `visibility` | enum | `private`, `public` | no | — |

## Rules for this kind · 0

No rule selects this kind or its category.

## Components · 15

### vendor-neutral

- [Generic container registry](https://localhost:3000/catalogue/components/container-registry.md) `container-registry` — the kind itself

### alibabacloud

- [Container Registry](https://localhost:3000/catalogue/components/alibaba-container-registry.md) `alibaba-container-registry` — 1 defaults

### aws

- [Amazon Elastic Container Registry](https://localhost:3000/catalogue/components/aws-ecr.md) `aws-ecr` — 6 defaults
- [Amazon Elastic Container Registry Public](https://localhost:3000/catalogue/components/aws-ecr-public.md) `aws-ecr-public` — 4 defaults

### azure

- [Azure Container Registry](https://localhost:3000/catalogue/components/azure-container-registry.md) `azure-container-registry` — 5 defaults

### default

- [Docker Hub](https://localhost:3000/catalogue/components/docker-hub.md) `docker-hub` — 2 defaults
- [CNCF Distribution](https://localhost:3000/catalogue/components/docker-registry.md) `docker-registry` — 3 defaults
- [GitLab Container Registry](https://localhost:3000/catalogue/components/gitlab-registry.md) `gitlab-registry` — 4 defaults
- [Harbor](https://localhost:3000/catalogue/components/harbor.md) `harbor` — 5 defaults
- [Red Hat Quay](https://localhost:3000/catalogue/components/quay.md) `quay` — 3 defaults
- [zot](https://localhost:3000/catalogue/components/zot.md) `zot` — 2 defaults

### digitalocean

- [DigitalOcean Container Registry](https://localhost:3000/catalogue/components/digitalocean-container-registry.md) `digitalocean-container-registry` — 3 defaults

### gcp

- [Artifact Registry](https://localhost:3000/catalogue/components/google-artifact-registry.md) `google-artifact-registry` — 2 defaults

### ibm

- [IBM Cloud Container Registry](https://localhost:3000/catalogue/components/ibm-container-registry.md) `ibm-container-registry` — 4 defaults

### oci

- [OCI Container Registry](https://localhost:3000/catalogue/components/oci-container-registry.md) `oci-container-registry` — 2 defaults

## Source (`kind` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../schema/kind.schema.json
# Images are pulled by name and tag, which object-store cannot express, and the registry carries its own exposure and retention settings. visibility, adminUser, imageScanning and immutableTags are left open so supply-chain rules can test for absence.
schemaVersion: "1"
type: "kind"
id: "container-registry"
category: "data"
properties:
  visibility:
    type: "enum"
    values: ["private", "public"]
  imageScanning:
    type: "boolean"
  geoReplicated:
    type: "boolean"
    default: false
  immutableTags:
    type: "boolean"
  retentionDays:
    type: "integer"
  staticCredentials:
    type: "boolean"
  managed:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/kinds/container-registry
