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 | Console | Container Platform / Management | Content Management/Authoring | Customer Relationship Management | Dashboard | Database & Data Management | Data Store | Developer Tools | Enterprise Resource Planning | Identity Management | Integration | Logging | Logging & Metrics | Management | Messaging | Metrics | Migration | Middleware | Mobile Application Development Platform (MADP) | Monitoring | Network Management | Networking | Observability | Other | Operating System | Performance Management | Plugin | Policy Enforcement | Programming Languages & Runtimes | Scheduling | Search | Security | Storage | Tracing | 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).
entitlement_enabled
| Boolean read-only
Flag indicating whether the repository has opted-in to entitlements to determine needed subscriptions in order to be able to pull repository images.
engineering_ids
| List[String] read-only
List of engineering IDs associated with the repository. The list represents a needed subscription to pull the repository images.
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
containerRepository_entitlement
- Fields
entitlement_enabled: ASC
engineering_ids: ASC
- Description
- Index for containerRepository for entitlements. The index is used by a registry proxy to determine if a repository is entitled.
edges.certification_project
| Certification Project
Edge to related certification projects.
Parent arguments: [‘isv_pid’]
Uses GQL query: get_certification_project_by_pid
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
certification_project {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
certification_project {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
images {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
images {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
product_listings {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
product_listings {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
operator_bundles {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
operator_bundles {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
replaced_by_repository {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
replaced_by_repository {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository(id: "6304c560cbb2b2d2d4053b8e") {
error {
detail
status
}
data {
_id
edges {
vendor {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
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
}
}
}
}
}
}
{
repository_by_registry(registry: "example", repository: "example") {
error {
detail
status
}
data {
_id
edges {
vendor {
error {
status
detail
}
data {
_id
}
}
}
}
}
}
{
repositories_for_product_listing(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
}
}
}
}
}
}
{
repositories_by_team_id(id: "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
}
}
}
}
}
}
{
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
}
}
}
}
}
}