herve4m.quay.quay_repository_mirror (1.2.0) — module

Manage Quay Container Registry repository mirror configurations

| "added in version" 0.0.4 of herve4m.quay"

Authors: Herve Quatremain (@herve4m)

Install collection

Install with ansible-galaxy collection install herve4m.quay:==1.2.0


Add to requirements.yml

  collections:
    - name: herve4m.quay
      version: 1.2.0

Description

Configure and synchronize repository mirrors in Quay Container Registry.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Ensure mirroring is set for the existing production/smallimage repo
  herve4m.quay.quay_repository_mirror:
    name: production/smallimage
    external_reference: quay.io/projectquay/quay
    http_proxy: http://proxy.example.com:3128
    robot_username: production+auditrobot
    is_enabled: true
    image_tags:
      - latest
      - v3.5.2
    quay_host: https://quay.example.com
    quay_token: vgfH9zH5q6eV16Con7SvDQYSr0KPYQimMHVehZv7
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Ensure mirroring is disabled for the production/smallimage repository
  herve4m.quay.quay_repository_mirror:
    name: production/smallimage
    is_enabled: false
    quay_host: https://quay.example.com
    quay_token: vgfH9zH5q6eV16Con7SvDQYSr0KPYQimMHVehZv7
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Immediate trigger a synchronization of the repository
  herve4m.quay.quay_repository_mirror:
    name: production/smallimage
    force_sync: true
    quay_host: https://quay.example.com
    quay_token: vgfH9zH5q6eV16Con7SvDQYSr0KPYQimMHVehZv7

Inputs

    
name:
    description:
    - Name of the existing repository for which the mirror parameters are configured.
      The format for the name is C(namespace)/C(shortname). The namespace can only be
      an organization namespace.
    required: true
    type: str

no_proxy:
    description:
    - Comma-separated list of hosts for which the proxy should not be used.
    - Only relevant when you also specify a proxy configuration by setting the I(http_proxy)
      or I(https_proxy) variables.
    - See the C(curl) documentation for more details.
    type: str

quay_host:
    default: http://127.0.0.1
    description:
    - URL for accessing the API. U(https://quay.example.com:8443) for example.
    - If you do not set the parameter, then the module uses the C(QUAY_HOST) environment
      variable.
    - If you do no set the environment variable either, then the module uses the U(http://127.0.0.1)
      URL.
    type: str

force_sync:
    default: false
    description:
    - Triggers an immediate image synchronization.
    type: bool

http_proxy:
    description:
    - HTTP proxy to use for accessing the remote container registry.
    - See the C(curl) documentation for more details.
    - By default, no proxy is used.
    type: str

image_tags:
    description:
    - List of image tags to be synchronized from the remote repository.
    elements: str
    type: list

is_enabled:
    description:
    - Defines whether the mirror configuration is active or inactive.
    - C(false) by default.
    type: bool

quay_token:
    description:
    - OAuth access token for authenticating against the API.
    - If you do not set the parameter, then the module tries the C(QUAY_TOKEN) environment
      variable.
    - Mutually exclusive with I(quay_username) and I(quay_password).
    type: str

verify_tls:
    description:
    - Defines whether TLS of the external registry should be verified.
    - C(true) by default.
    type: bool

https_proxy:
    description:
    - HTTPS proxy to use for accessing the remote container registry.
    - See the C(curl) documentation for more details.
    - By default, no proxy is used.
    type: str

quay_password:
    description:
    - The password to use for authenticating against the API.
    - If you do not set the parameter, then the module tries the C(QUAY_PASSWORD) environment
      variable.
    - If you set I(quay_password), then you also need to set I(quay_username).
    - Mutually exclusive with I(quay_token).
    type: str

quay_username:
    description:
    - The username to use for authenticating against the API.
    - If you do not set the parameter, then the module tries the C(QUAY_USERNAME) environment
      variable.
    - If you set I(quay_username), then you also need to set I(quay_password).
    - Mutually exclusive with I(quay_token).
    type: str

sync_interval:
    description:
    - Synchronization interval for this repository mirror in seconds.
    - 86400 (one day) by default.
    type: int

robot_username:
    description:
    - Username of the robot account that is used for synchronization.
    - That parameter is required when creating the mirroring configuration.
    type: str

validate_certs:
    aliases:
    - verify_ssl
    default: true
    description:
    - Whether to allow insecure connections to the API.
    - If C(no), then the module does not validate SSL certificates.
    - If you do not set the parameter, then the module tries the C(QUAY_VERIFY_SSL) environment
      variable (C(yes), C(1), and C(True) mean yes, and C(no), C(0), C(False), and no
      value mean no).
    type: bool

sync_start_date:
    description:
    - The date and time at which the first synchronization should be initiated.
    - The format for the I(sync_start_date) parameter is ISO 8601 UTC, such as 2021-12-02T21:06:00Z.
    - If you do not provide the I(sync_start_date) parameter when you configure a new
      repository mirror, then the synchronization is immediately active, and a synchronization
      is initiated if the I(is_enabled) parameter is C(true).
    type: str

external_reference:
    description:
    - Path to the remote container repository to synchronize, such as quay.io/projectquay/quay
      for example.
    - That parameter is required when creating the mirroring configuration.
    type: str

external_registry_password:
    description:
    - Password to use for pulling the image from the remote registry.
    type: str

external_registry_username:
    description:
    - Username to use for pulling the image from the remote registry.
    type: str