Container Repository#

Contains metadata associated with Red Hat and ISV repositories

application_categories | List[String] required

List parameters

max_items | 3 enum: Accounting | AI / Machine learning | API Management | Application Delivery | Application Server | Automation | Backup & Recovery | Business Intelligence | Business Process Management | Capacity Management | Cloud Management | Collaboration/Groupware/Messaging | Configuration Management | Container Platform / Management | Content Management/Authoring | Customer Relationship Management | Database & Data Management | Data Store | Developer Tools | Enterprise Resource Planning | Identity Management | Integration | Logging & Metrics | Management | Messaging | Migration | Middleware | Mobile Application Development Platform (MADP) | Monitoring | Network Management | Networking | Other | Operating System | Performance Management | Policy Enforcement | Programming Languages & Runtimes | Scheduling | Search | Security | Storage | Virtualization Platform | Web Services

The application categories (types).

build_categories | List[String] required

List parameters

max_items | 1 enum: Operator bundle | Operator image | Standalone image | Component image | Builder image | Intermediate image | Flatpak | Scratch image | Automation execution environment | Ansible playbook bundle

What build categories does this fall into, such as standalone, s2i builder, etc.

display_data | RepositoryDisplayData required

includes_multiple_content_streams | Boolean required

Defines whether a repository contains multiple image streams.

non_production_only | Boolean required

Repository is intended for non-production use only.

privileged_images_allowed | Boolean required

Indicates if images in this repository are allowed to run super-privileged.

protected_for_pull | Boolean required

protected_for_search | Boolean required

Indicates whether the repository requires subscription or other access restrictions for search.

published | Boolean required

Indicates that the repository does not have any images in it or has been deleted.

registry | String required

Hostname of the registry where the repository can be accessed.

release_categories | List[String] required

List parameters

enum: Generally Available | Beta | Tech Preview | Deprecated | Mixed

The release categories of a repository.

repository | String required

Combination of image repository and namespace.

vendor_label | String required

Label of the vendor that owns this repository.

architectures | List[String]

Contains unique list of all container architectures for the given repository.

auto_rebuild_tags | List[String]

Denote which tags to be used for auto-rebuilding processes.

can_auto_release_cve_rebuild | Boolean

Flag indicating whether the repository has opted-in to auto-release auto-built images.

cdn_base_url | URI

content_stream_grades | List[RepositoryContentStreamGrades]

Capture and provide an inventory of grades corresponding to the tags in the relevant contents stream.

content_stream_tags | List[String]

Capture and provide an inventory of tags corresponding to the content streams.

description | String

Description of the repository.

documentation_links | List[RepositoryDocumentationLink]

Links to marketing and doc collateral including categorization (solution brief, white paper, demo video, etc.) supposed to be displayed on the product page (NOT documentation tab on image overview tab).

fbc_opt_in | Boolean read-only

Flag indicating which team has opted-in to use the File Based Catalog.

eol_date | DateTime

freshness_grades_unknown_until_date | DateTime nullable

Date until the freshness grades for this repository are unknown.

is_community_supported | Boolean

Designates whether a repository is community-supported.

isv_pid | String

ID of the project in for ISV repositories.

metadata_source | String

Determine what registry should be used as source of repository metadata (e.g. Pulp or Quay).

metrics | RepositoryMetrics

Set of metrics about the repository.

namespace | String

Namespace of the repository.

object_type | String

String parameters

constant | containerRepository

prm_project_id | String

ID of the project in PRM. Only for ISV repositories.

product_listings | List[ObjectID] read-only

List of unique identifiers for the product listings.

product_versions | List[String]

Map repositories to specific product versions.

registry_target | String

Consumed by the Registry Proxy so that it can route users to the proper backend registry (e.g. Pulp or Quay).

replaced_by_repository_name | String

Defines repository to point to in case this one is deprecated.

requires_terms | Boolean

Flag indicating whether (false) the repository is published on the legacy registry (registry.access.redhat.com), or (true) can only be published to registry.redhat.io.

runs_on | RepositoryRunsOn

Describes what the image can be run on.

source_container_image_enabled | Boolean

Flag indicating whether images associated with this repo are included in workflows where non-binary container images are published alongside their binary counterparts.

support_levels | List[String]

The support levels of a repository.

total_size_bytes | Int64

Total size of all images in bytes.

total_uncompressed_size_bytes | Int64

Total size of all uncompressed images in bytes.

ui_get_this_image_override | String

When populated this field will override the content on the ‘get this image’ tab in red hat container catalog.

