Examples

POST /katello/api/repositories
{
  "name": "Fedora Repository",
  "product_id": 785257261,
  "url": "http://www.google.com",
  "content_type": "yum",
  "repository": {
    "name": "Fedora Repository",
    "url": "http://www.google.com",
    "content_type": "yum",
    "product_id": 785257261
  }
}
404
{
  "displayMessage": "Couldn't find Katello::RootRepository without an ID",
  "errors": [
    "Couldn't find Katello::RootRepository without an ID"
  ]
}

Params

Param name Description
name
required

Name of the repository

Validations:

  • String

description
optional

Description of the repository

Validations:

  • String

label
optional

Validations:

  • String

product_id
required

Product the repository belongs to

Validations:

  • Must be a number.

content_type
required

Type of repository. Available types endpoint: /katello/api/repositories/repository_types

Validations:

  • String

url
optional

repository source url

Validations:

  • String

os_versions
optional

Identifies whether the repository should be unavailable on a client with a non-matching OS version. Pass [] to make repo available for clients regardless of OS version. Maximum length 1; allowed tags are: rhel-6, rhel-7, rhel-8, rhel-9

Validations:

  • Must be an array of any type

gpg_key_id
optional , nil allowed

id of the gpg key that will be assigned to the new repository

Validations:

  • Must be a number.

ssl_ca_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL CA Cert

Validations:

  • Must be a number.

ssl_client_cert_id
optional , nil allowed

Identifier of the content credential containing the SSL Client Cert

Validations:

  • Must be a number.

ssl_client_key_id
optional , nil allowed

Identifier of the content credential containing the SSL Client Key

Validations:

  • Must be a number.

unprotected
optional

true if this repository can be published via HTTP

Validations:

  • Must be one of: true, false, 1, 0.

checksum_type
optional

Checksum of the repository, currently 'sha1' & 'sha256' are supported

Validations:

  • String

docker_upstream_name
optional

Name of the upstream docker repository

Validations:

  • String

include_tags
optional

Comma-separated list of tags to sync for a container image repository

Validations:

  • Must be an array of any type

exclude_tags
optional

Comma-separated list of tags to exclude when syncing a container image repository. Default: any tag ending in “-source”

Validations:

  • Must be an array of any type

download_policy
optional

download policy for yum, deb, and docker repos (either 'immediate' or 'on_demand')

Validations:

  • Must be one of: immediate, on_demand.

download_concurrency
optional

Used to determine download concurrency of the repository in pulp3. Use value less than 20. Defaults to 10

Validations:

  • Must be a number.

mirroring_policy
optional

Policy to set for mirroring content. Must be one of additive.

Validations:

  • Must be one of: additive, mirror_complete, mirror_content_only.

verify_ssl_on_sync
optional

if true, Katello will verify the upstream url's SSL certifcates are signed by a trusted CA

Validations:

  • Must be one of: true, false, 1, 0.

upstream_username
optional

Username of the upstream repository user used for authentication

Validations:

  • String

upstream_password
optional

Password of the upstream repository user used for authentication

Validations:

  • String

upstream_authentication_token
optional

Password of the upstream authentication token.

Validations:

  • String

deb_releases
optional

whitespace-separated list of releases to be synced from deb-archive

Validations:

  • String

deb_components
optional

whitespace-separated list of repo components to be synced from deb-archive

Validations:

  • String

deb_architectures
optional

whitespace-separated list of architectures to be synced from deb-archive

Validations:

  • String

ignorable_content
optional

List of content units to ignore while syncing a yum repository. Must be subset of srpm,treeinfo

Validations:

  • Must be an array of any type

ansible_collection_requirements
optional

Contents of requirement yaml file to sync from URL

Validations:

  • String

ansible_collection_auth_url
optional

The URL to receive a session token from, e.g. used with Automation Hub.

Validations:

  • String

ansible_collection_auth_token
optional

The token key to use for authentication.

Validations:

  • String

http_proxy_policy
optional

policies for HTTP proxy for content sync

Validations:

  • Must be one of: global_default_http_proxy, none, use_selected_http_proxy.

http_proxy_id
optional

ID of a HTTP Proxy

Validations:

  • Must be a number.

arch
optional

Architecture of content in the repository

Validations:

  • String

retain_package_versions_count
optional

The maximum number of versions of each package to keep.

Validations:

  • Must be a number.

metadata_expire
optional

Time to expire yum metadata in seconds. Only relevant for custom yum repositories.

Validations:

  • Must be a number.

excludes
optional

Python packages to exclude from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0.

Validations:

  • Must be an array of any type

includes
optional

Python packages to include from the upstream URL, names separated by newline. You may also specify versions, for example: django~=2.0. Leave empty to include every package.

Validations:

  • Must be an array of any type

package_types
optional

Package types to sync for Python content, separated by comma. Leave empty to get every package type. Package types are: bdist_dmg, bdist_dumb, bdist_egg, bdist_msi, bdist_rpm, bdist_wheel, bdist_wininst, sdist.

Validations:

  • Must be an array of any type