zuul-jobs/roles/ensure-package-repositories/README.rst

2.4 KiB

Ensure that package manager repositories are installed. This role works with the pattern of including variables for different operating systems.

Note

This role currently only supports RPM and DEB based distributions.

Example use for Debian and Ubuntu:

- name: Add all repositories
  include_role:
    name: ensure-package-repositories
  vars:
    repositories_keys:
      - url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key
    repositories_list:
      - repo: deb-src https://deb.nodesource.com/node_6.x {{ ansible_distribution_release }} main
      - repo: deb https://deb.nodesource.com/node_6.x {{ ansible_distribution_release }} main

Example use for Fedora and Red Hat:

_docker_keys:
  - data: |
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      ...
      -----END PGP PUBLIC KEY BLOCK-----

_docker_repos:
  - name: docker-ce-stable
    description: Docker CE Stable - $basearch
    baseurl: "{{ docker_mirror_base_url }}/$releasever/$basearch/stable"
    gpgcheck: yes

- name: Add all repositories
      include_role:
        name: ensure-package-repositories
      vars:
        repositories_keys: "{{ _docker_keys }}"
        repositories_list: "{{ _docker_repos }}"

Example use for openSUSE and SUSE Linux:

_docker_keys:
  - data: |
      -----BEGIN PGP PUBLIC KEY BLOCK-----
      ...
      -----END PGP PUBLIC KEY BLOCK-----

_docker_repos:
  - name: docker-ce-stable
    description: Docker CE Stable - $basearch
    uri: "{{ docker_mirror_base_url }}/$releasever/$basearch/stable.repo"

- name: Add all repositories
      include_role:
        name: ensure-package-repositories
      vars:
        repositories_keys: "{{ _docker_keys }}"
        repositories_list: "{{ _docker_repos }}"

Role Variables