diff --git a/master/api/index.html b/master/api/index.html index 38661d21..419f79c4 100644 --- a/master/api/index.html +++ b/master/api/index.html @@ -1,8 +1,8 @@ -Red Hat Quay API Guide
Red Hat Quay 3.13

Red Hat Quay API Guide

Red Hat Quay API Guide

Red Hat OpenShift Documentation Team

Abstract

+Red Hat Quay API Guide
Red Hat Quay 3.13

Red Hat Quay API Guide

Red Hat Quay API Guide

Red Hat OpenShift Documentation Team

Abstract

Use the Red Hat Quay API -

Preface

+


Preface

The Red Hat Quay application programming interface (API) is an OAuth 2 RESTful API that consists of a set of endpoints for adding, displaying, changing and deleting features for Red Hat Quay.

Red Hat Quay abides by the Semantic Versioning (SemVer) specifications. The following conditions are met with each major, minor, and patch release: @@ -188,67 +188,67 @@ oauth2_implicit

Scopes

The following scopes are used to control access to the API endpoints: -

ScopeDescription
+

ScopeDescription

repo:read

-
+

This application will be able to view and pull all repositories visible to the granting user or robot account

-
+

repo:write

-
+

This application will be able to view, push and pull to all repositories to which the granting user or robot account has write access

-
+

repo:admin

-
+

This application will have administrator access to all repositories to which the granting user or robot account has access

-
+

repo:create

-
+

This application will be able to create repositories in to any namespaces that the granting user or robot account is allowed to create repositories

-
+

user:read

-
+

This application will be able to read user information such as username and email address.

-
+

org:admin

-
+

This application will be able to administer your organizations including creating robots, creating teams, adjusting team membership, and changing billing settings. You should have absolute trust in the requesting application before granting this permission.

-
+

super:user

-
+

This application will be able to administer your installation including managing users, managing organizations and other features found in the superuser panel. You should have absolute trust in the requesting application before granting this permission.

-
+

user:admin

-
+

This application will be able to administer your account including creating robots and granting them permissions to your repositories. You should have absolute trust in the requesting application before granting this permission.

@@ -260,71 +260,71 @@ Authorizations: oauth2_implicit (user:admin)

Request body schema (application/json)

Description of a new token. -

NameDescriptionSchema
+

NameDescriptionSchema

title
required

-
+

Friendly name to help identify the token

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -332,75 +332,75 @@ Lists the app specific tokens for the user.

GET /api/v1/user/apptoken

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

expiring
optional

-
+

If true, only returns those tokens expiring soon

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -408,75 +408,75 @@ Returns a specific app token for the user.

GET /api/v1/user/apptoken/{token_uuid}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

token_uuid
required

-
+

The uuid of the app specific token

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -484,75 +484,75 @@ Revokes a specific app token for the user.

DELETE /api/v1/user/apptoken/{token_uuid}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

token_uuid
required

-
+

The uuid of the app specific token

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -562,91 +562,91 @@ Return the status for the builds specified by the build uuids.

GET /api/v1/repository/{repository}/build/{build_uuid}/status

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -654,91 +654,91 @@ Return the build logs for the build specified by the build uuid.

GET /api/v1/repository/{repository}/build/{build_uuid}/logs

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -746,91 +746,91 @@ Returns information about a build.

GET /api/v1/repository/{repository}/build/{build_uuid}

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -838,91 +838,91 @@ Cancels a repository build.

DELETE /api/v1/repository/{repository}/build/{build_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -930,161 +930,161 @@ Request that a repository be built and pushed from the specified input.

POST /api/v1/repository/{repository}/build/

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Description of a new repository build. -

NameDescriptionSchema
+

NameDescriptionSchema

file_id
optional

-
+

The file id that was generated when the build spec was uploaded

-
+

string

-
+

archive_url
optional

-
+

The URL of the .tar.gz to build. Must start with "http" or "https".

-
+

string

-
+

subdirectory
optional

-
+

Subdirectory in which the Dockerfile can be found. You can only specify this or dockerfile_path

-
+

string

-
+

dockerfile_path
optional

-
+

Path to a dockerfile. You can only specify this or subdirectory.

-
+

string

-
+

context
optional

-
+

Pass in the context for the dockerfile. This is optional.

-
+

string

-
+

pull_robot
optional

-
+

Username of a Quay robot account to use as pull credentials

-
+

string

-
+

tags
optional

-
+

The tags to which the built images will be pushed. If none specified, "latest" is used.

-
+

array of string
non-empty unique

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1092,107 +1092,107 @@ Get the list of repository builds.

GET /api/v1/repository/{repository}/build/

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

since
optional

-
+

Returns all builds since the given unix timecode

-
+

integer

-
+

query

-
+

limit
optional

-
+

The maximum number of builds to return

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1202,75 +1202,75 @@ List all of the API endpoints available in the swagger API format.

GET /api/v1/discovery

Authorizations:  -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

internal
optional

-
+

Whether to include internal APIs.

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1280,79 +1280,79 @@ Get a detailed description of the error.

GET /api/v1/error/{error_type}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

error_type
required

-
+

The error code identifying the type of error.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
+

ApiErrorDescription

-
+

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1364,71 +1364,71 @@ Authorizations: oauth2_implicit (super:user)

Request body schema (application/json)

Create a new message -

NameDescriptionSchema
+

NameDescriptionSchema

message
required

-
+

A single message

-
+

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1436,59 +1436,59 @@ Return a super users messages.

GET /api/v1/messages

Authorizations:  -

Responses
HTTP CodeDescriptionSchema
+

Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1496,71 +1496,71 @@ Delete a message.

DELETE /api/v1/message/{uuid}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

uuid
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1570,107 +1570,107 @@ Returns the aggregated logs for the current user.

GET /api/v1/user/aggregatelogs

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

performer
optional

-
+

Username for which to filter logs.

-
+

string

-
+

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1681,117 +1681,117 @@ Returns the aggregated logs for the current user.

POST /api/v1/user/exportlogs

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

Request body schema (application/json)

Configuration for an export logs operation -

NameDescriptionSchema
+

NameDescriptionSchema

callback_url
optional

-
+

The callback URL to invoke with a link to the exported logs

-
+

string

-
+

callback_email
optional

-
+

The e-mail address at which to e-mail a link to the exported logs

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1808,123 +1808,123 @@ List the logs for the current user.

GET /api/v1/user/logs

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

performer
optional

-
+

Username for which to filter logs.

-
+

string

-
+

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -1932,123 +1932,123 @@ Gets the aggregated logs for the specified organization.

GET /api/v1/organization/{orgname}/aggregatelogs

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

performer
optional

-
+

Username for which to filter logs.

-
+

string

-
+

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2059,133 +2059,133 @@ Exports the logs for the specified organization.

POST /api/v1/organization/{orgname}/exportlogs

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

Request body schema (application/json)

Configuration for an export logs operation -

NameDescriptionSchema
+

NameDescriptionSchema

callback_url
optional

-
+

The callback URL to invoke with a link to the exported logs

-
+

string

-
+

callback_email
optional

-
+

The e-mail address at which to e-mail a link to the exported logs

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2202,139 +2202,139 @@ List the logs for the specified organization.

GET /api/v1/organization/{orgname}/logs

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

performer
optional

-
+

Username for which to filter logs.

-
+

string

-
+

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2345,107 +2345,107 @@ Returns the aggregated logs for the specified repository.

GET /api/v1/repository/{repository}/aggregatelogs

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2456,133 +2456,133 @@ Queues an export of the logs for the specified repository.

POST /api/v1/repository/{repository}/exportlogs

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

Request body schema (application/json)

Configuration for an export logs operation -

NameDescriptionSchema
+

NameDescriptionSchema

callback_url
optional

-
+

The callback URL to invoke with a link to the exported logs

-
+

string

-
+

callback_email
optional

-
+

The e-mail address at which to e-mail a link to the exported logs

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2599,123 +2599,123 @@ List the logs for the specified repository.

GET /api/v1/repository/{repository}/logs

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

endtime
optional

-
+

Latest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time for logs. Format: "%m/%d/%Y" in UTC.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2728,107 +2728,107 @@ Retrieves the label with the specific ID under the manifest.

GET /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

-
+

path

-
+

labelid
required

-
+

The ID of the label

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2839,107 +2839,107 @@ Deletes an existing label from a manifest.

DELETE /api/v1/repository/{repository}/manifest/{manifestref}/labels/{labelid}

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

-
+

path

-
+

labelid
required

-
+

The ID of the label

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -2949,125 +2949,125 @@ Adds a new label into the tag manifest.

POST /api/v1/repository/{repository}/manifest/{manifestref}/labels

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

Request body schema (application/json)

Adds a label to a manifest -

NameDescriptionSchema
+

NameDescriptionSchema

key
required

-
+

The key for the label

-
+

string

-
+

value
required

-
+

The value for the label

-
+

string

-
+

media_type
required

-
+

The media type for this label

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3081,107 +3081,107 @@ }' \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels

2.8.4. listManifestLabels

GET /api/v1/repository/{repository}/manifest/{manifestref}/labels

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

filter
optional

-
+

If specified, only labels matching the given prefix will be returned

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3190,91 +3190,91 @@ -H "Accept: application/json" \ https://<quay-server.example.com>/api/v1/repository/<repository>/manifest/<manifestref>/labels

2.8.5. getRepoManifest

GET /api/v1/repository/{repository}/manifest/{manifestref}

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3285,75 +3285,75 @@ Update the sync_status for a given Repository’s mirroring configuration.

POST /api/v1/repository/{repository}/mirror/sync-cancel

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3361,75 +3361,75 @@ Update the sync_status for a given Repository’s mirroring configuration.

POST /api/v1/repository/{repository}/mirror/sync-now

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3437,79 +3437,79 @@ Return the Mirror configuration for a given Repository.

GET /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
+

ViewMirrorConfig

-
+

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3517,173 +3517,173 @@ Allow users to modifying the repository’s mirroring configuration.

PUT /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Update the repository mirroring configuration. -

NameDescriptionSchema
+

NameDescriptionSchema

is_enabled
optional

-
+

Used to enable or disable synchronizations.

-
+

boolean

-
+

external_reference
optional

-
+

Location of the external repository.

-
+

string

-
+

external_registry_username
optional

-
+

Username used to authenticate with external registry.

-
 
+  

external_registry_password
optional

-
+

Password used to authenticate with external registry.

-
 
+  

sync_start_date
optional

-
+

Determines the next time this repository is ready for synchronization.

-
+

string

-
+

sync_interval
optional

-
+

Number of seconds after next_start_date to begin synchronizing.

-
+

integer

-
+

robot_username
optional

-
+

Username of robot which will be used for image pushes.

-
+

string

-
+

root_rule
optional

-
+

A list of glob-patterns used to determine which tags should be synchronized.

-
+

object

-
+

external_registry_config
optional

-
  +  

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -3691,1153 +3691,1153 @@ Create a RepoMirrorConfig for a given Repository.

POST /api/v1/repository/{repository}/mirror

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Create the repository mirroring configuration. -

NameDescriptionSchema
+

NameDescriptionSchema

is_enabled
optional

-
+

Used to enable or disable synchronizations.

-
+

boolean

-
+

external_reference
required

-
+

Location of the external repository.

-
+

string

-
+

external_registry_username
optional

-
+

Username used to authenticate with external registry.

-
 
+  

external_registry_password
optional

-
+

Password used to authenticate with external registry.

-
 
+  

sync_start_date
required

-
+

Determines the next time this repository is ready for synchronization.

-
+

string

-
+

sync_interval
required

-
+

Number of seconds after next_start_date to begin synchronizing.

-
+

integer

-
+

robot_username
required

-
+

Username of robot which will be used for image pushes.

-
+

string

-
+

root_rule
required

-
+

A list of glob-patterns used to determine which tags should be synchronized.

-
+

object

-
+

external_registry_config
optional

-
  +  

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10. namespacequota

2.10.1. listUserQuota

GET /api/v1/user/quota

Authorizations: oauth2_implicit (user:admin) -

Responses
HTTP CodeDescriptionSchema
+

Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.2. getOrganizationQuotaLimit

GET /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

limit_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.3. changeOrganizationQuotaLimit

PUT /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

limit_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

Request body schema (application/json)

Description of changing organization quota limit -

NameDescriptionSchema
+

NameDescriptionSchema

type
optional

-
+

Type of quota limit: "Warning" or "Reject"

-
+

string

-
+

threshold_percent
optional

-
+

Quota threshold, in percent of quota

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.4. deleteOrganizationQuotaLimit

DELETE /api/v1/organization/{orgname}/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

limit_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.5. createOrganizationQuotaLimit

POST /api/v1/organization/{orgname}/quota/{quota_id}/limit

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota limit -

NameDescriptionSchema
+

NameDescriptionSchema

type
required

-
+

Type of quota limit: "Warning" or "Reject"

-
+

string

-
+

threshold_percent
required

-
+

Quota threshold, in percent of quota

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.6. listOrganizationQuotaLimit

GET /api/v1/organization/{orgname}/quota/{quota_id}/limit

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.7. getUserQuotaLimit

GET /api/v1/user/quota/{quota_id}/limit/{limit_id}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

limit_id
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.8. listUserQuotaLimit

GET /api/v1/user/quota/{quota_id}/limit

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.9. getOrganizationQuota

GET /api/v1/organization/{orgname}/quota/{quota_id}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.10. changeOrganizationQuota

PUT /api/v1/organization/{orgname}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
optional

-
+

Number of bytes the organization is allowed

-
+

integer

-
+

limits
optional

-
+

Human readable storage capacity of the organization. Accepts SI units like Mi, Gi, or Ti, as well as non-standard units like GB or MB. Must be mutually exclusive with limit_bytes.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.11. deleteOrganizationQuota

DELETE /api/v1/organization/{orgname}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -4845,237 +4845,237 @@ Create a new organization quota.

POST /api/v1/organization/{orgname}/quota

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
required

-
+

Number of bytes the organization is allowed

-
+

integer

-
+

limits
optional

-
+

Human readable storage capacity of the organization. Accepts SI units like Mi, Gi, or Ti, as well as non-standard units like GB or MB. Must be mutually exclusive with limit_bytes.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.13. listOrganizationQuota

GET /api/v1/organization/{orgname}/quota

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.10.14. getUserQuota

GET /api/v1/user/quota/{quota_id}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

quota_id
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5087,95 +5087,95 @@ Authorizations: oauth2_implicit (user:admin)

Request body schema (application/json)

Description of a new organization. -

NameDescriptionSchema
+

NameDescriptionSchema

name
required

-
+

Organization username

-
+

string

-
+

email
optional

-
+

Organization contact email

-
+

string

-
+

recaptcha_response
optional

-
+

The (may be disabled) recaptcha response code for verification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5183,85 +5183,85 @@ "name": "<new_organization_name>" }' "https://<quay-server.example.com>/api/v1/organization/"

2.11.2. validateProxyCacheConfig

POST /api/v1/organization/{orgname}/validateproxycache

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
  +  

string

Request body schema (application/json)

Proxy cache configuration for an organization -

NameDescriptionSchema
+

NameDescriptionSchema

upstream_registry
required

-
+

Name of the upstream registry that is to be cached

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

202

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5269,75 +5269,75 @@ List outside collaborators of the specified organization.

GET /api/v1/organization/{orgname}/collaborators

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5345,91 +5345,91 @@ Retrieves the application with the specified client_id under the specified organization.

GET /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

client_id
required

-
+

The OAuth client ID

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5437,153 +5437,153 @@ Updates an application under this organization.

PUT /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

client_id
required

-
+

The OAuth client ID

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of an updated application. -

NameDescriptionSchema
+

NameDescriptionSchema

name
required

-
+

The name of the application

-
+

string

-
+

redirect_uri
required

-
+

The URI for the application’s OAuth redirect

-
+

string

-
+

application_uri
required

-
+

The URI for the application’s homepage

-
+

string

-
+

description
optional

-
+

The human-readable description for the application

-
+

string

-
+

avatar_email
optional

-
+

The e-mail address of the avatar to use for the application

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5591,91 +5591,91 @@ Deletes the application under this organization.

DELETE /api/v1/organization/{orgname}/applications/{client_id}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

client_id
required

-
+

The OAuth client ID

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5683,137 +5683,137 @@ Creates a new application under this organization.

POST /api/v1/organization/{orgname}/applications

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of a new organization application. -

NameDescriptionSchema
+

NameDescriptionSchema

name
required

-
+

The name of the application

-
+

string

-
+

redirect_uri
optional

-
+

The URI for the application’s OAuth redirect

-
+

string

-
+

application_uri
optional

-
+

The URI for the application’s homepage

-
+

string

-
+

description
optional

-
+

The human-readable description for the application

-
+

string

-
+

avatar_email
optional

-
+

The e-mail address of the avatar to use for the application

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5821,75 +5821,75 @@ List the applications for the specified organization.

GET /api/v1/organization/{orgname}/applications

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5897,75 +5897,75 @@ Retrieves the proxy cache configuration of the organization.

GET /api/v1/organization/{orgname}/proxycache

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -5973,75 +5973,75 @@ Delete proxy cache configuration for the organization.

DELETE /api/v1/organization/{orgname}/proxycache

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6049,89 +6049,89 @@ Creates proxy cache configuration for the organization.

POST /api/v1/organization/{orgname}/proxycache

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Proxy cache configuration for an organization -

NameDescriptionSchema
+

NameDescriptionSchema

upstream_registry
required

-
+

Name of the upstream registry that is to be cached

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6139,91 +6139,91 @@ Retrieves the details of a member of the organization.

GET /api/v1/organization/{orgname}/members/{membername}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

membername
required

-
+

The username of the organization member

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6231,91 +6231,91 @@ Removes a member from an organization, revoking all its repository priviledges and removing it from all teams in the organization.

DELETE /api/v1/organization/{orgname}/members/{membername}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

membername
required

-
+

The username of the organization member

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6323,75 +6323,75 @@ List the human members of the specified organization.

GET /api/v1/organization/{orgname}/members

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6399,75 +6399,75 @@ Get the details for the specified organization.

GET /api/v1/organization/{orgname}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6477,121 +6477,121 @@ Change the details for the specified organization.

