
This adds a role (and job) to mirror container images from one registry to another. Also, disable the name[template] ansible-lint check because it greatly reduces the utility of including templates in task names. Change-Id: Id01295c51b67ffb7e98637c6cdcc4e7a14c92b22
60 lines
2.3 KiB
YAML
60 lines
2.3 KiB
YAML
# Run the intermediate registry on this host.
|
|
|
|
- hosts: intermediate-registry
|
|
name: Set up the intermediate registry and add a build
|
|
tasks:
|
|
- name: Include intermediate registry vars
|
|
include_vars: vars/intermediate-registry-auth.yaml
|
|
- name: Run the intermediate registry
|
|
include_role:
|
|
name: run-test-intermediate-registry
|
|
- name: Install the intermediate registry cert
|
|
include_role:
|
|
name: ensure-registry-cert
|
|
vars:
|
|
registry_host: localhost
|
|
registry_port: 5000
|
|
registry_cert: "{{ intermediate_registry_tls_cert }}"
|
|
- name: Set up user credentials for the intermediate registry
|
|
include_role:
|
|
name: intermediate-registry-user-config
|
|
|
|
- hosts: builder
|
|
name: Test the container mirror role
|
|
tasks:
|
|
- name: Include intermediate registry vars
|
|
include_vars: vars/intermediate-registry-auth.yaml
|
|
- name: Set registry credentials
|
|
set_fact:
|
|
container_registry_credentials:
|
|
"zuul-jobs.intermediate-registry:5000":
|
|
username: "{{ intermediate_registry.username }}"
|
|
password: "{{ intermediate_registry.password }}"
|
|
- name: Configure /etc/hosts for intermediate registry
|
|
become: true
|
|
lineinfile:
|
|
path: /etc/hosts
|
|
state: present
|
|
regex: "^{{ hostvars['intermediate-registry'].nodepool.private_ipv4 }}\t{{ intermediate_registry.host }}$"
|
|
line: "{{ hostvars['intermediate-registry'].nodepool.private_ipv4 }}\t{{ intermediate_registry.host }}"
|
|
insertafter: EOF
|
|
- name: Install the intermediate registry cert
|
|
include_role:
|
|
name: ensure-registry-cert
|
|
vars:
|
|
registry_host: "{{ intermediate_registry.host }}"
|
|
registry_port: "{{ intermediate_registry.port }}"
|
|
registry_cert: "{{ intermediate_registry_tls_cert }}"
|
|
# This begins the simulation of what we would expect to happen in a
|
|
# normal job.
|
|
- name: Test the mirror role
|
|
include_role:
|
|
name: mirror-container-images
|
|
vars:
|
|
mirror_container_images_images:
|
|
- src_repository: quay.io/zuul-ci/zuul-client
|
|
src_tag: latest
|
|
dest_repository: "{{ intermediate_registry.host }}:{{ intermediate_registry.port }}/org/repo"
|
|
dest_tag: tag
|
|
dest_registry: "{{ intermediate_registry.host }}:{{ intermediate_registry.port }}"
|