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