herve4m.quay.quay_manifest_label_info (1.2.0) — module

Gather information about manifest labels in Quay Container Registry

| "added in version" 0.0.10 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

Gather information about the manifest labels in a repository.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Retrieve all the labels of the centos7/nginx-116-centos7 manifest
  herve4m.quay.quay_manifest_label_info:
    image: centos7/nginx-116-centos7:latest
    quay_host: quay.io
  register: labels
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Retrieve the labels with a specific key
  herve4m.quay.quay_manifest_label_info:
    image: production/smallimage@sha256:4f6f...e797
    key: architecture
    quay_host: https://quay.example.com
    quay_token: vgfH9zH5q6eV16Con7SvDQYSr0KPYQimMHVehZv7
  register: label_info

Inputs

    
key:
    description:
    - Gather information on the labels with that specific key instead of returning data
      on all the labels in the manifest.
    type: str

image:
    description:
    - Name of the image that contains the manifest to process. The format is C(namespace)/C(repository):C(tag)
      or C(namespace)/C(repository)@C(digest). The namespace can be an organization or
      a personal namespace.
    - If you omit the namespace part, then the module looks for the repository in your
      personal namespace.
    - If you omit the tag and the digest part, then C(latest) is assumed.
    required: true
    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

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

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

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

Outputs

labels:
  contains:
    id:
      description: Internal identifier of the label.
      returned: always
      sample: 155f20b3-7ebf-4796-9d18-eb5c54bf7364
      type: str
    key:
      description: Label's key.
      returned: always
      sample: architecture
      type: str
    media_type:
      description: Format of the label (C(text/plain) or C(application/json)).
      returned: always
      sample: text/plain
      type: str
    source_type:
      description:
      - Whether the label has been set by the Containerfile/Dockerfile manifest (C(manifest)),
        or by an API call or from the web UI (C(api)).
      - Labels set in Containerfile/Dockerfile manifests are read-only.
      returned: always
      sample: api
      type: str
    value:
      description: Label's value.
      returned: always
      sample: x86_64
      type: str
  description: List of the labels in the manifest.
  elements: dict
  returned: always
  sample:
  - id: 1f5ccf29-9013-49ca-b1e7-864218b03f17
    key: maintainer
    media_type: text/plain
    source_type: manifest
    value: SoftwareCollections.org <sclorg@redhat.com>
  - id: d6e6ea21-d132-4ad9-97bf-05997e1f2b9d
    key: org.opencontainers.image.created
    media_type: text/plain
    source_type: manifest
    value: '2020-08-09 00:00:00+01:00'
  - id: 6a657897-0a40-4de0-a531-b45f751deb0f
    key: org.label-schema.license
    media_type: text/plain
    source_type: manifest
    value: GPLv2
  - id: 79da339b-0324-45c5-a1a9-06ffd607c3bd
    key: io.k8s.display-name
    media_type: text/plain
    source_type: manifest
    value: Nginx 1.16
  - id: 6d2710d8-4a2b-4150-b578-877e1f4ab5a5
    key: version
    media_type: text/plain
    source_type: manifest
    value: '1.16'
  - id: ea9a9a03-9b16-49d2-a2b8-0e30e1a1c1c1
    key: name
    media_type: text/plain
    source_type: manifest
    value: centos7/nginx-116-centos7
  type: list