use_latest | Boolean

Flag indicating whether the ‘latest’ tag for an image should be pulled.

marketplace | ContainerRepositoryMarketplace

Marketplace related information.

_id | ObjectID read-only

MongoDB unique _id

creation_date | DateTime read-only

The date when the entry was created. Value is created automatically on creation.

last_update_date | DateTime read-only

The date when the entry was last updated.

certification_project | RESTGetCertProjectForRepository

URI to the certification projects.

images | RESTGetImagesForRepository

URI to this repository’s images.

operator_bundles | RESTGetOperatorBundlesByRepository

URI to this repository’s operator bundles.

product_listings | RESTFindProductListingsByRepository

URI to this repository’s product listings.

replaced_by_repository | RESTGetRepositoryByRegistry

URI to the replacing repository.

vendor | RESTGetVendorByLabel

URI to this repository’s vendor.

isv_pid_1

Fields
  • isv_pid: ASC

Description
Index for containerRepository on isv_pid

registry_1_repository_1_published_1

Fields
  • registry: ASC

  • repository: ASC

  • published: ASC

Description
Index for containerRepository on registry, repository and published

repository_1_published_1

Fields
  • repository: ASC

  • published: ASC

Description
Index for containerRepository on repository and published

unique_registry_repository_published

Fields
  • registry: ASC

  • repository: ASC

Parameters
  • unique: True

  • partialFilterExpression: {"published": {"$eq": true}}

Description
Enforce registry+repository uniqueness across published container repositories

unique_registry_repository_redhat

Fields
  • registry: ASC

  • repository: ASC

Parameters
  • unique: True

  • partialFilterExpression: {"isv_pid": {"$eq": null}}

Description
Enforce registry+repository uniqueness across RedHat’s container repositories

containerRepository_vendor_label_metadata_source_published

Fields
  • vendor_label: ASC

  • metadata_source: ASC

  • published: ASC

Description
Index for containerRepository on vendor_label, metadata_source and published

containerRepository_product_listings_published

Fields
  • product_listings: ASC

  • published: ASC

Description
Index for containerRepository on product_listings and published

containerRepository_team_id

Fields
  • team_id: ASC

Description
Index for containerRepository on team_id

edges.certification_project | Certification Project

Edge to related certification projects.

Parent arguments: [‘registry’, ‘repository’]

Uses GQL query: get_repository_project_certification_by_registry_path

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                certification_project {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                certification_project {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                certification_project {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                certification_project {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                certification_project {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.images | List[Container Image]

Edge to related container images.

Parent arguments: [‘registry’, ‘repository’]

Uses GQL query: find_repository_images_by_registry_path

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                images {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                images {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                images {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                images {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                images {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.product_listings | List[Product Listing]

Edge to related product listings.

Parent arguments: [‘registry’, ‘repository’]

Uses GQL query: find_repository_product_listings_by_registry_path

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                product_listings {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                product_listings {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                product_listings {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                product_listings {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                product_listings {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.operator_bundles | List[Operator Bundle]

Edge to related operator bundles.

Parent arguments: [‘registry’, ‘repository’]

Uses GQL query: find_repository_operator_bundles_by_registry_path

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                operator_bundles {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                operator_bundles {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                operator_bundles {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                operator_bundles {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                operator_bundles {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.replaced_by_repository | Container Repository

Edge to related replacing repository.

Parent arguments: [‘registry’, ‘replaced_by_repository_name’]

Uses GQL query: get_repository_by_registry_path

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                replaced_by_repository {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                replaced_by_repository {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                replaced_by_repository {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                replaced_by_repository {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                replaced_by_repository {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}

edges.vendor | Container Vendor

Edge to related vendor.

Parent arguments: [‘vendor_label’]

Uses GQL query: get_vendor_by_label

Example queries
{
    get_repository(id: "6304c560cbb2b2d2d4053b8e") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_repositories(sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    get_repository_by_registry_path(registry: "example", repository: "example") {
        error {
            detail
            status
        }
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_product_listing_repositories(id: "6304c560cbb2b2d2d4053b8e", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}
{
    find_vendor_repositories_by_label(label: "example", sort_by: [{ field: "creation_date", order: DESC }], page: 0, page_size: 50) {
        error {
            detail
            status
        }
        total # omit for better performance
        page_size
        page
        data {
            _id
            edges {
                vendor {
                    error {
                        status
                        detail
                    }
                    data {
                        _id
                    }
                }
            }
        }
    }
}