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!
attributes: Map!
effectiveAttributes: Map!
createdAt: DateTime!
updatedAt: DateTime!
description: String
icon: String
sourceUrl: String
readme: String
changelog: String
releaseChannels(
filter: OciRepoReleaseChannelsFilter
sort: OciRepoReleaseChannelsSort
cursor: Cursor
): OciRepoReleaseChannelsPage
tags(
filter: OciRepoTagsFilter
sort: OciRepoTagsSort
cursor: Cursor
): OciRepoTagsPage
grants(
cursor: Cursor
): GrantsPage
}

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 — application/vnd.massdriver.bundle.v1+json or application/vnd.massdriver.resource-type.v1+json.

OciRepo.attributes ● Map! non-null scalar {#attributes}​

Key-value attributes assigned directly to this repository, used by ABAC policies. Reserved keys starting with md- are auto-injected by the system and excluded from this map — see effectiveAttributes for the merged view.

OciRepo.effectiveAttributes ● Map! non-null scalar {#effective-attributes}​

The full set of attributes that ABAC policy evaluation sees for this repository — your user attributes plus auto-injected md-* system attributes (today: md-id, md-repo).

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, or null if it has none.

For a bundle repository the URL is authenticated and serves the SVG packaged with its latest release — 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.

For a resource-type repository it is the icon URL the type declares.

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}​

The README for this repository, in markdown — taken from the latest stable release. null if no release has shipped a README. To get a specific version's README, query that tag's readme field, or the bundle(id: "name@version") { readme } field.

OciRepo.changelog ● String scalar {#changelog}​

The changelog for this repository, in markdown — taken from the latest stable release. null if no release has shipped a changelog. To get a specific version's changelog, query that tag's changelog field, or the bundle(id: "name@version") { changelog } field.

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.filter ● OciRepoTagsFilter input {#oci-repo-tags-filter}​

Narrow results to a specific version.

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.

OciRepo.grants ● GrantsPage object {#grants}​

Grants the publisher has authored on this repository — what it is shared as, and which recipient projects qualify. If you can see this repository you can see all of its grants; grants are publisher-side metadata, not visibility-gated themselves.

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

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

Returned By​

ociRepo query

Member Of​

Component object ● OciRepoEvent object ● OciRepoPayload object ● OciReposPage object

Implemented By​

GrantSource union