PUT /api/v1/organization/{orgname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of updates for an existing organization -

NameDescriptionSchema
+

NameDescriptionSchema

email
optional

-
+

Organization contact email

-
+

string

-
+

invoice_email
optional

-
+

Whether the organization desires to receive emails for invoices

-
+

boolean

-
+

invoice_email_address
optional

-
+

The email address at which to receive invoices

-
 
+  

tag_expiration_s
optional

-
+

The number of seconds for tag expiration

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6599,75 +6599,75 @@ Deletes the specified organization.

DELETE /api/v1/organization/{orgname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6677,75 +6677,75 @@ Get information on the specified application.

GET /api/v1/app/{client_id}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

client_id
required

-
+

The OAuth client ID

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6755,91 +6755,91 @@ Get the fetch the permission for the specified user.

GET /api/v1/repository/{repository}/permissions/user/{username}/transitive

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

username
required

-
+

The username of the user to which the permissions apply

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6847,91 +6847,91 @@ Get the permission for the specified user.

GET /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

username
required

-
+

The username of the user to which the permission applies

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -6939,105 +6939,105 @@ Update the perimssions for an existing repository.

PUT /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

username
required

-
+

The username of the user to which the permission applies

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Description of a user permission. -

NameDescriptionSchema
+

NameDescriptionSchema

role
required

-
+

Role to use for the user

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7049,91 +7049,91 @@ Delete the permission for the user.

DELETE /api/v1/repository/{repository}/permissions/user/{username}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

username
required

-
+

The username of the user to which the permission applies

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7144,91 +7144,91 @@ Fetch the permission for the specified team.

GET /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

teamname
required

-
+

The name of the team to which the permission applies

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7236,105 +7236,105 @@ Update the existing team permission.

PUT /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

teamname
required

-
+

The name of the team to which the permission applies

-
+

string

Request body schema (application/json)

Description of a team permission. -

NameDescriptionSchema
+

NameDescriptionSchema

role
required

-
+

Role to use for the team

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7342,91 +7342,91 @@ Delete the permission for the specified team.

DELETE /api/v1/repository/{repository}/permissions/team/{teamname}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

teamname
required

-
+

The name of the team to which the permission applies

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7434,75 +7434,75 @@ List all team permission.

GET /api/v1/repository/{repository}/permissions/team/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7510,75 +7510,75 @@ List all user permissions.

GET /api/v1/repository/{repository}/permissions/user/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7589,97 +7589,97 @@ Creates an auto-prune policy for the organization

POST /api/v1/organization/{orgname}/autoprunepolicy/

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
required

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
required

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7687,75 +7687,75 @@ Lists the auto-prune policies for the organization

GET /api/v1/organization/{orgname}/autoprunepolicy/

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7763,91 +7763,91 @@ Fetches the auto-prune policy for the organization

GET /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7855,91 +7855,91 @@ Deletes the auto-prune policy for the organization

DELETE /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -7947,113 +7947,113 @@ Updates the auto-prune policy for the organization

PUT /api/v1/organization/{orgname}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
+

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
required

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
required

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

204

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8061,97 +8061,97 @@ Creates an auto-prune policy for the repository

POST /api/v1/repository/{repository}/autoprunepolicy/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
optional

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
optional

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8159,75 +8159,75 @@ Lists the auto-prune policies for the repository

GET /api/v1/repository/{repository}/autoprunepolicy/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8235,91 +8235,91 @@ Fetches the auto-prune policy for the repository

GET /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8327,91 +8327,91 @@ Deletes the auto-prune policy for the repository

DELETE /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8419,113 +8419,113 @@ Updates the auto-prune policy for the repository

PUT /api/v1/repository/{repository}/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
optional

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
optional

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8535,79 +8535,79 @@ Authorizations: oauth2_implicit (user:admin)

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
required

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
required

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8615,59 +8615,59 @@ Lists the auto-prune policies for the currently logged in user

GET /api/v1/user/autoprunepolicy/

Authorizations: oauth2_implicit (user:admin) -

Responses
HTTP CodeDescriptionSchema
+

Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8675,75 +8675,75 @@ Fetches the auto-prune policy for the currently logged in user

GET /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8751,75 +8751,75 @@ Deletes the auto-prune policy for the currently logged in user

DELETE /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8827,97 +8827,97 @@ Updates the auto-prune policy for the currently logged in user

PUT /api/v1/user/autoprunepolicy/{policy_uuid}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

policy_uuid
required

-
+

The unique ID of the policy

-
+

string

Request body schema (application/json)

The policy configuration that is to be applied to the user namespace -

NameDescriptionSchema
+

NameDescriptionSchema

method
required

-
+

The method to use for pruning tags (number_of_tags, creation_date)

-
+

string

-
+

value
required

-
+

The value to use for the pruning method (number of tags e.g. 10, time delta e.g. 7d (7 days))

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

204

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -8927,105 +8927,105 @@ Update the role of an existing permission prototype.

PUT /api/v1/organization/{orgname}/prototypes/{prototypeid}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

prototypeid
required

-
+

The ID of the prototype

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of a the new prototype role -

NameDescriptionSchema
+

NameDescriptionSchema

role
optional

-
+

Role that should be applied to the permission

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9039,91 +9039,91 @@ Delete an existing permission prototype.

DELETE /api/v1/organization/{orgname}/prototypes/{prototypeid}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

prototypeid
required

-
+

The ID of the prototype

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9134,113 +9134,113 @@ Create a new permission prototype.

POST /api/v1/organization/{orgname}/prototypes

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of a new prototype -

NameDescriptionSchema
+

NameDescriptionSchema

role
required

-
+

Role that should be applied to the delegate

-
+

string

-
+

activating_user
optional

-
+

Repository creating user to whom the rule should apply

-
+

object

-
+

delegate
required

-
+

Information about the user or team to which the rule grants access

-
+

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9257,75 +9257,75 @@ List the existing prototypes for this organization.

GET /api/v1/organization/{orgname}/prototypes

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9410,115 +9410,115 @@ Authorizations: oauth2_implicit (repo:create)

Request body schema (application/json)

Description of a new repository -

NameDescriptionSchema
+

NameDescriptionSchema

repository
required

-
+

Repository name

-
+

string

-
+

visibility
required

-
+

Visibility which the repository will start with

-
+

string

-
+

namespace
optional

-
+

Namespace in which the repository should be created. If omitted, the username of the caller is used

-
+

string

-
+

description
required

-
+

Markdown encoded description for the repository

-
+

string

-
+

repo_kind
optional

-
+

The kind of repository

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9534,171 +9534,171 @@ Fetch the list of repositories visible to the current user under a variety of situations.

GET /api/v1/repository

Authorizations: oauth2_implicit (repo:read) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

repo_kind
optional

-
+

The kind of repositories to return

-
+

string

-
+

query

-
+

popularity
optional

-
+

Whether to include the repository’s popularity metric.

-
+

boolean

-
+

query

-
+

last_modified
optional

-
+

Whether to include when the repository was last modified.

-
+

boolean

-
+

query

-
+

public
optional

-
+

Adds any repositories visible to the user by virtue of being public

-
+

boolean

-
+

query

-
+

starred
optional

-
+

Filters the repositories returned to those starred by the user

-
+

boolean

-
+

query

-
+

namespace
optional

-
+

Filters the repositories returned to this namespace

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9706,89 +9706,89 @@ Change the visibility of a repository.

POST /api/v1/repository/{repository}/changevisibility

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Change the visibility for the repository. -

NameDescriptionSchema
+

NameDescriptionSchema

visibility
required

-
+

Visibility which the repository will start with

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9796,89 +9796,89 @@ Change the state of a repository.

PUT /api/v1/repository/{repository}/changestate

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Change the state of the repository. -

NameDescriptionSchema
+

NameDescriptionSchema

state
required

-
+

Determines whether pushes are allowed.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9886,107 +9886,107 @@ Fetch the specified repository.

GET /api/v1/repository/{repository}

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

includeTags
optional

-
+

Whether to include repository tags

-
+

boolean

-
+

query

-
+

includeStats
optional

-
+

Whether to include action statistics

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -9994,89 +9994,89 @@ Update the description in the specified repository.

PUT /api/v1/repository/{repository}

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Fields which can be updated in a repository. -

NameDescriptionSchema
+

NameDescriptionSchema

description
required

-
+

Markdown encoded description for the repository

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10084,75 +10084,75 @@ Delete a repository.

DELETE /api/v1/repository/{repository}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10162,91 +10162,91 @@ Queues a test notification for this repository.

POST /api/v1/repository/{repository}/notification/{uuid}/test

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

uuid
required

-
+

The UUID of the notification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10256,91 +10256,91 @@ Get information for the specified notification.

GET /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

uuid
required

-
+

The UUID of the notification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10350,91 +10350,91 @@ Deletes the specified notification.

DELETE /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

uuid
required

-
+

The UUID of the notification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10444,227 +10444,227 @@ Resets repository notification to 0 failures.

POST /api/v1/repository/{repository}/notification/{uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

uuid
required

-
+

The UUID of the notification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2.17.5. createRepoNotification

POST /api/v1/repository/{repository}/notification/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Information for creating a notification on a repository -

NameDescriptionSchema
+

NameDescriptionSchema

event
required

-
+

The event on which the notification will respond

-
+

string

-
+

method
required

-
+

The method of notification (such as email or web callback)

-
+

string

-
+

config
required

-
+

JSON config information for the specific method of notification

-
+

object

-
+

eventConfig
required

-
+

JSON config information for the specific event of notification

-
+

object

-
+

title
optional

-
+

The human-readable title of the notification

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10685,75 +10685,75 @@ List the notifications for the specified repository.

GET /api/v1/repository/{repository}/notification/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10763,107 +10763,107 @@ List the available robots for the user.

GET /api/v1/user/robots

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

limit
optional

-
+

If specified, the number of robots to return.

-
+

integer

-
+

query

-
+

token
optional

-
+

If false, the robot’s token is not returned.

-
+

boolean

-
+

query

-
+

permissions
optional

-
+

Whether to include repositories and teams in which the robots have permission.

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10871,91 +10871,91 @@ Returns the list of repository permissions for the org’s robot.

GET /api/v1/organization/{orgname}/robots/{robot_shortname}/permissions

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -10963,91 +10963,91 @@ Regenerates the token for an organization robot.

POST /api/v1/organization/{orgname}/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11057,75 +11057,75 @@ Returns the list of repository permissions for the user’s robot.

GET /api/v1/user/robots/{robot_shortname}/permissions

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11133,75 +11133,75 @@ Regenerates the token for a user’s robot.

POST /api/v1/user/robots/{robot_shortname}/regenerate

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11211,91 +11211,91 @@ Returns the organization’s robot with the specified name.

GET /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11303,117 +11303,117 @@ Create a new robot in the organization.

PUT /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Optional data for creating a robot -

NameDescriptionSchema
+

NameDescriptionSchema

description
optional

-
+

Optional text description for the robot

-
+

string

-
+

unstructured_metadata
optional

-
+

Optional unstructured metadata for the robot

-
+

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11421,91 +11421,91 @@ Delete an existing organization robot.

DELETE /api/v1/organization/{orgname}/robots/{robot_shortname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11515,123 +11515,123 @@ List the organization’s robots.

GET /api/v1/organization/{orgname}/robots

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

limit
optional

-
+

If specified, the number of robots to return.

-
+

integer

-
+

query

-
+

token
optional

-
+

If false, the robot’s token is not returned.

-
+

boolean

-
+

query

-
+

permissions
optional

-
+

Whether to include repositories and teams in which the robots have permission.

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11639,75 +11639,75 @@ Returns the user’s robot with the specified name.

GET /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11717,101 +11717,101 @@ Create a new user robot with the specified name.

PUT /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

Request body schema (application/json)

Optional data for creating a robot -

NameDescriptionSchema
+

NameDescriptionSchema

description
optional

-
+

Optional text description for the robot

-
+

string

-
+

unstructured_metadata
optional

-
+

Optional unstructured metadata for the robot

-
+

object

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11819,75 +11819,75 @@ Delete an existing robot.

DELETE /api/v1/user/robots/{robot_shortname}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

robot_shortname
required

-
+

The short name for the robot, without any user or organization prefix

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -11899,107 +11899,107 @@ Get a list of apps and repositories that match the specified query.

GET /api/v1/find/repositories

Authorizations:  -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

includeUsage
optional

-
+

Whether to include usage metadata

-
+

boolean

-
+

query

-
+

page
optional

-
+

The page.

-
+

integer

-
+

query

-
+

query
optional

-
+

The search query.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12007,75 +12007,75 @@ Get a list of entities and resources that match the specified query.

GET /api/v1/find/all

Authorizations: oauth2_implicit (repo:read) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

query
optional

-
+

The search query.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12083,119 +12083,119 @@ Get a list of entities that match the specified prefix.

GET /api/v1/entities/{prefix}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

prefix
required

-
  +  

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

includeOrgs
optional

-
+

Whether to include orgs names.

-
+

boolean

-
+

query

-
+

includeTeams
optional

-
+

Whether to include team names.

-
+

boolean

-
+

query

-
+

namespace
optional

-
+

Namespace to use when querying for org entities.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12203,107 +12203,107 @@ List and manage repository vulnerabilities and other security information.

2.20.1. getRepoManifestSecurity

GET /api/v1/repository/{repository}/manifest/{manifestref}/security

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

manifestref
required

-
+

The digest of the manifest

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

vulnerabilities
optional

-
+

Include vulnerabilities informations

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12318,83 +12318,83 @@ Authorizations: oauth2_implicit (super:user)

Request body schema (application/json)

Data for creating a user -

NameDescriptionSchema
+

NameDescriptionSchema

username
required

-
+

The username of the user being created

-
+

string

-
+

email
optional

-
+

The email address of the user being created

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12407,71 +12407,71 @@ Authorizations: oauth2_implicit (super:user)

Request body schema (application/json)

Data for deleting a user -

NameDescriptionSchema
+

NameDescriptionSchema

username
required

-
+

The username of the user being deleted

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12479,107 +12479,107 @@ Returns a list of all users in the system.

GET /api/v1/superuser/users/

Authorizations: oauth2_implicit (super:user) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

limit
optional

-
+

Limit to the number of results to return per page. Max 100.

-
+

integer

-
+

query

-
+

disabled
optional

-
+

If false, only enabled users will be returned.

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12587,199 +12587,199 @@ List the usage logs for the current system.

GET /api/v1/superuser/logs

Authorizations: oauth2_implicit (super:user) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
+

query

-
+

page
optional

-
+

The page number for the logs

-
+

integer

-
+

query

-
+

endtime
optional

-
+

Latest time to which to get logs (%m/%d/%Y %Z)

-
+

string

-
+

query

-
+

starttime
optional

-
+

Earliest time from which to get logs (%m/%d/%Y %Z)

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

-

Part I. listAllOrganizations

+

Part I. listAllOrganizations

List the organizations for the current system.

GET /api/v1/superuser/organizations

Authorizations: oauth2_implicit (super:user) -

Query parameters

TypeNameDescriptionSchema
+

Query parameters

TypeNameDescriptionSchema

path

-
+

name
required

-
+

The name of the organization being managed

-
+

string

-

Responses

HTTP CodeDescriptionSchema
+

Responses

HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -12787,837 +12787,837 @@ Authorizations: oauth2_implicit (super:user)

Request body schema (application/json)

Description of creation of a service key -

NameDescriptionSchema
+

NameDescriptionSchema

service
required

-
+

The service authenticating with this key

-
+

string

-
+

name
optional

-
+

The friendly name of a service key

-
+

string

-
+

metadata
optional

-
+

The key/value pairs of this key’s metadata

-
+

object

-
+

notes
optional

-
+

If specified, the extra notes for the key

-
+

string

-
+

expiration
required

-
+

The expiration date as a unix timestamp

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

2. listServiceKeys

GET /api/v1/superuser/keys

Authorizations: oauth2_implicit (super:user) -

Responses
HTTP CodeDescriptionSchema
+

Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

3. changeUserQuotaSuperUser

PUT /api/v1/superuser/organization/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
+

path

-
+

quota_id
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
optional

-
+

Number of bytes the organization is allowed

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

4. deleteUserQuotaSuperUser

DELETE /api/v1/superuser/organization/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
+

path

-
+

quota_id
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

5. createUserQuotaSuperUser

POST /api/v1/superuser/organization/{namespace}/quota

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
required

-
+

Number of bytes the organization is allowed

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

6. listUserQuotaSuperUser

GET /api/v1/superuser/organization/{namespace}/quota

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

7. changeOrganizationQuotaSuperUser

PUT /api/v1/superuser/users/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
+

path

-
+

quota_id
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
optional

-
+

Number of bytes the organization is allowed

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

8. deleteOrganizationQuotaSuperUser

DELETE /api/v1/superuser/users/{namespace}/quota/{quota_id}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
+

path

-
+

quota_id
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

9. createOrganizationQuotaSuperUser

POST /api/v1/superuser/users/{namespace}/quota

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

Request body schema (application/json)

Description of a new organization quota -

NameDescriptionSchema
+

NameDescriptionSchema

limit_bytes
optional

-
+

Number of bytes the organization is allowed

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

10. listOrganizationQuotaSuperUser

GET /api/v1/superuser/users/{namespace}/quota

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -13625,121 +13625,121 @@ Updates information about the specified user.

PUT /api/v1/superuser/organizations/{name}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

name
required

-
+

The name of the organizaton being managed

-
+

string

Request body schema (application/json)

Description of updates for an existing organization -

NameDescriptionSchema
+

NameDescriptionSchema

email
optional

-
+

Organization contact email

-
+

string

-
+

invoice_email
optional

-
+

Whether the organization desires to receive emails for invoices

-
+

boolean

-
+

invoice_email_address
optional

-
+

The email address at which to receive invoices

-
 
+  

tag_expiration_s
optional

-
+

The number of seconds for tag expiration

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -13747,419 +13747,419 @@ Deletes the specified organization.

DELETE /api/v1/superuser/organizations/{name}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

name
required

-
+

The name of the organizaton being managed

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

13. approveServiceKey

POST /api/v1/superuser/approvedkeys/{kid}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

kid
required

-
+

The unique identifier for a service key

-
+

string

Request body schema (application/json)

Information for approving service keys -

NameDescriptionSchema
+

NameDescriptionSchema

notes
optional

-
+

Optional approval notes

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

14. deleteServiceKey

DELETE /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

kid
required

-
+

The unique identifier for a service key

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

15. updateServiceKey

PUT /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

kid
required

-
+

The unique identifier for a service key

-
+

string

Request body schema (application/json)

Description of updates for a service key -

NameDescriptionSchema
+

NameDescriptionSchema

name
optional

-
+

The friendly name of a service key

-
+

string

-
+

metadata
optional

-
+

The key/value pairs of this key’s metadata

-
+

object

-
+

expiration
optional

-
+

The expiration date as a unix timestamp

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

16. getServiceKey

GET /api/v1/superuser/keys/{kid}

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

kid
required

-
+

The unique identifier for a service key

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14167,75 +14167,75 @@ Return the status for the builds specified by the build uuids.

GET /api/v1/superuser/{build_uuid}/status

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14243,75 +14243,75 @@ Returns information about a build.

GET /api/v1/superuser/{build_uuid}/build

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14319,279 +14319,279 @@ Return the build logs for the build specified by the build uuid.

GET /api/v1/superuser/{build_uuid}/logs

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

build_uuid
required

-
+

The UUID of the build

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

20. getRegistrySize

GET /api/v1/superuser/registrysize/

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

Description of a image registry size -

NameDescriptionSchema
+

NameDescriptionSchema

size_bytes*
optional

-
+

Number of bytes the organization is allowed

-
+

integer

-
+

last_ran

-
  +  

integer

-
+

queued

-
  +  

boolean

-
+

running

-
  +  

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

CREATED

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

21. postRegistrySize

POST /api/v1/superuser/registrysize/

Authorizations: oauth2_implicit (super:user) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

namespace
required

-
  +  

string

Request body schema (application/json)

Description of a image registry size -

NameDescriptionSchema
+

NameDescriptionSchema

last_ran

-
  +  

integer

-
+

queued

-
  +  

boolean

-
+

running

-
  +  

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

CREATED

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14601,105 +14601,105 @@ Restores a repository tag back to a previous image in the repository.

POST /api/v1/repository/{repository}/tag/{tag}/restore

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

tag
required

-
+

The name of the tag

-
+

string

Request body schema (application/json)

Restores a tag to a specific image -

NameDescriptionSchema
+

NameDescriptionSchema

manifest_digest
required

-
+

If specified, the manifest digest that should be used

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14713,109 +14713,109 @@ Change which image a tag points to or create a new tag.

PUT /api/v1/repository/{repository}/tag/{tag}

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

tag
required

-
+

The name of the tag

-
+

string

Request body schema (application/json)

Makes changes to a specific tag -

NameDescriptionSchema
+

NameDescriptionSchema

manifest_digest
optional

-
+

(If specified) The manifest digest to which the tag should point

-
 
+  

expiration
optional

-
+

(If specified) The expiration for the image

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -14829,245 +14829,245 @@ Delete the specified repository tag.

DELETE /api/v1/repository/{repository}/tag/{tag}

Authorizations: oauth2_implicit (repo:write) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
+

path

-
+

tag
required

-
+

The name of the tag

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

22.4. listRepoTags

GET /api/v1/repository/{repository}/tag/

Authorizations: oauth2_implicit (repo:read) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

onlyActiveTags
optional

-
+

Filter to only active tags.

-
+

boolean

-
+

query

-
+

page
optional

-
+

Page index for the results. Default 1.

-
+

integer

-
+

query

-
+

limit
optional

-
+

Limit to the number of results to return per page. Max 100.

-
+

integer

-
+

query

-
+

filter_tag_name
optional

-
+

Syntax: <op>:<name> Filters the tag names based on the operation.<op> can be 'like' or 'eq'.

-
+

string

-
+

query

-
+

specificTag
optional

-
+

Filters the tags to the specific tag.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15080,91 +15080,91 @@ Returns the list of repository permissions for the org’s team.

GET /api/v1/organization/{orgname}/team/{teamname}/permissions

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15172,107 +15172,107 @@ Adds or invites a member to an existing team.

PUT /api/v1/organization/{orgname}/team/{teamname}/members/{membername}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

membername
required

-
+

The username of the team member

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15282,107 +15282,107 @@ Delete a member of a team.

If the user is merely invited to join the team, then the invite is removed instead.
DELETE /api/v1/organization/{orgname}/team/{teamname}/members/{membername}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

membername
required

-
+

The username of the team member

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15392,107 +15392,107 @@ Retrieve the list of members for the specified team.

GET /api/v1/organization/{orgname}/team/{teamname}/members

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

includePending
optional

-
+

Whether to include pending members

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15502,95 +15502,95 @@ Invites an email address to an existing team.

PUT /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

email
required

-
  +  

string

-
+

path

-
+

teamname
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15600,95 +15600,95 @@ Delete an invite of an email address to join a team.

DELETE /api/v1/organization/{orgname}/team/{teamname}/invite/{email}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

email
required

-
  +  

string

-
+

path

-
+

teamname
required

-
  +  

string

-
+

path

-
+

orgname
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15702,117 +15702,117 @@ This API is also used to create a team.

PUT /api/v1/organization/{orgname}/team/{teamname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

Request body schema (application/json)

Description of a team -

NameDescriptionSchema
+

NameDescriptionSchema

role
required

-
+

Org wide permissions that should apply to the team

-
+

string

-
+

description
optional

-
+

Markdown description for the team

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15820,91 +15820,91 @@ Delete the specified team.

DELETE /api/v1/organization/{orgname}/team/{teamname}

Authorizations: oauth2_implicit (org:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

teamname
required

-
+

The name of the team

-
+

string

-
+

path

-
+

orgname
required

-
+

The name of the organization

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -15916,115 +15916,115 @@ Activate the specified build trigger.

POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/activate

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Request body schema (application/json)
NameDescriptionSchema
+
Request body schema (application/json)
NameDescriptionSchema

config
required

-
+

Arbitrary json.

-
+

object

-
+

pull_robot
optional

-
+

The name of the robot that will be used to pull images.

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16032,107 +16032,107 @@ List the builds started by the specified trigger.

GET /api/v1/repository/{repository}/trigger/{trigger_uuid}/builds

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Query parameters
TypeNameDescriptionSchema
+
Query parameters
TypeNameDescriptionSchema

query

-
+

limit
optional

-
+

The maximum number of builds to return

-
+

integer

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16140,125 +16140,125 @@ Manually start a build from the specified trigger.

POST /api/v1/repository/{repository}/trigger/{trigger_uuid}/start

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Optional run parameters for activating the build trigger -

NameDescriptionSchema
+

NameDescriptionSchema

branch_name
optional

-
+

(SCM only) If specified, the name of the branch to build.

-
+

string

-
+

commit_sha
optional

-
+

(Custom Only) If specified, the ref/SHA1 used to checkout a git repository.

-
+

string

-
+

refs
optional

-
+

(SCM Only) If specified, the ref to build.

-
 
Responses
HTTP CodeDescriptionSchema
+  
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16266,91 +16266,91 @@ Get information for the specified build trigger.

GET /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16358,105 +16358,105 @@ Updates the specified build trigger.

PUT /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

Request body schema (application/json)

Options for updating a build trigger -

NameDescriptionSchema
+

NameDescriptionSchema

enabled
required

-
+

Whether the build trigger is enabled

-
+

boolean

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16464,91 +16464,91 @@ Delete the specified build trigger.

DELETE /api/v1/repository/{repository}/trigger/{trigger_uuid}

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

trigger_uuid
required

-
+

The UUID of the build trigger

-
+

string

-
+

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16556,75 +16556,75 @@ List the triggers for the specified repository.

GET /api/v1/repository/{repository}/trigger/

Authorizations: oauth2_implicit (repo:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16634,83 +16634,83 @@ Star a repository.

POST /api/v1/user/starred

Authorizations: oauth2_implicit (repo:read) -

Request body schema (application/json)
NameDescriptionSchema
+

Request body schema (application/json)
NameDescriptionSchema

namespace
required

-
+

Namespace in which the repository belongs

-
+

string

-
+

repository
required

-
+

Repository name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

201

-
+

Successful creation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16718,75 +16718,75 @@ List all starred repositories.

GET /api/v1/user/starred

Authorizations: oauth2_implicit (user:admin) -

Query parameters
TypeNameDescriptionSchema
+

Query parameters
TypeNameDescriptionSchema

query

-
+

next_page
optional

-
+

The page token for the next page

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16794,63 +16794,63 @@ Get user information for the authenticated user.

GET /api/v1/user/

Authorizations: oauth2_implicit (user:read) -

Responses
HTTP CodeDescriptionSchema
+

Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
+

UserView

-
+

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16858,75 +16858,75 @@ Removes a star from a repository.

DELETE /api/v1/user/starred/{repository}

Authorizations: oauth2_implicit (user:admin) -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

repository
required

-
+

The full path of the repository. e.g. namespace/name

-
+

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

204

-
+

Deleted

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

@@ -16934,371 +16934,371 @@ Get user information for the specified user.

GET /api/v1/users/{username}

Authorizations:  -

Path parameters
TypeNameDescriptionSchema
+

Path parameters
TypeNameDescriptionSchema

path

-
+

username
required

-
  +  

string

-
Responses
HTTP CodeDescriptionSchema
+
Responses
HTTP CodeDescriptionSchema

200

-
+

Successful invocation

-
 
+  

400

-
+

Bad Request

-
+

ApiError

-
+

401

-
+

Session required

-
+

ApiError

-
+

403

-
+

Unauthorized access

-
+

ApiError

-
+

404

-
+

Not found

-
+

ApiError

-

26. Definitions

26.1. ApiError

NameDescriptionSchema
+

26. Definitions

26.1. ApiError

NameDescriptionSchema

status
optional

-
+

Status code of the response.

-
+

integer

-
+

type
optional

-
+

Reference to the type of the error.

-
+

string

-
+

detail
optional

-
+

Details about the specific instance of the error.

-
+

string

-
+

title
optional

-
+

Unique error code to identify the type of error.

-
+

string

-
+

error_message
optional

-
+

Deprecated; alias for detail

-
+

string

-
+

error_type
optional

-
+

Deprecated; alias for detail

-
+

string

-

26.2. UserView

NameDescriptionSchema
+

26.2. UserView

NameDescriptionSchema

verified
optional

-
+

Whether the user’s email address has been verified

-
+

boolean

-
+

anonymous
optional

-
+

true if this user data represents a guest user

-
+

boolean

-
+

email
optional

-
+

The user’s email address

-
+

string

-
+

avatar
optional

-
+

Avatar data representing the user’s icon

-
+

object

-
+

organizations
optional

-
+

Information about the organizations in which the user is a member

-
+

array of object

-
+

logins
optional

-
+

The list of external login providers against which the user has authenticated

-
+

array of object

-
+

can_create_repo
optional

-
+

Whether the user has permission to create repositories

-
+

boolean

-
+

preferred_namespace
optional

-
+

If true, the user’s namespace is the preferred namespace to display

-
+

boolean

-

26.3. ViewMirrorConfig

NameDescriptionSchema
+

26.3. ViewMirrorConfig

NameDescriptionSchema

is_enabled
optional

-
+

Used to enable or disable synchronizations.

-
+

boolean

-
+

external_reference
optional

-
+

Location of the external repository.

-
+

string

-
+

external_registry_username
optional

-
+

Username used to authenticate with external registry.

-
 
+  

external_registry_password
optional

-
+

Password used to authenticate with external registry.

-
 
+  

sync_start_date
optional

-
+

Determines the next time this repository is ready for synchronization.

-
+

string

-
+

sync_interval
optional

-
+

Number of seconds after next_start_date to begin synchronizing.

-
+

integer

-
+

robot_username
optional

-
+

Username of robot which will be used for image pushes.

-
+

string

-
+

root_rule
optional

-
+

A list of glob-patterns used to determine which tags should be synchronized.

-
+

object

-
+

external_registry_config
optional

-
  +  

object

-

26.4. ApiErrorDescription

NameDescriptionSchema
+

26.4. ApiErrorDescription

NameDescriptionSchema

type
optional

-
+

A reference to the error type resource

-
+

string

-
+

title
optional

-
+

The title of the error. Can be used to uniquely identify the kind of error.

-
+

string

-
+

description
optional

-
+

A more detailed description of the error that may include help for fixing the issue.

-
+

string

@@ -17320,7 +17320,7 @@ }, }

3.2. rule_rule object reference

    {
             "root_rule": {"rule_kind": "tag_glob_csv", "rule_value": ["latest", "foo", "bar"]},
-        }

Legal Notice

+ }

Legal Notice

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/architecture/index.html b/master/architecture/index.html index 2fb691a2..83797803 100644 --- a/master/architecture/index.html +++ b/master/architecture/index.html @@ -1,6 +1,6 @@ -Red Hat Quay architecture
Red Hat Quay 3.13

Red Hat Quay architecture

Red Hat Quay Architecture

Red Hat OpenShift Documentation Team

Abstract

+Red Hat Quay architecture
Red Hat Quay 3.13

Red Hat Quay architecture

Red Hat Quay Architecture

Red Hat OpenShift Documentation Team

Abstract

Red Hat Quay Architecture

Chapter 1. Red Hat Quay overview

Red Hat Quay is a distributed and highly available container image registry for your enterprise. @@ -438,99 +438,99 @@ Automatic synchronization or mirroring of selected (allowlisted) upstream repositories from external registries into a local Red Hat Quay deployment

Note

Repository mirroring and geo-replication can be used simultaneously. -

Table 6.1. Red Hat Quay Repository mirroring and geo-replication comparison

Feature / CapabilityGeo-replicationRepository mirroring
+

Table 6.1. Red Hat Quay Repository mirroring and geo-replication comparison

Feature / CapabilityGeo-replicationRepository mirroring

What is the feature designed to do?

-
+

A shared, global registry

-
+

Distinct, different registries

-
+

What happens if replication or mirroring has not been completed yet?

-
+

The remote copy is used (slower)

-
+

No image is served

-
+

Is access to all storage backends in both regions required?

-
+

Yes (all Red Hat Quay nodes)

-
+

No (distinct storage)

-
+

Can users push images from both sites to the same repository?

-
+

Yes

-
+

No

-
+

Is all registry content and configuration identical across all regions (shared database)?

-
+

Yes

-
+

No

-
+

Can users select individual namespaces or repositories to be mirrored?

-
+

No

-
+

Yes

-
+

Can users apply filters to synchronization rules?

-
+

No

-
+

Yes

-
+

Are individual / different role-base access control configurations allowed in each region

-
+

No

-
+

Yes

@@ -568,143 +568,143 @@ Stateless components of Red Hat Quay can be scaled out, but this will cause a heavier load on stateful backend services.

7.1. Red Hat Quay sample sizings

The following table shows approximate sizing for Proof of Concept, mid-size, and high-end deployments. Whether a deployment runs appropriately with the same metrics depends on many factors not shown below. -

MetricProof of conceptMid-sizeHigh End
(Quay.io)
+

MetricProof of conceptMid-sizeHigh End
(Quay.io)

No. of Quay containers by default

-
+

1

-
+

4

-
+

15

-
+

No. of Quay containers max at scale-out

-
+

N/A

-
+

8

-
+

30

-
+

No. of Clair containers by default

-
+

1

-
+

3

-
+

10

-
+

No. of Clair containers max at scale-out

-
+

N/A

-
+

6

-
+

15

-
+

No. of mirroring pods (to mirror 100 repositories)

-
+

1

-
+

5-10

-
+

N/A

-
+

Database sizing

-
+

2 -4 Cores
6-8 GB RAM
10-20 GB disk

-
+

4-8 Cores
6-32 GB RAM
100 GB - 1 TB disk

-
+

32 cores
244 GB
1+ TB disk

-
+

Object storage backend sizing

-
+

10-100 GB

-
+

1 - 20 TB

-
+

50+ TB up to PB

-
+

Redis cache sizing

-
  +  

2 Cores
2-4 GB RAM

-
+

4 cores
28 GB RAM

-
+

Underlying node sizing
(physical or virtual)

-
+

4 Cores
8 GB RAM

-
+

4-6 Cores
12-16 GB RAM

-
+

Quay:
13 cores
56GB RAM

Clair:
2 cores
4 GB RAM

@@ -770,101 +770,101 @@ For the namespace auto-pruning feature, two distinct database tables within a database schema were created: one for namespaceautoprunepolicy and another for autoprunetaskstatus. An auto-prune worker carries out the configured policies.

Namespace auto prune policy database table

The namespaceautoprunepolicy database table holds the policy configuration for a single namespace. There is only one entry per namespace, but there is support for multiple rows per namespace_id. The policy field holds the policy details, such as {method: "creation_date", olderThan: "2w"} or {method: "number_of_tags", numTags: 100}. -

Table 9.1. namespaceautoprunepolicy database table

FieldTypeAttributesDescription
+

Table 9.1. namespaceautoprunepolicy database table

FieldTypeAttributesDescription

uuid

-
+

character varying (225)

-
+

Unique, indexed

-
+

Unique identifier for this policy

-
+

namespace_id

-
+

Integer

-
+

Foreign Key

-
+

Namespace that the policy falls under

-
+

policy

-
+

text

-
+

JSON

-
+

Policy configuration

Auto-prune task status database table

The autoprunetaskstatus table registers tasks to be executed by the auto-prune worker. Tasks are executed within the context of a single namespace. Only one task per namespace exists. -

Table 9.2. autoprunetaskstatus database table

FieldTypeAttributesDescription
+

Table 9.2. autoprunetaskstatus database table

FieldTypeAttributesDescription

namespace_id

-
+

Integer

-
+

Foreign Key

-
+

Namespace that this task belongs to

-
+

last_ran_ms

-
+

Big Integer (bigint)

-
+

Nullable, indexed

-
+

Last time that the worker executed the policies for this namespace

-
+

status

-
+

text

-
+

Nullable

-
+

Details from the last execution task

@@ -902,7 +902,7 @@ The last_ran_ms gets updated after a row from autoprunetask is selected.
  • The auto-prune worker ends. -
  • Legal Notice

    +

    Legal Notice

    Copyright © 2024 Red Hat, Inc.
    The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/config_quay/index.html b/master/config_quay/index.html index 84e9e429..25eb058d 100644 --- a/master/config_quay/index.html +++ b/master/config_quay/index.html @@ -1,6 +1,6 @@ -Configure Red Hat Quay
    Red Hat Quay 3.13

    Configure Red Hat Quay

    Customizing Red Hat Quay using configuration options

    Red Hat OpenShift Documentation Team

    Abstract

    +Configure Red Hat Quay
    Red Hat Quay 3.13

    Configure Red Hat Quay

    Customizing Red Hat Quay using configuration options

    Red Hat OpenShift Documentation Team

    Abstract

    Configure Red Hat Quay

    Chapter 1. Getting started with Red Hat Quay configuration

    Red Hat Quay can be deployed by an independent, standalone configuration, or by using the Red Hat Quay Operator on OpenShift Container Platform. @@ -466,75 +466,75 @@ Legacy options

    3.4. General required fields

    The following table describes the required configuration fields for a Red Hat Quay deployment: -

    Table 3.1. General required fields

    FieldTypeDescription
    +

    Table 3.1. General required fields

    FieldTypeDescription

    AUTHENTICATION_TYPE
    (Required)

    -
    +

    String

    -
    +

    The authentication engine to use for credential authentication.

    Values:
    One of Database, LDAP, JWT, Keystone, OIDC

    Default: Database

    -
    +

    PREFERRED_URL_SCHEME
    (Required)

    -
    +

    String

    -
    +

    The URL scheme to use when accessing Red Hat Quay.

    Values:
    One of http, https

    Default: http

    -
    +

    SERVER_HOSTNAME
    (Required)

    -
    +

    String

    -
    +

    The URL at which Red Hat Quay is accessible, without the scheme.

    Example:
    quay-server.example.com

    -
    +

    DATABASE_SECRET_KEY
    (Required)

    -
    +

    String

    -
    +

    Key used to encrypt sensitive fields within the database. This value should never be changed once set, otherwise all reliant fields, for example, repository mirror username and password configurations, are invalidated.
    This value is set automatically by the Red Hat Quay Operator for Operator-based deployments. For standalone deployments, administrators can provide their own key using Open SSL or a similar tool. Key length should not exceed 63 characters.

    -
    +

    SECRET_KEY
    (Required)

    -
    +

    String

    -
    +

    Key used to encrypt the session cookie and the CSRF token needed for correct interpretation of the user session. The value should not be changed when set. Should be persistent across all Red Hat Quay instances. If not persistent across all instances, login failures and other errors related to session persistence might occur.

    -
    +

    SETUP_COMPLETE
    (Required)

    -
    +

    Boolean

    -
    +

    This is an artifact left over from earlier versions of the software and currently it must be specified with a value of true.

    @@ -544,15 +544,15 @@ With Red Hat Quay, connection to the database is configured by using the required DB_URI field.

    The following table describes the DB_URI configuration field: -

    Table 3.2. Database URI

    FieldTypeDescription
    +

    Table 3.2. Database URI

    FieldTypeDescription

    DB_URI
    (Required)

    -
    +

    String

    -
    +

    The URI for accessing the database, including any credentials.

    @@ -566,39 +566,39 @@ Optional connection arguments are configured by the DB_CONNECTION_ARGS parameter. Some of the key-value pairs defined under DB_CONNECTION_ARGS are generic, while others are database specific.

    The following table describes database connection arguments: -

    Table 3.3. Database connection arguments

    FieldTypeDescription
    +

    Table 3.3. Database connection arguments

    FieldTypeDescription

    DB_CONNECTION_ARGS

    -
    +

    Object

    -
    +

    Optional connection arguments for the database, such as timeouts and SSL/TLS.

    -
    +

    .autorollback

    -
    +

    Boolean

    -
    +

    Whether to use thread-local connections.
    Should always be true

    -
    +

    .threadlocals

    -
    +

    Boolean

    -
    +

    Whether to use auto-rollback connections.
    Should always be true

    @@ -608,51 +608,51 @@ sslmode: verify-ca sslrootcert: /path/to/cacert

    The sslmode option determines whether, or with, what priority a secure SSL/TLS TCP/IP connection will be negotiated with the server. There are six modes: -

    Table 3.4. SSL/TLS options

    ModeDescription
    +

    Table 3.4. SSL/TLS options

    ModeDescription

    disable

    -
    +

    Your configuration only tries non-SSL/TLS connections.

    -
    +

    allow

    -
    +

    Your configuration first tries a non-SSL/TLS connection. Upon failure, tries an SSL/TLS connection.

    -
    +

    prefer
    (Default)

    -
    +

    Your configuration first tries an SSL/TLS connection. Upon failure, tries a non-SSL/TLS connection.

    -
    +

    require

    -
    +

    Your configuration only tries an SSL/TLS connection. If a root CA file is present, it verifies the certificate in the same way as if verify-ca was specified.

    -
    +

    verify-ca

    -
    +

    Your configuration only tries an SSL/TLS connection, and verifies that the server certificate is issued by a trusted certificate authority (CA).

    -
    +

    verify-full

    -
    +

    Only tries an SSL/TLS connection, and verifies that the server certificate is issued by a trusted CA and that the requested server hostname matches that in the certificate.

    @@ -668,89 +668,89 @@ This section details the image storage features and configuration fields that are available with Red Hat Quay.

    3.6.1. Image storage features

    The following table describes the image storage features for Red Hat Quay: -

    Table 3.5. Storage config features

    FieldTypeDescription
    +

    Table 3.5. Storage config features

    FieldTypeDescription

    FEATURE_REPO_MIRROR

    -
    +

    Boolean

    -
    +

    If set to true, enables repository mirroring.

    Default: false

    -
    +

    FEATURE_PROXY_STORAGE

    -
    +

    Boolean

    -
    +

    Whether to proxy all direct download URLs in storage through NGINX.

    Default: false

    -
    +

    FEATURE_STORAGE_REPLICATION

    -
    +

    Boolean

    -
    +

    Whether to automatically replicate between storage engines.

    Default: false

    3.6.2. Image storage configuration fields

    The following table describes the image storage configuration fields for Red Hat Quay: -

    Table 3.6. Storage config fields

    FieldTypeDescription
    +

    Table 3.6. Storage config fields

    FieldTypeDescription

    DISTRIBUTED_STORAGE_CONFIG
    (Required)

    -
    +

    Object

    -
    +

    Configuration for storage engine(s) to use in Red Hat Quay. Each key represents an unique identifier for a storage engine. The value consists of a tuple of (key, value) forming an object describing the storage engine parameters.

    Default: []

    -
    +

    DISTRIBUTED_STORAGE_DEFAULT_LOCATIONS
    (Required)

    -
    +

    Array of string

    -
    +

    The list of storage engine(s) (by ID in DISTRIBUTED_STORAGE_CONFIG) whose images should be fully replicated, by default, to all other storage engines.

    -
    +

    DISTRIBUTED_STORAGE_PREFERENCE
    (Required)

    -
    +

    Array of string

    -
    +

    The preferred storage engine(s) (by ID in DISTRIBUTED_STORAGE_CONFIG) to use. A preferred engine means it is first checked for pulling and images are pushed to it.

    Default: false

    -
    +

    MAXIMUM_LAYER_SIZE

    -
    +

    String

    -
    +

    Maximum allowed size of an image layer.

    Pattern: ^[0-9]+(G|M)$

    Example: 100G

    Default: 20G

    @@ -957,197 +957,197 @@ This section details the configuration fields available for Redis deployments.

    3.7.1. Build logs

    The following build logs configuration fields are available for Redis deployments: -

    Table 3.7. Build logs configuration

    FieldTypeDescription
    +

    Table 3.7. Build logs configuration

    FieldTypeDescription

    BUILDLOGS_REDIS
    (Required)

    -
    +

    Object

    -
    +

    Redis connection details for build logs caching.

    -
    +

    .host
    (Required)

    -
    +

    String

    -
    +

    The hostname at which Redis is accessible.
    Example:
    quay-server.example.com

    -
    +

    .port
    (Required)

    -
    +

    Number

    -
    +

    The port at which Redis is accessible.
    Example:
    6379

    -
    +

    .password

    -
    +

    String

    -
    +

    The password to connect to the Redis instance.
    Example:
    strongpassword

    -
    +

    .ssl
    (Optional)

    -
    +

    Boolean

    -
    +

    Whether to enable TLS communication between Redis and Quay. Defaults to false.

    3.7.2. User events

    The following user event fields are available for Redis deployments: -

    Table 3.8. User events config

    FieldTypeDescription
    +

    Table 3.8. User events config

    FieldTypeDescription

    USER_EVENTS_REDIS
    (Required)

    -
    +

    Object

    -
    +

    Redis connection details for user event handling.

    -
    +

    .host
    (Required)

    -
    +

    String

    -
    +

    The hostname at which Redis is accessible.
    Example:
    quay-server.example.com

    -
    +

    .port
    (Required)

    -
    +

    Number

    -
    +

    The port at which Redis is accessible.
    Example:
    6379

    -
    +

    .password

    -
    +

    String

    -
    +

    The password to connect to the Redis instance.
    Example:
    strongpassword

    -
    +

    .ssl

    -
    +

    Boolean

    -
    +

    Whether to enable TLS communication between Redis and Quay. Defaults to false.

    -
    +

    .ssl_keyfile
    (Optional)

    -
    +

    String

    -
    +

    The name of the key database file, which houses the client certificate to be used.
    Example:
    ssl_keyfile: /path/to/server/privatekey.pem

    -
    +

    .ssl_certfile
    (Optional)

    -
    +

    String

    -
    +

    Used for specifying the file path of the SSL certificate.
    Example:
    ssl_certfile: /path/to/server/certificate.pem

    -
    +

    .ssl_cert_reqs
    (Optional)

    -
    +

    String

    -
    +

    Used to specify the level of certificate validation to be performed during the SSL/TLS handshake.
    Example:
    ssl_cert_reqs: CERT_REQUIRED

    -
    +

    .ssl_ca_certs
    (Optional)

    -
    +

    String

    -
    +

    Used to specify the path to a file containing a list of trusted Certificate Authority (CA) certificates.
    Example:
    ssl_ca_certs: /path/to/ca_certs.pem

    -
    +

    .ssl_ca_data
    (Optional)

    -
    +

    String

    -
    +

    Used to specify a string containing the trusted CA certificates in PEM format.
    Example:
    ssl_ca_data: <certificate>

    -
    +

    .ssl_check_hostname
    (Optional)

    -
    +

    Boolean

    -
    +

    Used when setting up an SSL/TLS connection to a server. It specifies whether the client should check that the hostname in the server’s SSL/TLS certificate matches the hostname of the server it is connecting to.
    Example:
    ssl_check_hostname: true

    @@ -1198,153 +1198,153 @@ skip_full_coverage_check: <true | false> ssl: <true | false >

    3.9. Tag expiration configuration fields

    The following tag expiration configuration fields are available with Red Hat Quay: -

    Table 3.9. Tag expiration configuration fields

    FieldTypeDescription
    +

    Table 3.9. Tag expiration configuration fields

    FieldTypeDescription

    FEATURE_GARBAGE_COLLECTION

    -
    +

    Boolean

    -
    +

    Whether garbage collection of repositories is enabled.

    Default: True

    -
    +

    TAG_EXPIRATION_OPTIONS
    (Required)

    -
    +

    Array of string

    -
    +

    If enabled, the options that users can select for expiration of tags in their namespace.

    Pattern:
    ^[0-9]+(w|m|d|h|s)$

    -
    +

    DEFAULT_TAG_EXPIRATION
    (Required)

    -
    +

    String

    -
    +

    The default, configurable tag expiration time for time machine.

    Pattern:
    ^[0-9]+(w|m|d|h|s)$
    Default: 2w

    -
    +

    FEATURE_CHANGE_TAG_EXPIRATION

    -
    +

    Boolean

    -
    +

    Whether users and organizations are allowed to change the tag expiration for tags in their namespace.

    Default: True

    -
    +

    FEATURE_AUTO_PRUNE

    -
    +

    Boolean

    -
    +

    When set to True, enables functionality related to the auto-pruning of tags.
    Default: False

    -
    +

    NOTIFICATION_TASK_RUN_MINIMUM_INTERVAL_MINUTES

    -
    +

    Integer

    -
    +

    The interval, in minutes, that defines the frequency to re-run notifications for expiring images.

    Default: 300

    -
    +

    DEFAULT_NAMESPACE_AUTOPRUNE_POLICY

    -
    +

    Object

    -
    +

    The default organization-wide auto-prune policy.

    -
    +

        .method: number_of_tags

    -
    +

    Object

    -
    +

    The option specifying the number of tags to keep.

    -
    +

        .value: <integer>

    -
    +

    Integer

    -
    +

    When used with method: number_of_tags, denotes the number of tags to keep.

    For example, to keep two tags, specify 2.

    -
    +

        .creation_date

    -
    +

    Object

    -
    +

    The option specifying the duration of which to keep tags.

    -
    +

        .value: <integer>

    -
    +

    Integer

    -
    +

    When used with creation_date, denotes how long to keep tags.

    Can be set to seconds (s), days (d), months (m), weeks (w), or years (y). Must include a valid integer. For example, to keep tags for one year, specify 1y.

    -
    +

    AUTO_PRUNING_DEFAULT_POLICY_POLL_PERIOD

    -
    +

    Integer

    -
    +

    The period in which the auto-pruner worker runs at the registry level. By default, it is set to run one time per day (one time per 24 hours). Value must be in seconds.

    @@ -1376,89 +1376,89 @@ method: creation_date value: 1y # ... -

    3.10. Quota management configuration fields

    Table 3.10. Quota management configuration

    FieldTypeDescription
    +

    3.10. Quota management configuration fields

    Table 3.10. Quota management configuration

    FieldTypeDescription

    FEATURE_QUOTA_MANAGEMENT

    -
    +

    Boolean

    -
    +

    Enables configuration, caching, and validation for quota management feature.

    **Default:** `False`
    -
    +

    DEFAULT_SYSTEM_REJECT_QUOTA_BYTES

    -
    +

    String

    -
    +

    Enables system default quota reject byte allowance for all organizations.

    By default, no limit is set.

    -
    +

    QUOTA_BACKFILL

    -
    +

    Boolean

    -
    +

    Enables the quota backfill worker to calculate the size of pre-existing blobs.

    Default: True

    -
    +

    QUOTA_TOTAL_DELAY_SECONDS

    -
    +

    String

    -
    +

    The time delay for starting the quota backfill. Rolling deployments can cause incorrect totals. This field must be set to a time longer than it takes for the rolling deployment to complete.

    Default: 1800

    -
    +

    PERMANENTLY_DELETE_TAGS

    -
    +

    Boolean

    -
    +

    Enables functionality related to the removal of tags from the time machine window.

    Default: False

    -
    +

    RESET_CHILD_MANIFEST_EXPIRATION

    -
    +

    Boolean

    -
    +

    Resets the expirations of temporary tags targeting the child manifests. With this feature set to True, child manifests are immediately garbage collected.

    @@ -1474,30 +1474,30 @@ PERMANENTLY_DELETE_TAGS: true QUOTA_TOTAL_DELAY_SECONDS: 1800 RESET_CHILD_MANIFEST_EXPIRATION: true -

    3.11. Proxy cache configuration fields

    Table 3.11. Proxy configuration

    FieldTypeDescription
    +

    3.11. Proxy cache configuration fields

    Table 3.11. Proxy configuration

    FieldTypeDescription

    FEATURE_PROXY_CACHE

    -
    +

    Boolean

    -
    +

    Enables Red Hat Quay to act as a pull through cache for upstream registries.

    Default: false

    -

    3.12. Robot account configuration fields

    Table 3.12. Robot account configuration fields

    FieldTypeDescription
    +

    3.12. Robot account configuration fields

    Table 3.12. Robot account configuration fields

    FieldTypeDescription

    ROBOTS_DISALLOW

    -
    +

    Boolean

    -
    +

    When set to true, robot accounts are prevented from all interactions, as well as from being created
    Default: False

    @@ -1663,147 +1663,147 @@ "invoice_email_address": null, "tag_expiration_s": 1209600, "is_free_account": true -}

    3.14. Basic configuration fields

    Table 3.13. Basic configuration

    FieldTypeDescription
    +}

    3.14. Basic configuration fields

    Table 3.13. Basic configuration

    FieldTypeDescription

    REGISTRY_TITLE

    -
    +

    String

    -
    +

    If specified, the long-form title for the registry. Displayed in frontend of your Red Hat Quay deployment, for example, at the sign in page of your organization. Should not exceed 35 characters.
    Default:
    Red Hat Quay

    -
    +

    REGISTRY_TITLE_SHORT

    -
    +

    String

    -
    +

    If specified, the short-form title for the registry. Title is displayed on various pages of your organization, for example, as the title of the tutorial on your organization’s Tutorial page.
    Default:
    Red Hat Quay

    -
    +

    CONTACT_INFO

    -
    +

    Array of String

    -
    +

    If specified, contact information to display on the contact page. If only a single piece of contact information is specified, the contact footer will link directly.

    -
    +

    [0]

    -
    +

    String

    -
    +

    Adds a link to send an e-mail.

    Pattern:
    ^mailto:(.)+$
    Example:
    mailto:support@quay.io

    -
    +

    [1]

    -
    +

    String

    -
    +

    Adds a link to visit an IRC chat room.

    Pattern:
    ^irc://(.)+$
    Example:
    irc://chat.freenode.net:6665/quay

    -
    +

    [2]

    -
    +

    String

    -
    +

    Adds a link to call a phone number.

    Pattern:
    ^tel:(.)+$
    Example:
    tel:+1-888-930-3475

    -
    +

    [3]

    -
    +

    String

    -
    +

    Adds a link to a defined URL.

    Pattern:
    ^http(s)?://(.)+$
    Example:
    https://twitter.com/quayio

    -

    3.15. SSL configuration fields

    Table 3.14. SSL configuration

    FieldTypeDescription
    +

    3.15. SSL configuration fields

    Table 3.14. SSL configuration

    FieldTypeDescription

    PREFERRED_URL_SCHEME

    -
    +

    String

    -
    +

    One of http or https. Note that users only set their PREFERRED_URL_SCHEME to http when there is no TLS encryption in the communication path from the client to Quay.
    Users must set their PREFERRED_URL_SCHEME`to `https when using a TLS-terminating load balancer, a reverse proxy (for example, Nginx), or when using Quay with custom SSL certificates directly. In most cases, the PREFERRED_URL_SCHEME should be https.
    Default: http

    -
    +

    SERVER_HOSTNAME
    (Required)

    -
    +

    String

    -
    +

    The URL at which Red Hat Quay is accessible, without the scheme

    Example:
    quay-server.example.com

    -
    +

    SSL_CIPHERS

    -
    +

    Array of String

    -
    +

    If specified, the nginx-defined list of SSL ciphers to enabled and disabled

    Example:
    [ECDHE-RSA-AES128-GCM-SHA256, ECDHE-ECDSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-ECDSA-AES256-GCM-SHA384, DHE-RSA-AES128-GCM-SHA256, DHE-DSS-AES128-GCM-SHA256, kEDH+AESGCM, ECDHE-RSA-AES128-SHA256, ECDHE-ECDSA-AES128-SHA256, ECDHE-RSA-AES128-SHA, ECDHE-ECDSA-AES128-SHA, ECDHE-RSA-AES256-SHA384, ECDHE-ECDSA-AES256-SHA384, ECDHE-RSA-AES256-SHA, ECDHE-ECDSA-AES256-SHA, DHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA, DHE-DSS-AES128-SHA256, DHE-RSA-AES256-SHA256, DHE-DSS-AES256-SHA, DHE-DSS-AES256-SHA, AES128-GCM-SHA256, AES256-GCM-SHA384, AES128-SHA256, AES256-SHA256, AES128-SHA, AES256-SHA, AES, !3DES", !aNULL, !eNULL, !EXPORT, DES, !RC4, MD5, !PSK, !aECDH, !EDH-DSS-DES-CBC3-SHA, !EDH-RSA-DES-CBC3-SHA, !KRB5-DES-CBC3-SHA]

    -
    +

    SSL_PROTOCOLS

    -
    +

    Array of String

    -
    +

    If specified, nginx is configured to enabled a list of SSL protocols defined in the list. Removing an SSL protocol from the list disables the protocol during Red Hat Quay startup.

    Example:
    ['TLSv1','TLSv1.1','TLSv1.2', `TLSv1.3]`

    -
    +

    SESSION_COOKIE_SECURE

    -
    +

    Boolean

    -
    +

    Whether the secure property should be set on session cookies

    Default:
    False

    Recommendation:
    Set to True for all installations using SSL

    @@ -1847,183 +1847,183 @@ Examine the certificate copied into the container namespace:

    $ sudo podman exec -it 5a3e82c4a75f cat /etc/ssl/certs/storage.pem
     -----BEGIN CERTIFICATE-----
    -MIIDTTCCAjWgAwIBAgIJAMVr9ngjJhzbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV

    3.17. LDAP configuration fields

    Table 3.15. LDAP configuration

    FieldTypeDescription
    +MIIDTTCCAjWgAwIBAgIJAMVr9ngjJhzbMA0GCSqGSIb3DQEBCwUAMD0xCzAJBgNV

    3.17. LDAP configuration fields

    Table 3.15. LDAP configuration

    FieldTypeDescription

    AUTHENTICATION_TYPE
    (Required)

    -
    +

    String

    -
    +

    Must be set to LDAP.

    -
    +

    FEATURE_TEAM_SYNCING

    -
    +

    Boolean

    -
    +

    Whether to allow for team membership to be synced from a backing group in the authentication engine (OIDC, LDAP, or Keystone).

    Default: true

    -
    +

    FEATURE_NONSUPERUSER_TEAM_SYNCING_SETUP

    -
    +

    Boolean

    -
    +

    If enabled, non-superusers can setup team syncrhonization.

    Default: false

    -
    +

    LDAP_ADMIN_DN

    -
    +

    String

    -
    +

    The admin DN for LDAP authentication.

    -
    +

    LDAP_ADMIN_PASSWD

    -
    +

    String

    -
    +

    The admin password for LDAP authentication.

    -
    +

    LDAP_ALLOW_INSECURE_FALLBACK

    -
    +

    Boolean

    -
    +

    Whether or not to allow SSL insecure fallback for LDAP authentication.

    -
    +

    LDAP_BASE_DN

    -
    +

    Array of String

    -
    +

    The base DN for LDAP authentication.

    -
    +

    LDAP_EMAIL_ATTR

    -
    +

    String

    -
    +

    The email attribute for LDAP authentication.

    -
    +

    LDAP_UID_ATTR

    -
    +

    String

    -
    +

    The uid attribute for LDAP authentication.

    -
    +

    LDAP_URI

    -
    +

    String

    -
    +

    The LDAP URI.

    -
    +

    LDAP_USER_FILTER

    -
    +

    String

    -
    +

    The user filter for LDAP authentication.

    -
    +

    LDAP_USER_RDN

    -
    +

    Array of String

    -
    +

    The user RDN for LDAP authentication.

    -
    +

    LDAP_SECONDARY_USER_RDNS

    -
    +

    Array of String

    -
    +

    Provide Secondary User Relative DNs if there are multiple Organizational Units where user objects are located.

    -
    +

    TEAM_RESYNC_STALE_TIME

    -
    +

    String

    -
    +

    If team syncing is enabled for a team, how often to check its membership and resync if necessary.

    Pattern:
    ^[0-9]+(w|m|d|h|s)$
    Example:
    2h
    Default:
    30m

    -
    +

    LDAP_SUPERUSER_FILTER

    -
    +

    String

    -
    +

    Subset of the LDAP_USER_FILTER configuration field. When configured, allows Red Hat Quay administrators the ability to configure Lightweight Directory Access Protocol (LDAP) users as superusers when Red Hat Quay uses LDAP as its authentication provider.

    @@ -2033,69 +2033,69 @@

    This field requires that your AUTHENTICATION_TYPE is set to LDAP.

    -
    +

    GLOBAL_READONLY_SUPER_USERS

    -
    +

    String

    -
    +

    When set, grants users of this list read access to all repositories, regardless of whether they are public repositories. Only works for those superusers defined with the LDAP_SUPERUSER_FILTER configuration field.

    -
    +

    LDAP_RESTRICTED_USER_FILTER

    -
    +

    String

    -
    +

    Subset of the LDAP_USER_FILTER configuration field. When configured, allows Red Hat Quay administrators the ability to configure Lightweight Directory Access Protocol (LDAP) users as restricted users when Red Hat Quay uses LDAP as its authentication provider.

    This field requires that your AUTHENTICATION_TYPE is set to LDAP.

    -
    +

    FEATURE_RESTRICTED_USERS

    -
    +

    Boolean

    -
    +

    When set to True with LDAP_RESTRICTED_USER_FILTER active, only the listed users in the defined LDAP group are restricted.

    Default: False

    -
    +

    LDAP_TIMEOUT

    -
    +

    Integer

    -
    +

    Specifies the time limit, in seconds, for LDAP operations. This limits the amount of time an LDAP search, bind, or other operation can take. Similar to the -l option in ldapsearch, it sets a client-side operation timeout.

    Default: 10

    -
    +

    LDAP_NETWORK_TIMEOUT

    -
    +

    Integer

    -
    +

    Specifies the time limit, in seconds, for establishing a connection to the LDAP server. This is the maximum time Red Hat Quay waits for a response during network operations, similar to the -o nettimeout option in ldapsearch.

    Default: 10

    @@ -2200,198 +2200,198 @@ - dc=com # ...
    1
    Configures specified users as superusers. -

    3.18. Mirroring configuration fields

    Table 3.16. Mirroring configuration

    FieldTypeDescription
    +

    3.18. Mirroring configuration fields

    Table 3.16. Mirroring configuration

    FieldTypeDescription

    FEATURE_REPO_MIRROR

    -
    +

    Boolean

    -
    +

    Enable or disable repository mirroring

    Default: false

    -
    +

    REPO_MIRROR_INTERVAL

    -
    +

    Number

    -
    +

    The number of seconds between checking for repository mirror candidates

    Default: 30

    -
    +

    REPO_MIRROR_SERVER_HOSTNAME

    -
    +

    String

    -
    +

    Replaces the SERVER_HOSTNAME as the destination for mirroring.

    Default: None

    Example:
    openshift-quay-service

    -
    +

    REPO_MIRROR_TLS_VERIFY

    -
    +

    Boolean

    -
    +

    Require HTTPS and verify certificates of Quay registry during mirror.

    Default: false

    -
    +

    REPO_MIRROR_ROLLBACK

    -
    +

    Boolean

    -
    +

    When set to true, the repository rolls back after a failed mirror attempt.

    Default: false

    -

    3.19. Security scanner configuration fields

    Table 3.17. Security scanner configuration

    FieldTypeDescription
    +

    3.19. Security scanner configuration fields

    Table 3.17. Security scanner configuration

    FieldTypeDescription

    FEATURE_SECURITY_SCANNER

    -
    +

    Boolean

    -
    +

    Enable or disable the security scanner

    Default: false

    -
    +

    FEATURE_SECURITY_NOTIFICATIONS

    -
    +

    Boolean

    -
    +

    If the security scanner is enabled, turn on or turn off security notifications

    Default: false

    -
    +

    SECURITY_SCANNER_V4_REINDEX_THRESHOLD

    -
    +

    String

    -
    +

    This parameter is used to determine the minimum time, in seconds, to wait before re-indexing a manifest that has either previously failed or has changed states since the last indexing. The data is calculated from the last_indexed datetime in the manifestsecuritystatus table. This parameter is used to avoid trying to re-index every failed manifest on every indexing run. The default time to re-index is 300 seconds.

    -
    +

    SECURITY_SCANNER_V4_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint for the V4 security scanner

    Pattern:
    ^http(s)?://(.)+$

    Example:
    http://192.168.99.101:6060

    -
    +

    SECURITY_SCANNER_V4_PSK

    -
    +

    String

    -
    +

    The generated pre-shared key (PSK) for Clair

    -
    +

    SECURITY_SCANNER_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint for the V2 security scanner

    Pattern:
    ^http(s)?://(.)+$

    Example:
    http://192.168.99.100:6060

    -
    +

    SECURITY_SCANNER_INDEXING_INTERVAL

    -
    +

    Integer

    -
    +

    This parameter is used to determine the number of seconds between indexing intervals in the security scanner. When indexing is triggered, Red Hat Quay will query its database for manifests that must be indexed by Clair. These include manifests that have not yet been indexed and manifests that previously failed indexing.

    Default: 30

    -
    +

    FEATURE_SECURITY_SCANNER_NOTIFY_ON_NEW_INDEX

    -
    +

    Boolean

    -
    +

    Whether to allow sending notifications about vulnerabilities for new pushes.
    Default: True

    -
    +

    SECURITY_SCANNER_V4_MANIFEST_CLEANUP

    -
    +

    Boolean

    -
    +

    Whether the Red Hat Quay garbage collector removes manifests that are not referenced by other tags or manifests.
    Default: True

    -
    +

    NOTIFICATION_MIN_SEVERITY_ON_NEW_INDEX

    -
    +

    String

    -
    +

    Set minimal security level for new notifications on detected vulnerabilities. Avoids creation of large number of notifications after first index. If not defined, defaults to High. Available options include Critical, High, Medium, Low, Negligible, and Unknown.

    -
    +

    SECURITY_SCANNER_V4_INDEX_MAX_LAYER_SIZE

    -
    +

    String

    -
    +

    The maximum layer size allowed for indexing. If the layer size exceeds the configured size, the Red Hat Quay UI returns the following message: The manifest for this tag has layer(s) that are too large to index by the Quay Security Scanner.
    Example: 8G

    @@ -2416,101 +2416,101 @@ SERVER_HOSTNAME: quay-server.example.com SECURITY_SCANNER_V4_INDEX_MAX_LAYER_SIZE: 8G ... -

    3.20. Helm configuration fields

    Table 3.18. Helm configuration fields

    FieldTypeDescription
    +

    3.20. Helm configuration fields

    Table 3.18. Helm configuration fields

    FieldTypeDescription

    FEATURE_GENERAL_OCI_SUPPORT

    -
    +

    Boolean

    -
    +

    Enable support for OCI artifacts.

    Default: True

    The following Open Container Initiative (OCI) artifact types are built into Red Hat Quay by default and are enabled through the FEATURE_GENERAL_OCI_SUPPORT configuration field: -

    FieldMedia TypeSupported content types
    +

    FieldMedia TypeSupported content types

    Helm

    -
    +

    application/vnd.cncf.helm.config.v1+json

    -
    +

    application/tar+gzip, application/vnd.cncf.helm.chart.content.v1.tar+gzip

    -
    +

    Cosign

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.dev.cosign.simplesigning.v1+json, application/vnd.dsse.envelope.v1+json

    -
    +

    SPDX

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    text/spdx, text/spdx+xml, text/spdx+json

    -
    +

    Syft

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.syft+json

    -
    +

    CycloneDX

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.cyclonedx, application/vnd.cyclonedx+xml, application/vnd.cyclonedx+json

    -
    +

    In-toto

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.in-toto+json

    -
    +

    Unknown

    -
    +

    application/vnd.cncf.openpolicyagent.policy.layer.v1+rego

    -
    +

    application/vnd.cncf.openpolicyagent.policy.layer.v1+rego, application/vnd.cncf.openpolicyagent.data.layer.v1+json

    @@ -2519,15 +2519,15 @@

    Helm YAML configuration

    FEATURE_GENERAL_OCI_SUPPORT: true
    -

    3.21. Open Container Initiative configuration fields

    Table 3.19. Additional OCI artifact configuration field

    FieldTypeDescription
    +

    3.21. Open Container Initiative configuration fields

    Table 3.19. Additional OCI artifact configuration field

    FieldTypeDescription

    FEATURE_REFERRERS_API

    -
    +

    Boolean

    -
    +

    Enables OCI 1.1’s referrers API.

    @@ -2536,15 +2536,15 @@
    # ...
     FEATURE_REFERRERS_API: True
     # ...
    -

    3.22. Unknown media types

    Table 3.20. Unknown media types configuration field

    FieldTypeDescription
    +

    3.22. Unknown media types

    Table 3.20. Unknown media types configuration field

    FieldTypeDescription

    IGNORE_UNKNOWN_MEDIATYPES

    -
    +

    Boolean

    -
    +

    When enabled, allows a container registry platform to disregard specific restrictions on supported artifact types and accept any unrecognized or unknown media types.

    @@ -2556,51 +2556,51 @@

    Unknown media types YAML configuration

    IGNORE_UNKNOWN_MEDIATYPES: true
    -

    3.23. Action log configuration fields

    3.23.1. Action log storage configuration

    Table 3.21. Action log storage configuration

    FieldTypeDescription
    +

    3.23. Action log configuration fields

    3.23.1. Action log storage configuration

    Table 3.21. Action log storage configuration

    FieldTypeDescription

    FEATURE_LOG_EXPORT

    -
    +

    Boolean

    -
    +

    Whether to allow exporting of action logs.

    Default: True

    -
    +

    LOGS_MODEL

    -
    +

    String

    -
    +

    Specifies the preferred method for handling log data.

    Values: One of database, transition_reads_both_writes_es, elasticsearch, splunk
    Default: database

    -
    +

    LOGS_MODEL_CONFIG

    -
    +

    Object

    -
    +

    Logs model config for action logs.

    -
    +

    ALLOW_WITHOUT_STRICT_LOGGING

    -
    +

    Boolean

    -
    +

    When set to True, if the external log system like Splunk or ElasticSearch is intermittently unavailable, allows users to push images normally. Events are logged to the stdout instead.

    Default: False

    @@ -2760,787 +2760,787 @@ index: quay 7 splunk_host: quay-dev 8 splunk_sourcetype: quay_logs 9 -# ...

    3.23.2. Action log rotation and archiving configuration

    Table 3.22. Action log rotation and archiving configuration

    FieldTypeDescription
    +# ...

    3.23.2. Action log rotation and archiving configuration

    Table 3.22. Action log rotation and archiving configuration

    FieldTypeDescription

    FEATURE_ACTION_LOG_ROTATION

    -
    +

    Boolean

    -
    +

    Enabling log rotation and archival will move all logs older than 30 days to storage.

    Default: false

    -
    +

    ACTION_LOG_ARCHIVE_LOCATION

    -
    +

    String

    -
    +

    If action log archiving is enabled, the storage engine in which to place the archived data.

    Example:: s3_us_east

    -
    +

    ACTION_LOG_ARCHIVE_PATH

    -
    +

    String

    -
    +

    If action log archiving is enabled, the path in storage in which to place the archived data.

    Example: archives/actionlogs

    -
    +

    ACTION_LOG_ROTATION_THRESHOLD

    -
    +

    String

    -
    +

    The time interval after which to rotate logs.

    Example: 30d

    -

    3.23.3. Action log audit configuration

    Table 3.23. Audit logs configuration field

    FieldTypeDescription
    +

    3.23.3. Action log audit configuration

    Table 3.23. Audit logs configuration field

    FieldTypeDescription

    ACTION_LOG_AUDIT_LOGINS

    -
    +

    Boolean

    -
    +

    When set to True, tracks advanced events such as logging into, and out of, the UI, and logging in using Docker for regular users, robot accounts, and for application-specific token accounts.

    Default: True

    -

    3.24. Build logs configuration fields

    Table 3.24. Build logs configuration fields

    FieldTypeDescription
    +

    3.24. Build logs configuration fields

    Table 3.24. Build logs configuration fields

    FieldTypeDescription

    FEATURE_READER_BUILD_LOGS

    -
    +

    Boolean

    -
    +

    If set to true, build logs can be read by those with read access to the repository, rather than only write access or admin access.

    Default: False

    -
    +

    LOG_ARCHIVE_LOCATION

    -
    +

    String

    -
    +

    The storage location, defined in DISTRIBUTED_STORAGE_CONFIG, in which to place the archived build logs.

    Example: s3_us_east

    -
    +

    LOG_ARCHIVE_PATH

    -
    +

    String

    -
    +

    The path under the configured storage engine in which to place the archived build logs in .JSON format.

    Example: archives/buildlogs

    -

    3.25. Dockerfile build triggers fields

    Table 3.25. Dockerfile build support

    FieldTypeDescription
    +

    3.25. Dockerfile build triggers fields

    Table 3.25. Dockerfile build support

    FieldTypeDescription

    FEATURE_BUILD_SUPPORT

    -
    +

    Boolean

    -
    +

    Whether to support Dockerfile build.

    Default: False

    -
    +

    SUCCESSIVE_TRIGGER_FAILURE_DISABLE_THRESHOLD

    -
    +

    Number

    -
    +

    If not set to None, the number of successive failures that can occur before a build trigger is automatically disabled.

    Default: 100

    -
    +

    SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD

    -
    +

    Number

    -
    +

    If not set to None, the number of successive internal errors that can occur before a build trigger is automatically disabled

    Default: 5

    -

    3.25.1. GitHub build triggers

    Table 3.26. GitHub build triggers

    FieldTypeDescription
    +

    3.25.1. GitHub build triggers

    Table 3.26. GitHub build triggers

    FieldTypeDescription

    FEATURE_GITHUB_BUILD

    -
    +

    Boolean

    -
    +

    Whether to support GitHub build triggers.

    Default: False

    -
    +

     

    -
    +

     

    -
    +

     

    -
    +

    GITHUB_TRIGGER_CONFIG

    -
    +

    Object

    -
    +

    Configuration for using GitHub Enterprise for build triggers.

    -
    +

       .GITHUB_ENDPOINT
       (Required)

    -
    +

    String

    -
    +

    The endpoint for GitHub Enterprise.

    Example: https://github.com/

    -
    +

       .API_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint of the GitHub Enterprise API to use. Must be overridden for github.com.

    Example: https://api.github.com/

    -
    +

       .CLIENT_ID
       (Required)

    -
    +

    String

    -
    +

    The registered client ID for this Red Hat Quay instance; this cannot be shared with GITHUB_LOGIN_CONFIG.

    -
    +

       .CLIENT_SECRET
       (Required)

    -
    +

    String

    -
    +

    The registered client secret for this Red Hat Quay instance.

    -

    3.25.2. BitBucket build triggers

    Table 3.27. BitBucket build triggers

    FieldTypeDescription
    +

    3.25.2. BitBucket build triggers

    Table 3.27. BitBucket build triggers

    FieldTypeDescription

    FEATURE_BITBUCKET_BUILD

    -
    +

    Boolean

    -
    +

    Whether to support Bitbucket build triggers.

    Default: False

    -
    +

     

    -
    +

     

    -
    +

     

    -
    +

    BITBUCKET_TRIGGER_CONFIG

    -
    +

    Object

    -
    +

    Configuration for using BitBucket for build triggers.

    -
    +

       .CONSUMER_KEY
       (Required)

    -
    +

    String

    -
    +

    The registered consumer key (client ID) for this Red Hat Quay instance.

    -
    +

       .CONSUMER_SECRET
       (Required)

    -
    +

    String

    -
    +

    The registered consumer secret (client secret) for this Red Hat Quay instance.

    -

    3.25.3. GitLab build triggers

    Table 3.28. GitLab build triggers

    FieldTypeDescription
    +

    3.25.3. GitLab build triggers

    Table 3.28. GitLab build triggers

    FieldTypeDescription

    FEATURE_GITLAB_BUILD

    -
    +

    Boolean

    -
    +

    Whether to support GitLab build triggers.

    Default: False

    -
    +

     

    -
    +

     

    -
    +

     

    -
    +

    GITLAB_TRIGGER_CONFIG

    -
    +

    Object

    -
    +

    Configuration for using Gitlab for build triggers.

    -
    +

       .GITLAB_ENDPOINT
       (Required)

    -
    +

    String

    -
    +

    The endpoint at which Gitlab Enterprise is running.

    -
    +

       .CLIENT_ID
       (Required)

    -
    +

    String

    -
    +

    The registered client ID for this Red Hat Quay instance.

    -
    +

       .CLIENT_SECRET
       (Required)

    -
    +

    String

    -
    +

    The registered client secret for this Red Hat Quay instance.

    -

    3.26. Build manager configuration fields

    Table 3.29. Build manager configuration fields

    FieldTypeDescription
    +

    3.26. Build manager configuration fields

    Table 3.29. Build manager configuration fields

    FieldTypeDescription

    ALLOWED_WORKER_COUNT

    -
    +

    String

    -
    +

    Defines how many Build Workers are instantiated per Red Hat Quay pod. Typically set to 1.

    -
    +

    ORCHESTRATOR_PREFIX

    -
    +

    String

    -
    +

    Defines a unique prefix to be added to all Redis keys. This is useful to isolate Orchestrator values from other Redis keys.

    -
    +

    REDIS_HOST

    -
    +

    Object

    -
    +

    The hostname for your Redis service.

    -
    +

    REDIS_PASSWORD

    -
    +

    String

    -
    +

    The password to authenticate into your Redis service.

    -
    +

    REDIS_SSL

    -
    +

    Boolean

    -
    +

    Defines whether or not your Redis connection uses SSL/TLS.

    -
    +

    REDIS_SKIP_KEYSPACE_EVENT_SETUP

    -
    +

    Boolean

    -
    +

    By default, Red Hat Quay does not set up the keyspace events required for key events at runtime. To do so, set REDIS_SKIP_KEYSPACE_EVENT_SETUP to false.

    -
    +

    EXECUTOR

    -
    +

    String

    -
    +

    Starts a definition of an Executor of this type. Valid values are kubernetes and ec2.

    -
    +

    BUILDER_NAMESPACE

    -
    +

    String

    -
    +

    Kubernetes namespace where Red Hat Quay Builds will take place.

    -
    +

    K8S_API_SERVER

    -
    +

    Object

    -
    +

    Hostname for API Server of the OpenShift Container Platform cluster where Builds will take place.

    -
    +

    K8S_API_TLS_CA

    -
    +

    Object

    -
    +

    The filepath in the Quay container of the Build cluster’s CA certificate for the Quay application to trust when making API calls.

    -
    +

    KUBERNETES_DISTRIBUTION

    -
    +

    String

    -
    +

    Indicates which type of Kubernetes is being used. Valid values are openshift and k8s.

    -
    +

    CONTAINER_*

    -
    +

    Object

    -
    +

    Define the resource requests and limits for each build pod.

    -
    +

    NODE_SELECTOR_*

    -
    +

    Object

    -
    +

    Defines the node selector label name-value pair where build Pods should be scheduled.

    -
    +

    CONTAINER_RUNTIME

    -
    +

    Object

    -
    +

    Specifies whether the Builder should run docker or podman. Customers using Red Hat’s quay-builder image should set this to podman.

    -
    +

    SERVICE_ACCOUNT_NAME/SERVICE_ACCOUNT_TOKEN

    -
    +

    Object

    -
    +

    Defines the Service Account name or token that will be used by build pods.

    -
    +

    QUAY_USERNAME/QUAY_PASSWORD

    -
    +

    Object

    -
    +

    Defines the registry credentials needed to pull the Red Hat Quay build worker image that is specified in the WORKER_IMAGE field. Customers should provide a Red Hat Service Account credential as defined in the section "Creating Registry Service Accounts" against registry.redhat.io in the article at https://access.redhat.com/RegistryAuthentication.

    -
    +

    WORKER_IMAGE

    -
    +

    Object

    -
    +

    Image reference for the Red Hat Quay Builder image. registry.redhat.io/quay/quay-builder

    -
    +

    WORKER_TAG

    -
    +

    Object

    -
    +

    Tag for the Builder image desired. The latest version is 3.13.

    -
    +

    BUILDER_VM_CONTAINER_IMAGE

    -
    +

    Object

    -
    +

    The full reference to the container image holding the internal VM needed to run each Red Hat Quay Build. (registry.redhat.io/quay/quay-builder-qemu-rhcos:3.13).

    -
    +

    SETUP_TIME

    -
    +

    String

    -
    +

    Specifies the number of seconds at which a Build times out if it has not yet registered itself with the Build Manager. Defaults at 500 seconds. Builds that time out are attempted to be restarted three times. If the Build does not register itself after three attempts it is considered failed.

    -
    +

    MINIMUM_RETRY_THRESHOLD

    -
    +

    String

    -
    +

    This setting is used with multiple Executors. It indicates how many retries are attempted to start a Build before a different Executor is chosen. Setting to 0 means there are no restrictions on how many tries the build job needs to have. This value should be kept intentionally small (three or less) to ensure failovers happen quickly during infrastructure failures. You must specify a value for this setting. For example, Kubernetes is set as the first executor and EC2 as the second executor. If you want the last attempt to run a job to always be executed on EC2 and not Kubernetes, you can set the Kubernetes executor’s MINIMUM_RETRY_THRESHOLD to 1 and EC2’s MINIMUM_RETRY_THRESHOLD to 0 (defaults to 0 if not set). In this case, the Kubernetes' MINIMUM_RETRY_THRESHOLD retries_remaining(1) would evaluate to False, therefore falling back to the second executor configured.

    -
    +

    SSH_AUTHORIZED_KEYS

    -
    +

    Object

    -
    +

    List of SSH keys to bootstrap in the ignition config. This allows other keys to be used to SSH into the EC2 instance or QEMU virtual machine (VM).

    -

    3.27. OAuth configuration fields

    Table 3.30. OAuth fields

    FieldTypeDescription
    +

    3.27. OAuth configuration fields

    Table 3.30. OAuth fields

    FieldTypeDescription

    DIRECT_OAUTH_CLIENTID_WHITELIST

    -
    +

    Array of String

    -
    +

    A list of client IDs for Quay-managed applications that are allowed to perform direct OAuth approval without user approval.

    -
    +

    FEATURE_ASSIGN_OAUTH_TOKEN

    -
    +

    Boolean

    -
    +

    Allows organization administrators to assign OAuth tokens to other users.

    -

    3.27.1. GitHub OAuth configuration fields

    Table 3.31. GitHub OAuth fields

    FieldTypeDescription
    +

    3.27.1. GitHub OAuth configuration fields

    Table 3.31. GitHub OAuth fields

    FieldTypeDescription

    FEATURE_GITHUB_LOGIN

    -
    +

    Boolean

    -
    +

    Whether GitHub login is supported

    **Default: False

    -
    +

    GITHUB_LOGIN_CONFIG

    -
    +

    Object

    -
    +

    Configuration for using GitHub (Enterprise) as an external login provider.

    -
    +

       .ALLOWED_ORGANIZATIONS

    -
    +

    Array of String

    -
    +

    The names of the GitHub (Enterprise) organizations whitelisted to work with the ORG_RESTRICT option.

    -
    +

       .API_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint of the GitHub (Enterprise) API to use. Must be overridden for github.com

    Example: https://api.github.com/

    -
    +

       .CLIENT_ID
       (Required)

    -
    +

    String

    -
    +

    The registered client ID for this Red Hat Quay instance; cannot be shared with GITHUB_TRIGGER_CONFIG.

    Example: 0e8dbe15c4c7630b6780

    -
    +

       .CLIENT_SECRET
       (Required)

    -
    +

    String

    -
    +

    The registered client secret for this Red Hat Quay instance.

    Example: e4a58ddd3d7408b7aec109e85564a0d153d3e846

    -
    +

       .GITHUB_ENDPOINT
       (Required)

    -
    +

    String

    -
    +

    The endpoint for GitHub (Enterprise).

    Example: https://github.com/

    -
    +

       .ORG_RESTRICT

    -
    +

    Boolean

    -
    +

    If true, only users within the organization whitelist can login using this provider.

    -

    3.27.2. Google OAuth configuration fields

    Table 3.32. Google OAuth fields

    FieldTypeDescription
    +

    3.27.2. Google OAuth configuration fields

    Table 3.32. Google OAuth fields

    FieldTypeDescription

    FEATURE_GOOGLE_LOGIN

    -
    +

    Boolean

    -
    +

    Whether Google login is supported.

    **Default: False

    -
    +

    GOOGLE_LOGIN_CONFIG

    -
    +

    Object

    -
    +

    Configuration for using Google for external authentication.

    -
    +

       .CLIENT_ID
       (Required)

    -
    +

    String

    -
    +

    The registered client ID for this Red Hat Quay instance.

    Example: 0e8dbe15c4c7630b6780

    -
    +

       .CLIENT_SECRET
       (Required)

    -
    +

    String

    -
    +

    The registered client secret for this Red Hat Quay instance.

    Example: e4a58ddd3d7408b7aec109e85564a0d153d3e846

    -

    3.28. OIDC configuration fields

    Table 3.33. OIDC fields

    +

    3.28. OIDC configuration fields

    Table 3.33. OIDC fields

    Field

    @@ -3752,15 +3752,15 @@ # ...

    3.29. Nested repositories configuration fields

    Support for nested repository path names has been added under the FEATURE_EXTENDED_REPOSITORY_NAMES property. This optional configuration is added to the config.yaml by default. Enablement allows the use of / in repository names. -

    Table 3.34. OCI and nested repositories configuration fields

    FieldTypeDescription
    +

    Table 3.34. OCI and nested repositories configuration fields

    FieldTypeDescription

    FEATURE_EXTENDED_REPOSITORY_NAMES

    -
    +

    Boolean

    -
    +

    Enable support for nested repositories

    Default: True

    @@ -3769,357 +3769,357 @@
    FEATURE_EXTENDED_REPOSITORY_NAMES: true

    3.30. QuayIntegration configuration fields

    The following configuration fields are available for the QuayIntegration custom resource: -

    NameDescriptionSchema
    +

    NameDescriptionSchema

    allowlistNamespaces
    (Optional)

    -
    +

    A list of namespaces to include.

    -
    +

    Array

    -
    +

    clusterID
    (Required)

    -
    +

    The ID associated with this cluster.

    -
    +

    String

    -
    +

    credentialsSecret.key
    (Required)

    -
    +

    The secret containing credentials to communicate with the Quay registry.

    -
    +

    Object

    -
    +

    denylistNamespaces
    (Optional)

    -
    +

    A list of namespaces to exclude.

    -
    +

    Array

    -
    +

    insecureRegistry
    (Optional)

    -
    +

    Whether to skip TLS verification to the Quay registry

    -
    +

    Boolean

    -
    +

    quayHostname
    (Required)

    -
    +

    The hostname of the Quay registry.

    -
    +

    String

    -
    +

    scheduledImageStreamImport
    (Optional)

    -
    +

    Whether to enable image stream importing.

    -
    +

    Boolean

    -

    3.31. Mail configuration fields

    Table 3.35. Mail configuration fields

    FieldTypeDescription
    +

    3.31. Mail configuration fields

    Table 3.35. Mail configuration fields

    FieldTypeDescription

    FEATURE_MAILING

    -
    +

    Boolean

    -
    +

    Whether emails are enabled

    Default: False

    -
    +

    MAIL_DEFAULT_SENDER

    -
    +

    String

    -
    +

    If specified, the e-mail address used as the from when Red Hat Quay sends e-mails. If none, defaults to support@quay.io

    Example: support@example.com

    -
    +

    MAIL_PASSWORD

    -
    +

    String

    -
    +

    The SMTP password to use when sending e-mails

    -
    +

    MAIL_PORT

    -
    +

    Number

    -
    +

    The SMTP port to use. If not specified, defaults to 587.

    -
    +

    MAIL_SERVER

    -
    +

    String

    -
    +

    The SMTP server to use for sending e-mails. Only required if FEATURE_MAILING is set to true.

    Example: smtp.example.com

    -
    +

    MAIL_USERNAME

    -
    +

    String

    -
    +

    The SMTP username to use when sending e-mails

    -
    +

    MAIL_USE_TLS

    -
    +

    Boolean

    -
    +

    If specified, whether to use TLS for sending e-mails

    Default: True

    -

    3.32. User configuration fields

    Table 3.36. User configuration fields

    FieldTypeDescription
    +

    3.32. User configuration fields

    Table 3.36. User configuration fields

    FieldTypeDescription

    FEATURE_SUPER_USERS

    -
    +

    Boolean

    -
    +

    Whether superusers are supported

    Default: true

    -
    +

    FEATURE_USER_CREATION

    -
    +

    Boolean

    -
    +

    Whether users can be created (by non-superusers)

    Default: true

    -
    +

    FEATURE_USER_LAST_ACCESSED

    -
    +

    Boolean

    -
    +

    Whether to record the last time a user was accessed

    Default: true

    -
    +

    FEATURE_USER_LOG_ACCESS

    -
    +

    Boolean

    -
    +

    If set to true, users will have access to audit logs for their namespace

    Default: false

    -
    +

    FEATURE_USER_METADATA

    -
    +

    Boolean

    -
    +

    Whether to collect and support user metadata

    Default: false

    -
    +

    FEATURE_USERNAME_CONFIRMATION

    -
    +

    Boolean

    -
    +

    If set to true, users can confirm and modify their initial usernames when logging in via OpenID Connect (OIDC) or a non-database internal authentication provider like LDAP.
    Default: true

    -
    +

    FEATURE_USER_RENAME

    -
    +

    Boolean

    -
    +

    If set to true, users can rename their own namespace

    Default: false

    -
    +

    FEATURE_INVITE_ONLY_USER_CREATION

    -
    +

    Boolean

    -
    +

    Whether users being created must be invited by another user

    Default: false

    -
    +

    FRESH_LOGIN_TIMEOUT

    -
    +

    String

    -
    +

    The time after which a fresh login requires users to re-enter their password

    Example: 5m

    -
    +

    USERFILES_LOCATION

    -
    +

    String

    -
    +

    ID of the storage engine in which to place user-uploaded files

    Example: s3_us_east

    -
    +

    USERFILES_PATH

    -
    +

    String

    -
    +

    Path under storage in which to place user-uploaded files

    Example: userfiles

    -
    +

    USER_RECOVERY_TOKEN_LIFETIME

    -
    +

    String

    -
    +

    The length of time a token for recovering a user accounts is valid

    Pattern: ^[0-9]+(w|m|d|h|s)$
    Default: 30m

    -
    +

    FEATURE_SUPERUSERS_FULL_ACCESS

    -
    +

    Boolean

    -
    +

    Grants superusers the ability to read, write, and delete content from other repositories in namespaces that they do not own or have explicit permissions for.

    Default: False

    -
    +

    FEATURE_SUPERUSERS_ORG_CREATION_ONLY

    -
    +

    Boolean

    -
    +

    Whether to only allow superusers to create organizations.

    Default: False

    -
    +

    FEATURE_RESTRICTED_USERS

    -
    +

    Boolean

    -
    +

    When set to True with RESTRICTED_USERS_WHITELIST:

    @@ -4131,27 +4131,27 @@

    Default: False

    -
    +

    RESTRICTED_USERS_WHITELIST

    -
    +

    String

    -
    +

    When set with FEATURE_RESTRICTED_USERS: true, specific users are excluded from the FEATURE_RESTRICTED_USERS setting.

    -
    +

    GLOBAL_READONLY_SUPER_USERS

    -
    +

    String

    -
    +

    When set, grants users of this list read access to all repositories, regardless of whether they are public repositories. Only works for those superusers defined with the SUPER_USERS configuration field.

    @@ -4180,671 +4180,671 @@ - user1 ---
    Note

    When this field is set, whitelisted users can create organizations, or read or write content from the repository even if FEATURE_RESTRICTED_USERS is set to true. Other users, for example, user2, user3, and user4 are restricted from creating organizations, reading, or writing content -

    3.33. Recaptcha configuration fields

    Table 3.37. Recaptcha configuration fields

    FieldTypeDescription
    +

    3.33. Recaptcha configuration fields

    Table 3.37. Recaptcha configuration fields

    FieldTypeDescription

    FEATURE_RECAPTCHA

    -
    +

    Boolean

    -
    +

    Whether Recaptcha is necessary for user login and recovery

    Default: False

    -
    +

    RECAPTCHA_SECRET_KEY

    -
    +

    String

    -
    +

    If recaptcha is enabled, the secret key for the Recaptcha service

    -
    +

    RECAPTCHA_SITE_KEY

    -
    +

    String

    -
    +

    If recaptcha is enabled, the site key for the Recaptcha service

    -

    3.34. ACI configuration fields

    Table 3.38. ACI configuration fields

    FieldTypeDescription
    +

    3.34. ACI configuration fields

    Table 3.38. ACI configuration fields

    FieldTypeDescription

    FEATURE_ACI_CONVERSION

    -
    +

    Boolean

    -
    +

    Whether to enable conversion to ACIs

    Default: False

    -
    +

    GPG2_PRIVATE_KEY_FILENAME

    -
    +

    String

    -
    +

    The filename of the private key used to decrypte ACIs

    -
    +

    GPG2_PRIVATE_KEY_NAME

    -
    +

    String

    -
    +

    The name of the private key used to sign ACIs

    -
    +

    GPG2_PUBLIC_KEY_FILENAME

    -
    +

    String

    -
    +

    The filename of the public key used to encrypt ACIs

    -

    3.35. JWT configuration fields

    Table 3.39. JWT configuration fields

    FieldTypeDescription
    +

    3.35. JWT configuration fields

    Table 3.39. JWT configuration fields

    FieldTypeDescription

    JWT_AUTH_ISSUER

    -
    +

    String

    -
    +

    The endpoint for JWT users

    Pattern: ^http(s)?://(.)+$
    Example: http://192.168.99.101:6060

    -
    +

    JWT_GETUSER_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint for JWT users
    Pattern: ^http(s)?://(.)+$
    Example: http://192.168.99.101:6060

    -
    +

    JWT_QUERY_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint for JWT queries

    Pattern: ^http(s)?://(.)+$
    Example: http://192.168.99.101:6060

    -
    +

    JWT_VERIFY_ENDPOINT

    -
    +

    String

    -
    +

    The endpoint for JWT verification

    Pattern: ^http(s)?://(.)+$
    Example: http://192.168.99.101:6060

    -

    3.36. App tokens configuration fields

    Table 3.40. App tokens configuration fields

    FieldTypeDescription
    +

    3.36. App tokens configuration fields

    Table 3.40. App tokens configuration fields

    FieldTypeDescription

    FEATURE_APP_SPECIFIC_TOKENS

    -
    +

    Boolean

    -
    +

    If enabled, users can create tokens for use by the Docker CLI

    Default: True

    -
    +

    APP_SPECIFIC_TOKEN_EXPIRATION

    -
    +

    String

    -
    +

    The expiration for external app tokens.

    Default None
    Pattern: ^[0-9]+(w|m|d|h|s)$

    -
    +

    EXPIRED_APP_SPECIFIC_TOKEN_GC

    -
    +

    String

    -
    +

    Duration of time expired external app tokens will remain before being garbage collected

    Default: 1d

    -

    3.37. Miscellaneous configuration fields

    Table 3.41. Miscellaneous configuration fields

    FieldTypeDescription
    +

    3.37. Miscellaneous configuration fields

    Table 3.41. Miscellaneous configuration fields

    FieldTypeDescription

    ALLOW_PULLS_WITHOUT_STRICT_LOGGING

    -
    +

    String

    -
    +

    If true, pulls will still succeed even if the pull audit log entry cannot be written . This is useful if the database is in a read-only state and it is desired for pulls to continue during that time.

    Default: False

    -
    +

    AVATAR_KIND

    -
    +

    String

    -
    +

    The types of avatars to display, either generated inline (local) or Gravatar (gravatar)

    Values: local, gravatar

    -
    +

    BROWSER_API_CALLS_XHR_ONLY

    -
    +

    Boolean

    -
    +

    If enabled, only API calls marked as being made by an XHR will be allowed from browsers

    Default: True

    -
    +

    DEFAULT_NAMESPACE_MAXIMUM_BUILD_COUNT

    -
    +

    Number

    -
    +

    The default maximum number of builds that can be queued in a namespace.

    Default: None

    -
    +

    ENABLE_HEALTH_DEBUG_SECRET

    -
    +

    String

    -
    +

    If specified, a secret that can be given to health endpoints to see full debug info when not authenticated as a superuser

    -
    +

    EXTERNAL_TLS_TERMINATION

    -
    +

    Boolean

    -
    +

    Set to true if TLS is supported, but terminated at a layer before Quay. Set to false when Quay is running with its own SSL certificates and receiving TLS traffic directly.

    -
    +

    FRESH_LOGIN_TIMEOUT

    -
    +

    String

    -
    +

    The time after which a fresh login requires users to re-enter their password

    Example: 5m

    -
    +

    HEALTH_CHECKER

    -
    +

    String

    -
    +

    The configured health check

    Example: ('RDSAwareHealthCheck', {'access_key': 'foo', 'secret_key': 'bar'})

    -
    +

    PROMETHEUS_NAMESPACE

    -
    +

    String

    -
    +

    The prefix applied to all exposed Prometheus metrics

    Default: quay

    -
    +

    PUBLIC_NAMESPACES

    -
    +

    Array of String

    -
    +

    If a namespace is defined in the public namespace list, then it will appear on all users' repository list pages, regardless of whether the user is a member of the namespace. Typically, this is used by an enterprise customer in configuring a set of "well-known" namespaces.

    -
    +

    REGISTRY_STATE

    -
    +

    String

    -
    +

    The state of the registry

    Values: normal or read-only

    -
    +

    SEARCH_MAX_RESULT_PAGE_COUNT

    -
    +

    Number

    -
    +

    Maximum number of pages the user can paginate in search before they are limited

    Default: 10

    -
    +

    SEARCH_RESULTS_PER_PAGE

    -
    +

    Number

    -
    +

    Number of results returned per page by search page

    Default: 10

    -
    +

    V2_PAGINATION_SIZE

    -
    +

    Number

    -
    +

    The number of results returned per page in V2 registry APIs

    Default: 50

    -
    +

    WEBHOOK_HOSTNAME_BLACKLIST

    -
    +

    Array of String

    -
    +

    The set of hostnames to disallow from webhooks when validating, beyond localhost

    -
    +

    CREATE_PRIVATE_REPO_ON_PUSH

    -
    +

    Boolean

    -
    +

    Whether new repositories created by push are set to private visibility

    Default: True

    -
    +

    CREATE_NAMESPACE_ON_PUSH

    -
    +

    Boolean

    -
    +

    Whether new push to a non-existent organization creates it

    Default: False

    -
    +

    NON_RATE_LIMITED_NAMESPACES

    -
    +

    Array of String

    -
    +

    If rate limiting has been enabled using FEATURE_RATE_LIMITS, you can override it for specific namespace that require unlimited access.

    -
    +

    FEATURE_UI_V2

    -
    +

    Boolean

    -
    +

    When set, allows users to try the beta UI environment.

    Default: True

    -
    +

    FEATURE_REQUIRE_TEAM_INVITE

    -
    +

    Boolean

    -
    +

    Whether to require invitations when adding a user to a team

    Default: True

    -
    +

    FEATURE_REQUIRE_ENCRYPTED_BASIC_AUTH

    -
    +

    Boolean

    -
    +

    Whether non-encrypted passwords (as opposed to encrypted tokens) can be used for basic auth

    Default: False

    -
    +

    FEATURE_RATE_LIMITS

    -
    +

    Boolean

    -
    +

    Whether to enable rate limits on API and registry endpoints. Setting FEATURE_RATE_LIMITS to true causes nginx to limit certain API calls to 30 per second. If that feature is not set, API calls are limited to 300 per second (effectively unlimited).

    Default: False

    -
    +

    FEATURE_FIPS

    -
    +

    Boolean

    -
    +

    If set to true, Red Hat Quay will run using FIPS-compliant hash functions

    Default: False

    -
    +

    FEATURE_AGGREGATED_LOG_COUNT_RETRIEVAL

    -
    +

    Boolean

    -
    +

    Whether to allow retrieval of aggregated log counts

    Default: True

    -
    +

    FEATURE_ANONYMOUS_ACCESS

    -
    +

    Boolean

    -
    +

    Whether to allow anonymous users to browse and pull public repositories

    Default: True

    -
    +

    FEATURE_DIRECT_LOGIN

    -
    +

    Boolean

    -
    +

    Whether users can directly login to the UI

    Default: True

    -
    +

    FEATURE_LIBRARY_SUPPORT

    -
    +

    Boolean

    -
    +

    Whether to allow for "namespace-less" repositories when pulling and pushing from Docker

    Default: True

    -
    +

    FEATURE_PARTIAL_USER_AUTOCOMPLETE

    -
    +

    Boolean

    -
    +

    If set to true, autocompletion will apply to partial usernames+
    Default: True

    -
    +

    FEATURE_PERMANENT_SESSIONS

    -
    +

    Boolean

    -
    +

    Whether sessions are permanent

    Default: True

    -
    +

    FEATURE_PUBLIC_CATALOG

    -
    +

    Boolean

    -
    +

    If set to true, the _catalog endpoint returns public repositories. Otherwise, only private repositories can be returned.

    Default: False

    3.38. Legacy configuration fields

    The following fields are deprecated or obsolete. -

    Table 3.42. Legacy configuration fields

    FieldTypeDescription
    +

    Table 3.42. Legacy configuration fields

    FieldTypeDescription

    FEATURE_BLACKLISTED_EMAILS

    -
    +

    Boolean

    -
    +

    If set to true, no new User accounts may be created if their email domain is blacklisted

    -
    +

    BLACKLISTED_EMAIL_DOMAINS

    -
    +

    Array of String

    -
    +

    The list of email-address domains that is used if FEATURE_BLACKLISTED_EMAILS is set to true

    Example: "example.com", "example.org"

    -
    +

    BLACKLIST_V2_SPEC

    -
    +

    String

    -
    +

    The Docker CLI versions to which Red Hat Quay will respond that V2 is unsupported

    Example: <1.8.0
    Default: <1.6.0

    -
    +

    DOCUMENTATION_ROOT

    -
    +

    String

    -
    +

    Root URL for documentation links. This field is useful when Red Hat Quay is configured for disconnected environments to set an alternatively, or allowlisted, documentation link.

    -
    +

    SECURITY_SCANNER_V4_NAMESPACE_WHITELIST

    -
    +

    String

    -
    +

    The namespaces for which the security scanner should be enabled

    -
    +

    FEATURE_RESTRICTED_V1_PUSH

    -
    +

    Boolean

    -
    +

    If set to true, only namespaces listed in V1_PUSH_WHITELIST support V1 push

    Default: True

    -
    +

    V1_PUSH_WHITELIST

    -
    +

    Array of String

    -
    +

    The array of namespace names that support V1 push if FEATURE_RESTRICTED_V1_PUSH is set to true

    -
    +

    FEATURE_HELM_OCI_SUPPORT

    -
    +

    Boolean

    -
    +

    Enable support for Helm artifacts.

    Default: False

    -
    +

    ALLOWED_OCI_ARTIFACT_TYPES

    -
    +

    Object

    -
    +

    The set of allowed OCI artifact MIME types and the associated layer types.

    -

    3.39. User interface v2 configuration fields

    Table 3.43. User interface v2 configuration fields

    FieldTypeDescription
    +

    3.39. User interface v2 configuration fields

    Table 3.43. User interface v2 configuration fields

    FieldTypeDescription

    FEATURE_UI_V2

    -
    +

    Boolean

    -
    +

    When set, allows users to try the beta UI environment.

    + Default: False

    -
    +

    FEATURE_UI_V2_REPO_SETTINGS

    -
    +

    Boolean

    -
    +

    When set to True, enables repository settings in the Red Hat Quay v2 UI.

    @@ -4871,15 +4871,15 @@ In the navigation pane of your Red Hat Quay deployment, you are given the option to toggle between Current UI and New UI. Click the toggle button to set it to new UI, and then click Use Beta Environment, for example:

    Red Hat Quay v2 UI toggle -

    3.40. IPv6 configuration field

    Table 3.44. IPv6 configuration field

    FieldTypeDescription
    +

    3.40. IPv6 configuration field

    Table 3.44. IPv6 configuration field

    FieldTypeDescription

    FEATURE_LISTEN_IP_VERSION

    -
    +

    String

    -
    +

    Enables IPv4, IPv6, or dual-stack protocol family. This configuration field must be properly set, otherwise Red Hat Quay fails to start.

    @@ -4889,54 +4889,54 @@

    Additional configurations: IPv6, dual-stack

    -

    3.41. Branding configuration fields

    Table 3.45. Branding configuration fields

    FieldTypeDescription
    +

    3.41. Branding configuration fields

    Table 3.45. Branding configuration fields

    FieldTypeDescription

    BRANDING

    -
    +

    Object

    -
    +

    Custom branding for logos and URLs in the Red Hat Quay UI.

    -
    +

    .logo
    (Required)

    -
    +

    String

    -
    +

    Main logo image URL.

    The header logo defaults to 205x30 PX. The form logo on the Red Hat Quay sign in screen of the web UI defaults to 356.5x39.7 PX.
    Example:
    /static/img/quay-horizontal-color.svg

    -
    +

    .footer_img

    -
    +

    String

    -
    +

    Logo for UI footer. Defaults to 144x34 PX.

    Example:
    /static/img/RedHat.svg

    -
    +

    .footer_url

    -
    +

    String

    -
    +

    Link for footer image.

    Example:
    https://redhat.com

    @@ -4948,15 +4948,15 @@ footer_url: https://opensourceworld.org/

    3.42. Session timeout configuration field

    The following configuration field relies on on the Flask API configuration field of the same name. -

    Table 3.46. Session logout configuration field

    FieldTypeDescription
    +

    Table 3.46. Session logout configuration field

    FieldTypeDescription

    PERMANENT_SESSION_LIFETIME

    -
    +

    Integer

    -
    +

    A timedelta which is used to set the expiration date of a permanent session. The default is 31 days, which makes a permanent session survive for roughly one month.

    @@ -4974,15 +4974,15 @@ Red Hat Quay supports a limited number of environment variables for dynamic configuration.

    4.1. Geo-replication

    The same configuration should be used across all regions, with exception of the storage backend, which can be configured explicitly using the QUAY_DISTRIBUTED_STORAGE_PREFERENCE environment variable. -

    Table 4.1. Geo-replication configuration

    VariableTypeDescription
    +

    Table 4.1. Geo-replication configuration

    VariableTypeDescription

    QUAY_DISTRIBUTED_STORAGE_PREFERENCE

    -
    +

    String

    -
    +

    The preferred storage engine (by ID in DISTRIBUTED_STORAGE_CONFIG) to use.

    @@ -4994,15 +4994,15 @@ Overtime, the connection pools will release idle connections. To release all connections immediately, Red Hat Quay requires a restart.

    Database connection pooling can be toggled by setting the environment variable DB_CONNECTION_POOLING to true or false. -

    Table 4.2. Database connection pooling configuration

    VariableTypeDescription
    +

    Table 4.2. Database connection pooling configuration

    VariableTypeDescription

    DB_CONNECTION_POOLING

    -
    +

    Boolean

    -
    +

    Enable or disable database connection pooling

    @@ -5016,125 +5016,125 @@ ...

    4.3. HTTP connection counts

    It is possible to specify the quantity of simultaneous HTTP connections using environment variables. These can be specified as a whole, or for a specific component. The default for each is 50 parallel connections per process. -

    Table 4.3. HTTP connection counts configuration

    VariableTypeDescription
    +

    Table 4.3. HTTP connection counts configuration

    VariableTypeDescription

    WORKER_CONNECTION_COUNT

    -
    +

    Number

    -
    +

    Simultaneous HTTP connections

    Default: 50

    -
    +

    WORKER_CONNECTION_COUNT_REGISTRY

    -
    +

    Number

    -
    +

    Simultaneous HTTP connections for registry

    Default: WORKER_CONNECTION_COUNT

    -
    +

    WORKER_CONNECTION_COUNT_WEB

    -
    +

    Number

    -
    +

    Simultaneous HTTP connections for web UI

    Default: WORKER_CONNECTION_COUNT

    -
    +

    WORKER_CONNECTION_COUNT_SECSCAN

    -
    +

    Number

    -
    +

    Simultaneous HTTP connections for Clair

    Default: WORKER_CONNECTION_COUNT

    -

    4.4. Worker count variables

    Table 4.4. Worker count variables

    VariableTypeDescription
    +

    4.4. Worker count variables

    Table 4.4. Worker count variables

    VariableTypeDescription

    WORKER_COUNT

    -
    +

    Number

    -
    +

    Generic override for number of processes

    -
    +

    WORKER_COUNT_REGISTRY

    -
    +

    Number

    -
    +

    Specifies the number of processes to handle Registry requests within the Quay container

    Values: Integer between 8 and 64

    -
    +

    WORKER_COUNT_WEB

    -
    +

    Number

    -
    +

    Specifies the number of processes to handle UI/Web requests within the container

    Values: Integer between 2 and 32

    -
    +

    WORKER_COUNT_SECSCAN

    -
    +

    Number

    -
    +

    Specifies the number of processes to handle Security Scanning (e.g. Clair) integration within the container

    Values: Integer. Because the Operator specifies 2 vCPUs for resource requests and limits, setting this value between 2 and 4 is safe. However, users can run more, for example, 16, if warranted.

    4.5. Debug variables

    The following debug variables are available on Red Hat Quay. -

    Table 4.5. Debug configuration variables

    VariableTypeDescription
    +

    Table 4.5. Debug configuration variables

    VariableTypeDescription

    DEBUGLOG

    -
    +

    Boolean

    -
    +

    Whether to enable or disable debug logs.

    -
    +

    USERS_DEBUG

    -
    +

    Integer. Either 0 or 1.

    -
    +

    Used to debug LDAP operations in clear text, including passwords. Must be used with DEBUGLOG=TRUE.

    @@ -5234,66 +5234,66 @@ The above YAML file lists every key for completeness. Using this configuration file as-is will result in some options not having their defaults set normally.

    5.1.3. Clair general fields

    The following table describes the general configuration fields available for a Clair deployment. -

    FieldTyphttp_listen_aeDescription
    +

    FieldTyphttp_listen_aeDescription

    http_listen_addr

    -
    +

    String

    -
    +

    Configures where the HTTP API is exposed.

    Default: :6060

    -
    +

    introspection_addr

    -
    +

    String

    -
    +

    Configures where Clair’s metrics and health endpoints are exposed.

    -
    +

    log_level

    -
    +

    String

    -
    +

    Sets the logging level. Requires one of the following strings: debug-color, debug, info, warn, error, fatal, panic

    -
    +

    tls

    -
    +

    String

    -
    +

    A map containing the configuration for serving the HTTP API of TLS/SSL and HTTP/2.

    -
    +

    .cert

    -
    +

    String

    -
    +

    The TLS certificate to be used. Must be a full-chain certificate.

    @@ -5308,141 +5308,141 @@ # ...

    5.1.4. Clair indexer configuration fields

    The following table describes the configuration fields for Clair’s indexer component. -

    FieldTypeDescription
    +

    FieldTypeDescription

    indexer

    -
    +

    Object

    -
    +

    Provides Clair indexer node configuration.

    -
    +

    .airgap

    -
    +

    Boolean

    -
    +

    Disables HTTP access to the internet for indexers and fetchers. Private IPv4 and IPv6 addresses are allowed. Database connections are unaffected.

    -
    +

    .connstring

    -
    +

    String

    -
    +

    A Postgres connection string. Accepts format as a URL or libpq connection string.

    -
    +

    .index_report_request_concurrency

    -
    +

    Integer

    -
    +

    Rate limits the number of index report creation requests. Setting this to 0 attemps to auto-size this value. Setting a negative value means unlimited. The auto-sizing is a multiple of the number of available cores.

    The API returns a 429 status code if concurrency is exceeded.

    -
    +

    .scanlock_retry

    -
    +

    Integer

    -
    +

    A positive integer representing seconds. Concurrent indexers lock on manifest scans to avoid clobbering. This value tunes how often a waiting indexer polls for the lock.

    -
    +

    .layer_scan_concurrency

    -
    +

    Integer

    -
    +

    Positive integer limiting the number of concurrent layer scans. Indexers will match a manifest’s layer concurrently. This value tunes the number of layers an indexer scans in parallel.

    -
    +

    .migrations

    -
    +

    Boolean

    -
    +

    Whether indexer nodes handle migrations to their database.

    -
    +

    .scanner

    -
    +

    String

    -
    +

    Indexer configuration.

    Scanner allows for passing configuration options to layer scanners. The scanner will have this configuration pass to it on construction if designed to do so.

    -
    +

    .scanner.dist

    -
    +

    String

    -
    +

    A map with the name of a particular scanner and arbitrary YAML as a value.

    -
    +

    .scanner.package

    -
    +

    String

    -
    +

    A map with the name of a particular scanner and arbitrary YAML as a value.

    -
    +

    .scanner.repo

    -
    +

    String

    -
    +

    A map with the name of a particular scanner and arbitrary YAML as a value.

    @@ -5461,51 +5461,51 @@ The following table describes the configuration fields for Clair’s matcher component.

    Note

    Differs from matchers configuration fields. -

    FieldTypeDescription
    +

    FieldTypeDescription

    matcher

    -
    +

    Object

    -
    +

    Provides Clair matcher node configuration.

    -
    +

    .cache_age

    -
    +

    String

    -
    +

    Controls how long users should be hinted to cache responses for.

    -
    +

    .connstring

    -
    +

    String

    -
    +

    A Postgres connection string. Accepts format as a URL or libpq connection string.

    -
    +

    .max_conn_pool

    -
    +

    Integer

    -
    +

    Limits the database connection pool size.

    @@ -5515,72 +5515,72 @@

    This parameter will be ignored in a future version. Users should configure this through the connection string.

    -
    +

    .indexer_addr

    -
    +

    String

    -
    +

    A matcher contacts an indexer to create a vulnerability report. The location of this indexer is required.

    Defaults to 30m.

    -
    +

    .migrations

    -
    +

    Boolean

    -
    +

    Whether matcher nodes handle migrations to their databases.

    -
    +

    .period

    -
    +

    String

    -
    +

    Determines how often updates for new security advisories take place.

    Defaults to 30m.

    -
    +

    .disable_updaters

    -
    +

    Boolean

    -
    +

    Whether to run background updates or not.

    Default: False

    -
    +

    .update_retention

    -
    +

    Integer

    -
    +

    Sets the number of update operations to retain between garbage collection cycles. This should be set to a safe MAX value based on database size constraints.

    @@ -5608,39 +5608,39 @@ The following table describes the configuration fields for Clair’s matchers component.

    Note

    Differs from matcher configuration fields. -

    Table 5.1. Matchers configuration fields

    FieldTypeDescription
    +

    Table 5.1. Matchers configuration fields

    FieldTypeDescription

    matchers

    -
    +

    Array of strings

    -
    +

    Provides configuration for the in-tree matchers.

    -
    +

    .names

    -
    +

    String

    -
    +

    A list of string values informing the matcher factory about enabled matchers. If value is set to null, the default list of matchers run. The following strings are accepted: alpine-matcher, aws-matcher, debian-matcher, gobin, java-maven, oracle, photon, python, rhel, rhel-container-matcher, ruby, suse, ubuntu-matcher

    -
    +

    .config

    -
    +

    String

    -
    +

    Provides configuration to a specific matcher.

    @@ -5661,27 +5661,27 @@ # ...

    5.1.7. Clair updaters configuration fields

    The following table describes the configuration fields for Clair’s updaters component. -

    Table 5.2. Updaters configuration fields

    FieldTypeDescription
    +

    Table 5.2. Updaters configuration fields

    FieldTypeDescription

    updaters

    -
    +

    Object

    -
    +

    Provides configuration for the matcher’s update manager.

    -
    +

    .sets

    -
    +

    String

    -
    +

    A list of values informing the update manager which updaters to run.

    @@ -5691,15 +5691,15 @@

    If left blank, zero updaters run.

    -
    +

    .config

    -
    +

    String

    -
    +

    Provides configuration to specific updater sets.

    @@ -5720,99 +5720,99 @@ # ...

    5.1.8. Clair notifier configuration fields

    The general notifier configuration fields for Clair are listed below. -

    FieldTypeDescription
    +

    FieldTypeDescription

    notifier

    -
    +

    Object

    -
    +

    Provides Clair notifier node configuration.

    -
    +

    .connstring

    -
    +

    String

    -
    +

    Postgres connection string. Accepts format as URL, or libpq connection string.

    -
    +

    .migrations

    -
    +

    Boolean

    -
    +

    Whether notifier nodes handle migrations to their database.

    -
    +

    .indexer_addr

    -
    +

    String

    -
    +

    A notifier contacts an indexer to create or obtain manifests affected by vulnerabilities. The location of this indexer is required.

    -
    +

    .matcher_addr

    -
    +

    String

    -
    +

    A notifier contacts a matcher to list update operations and acquire diffs. The location of this matcher is required.

    -
    +

    .poll_interval

    -
    +

    String

    -
    +

    The frequency at which the notifier will query a matcher for update operations.

    -
    +

    .delivery_interval

    -
    +

    String

    -
    +

    The frequency at which the notifier attempts delivery of created, or previously failed, notifications.

    -
    +

    .disable_summary

    -
    +

    Boolean

    -
    +

    Controls whether notifications should be summarized to one per manifest.

    @@ -5840,7 +5840,7 @@ # ...

    5.1.8.1. Clair webhook configuration fields

    The following webhook fields are available for the Clair notifier environment. -

    Table 5.3. Clair webhook fields

    +

    Table 5.3. Clair webhook fields

    .webhook

    @@ -6112,150 +6112,150 @@ # ...

    5.1.8.3. Clair STOMP configuration fields

    The following Simple Text Oriented Message Protocol (STOMP) fields are available for the Clair notifier environment. -

    .stompObjectConfigures the notifier for STOMP delivery.
    +

    .stompObjectConfigures the notifier for STOMP delivery.

    .stomp.direct

    -
    +

    Boolean

    -
    +

    If true, the notifier delivers individual notifications (not a callback) to the configured STOMP broker.

    -
    +

    .stomp.rollup

    -
    +

    Integer

    -
    +

    If stomp.direct is set to true, this value limits the number of notifications sent in a single direct delivery. For example, if direct is set to true, and rollup is set to 5, the notifier delivers no more than 5 notifications in a single JSON payload to the broker. Setting the value to 0 effectively sets it to 1.

    -
    +

    .stomp.callback

    -
    +

    String

    -
    +

    If stomp.callback is set to false, the provided URL in the notification callback is sent to the broker. This URL should point to Clair’s notification API endpoint.

    -
    +

    .stomp.destination

    -
    +

    String

    -
    +

    The STOMP destination to deliver notifications to.

    -
    +

    .stomp.uris

    -
    +

    String

    -
    +

    A list of one or more STOMP brokers to connect to in priority order.

    -
    +

    .stomp.tls

    -
    +

    Object

    -
    +

    Configured TLS/SSL connection to STOMP broker.

    -
    +

    .stomp.tls.root_ca

    -
    +

    String

    -
    +

    The filesystem path where a root CA can be read.

    [NOTE] ==== Clair also respects SSL_CERT_DIR, as documented for the Go crypto/x509 package. ====

    -
    +

    .stomp.tls.cert

    -
    +

    String

    -
    +

    The filesystem path where a TLS/SSL certificate can be read.

    -
    +

    .stomp.tls.key

    -
    +

    String

    -
    +

    The filesystem path where a TLS/SSL private key can be read.

    -
    +

    .stomp.user

    -
    +

    String

    -
    +

    Configures login details for the STOMP broker.

    -
    +

    .stomp.user.login

    -
    +

    String

    -
    +

    The STOMP login to connect with.

    -
    +

    .stomp.user.passcode

    -
    +

    String

    -
    +

    The STOMP passcode to connect with.

    @@ -6280,51 +6280,51 @@ # ...

    5.1.9. Clair authorization configuration fields

    The following authorization configuration fields are available for Clair. -

    FieldTypeDescription
    +

    FieldTypeDescription

    auth

    -
    +

    Object

    -
    +

    Defines Clair’s external and intra-service JWT based authentication. If multiple auth mechanisms are defined, Clair picks one. Currently, multiple mechanisms are unsupported.

    -
    +

    .psk

    -
    +

    String

    -
    +

    Defines pre-shared key authentication.

    -
    +

    .psk.key

    -
    +

    String

    -
    +

    A shared base64 encoded key distributed between all parties signing and verifying JWTs.

    -
    +

    .psk.iss

    -
    +

    String

    -
    +

    A list of JWT issuers to verify. An empty list accepts any issuer in a JWT claim.

    @@ -6340,159 +6340,159 @@ # ...

    5.1.10. Clair trace configuration fields

    The following trace configuration fields are available for Clair. -

    FieldTypeDescription
    +

    FieldTypeDescription

    trace

    -
    +

    Object

    -
    +

    Defines distributed tracing configuration based on OpenTelemetry.

    -
    +

    .name

    -
    +

    String

    -
    +

    The name of the application traces will belong to.

    -
    +

    .probability

    -
    +

    Integer

    -
    +

    The probability a trace will occur.

    -
    +

    .jaeger

    -
    +

    Object

    -
    +

    Defines values for Jaeger tracing.

    -
    +

    .jaeger.agent

    -
    +

    Object

    -
    +

    Defines values for configuring delivery to a Jaeger agent.

    -
    +

    .jaeger.agent.endpoint

    -
    +

    String

    -
    +

    An address in the <host>:<post> syntax where traces can be submitted.

    -
    +

    .jaeger.collector

    -
    +

    Object

    -
    +

    Defines values for configuring delivery to a Jaeger collector.

    -
    +

    .jaeger.collector.endpoint

    -
    +

    String

    -
    +

    An address in the <host>:<post> syntax where traces can be submitted.

    -
    +

    .jaeger.collector.username

    -
    +

    String

    -
    +

    A Jaeger username.

    -
    +

    .jaeger.collector.password

    -
    +

    String

    -
    +

    A Jaeger password.

    -
    +

    .jaeger.service_name

    -
    +

    String

    -
    +

    The service name registered in Jaeger.

    -
    +

    .jaeger.tags

    -
    +

    String

    -
    +

    Key-value pairs to provide additional metadata.

    -
    +

    .jaeger.buffer_max

    -
    +

    Integer

    -
    +

    The maximum number of spans that can be buffered in memory before they are sent to the Jaeger backend for storage and analysis.

    @@ -6511,51 +6511,51 @@ # ...

    5.1.11. Clair metrics configuration fields

    The following metrics configuration fields are available for Clair. -

    FieldTypeDescription
    +

    FieldTypeDescription

    metrics

    -
    +

    Object

    -
    +

    Defines distributed tracing configuration based on OpenTelemetry.

    -
    +

    .name

    -
    +

    String

    -
    +

    The name of the metrics in use.

    -
    +

    .prometheus

    -
    +

    String

    -
    +

    Configuration for a Prometheus metrics exporter.

    -
    +

    .prometheus.endpoint

    -
    +

    String

    -
    +

    Defines the path where metrics are served.

    @@ -6569,7 +6569,7 @@ prometheus: endpoint: "/metricsz" # ... -

    Legal Notice

    +

    Legal Notice

    Copyright © 2024 Red Hat, Inc.
    The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/deploy_quay/index.html b/master/deploy_quay/index.html index 61521cce..673883f2 100644 --- a/master/deploy_quay/index.html +++ b/master/deploy_quay/index.html @@ -1,8 +1,8 @@ -Proof of Concept - Deploying Red Hat Quay
    Red Hat Quay 3.13

    Proof of Concept - Deploying Red Hat Quay

    Deploying Red Hat Quay

    Red Hat OpenShift Documentation Team

    Abstract

    +Proof of Concept - Deploying Red Hat Quay

    Preface

    Important

    The following proof of concept deployment method is unsupported for production purposes. This deployment type uses local storage. Local storage is not guaranteed to provide the required read-after-write consistency and data integrity guarantees during parallel access that a storage registry like Red Hat Quay requires. Do not use this deployment type for production purposes. Use it for testing purposes only.

    Red Hat Quay is an enterprise-quality registry for building, securing and serving container images. The documents in this section detail how to deploy Red Hat Quay for proof of concept, or non-production, purposes. The primary objectives of this document includes the following: @@ -105,63 +105,63 @@ Configuring port mapping. You can use port mappings to expose ports on the host and then use these ports in combination with the host IP address or host name.

    This document uses port mapping and assumes a static IP address for your host system. -

    Table 2.1. Sample proof of concept port mapping

    ComponentPort mappingAddress
    +

    Table 2.1. Sample proof of concept port mapping

    ComponentPort mappingAddress

    Quay

    -
    +

    -p 80:8080 -p 443:8443

    -
    +

    http://quay-server.example.com

    -
    +

    Postgres for Quay

    -
    +

    -p 5432:5432

    -
    +

    quay-server.example.com:5432

    -
    +

    Redis

    -
    +

    -p 6379:6379

    -
    +

    quay-server.example.com:6379

    -
    +

    Postgres for Clair V4

    -
    +

    -p 5433:5432

    -
    +

    quay-server.example.com:5433

    -
    +

    Clair V4

    -
    +

    -p 8081:8080

    -
    +

    http://quay-server.example.com:8081

    @@ -520,7 +520,7 @@ Geo-replication
  • and more -
  • Legal Notice

    +

    Legal Notice

    Copyright © 2024 Red Hat, Inc.
    The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/deploy_quay_ha/index.html b/master/deploy_quay_ha/index.html index a75008d0..e73a9608 100644 --- a/master/deploy_quay_ha/index.html +++ b/master/deploy_quay_ha/index.html @@ -1,8 +1,8 @@ -Deploy Red Hat Quay - High Availability
    Red Hat Quay 3.13

    Deploy Red Hat Quay - High Availability

    Deploy Red Hat Quay HA

    Red Hat OpenShift Documentation Team

    Preface

    Red Hat Quay is an enterprise-quality container registry. Use Quay to build and store containers, then deploy them to the servers across your enterprise.

    This procedure describes how to deploy a high availability, enterprise-quality Red Hat Quay setup. @@ -651,51 +651,51 @@ Links contained herein to any external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or its entities, products, or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

    Red Hat Quay has several health check endpoints. The following table shows you the health check, a description, an endpoint, and an example output. -

    Table 8.1. Health check endpoints

    Health checkDescriptionEndpointExample output
    +

    Table 8.1. Health check endpoints

    Health checkDescriptionEndpointExample output

    instance

    -
    +

    The instance endpoint acquires the entire status of the specific Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, disk_space, registry_gunicorn, service_key, and web_gunicorn. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/instance or https://{quay-ip-endpoint}/health

    -
    +

    {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

    -
    +

    endtoend

    -
    +

    The endtoend endpoint conducts checks on all services of your Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, redis, storage. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/endtoend

    -
    +

    {"data":{"services":{"auth":true,"database":true,"redis":true,"storage":true}},"status_code":200}

    -
    +

    warning

    -
    +

    The warning endpoint conducts a check on the warnings. Returns a dict with key-value pairs for the following: disk_space_warning. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/warning

    -
    +

    {"data":{"services":{"disk_space_warning":true}},"status_code":503}

    @@ -707,7 +707,7 @@ You are taken to the health instance page, which returns information like the following:

    {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

    For Red Hat Quay, "status_code": 200 means that the instance is health. Conversely, if you receive "status_code": 503, there is an issue with your deployment. -

    Additional resources

    Legal Notice

    +

    Additional resources

    Legal Notice

    Copyright © 2024 Red Hat, Inc.
    The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/manage_quay/index.html b/master/manage_quay/index.html index 11776f1f..a2879894 100644 --- a/master/manage_quay/index.html +++ b/master/manage_quay/index.html @@ -1,8 +1,8 @@ -Manage Red Hat Quay
    Red Hat Quay 3.13

    Manage Red Hat Quay

    Manage Red Hat Quay

    Red Hat OpenShift Documentation Team

    Abstract

    +Manage Red Hat Quay
    Red Hat Quay 3.13

    Manage Red Hat Quay

    Manage Red Hat Quay

    Red Hat OpenShift Documentation Team

    Abstract

    Manage Red Hat Quay -

    Preface

    +


    Preface

    Once you have deployed a Red Hat Quay registry, there are many ways you can further configure and manage that deployment. Topics covered here include:

    • Advanced Red Hat Quay configuration @@ -730,1251 +730,1251 @@ The time when the action was performed.

    6.3.2. Log entry kind_ids

    The following table represents the kind_ids associated with Red Hat Quay actions. -

    kind_idActionDescription
    +

    kind_idActionDescription

    1

    -
    +

    account_change_cc

    -
    +

    Change of credit card information.

    -
    +

    2

    -
    +

    account_change_password

    -
    +

    Change of account password.

    -
    +

    3

    -
    +

    account_change_plan

    -
    +

    Change of account plan.

    -
    +

    4

    -
    +

    account_convert

    -
    +

    Account conversion.

    -
    +

    5

    -
    +

    add_repo_accesstoken

    -
    +

    Adding an access token to a repository.

    -
    +

    6

    -
    +

    add_repo_notification

    -
    +

    Adding a notification to a repository.

    -
    +

    7

    -
    +

    add_repo_permission

    -
    +

    Adding permissions to a repository.

    -
    +

    8

    -
    +

    add_repo_webhook

    -
    +

    Adding a webhook to a repository.

    -
    +

    9

    -
    +

    build_dockerfile

    -
    +

    Building a Dockerfile.

    -
    +

    10

    -
    +

    change_repo_permission

    -
    +

    Changing permissions of a repository.

    -
    +

    11

    -
    +

    change_repo_visibility

    -
    +

    Changing the visibility of a repository.

    -
    +

    12

    -
    +

    create_application

    -
    +

    Creating an application.

    -
    +

    13

    -
    +

    create_prototype_permission

    -
    +

    Creating permissions for a prototype.

    -
    +

    14

    -
    +

    create_repo

    -
    +

    Creating a repository.

    -
    +

    15

    -
    +

    create_robot

    -
    +

    Creating a robot (service account or bot).

    -
    +

    16

    -
    +

    create_tag

    -
    +

    Creating a tag.

    -
    +

    17

    -
    +

    delete_application

    -
    +

    Deleting an application.

    -
    +

    18

    -
    +

    delete_prototype_permission

    -
    +

    Deleting permissions for a prototype.

    -
    +

    19

    -
    +

    delete_repo

    -
    +

    Deleting a repository.

    -
    +

    20

    -
    +

    delete_repo_accesstoken

    -
    +

    Deleting an access token from a repository.

    -
    +

    21

    -
    +

    delete_repo_notification

    -
    +

    Deleting a notification from a repository.

    -
    +

    22

    -
    +

    delete_repo_permission

    -
    +

    Deleting permissions from a repository.

    -
    +

    23

    -
    +

    delete_repo_trigger

    -
    +

    Deleting a repository trigger.

    -
    +

    24

    -
    +

    delete_repo_webhook

    -
    +

    Deleting a webhook from a repository.

    -
    +

    25

    -
    +

    delete_robot

    -
    +

    Deleting a robot.

    -
    +

    26

    -
    +

    delete_tag

    -
    +

    Deleting a tag.

    -
    +

    27

    -
    +

    manifest_label_add

    -
    +

    Adding a label to a manifest.

    -
    +

    28

    -
    +

    manifest_label_delete

    -
    +

    Deleting a label from a manifest.

    -
    +

    29

    -
    +

    modify_prototype_permission

    -
    +

    Modifying permissions for a prototype.

    -
    +

    30

    -
    +

    move_tag

    -
    +

    Moving a tag.

    -
    +

    31

    -
    +

    org_add_team_member

    -
    +

    Adding a member to a team.

    -
    +

    32

    -
    +

    org_create_team

    -
    +

    Creating a team within an organization.

    -
    +

    33

    -
    +

    org_delete_team

    -
    +

    Deleting a team within an organization.

    -
    +

    34

    -
    +

    org_delete_team_member_invite

    -
    +

    Deleting a team member invitation.

    -
    +

    35

    -
    +

    org_invite_team_member

    -
    +

    Inviting a member to a team in an organization.

    -
    +

    36

    -
    +

    org_remove_team_member

    -
    +

    Removing a member from a team.

    -
    +

    37

    -
    +

    org_set_team_description

    -
    +

    Setting the description of a team.

    -
    +

    38

    -
    +

    org_set_team_role

    -
    +

    Setting the role of a team.

    -
    +

    39

    -
    +

    org_team_member_invite_accepted

    -
    +

    Acceptance of a team member invitation.

    -
    +

    40

    -
    +

    org_team_member_invite_declined

    -
    +

    Declining of a team member invitation.

    -
    +

    41

    -
    +

    pull_repo

    -
    +

    Pull from a repository.

    -
    +

    42

    -
    +

    push_repo

    -
    +

    Push to a repository.

    -
    +

    43

    -
    +

    regenerate_robot_token

    -
    +

    Regenerating a robot token.

    -
    +

    44

    -
    +

    repo_verb

    -
    +

    Generic repository action (specifics might be defined elsewhere).

    -
    +

    45

    -
    +

    reset_application_client_secret

    -
    +

    Resetting the client secret of an application.

    -
    +

    46

    -
    +

    revert_tag

    -
    +

    Reverting a tag.

    -
    +

    47

    -
    +

    service_key_approve

    -
    +

    Approving a service key.

    -
    +

    48

    -
    +

    service_key_create

    -
    +

    Creating a service key.

    -
    +

    49

    -
    +

    service_key_delete

    -
    +

    Deleting a service key.

    -
    +

    50

    -
    +

    service_key_extend

    -
    +

    Extending a service key.

    -
    +

    51

    -
    +

    service_key_modify

    -
    +

    Modifying a service key.

    -
    +

    52

    -
    +

    service_key_rotate

    -
    +

    Rotating a service key.

    -
    +

    53

    -
    +

    setup_repo_trigger

    -
    +

    Setting up a repository trigger.

    -
    +

    54

    -
    +

    set_repo_description

    -
    +

    Setting the description of a repository.

    -
    +

    55

    -
    +

    take_ownership

    -
    +

    Taking ownership of a resource.

    -
    +

    56

    -
    +

    update_application

    -
    +

    Updating an application.

    -
    +

    57

    -
    +

    change_repo_trust

    -
    +

    Changing the trust level of a repository.

    -
    +

    58

    -
    +

    reset_repo_notification

    -
    +

    Resetting repository notifications.

    -
    +

    59

    -
    +

    change_tag_expiration

    -
    +

    Changing the expiration date of a tag.

    -
    +

    60

    -
    +

    create_app_specific_token

    -
    +

    Creating an application-specific token.

    -
    +

    61

    -
    +

    revoke_app_specific_token

    -
    +

    Revoking an application-specific token.

    -
    +

    62

    -
    +

    toggle_repo_trigger

    -
    +

    Toggling a repository trigger on or off.

    -
    +

    63

    -
    +

    repo_mirror_enabled

    -
    +

    Enabling repository mirroring.

    -
    +

    64

    -
    +

    repo_mirror_disabled

    -
    +

    Disabling repository mirroring.

    -
    +

    65

    -
    +

    repo_mirror_config_changed

    -
    +

    Changing the configuration of repository mirroring.

    -
    +

    66

    -
    +

    repo_mirror_sync_started

    -
    +

    Starting a repository mirror sync.

    -
    +

    67

    -
    +

    repo_mirror_sync_failed

    -
    +

    Repository mirror sync failed.

    -
    +

    68

    -
    +

    repo_mirror_sync_success

    -
    +

    Repository mirror sync succeeded.

    -
    +

    69

    -
    +

    repo_mirror_sync_now_requested

    -
    +

    Immediate repository mirror sync requested.

    -
    +

    70

    -
    +

    repo_mirror_sync_tag_success

    -
    +

    Repository mirror tag sync succeeded.

    -
    +

    71

    -
    +

    repo_mirror_sync_tag_failed

    -
    +

    Repository mirror tag sync failed.

    -
    +

    72

    -
    +

    repo_mirror_sync_test_success

    -
    +

    Repository mirror sync test succeeded.

    -
    +

    73

    -
    +

    repo_mirror_sync_test_failed

    -
    +

    Repository mirror sync test failed.

    -
    +

    74

    -
    +

    repo_mirror_sync_test_started

    -
    +

    Repository mirror sync test started.

    -
    +

    75

    -
    +

    change_repo_state

    -
    +

    Changing the state of a repository.

    -
    +

    76

    -
    +

    create_proxy_cache_config

    -
    +

    Creating proxy cache configuration.

    -
    +

    77

    -
    +

    delete_proxy_cache_config

    -
    +

    Deleting proxy cache configuration.

    -
    +

    78

    -
    +

    start_build_trigger

    -
    +

    Starting a build trigger.

    -
    +

    79

    -
    +

    cancel_build

    -
    +

    Cancelling a build.

    -
    +

    80

    -
    +

    org_create

    -
    +

    Creating an organization.

    -
    +

    81

    -
    +

    org_delete

    -
    +

    Deleting an organization.

    -
    +

    82

    -
    +

    org_change_email

    -
    +

    Changing organization email.

    -
    +

    83

    -
    +

    org_change_invoicing

    -
    +

    Changing organization invoicing.

    -
    +

    84

    -
    +

    org_change_tag_expiration

    -
    +

    Changing organization tag expiration.

    -
    +

    85

    -
    +

    org_change_name

    -
    +

    Changing organization name.

    -
    +

    86

    -
    +

    user_create

    -
    +

    Creating a user.

    -
    +

    87

    -
    +

    user_delete

    -
    +

    Deleting a user.

    -
    +

    88

    -
    +

    user_disable

    -
    +

    Disabling a user.

    -
    +

    89

    -
    +

    user_enable

    -
    +

    Enabling a user.

    -
    +

    90

    -
    +

    user_change_email

    -
    +

    Changing user email.

    -
    +

    91

    -
    +

    user_change_password

    -
    +

    Changing user password.

    -
    +

    92

    -
    +

    user_change_name

    -
    +

    Changing user name.

    -
    +

    93

    -
    +

    user_change_invoicing

    -
    +

    Changing user invoicing.

    -
    +

    94

    -
    +

    user_change_tag_expiration

    -
    +

    Changing user tag expiration.

    -
    +

    95

    -
    +

    user_change_metadata

    -
    +

    Changing user metadata.

    -
    +

    96

    -
    +

    user_generate_client_key

    -
    +

    Generating a client key for a user.

    -
    +

    97

    -
    +

    login_success

    -
    +

    Successful login.

    -
    +

    98

    -
    +

    logout_success

    -
    +

    Successful logout.

    -
    +

    99

    -
    +

    permanently_delete_tag

    -
    +

    Permanently deleting a tag.

    -
    +

    100

    -
    +

    autoprune_tag_delete

    -
    +

    Auto-pruning tag deletion.

    -
    +

    101

    -
    +

    create_namespace_autoprune_policy

    -
    +

    Creating namespace auto-prune policy.

    -
    +

    102

    -
    +

    update_namespace_autoprune_policy

    -
    +

    Updating namespace auto-prune policy.

    -
    +

    103

    -
    +

    delete_namespace_autoprune_policy

    -
    +

    Deleting namespace auto-prune policy.

    -
    +

    104

    -
    +

    login_failure

    -
    +

    Failed login attempt.

    @@ -2165,99 +2165,99 @@ Automatic synchronization or mirroring of selected (allowlisted) upstream repositories from external registries into a local Red Hat Quay deployment
    Note

    Repository mirroring and geo-replication can be used simultaneously. -

    Table 8.1. Red Hat Quay Repository mirroring and geo-replication comparison

    Feature / CapabilityGeo-replicationRepository mirroring
    +

    Table 8.1. Red Hat Quay Repository mirroring and geo-replication comparison

    Feature / CapabilityGeo-replicationRepository mirroring

    What is the feature designed to do?

    -
    +

    A shared, global registry

    -
    +

    Distinct, different registries

    -
    +

    What happens if replication or mirroring has not been completed yet?

    -
    +

    The remote copy is used (slower)

    -
    +

    No image is served

    -
    +

    Is access to all storage backends in both regions required?

    -
    +

    Yes (all Red Hat Quay nodes)

    -
    +

    No (distinct storage)

    -
    +

    Can users push images from both sites to the same repository?

    -
    +

    Yes

    -
    +

    No

    -
    +

    Is all registry content and configuration identical across all regions (shared database)?

    -
    +

    Yes

    -
    +

    No

    -
    +

    Can users select individual namespaces or repositories to be mirrored?

    -
    +

    No

    -
    +

    Yes

    -
    +

    Can users apply filters to synchronization rules?

    -
    +

    No

    -
    +

    Yes

    -
    +

    Are individual / different role-base access control configurations allowed in each region

    -
    +

    No

    -
    +

    Yes

    @@ -2285,63 +2285,63 @@ Enable mirroring and require HTTPS and verified certificates

  • Validate and download the configuration file, and then restart Quay in registry mode using the updated config file. -
  • 8.5. Mirroring configuration fields

    Table 8.2. Mirroring configuration

    FieldTypeDescription
    +

    8.5. Mirroring configuration fields

    Table 8.2. Mirroring configuration

    FieldTypeDescription

    FEATURE_REPO_MIRROR

    -
    +

    Boolean

    -
    +

    Enable or disable repository mirroring

    Default: false

    -
    +

    REPO_MIRROR_INTERVAL

    -
    +

    Number

    -
    +

    The number of seconds between checking for repository mirror candidates

    Default: 30

    -
    +

    REPO_MIRROR_SERVER_HOSTNAME

    -
    +

    String

    -
    +

    Replaces the SERVER_HOSTNAME as the destination for mirroring.

    Default: None

    Example:
    openshift-quay-service

    -
    +

    REPO_MIRROR_TLS_VERIFY

    -
    +

    Boolean

    -
    +

    Require HTTPS and verify certificates of Quay registry during mirror.

    Default: false

    -
    +

    REPO_MIRROR_ROLLBACK

    -
    +

    Boolean

    -
    +

    When set to true, the repository rolls back after a failed mirror attempt.

    @@ -3226,43 +3226,43 @@ Red Hat Quay provides metrics to help monitor the registry, including metrics for general registry usage, uploads, downloads, garbage collection, and authentication.

    13.2.1. General registry statistics

    General registry statistics can indicate how large the registry has grown. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_user_rows

    -
    +

    Number of users in the database

    -
    +

    quay_robot_rows

    -
    +

    Number of robot accounts in the database

    -
    +

    quay_org_rows

    -
    +

    Number of organizations in the database

    -
    +

    quay_repository_rows

    -
    +

    Number of repositories in the database

    -
    +

    quay_security_scanning_unscanned_images_remaining_total

    -
    +

    Number of images that are not scanned by the latest security scanner

    @@ -3289,27 +3289,27 @@ quay_security_scanning_unscanned_images_remaining{host="example-registry-quay-app-6df87f7b66-9tfn6",instance="",job="quay",pid="208",process_name="secscan:application"} 5

    13.2.2. Queue items

    The queue items metrics provide information on the multiple queues used by Quay for managing work. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_queue_items_available

    -
    +

    Number of items in a specific queue

    -
    +

    quay_queue_items_locked

    -
    +

    Number of items that are running

    -
    +

    quay_queue_items_available_unlocked

    -
    +

    Number of items that are waiting to be processed

    @@ -3354,35 +3354,35 @@ quay_queue_items_locked{host="example-registry-quay-app-6df87f7b66-9tfn6",instance="",job="quay",pid="63",process_name="exportactionlogsworker.py",queue_name="exportactionlogs"} 0

    13.2.3. Garbage collection metrics

    These metrics show you how many resources have been removed from garbage collection (gc). They show many times the gc workers have run and how many namespaces, repositories, and blobs were removed. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_gc_iterations_total

    -
    +

    Number of iterations by the GCWorker

    -
    +

    quay_gc_namespaces_purged_total

    -
    +

    Number of namespaces purged by the NamespaceGCWorker

    -
    +

    quay_gc_repos_purged_total

    -
    +

    Number of repositories purged by the RepositoryGCWorker or NamespaceGCWorker

    -
    +

    quay_gc_storage_blobs_deleted_total

    -
    +

    Number of storage blobs deleted

    @@ -3425,19 +3425,19 @@ ...

    13.2.3.1. Multipart uploads metrics

    The multipart uploads metrics show the number of blobs uploads to storage (S3, Rados, GoogleCloudStorage, RHOCS). These can help identify issues when Quay is unable to correctly upload blobs to storage. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_multipart_uploads_started_total

    -
    +

    Number of multipart uploads to Quay storage that started

    -
    +

    quay_multipart_uploads_completed_total

    -
    +

    Number of multipart uploads to Quay storage that completed

    @@ -3461,11 +3461,11 @@ ...

    13.2.4. Image push / pull metrics

    A number of metrics are available related to pushing and pulling images. -

    13.2.4.1. Image pulls total

    Metric nameDescription
    +

    13.2.4.1. Image pulls total

    Metric nameDescription

    quay_registry_image_pulls_total

    -
    +

    The number of images downloaded from the registry.

    @@ -3475,21 +3475,21 @@ ref: ref used to pull - tag, manifest
  • status: http return code of the request -
  • 13.2.4.2. Image bytes pulled

    Metric nameDescription
    +

    13.2.4.2. Image bytes pulled

    Metric nameDescription

    quay_registry_image_pulled_estimated_bytes_total

    -
    +

    The number of bytes downloaded from the registry

    Metric labels

    • protocol: the registry protocol used (should always be v2) -

    13.2.4.3. Image pushes total

    Metric nameDescription
    +

    13.2.4.3. Image pushes total

    Metric nameDescription

    quay_registry_image_pushes_total

    -
    +

    The number of images uploaded from the registry.

    @@ -3499,11 +3499,11 @@ pstatus: http return code of the request
  • pmedia_type: the uploaded manifest type -
  • 13.2.4.4. Image bytes pushed

    Metric nameDescription
    +

    13.2.4.4. Image bytes pushed

    Metric nameDescription

    quay_registry_image_pushed_bytes_total

    -
    +

    The number of bytes uploaded to the registry

    @@ -3515,11 +3515,11 @@ ...

    13.2.5. Authentication metrics

    The authentication metrics provide the number of authentication requests, labeled by type and whether it succeeded or not. For example, this metric could be used to monitor failed basic authentication requests. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_authentication_attempts_total

    -
    +

    Number of authentication attempts across the registry and API

    @@ -3555,27 +3555,27 @@ Quota management helps organizations to maintain resource consumption. One limitation of quota management is that calculating resource consumption on push results in the calculation becoming part of the push’s critical path. Without this, usage data might drift.

    The maximum storage quota size is dependent on the selected database: -

    Table 14.1. Worker count environment variables

    VariableDescription
    +

    Table 14.1. Worker count environment variables

    VariableDescription

    Postgres

    -
    +

    8388608 TB

    -
    +

    MySQL

    -
    +

    8388608 TB

    -
    +

    SQL Server

    -
    +

    16777216 TB

    @@ -5078,87 +5078,87 @@ As a Red Hat Quay administrator, you can configure Open Container Initiative (OCI) artifact types and other experimental artifact types through the FEATURE_GENERAL_OCI_SUPPORT, ALLOWED_OCI_ARTIFACT_TYPES, and IGNORE_UNKNOWN_MEDIATYPES configuration fields.

    The following Open Container Initiative (OCI) artifact types are built into Red Hat Quay by default and are enabled through the FEATURE_GENERAL_OCI_SUPPORT configuration field: -

    FieldMedia TypeSupported content types
    +

    FieldMedia TypeSupported content types

    Helm

    -
    +

    application/vnd.cncf.helm.config.v1+json

    -
    +

    application/tar+gzip, application/vnd.cncf.helm.chart.content.v1.tar+gzip

    -
    +

    Cosign

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.dev.cosign.simplesigning.v1+json, application/vnd.dsse.envelope.v1+json

    -
    +

    SPDX

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    text/spdx, text/spdx+xml, text/spdx+json

    -
    +

    Syft

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.syft+json

    -
    +

    CycloneDX

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.cyclonedx, application/vnd.cyclonedx+xml, application/vnd.cyclonedx+json

    -
    +

    In-toto

    -
    +

    application/vnd.oci.image.config.v1+json

    -
    +

    application/vnd.in-toto+json

    -
    +

    Unknown

    -
    +

    application/vnd.cncf.openpolicyagent.policy.layer.v1+rego

    -
    +

    application/vnd.cncf.openpolicyagent.policy.layer.v1+rego, application/vnd.cncf.openpolicyagent.data.layer.v1+json

    @@ -5240,99 +5240,99 @@ The UploadedBlob table in the Red Hat Quay metrics tracks the various blobs that are associated with a repository. When a blob is uploaded, it will not be garbage collected before the time designated by the PUSH_TEMP_TAG_EXPIRATION_SEC parameter. This is to avoid prematurely deleting blobs that are part of an ongoing push. For example, if garbage collection is set to run often, and a tag is deleted in the span of less than one hour, then it is possible that the associated blobs will not get cleaned up immediately. Instead, and assuming that the time designated by the PUSH_TEMP_TAG_EXPIRATION_SEC parameter has passed, the associated blobs will be removed the next time garbage collection is triggered to run by another expired tag on the same repository.

    20.2. Garbage collection configuration fields

    The following configuration fields are available to customize what is garbage collected, and the frequency at which garbage collection occurs: -

    NameDescriptionSchema
    +

    NameDescriptionSchema

    FEATURE_GARBAGE_COLLECTION

    -
    +

    Whether garbage collection is enabled for image tags. Defaults to true.

    -
    +

    Boolean

    -
    +

    FEATURE_NAMESPACE_GARBAGE_COLLECTION

    -
    +

    Whether garbage collection is enabled for namespaces. Defaults to true.

    -
    +

    Boolean

    -
    +

    FEATURE_REPOSITORY_GARBAGE_COLLECTION

    -
    +

    Whether garbage collection is enabled for repositories. Defaults to true.

    -
    +

    Boolean

    -
    +

    GARBAGE_COLLECTION_FREQUENCY

    -
    +

    The frequency, in seconds, at which the garbage collection worker runs. Affects only garbage collection workers. Defaults to 30 seconds.

    -
    +

    String

    -
    +

    PUSH_TEMP_TAG_EXPIRATION_SEC

    -
    +

    The number of seconds that blobs will not be garbage collected after being uploaded. This feature prevents garbage collection from cleaning up blobs that are not referenced yet, but still used as part of an ongoing push.

    -
    +

    String

    -
    +

    TAG_EXPIRATION_OPTIONS

    -
    +

    List of valid tag expiration values.

    -
    +

    String

    -
    +

    DEFAULT_TAG_EXPIRATION

    -
    +

    Tag expiration time for time machine.

    -
    +

    String

    -
    +

    CLEAN_BLOB_UPLOAD_FOLDER

    -
    +

    Automatically cleans stale blobs left over from an S3 multipart upload. By default, blob files older than two days are cleaned up every hour.

    -
    +

    Boolean

    @@ -5363,35 +5363,35 @@ Example output:

    gunicorn-web stdout | 2022-11-14 19:23:44,574 [233] [INFO] [gunicorn.access] 192.168.0.38 - - [14/Nov/2022:19:23:44 +0000] "DELETE /api/v1/repository/quayadmin/busybox/tag/test HTTP/1.0" 204 0 "http://quay-server.example.com/repository/quayadmin/busybox?tab=tags" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"

    20.6. Red Hat Quay garbage collection metrics

    The following metrics show how many resources have been removed by garbage collection. These metrics show how many times the garbage collection workers have run and how many namespaces, repositories, and blobs were removed. -

    Metric nameDescription
    +

    Metric nameDescription

    quay_gc_iterations_total

    -
    +

    Number of iterations by the GCWorker

    -
    +

    quay_gc_namespaces_purged_total

    -
    +

    Number of namespaces purged by the NamespaceGCWorker

    -
    +

    quay_gc_repos_purged_total

    -
    +

    Number of repositories purged by the RepositoryGCWorker or NamespaceGCWorker

    -
    +

    quay_gc_storage_blobs_deleted_total

    -
    +

    Number of storage blobs deleted

    @@ -5846,51 +5846,51 @@ Links contained herein to any external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or its entities, products, or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

    Red Hat Quay has several health check endpoints. The following table shows you the health check, a description, an endpoint, and an example output. -

    Table 22.1. Health check endpoints

    Health checkDescriptionEndpointExample output
    +

    Table 22.1. Health check endpoints

    Health checkDescriptionEndpointExample output

    instance

    -
    +

    The instance endpoint acquires the entire status of the specific Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, disk_space, registry_gunicorn, service_key, and web_gunicorn. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/instance or https://{quay-ip-endpoint}/health

    -
    +

    {"data":{"services":{"auth":true,"database":true,"disk_space":true,"registry_gunicorn":true,"service_key":true,"web_gunicorn":true}},"status_code":200}

    -
    +

    endtoend

    -
    +

    The endtoend endpoint conducts checks on all services of your Red Hat Quay instance. Returns a dict with key-value pairs for the following: auth, database, redis, storage. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/endtoend

    -
    +

    {"data":{"services":{"auth":true,"database":true,"redis":true,"storage":true}},"status_code":200}

    -
    +

    warning

    -
    +

    The warning endpoint conducts a check on the warnings. Returns a dict with key-value pairs for the following: disk_space_warning. Returns a number indicating the health check response of either 200, which indicates that the instance is healthy, or 503, which indicates an issue with your deployment.

    -
    +

    https://{quay-ip-endpoint}/health/warning

    -
    +

    {"data":{"services":{"disk_space_warning":true}},"status_code":503}

    @@ -5926,7 +5926,7 @@ Restart your Red Hat Quay deployment. After restarting, your Red Hat Quay deployment is updated with a new logo, footer image, and footer image URL.

    Chapter 24. Schema for Red Hat Quay configuration

    Most Red Hat Quay configuration information is stored in the config.yaml file. All configuration options are described in the Red Hat Quay Configuration Guide. -

    Legal Notice

    +

    Legal Notice

    Copyright © 2024 Red Hat, Inc.
    The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. diff --git a/master/release_notes/index.html b/master/release_notes/index.html index 1a43be50..cc8ce898 100644 --- a/master/release_notes/index.html +++ b/master/release_notes/index.html @@ -1,8 +1,8 @@ -Red Hat Quay Release Notes
    Red Hat Quay 3.13

    Red Hat Quay Release Notes

    Red Hat Quay

    Red Hat OpenShift Documentation Team

    Abstract

    +Red Hat Quay Release Notes
    Red Hat Quay 3.13

    Red Hat Quay Release Notes

    Red Hat Quay

    Red Hat OpenShift Documentation Team

    Abstract

    Red Hat Quay Release Notes -

    Preface

    +


    Preface

    Red Hat Quay container registry platform provides secure storage, distribution, and governance of containers and cloud-native artifacts on any infrastructure. It is available as a standalone component or as an Operator on OpenShift Container Platform. Red Hat Quay includes the following features and benefits: