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. Currently always
application/vnd.massdriver.bundle.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 (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}
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