Skip to main content

OciRepo

An OCI repository in your organization's bundle catalog.

An OCI repository is the container for all published versions of a single infrastructure-as-code package. It is analogous to a Docker image repository but for Massdriver bundles.

Each repository has a unique name (e.g., aws-aurora-postgres) and contains:

  • Tags -- the individual published versions (1.0.0, 1.1.0, 1.2.3, etc.)
  • Release channels -- auto-resolving version constraints (latest, ~1, ~1.2) that always point to the newest matching tag

To fetch a specific bundle version from a repository, use the bundle query with a BundleId like aws-aurora-postgres@1.2.3 or aws-aurora-postgres@~1.

type OciRepo {
id: ID!
name: OciRepoName!
reference: String!
artifactType: String!
createdAt: DateTime!
updatedAt: DateTime!
description: String
icon: String
sourceUrl: String
readme: String
changelog: String
releaseChannels(
filter: OciRepoReleaseChannelsFilter
sort: OciRepoReleaseChannelsSort
cursor: Cursor
): OciRepoReleaseChannelsPage
tags(
sort: OciRepoTagsSort
cursor: Cursor
): OciRepoTagsPage
}

Fields

OciRepo.id ● ID! non-null scalar {#id}

OciRepo.name ● OciRepoName! non-null scalar {#name}

Repository name, unique within your organization (e.g., aws-aurora-postgres).

OciRepo.reference ● String! non-null scalar {#reference}

The bare OCI reference for this repository: <registry>/<org>/<repo> (for example, api.massdriver.cloud/acme/aws-aurora-postgres).

Append :<tag> or @<digest> to address a specific manifest and use the result directly with oras, docker, or any OCI-compliant client:

oras pull api.massdriver.cloud/acme/aws-aurora-postgres:1.2.3

OciRepo.artifactType ● String! non-null scalar {#artifact-type}

The OCI artifact type stored in this repository. Currently always application/vnd.massdriver.bundle.v1+json.

OciRepo.createdAt ● DateTime! non-null scalar {#created-at}

Timestamp when this repository was created (UTC).

OciRepo.updatedAt ● DateTime! non-null scalar {#updated-at}

Timestamp when this repository was last modified (UTC).

OciRepo.description ● String scalar {#description}

Short summary of what this repository provisions, taken from the latest published release. null when the repository has no releases yet or the author omitted the description.

OciRepo.icon ● String scalar {#icon}

URL to this repository's display icon (SVG), taken from the latest published release. null when the repository has no releases yet or the latest release has no icon.

The URL is authenticated — callers must have an active browser session or valid API credentials for the owning organization. Embedding it in an <img> tag from the web UI works because the browser sends the session cookie automatically; programmatic clients must include an Authorization header.

OciRepo.sourceUrl ● String scalar {#source-url}

URL of the source code this repository is published from (for example, a GitHub link), when the author provides one. Taken from the latest release.

OciRepo.readme ● String scalar {#readme}

Markdown README for this repository. Cached on publish from the latest stable release; falls back to the latest release when the cache is empty. null when the repository has no releases or the latest release has no README.

OciRepo.changelog ● String scalar {#changelog}

Markdown changelog for this repository. Cached on publish from the latest stable release; falls back to the latest release when the cache is empty. null when the repository has no releases or the latest release has no changelog.

OciRepo.releaseChannels ● OciRepoReleaseChannelsPage object {#release-channels}

Paginated list of release channels for this repository.

Each channel is a version constraint that auto-resolves to the latest matching tag. Use the stable filter to show only stable or only development channels.

OciRepo.releaseChannels.filter ● OciRepoReleaseChannelsFilter input {#oci-repo-release-channels-filter}

Filter by stable or development channels.

OciRepo.releaseChannels.sort ● OciRepoReleaseChannelsSort input {#oci-repo-release-channels-sort}

Sort order for channels. Defaults to name ascending.

OciRepo.releaseChannels.cursor ● Cursor input {#oci-repo-release-channels-cursor}

Cursor from a previous page's cursor.next or cursor.previous.

OciRepo.tags ● OciRepoTagsPage object {#tags}

Paginated list of published version tags in this repository.

Each tag represents a single immutable bundle release. Defaults to newest version first (version descending).

OciRepo.tags.sort ● OciRepoTagsSort input {#oci-repo-tags-sort}

Sort order for tags. Defaults to version descending (newest first).

OciRepo.tags.cursor ● Cursor input {#oci-repo-tags-cursor}

Cursor from a previous page's cursor.next or cursor.previous.

Returned By

ociRepo query

Member Of

Component object ● OciReposPage object