Concepts

This topic describes key concepts you need to understand when working with Cloudfleet Container Registry (CFCR).

Images

An image is a read-only template containing instructions for creating a container. Images include application code, runtime, libraries, and dependencies required to run your application. CFCR stores images that comply with Open Container Initiative specifications, including Docker images using the Docker Image Manifest V2 Schema 2 format.

You identify an image by its repository name and a version identifier (tag) or digest. For example, myapp:v1.2.3 refers to the image in the myapp repository with the tag v1.2.3.

Repositories

A repository is a collection of related images, typically different versions of the same application. Repositories provide a way to organize and manage images within your registry.

Repository names can include forward slashes to create logical groupings. For example, backend/api and backend/worker are two separate repositories that share a common prefix. The forward slashes do not create a hierarchical directory structure; they are simply part of the repository name.

Examples of repository names:

  • myapp
  • frontend/web
  • services/auth/api
  • team-platform/infrastructure/base-images

Tags

A tag is a human-readable identifier for a specific version of an image within a repository. Tags are mutable, meaning you can update a tag to point to a different image. Common tagging conventions include:

  • Semantic versions: v1.0.0, v1.2.3, v2.0.0-beta
  • Latest: latest typically points to the most recent stable version
  • Environment: production, staging, development
  • Git references: main, sha-a1b2c3d

Because tags are mutable, the image that myapp:latest refers to can change over time. For production deployments where consistency is critical, consider using image digests instead of tags.

Digests

A digest is an immutable, content-addressable identifier for an image. The digest is a SHA256 hash of the image manifest, ensuring that a specific digest always refers to exactly the same image content.

Digests use the format sha256: followed by a 64-character hexadecimal string:

sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4

You can reference an image by digest instead of tag:

12345678-6651-4e5d-9c04-079f6532989b.europe.registry.cloudfleet.dev/myapp@sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4

Using digests ensures that your deployments always use the exact same image, even if someone updates the tag to point to a different image.

Manifest lists

A manifest list (also known as a multi-architecture image or fat manifest) is a higher-level manifest that references multiple platform-specific images under a single tag. When you pull an image from a manifest list, the container runtime automatically selects the appropriate image for your platform.

For example, a manifest list for myapp:v1.0.0 might include:

  • An AMD64 Linux image
  • An ARM64 Linux image
  • An AMD64 Windows image

This allows you to use the same image reference across different architectures without specifying the platform explicitly.

Image paths

The full path to an image in CFCR follows this structure:

{organization-id}.{region}.registry.cloudfleet.dev/{repository}:{tag}
ComponentDescriptionExample
Organization IDUUID identifying your Cloudfleet organization12345678-6651-4e5d-9c04-079f6532989b
RegionRegistry region (europe, northamerica, apac)europe
Registry domainCFCR hostnameregistry.cloudfleet.dev
RepositoryName of the image repositorymyapp or backend/api
TagVersion identifierv1.2.3 or latest

Complete example:

12345678-6651-4e5d-9c04-079f6532989b.europe.registry.cloudfleet.dev/backend/api:v1.2.3

You can also reference images by digest:

12345678-6651-4e5d-9c04-079f6532989b.europe.registry.cloudfleet.dev/backend/api@sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4

OCI artifacts

CFCR supports storing OCI artifacts beyond container images. OCI artifacts are any content that conforms to the OCI distribution specification. Common examples include:

  • Helm charts: Kubernetes application packages
  • Software Bill of Materials (SBOM): Inventory of software components
  • Signatures: Cryptographic signatures for image verification
  • Configuration files: Application configuration bundles

Helm 3.8 and later can push and pull charts directly from CFCR using oci:// URLs.