|
| 1 | +--- |
| 2 | +- name: Do additional Docker registry configuration |
| 3 | + hosts: masters[0] |
| 4 | + tasks: |
| 5 | + - name: update Docker image used for the registry |
| 6 | + oc_edit: |
| 7 | + name: docker-registry |
| 8 | + namespace: default |
| 9 | + kind: dc |
| 10 | + content: |
| 11 | + spec.template.spec.containers[0].image: "{{ registry_docker_image }}" |
| 12 | + |
| 13 | + - name: get certificate for registry |
| 14 | + slurp: |
| 15 | + src: '/etc/origin/master/registry.crt' |
| 16 | + register: registry_cert_file |
| 17 | + |
| 18 | + - name: put registry certificate content into variable |
| 19 | + set_fact: |
| 20 | + registry_dest_cert: "{{ registry_cert_file['content'] | b64decode }}" |
| 21 | + |
| 22 | + - name: create a re-encrypt route with a proper cert for the registry |
| 23 | + oc_route: |
| 24 | + name: docker-registry-reencrypt |
| 25 | + namespace: default |
| 26 | + cert_path: "/etc/origin/master/named_certificates/{{ openshift_public_hostname }}.crt" |
| 27 | + key_path: "/etc/origin/master/named_certificates/{{ openshift_public_hostname }}.key" |
| 28 | + cacert_path: "/etc/origin/master/named_certificates/ext_ca.crt" |
| 29 | + dest_cacert_content: "{{ registry_dest_cert }}" |
| 30 | + service_name: "docker-registry" |
| 31 | + port: "5000" |
| 32 | + host: "docker-registry.{{ openshift_public_hostname }}" |
| 33 | + tls_termination: "reencrypt" |
| 34 | + run_once: true |
| 35 | + |
| 36 | + - name: update registry URL in registry console |
| 37 | + oc_env: |
| 38 | + state: present |
| 39 | + name: registry-console |
| 40 | + namespace: default |
| 41 | + kind: dc |
| 42 | + env_vars: |
| 43 | + REGISTRY_HOST: docker-registry.{{ openshift_public_hostname }} |
| 44 | + run_once: true |
| 45 | + |
| 46 | + - name: check if we already have registry-console.cert created |
| 47 | + stat: |
| 48 | + path: /etc/origin/master/registry-console.cert |
| 49 | + register: registry_console_cert |
| 50 | + |
| 51 | + - name: create registry console cert file with a proper cert+key |
| 52 | + shell: > |
| 53 | + cat /etc/origin/master/{{ openshift_public_hostname }}.crt |
| 54 | + /etc/origin/master/{{ openshift_public_hostname }}.key |
| 55 | + > /etc/origin/master/registry-console.cert |
| 56 | + when: registry_console_cert.stat.exists == False |
| 57 | + |
| 58 | + - name: set access rights for registry-console.cert |
| 59 | + file: |
| 60 | + path: /etc/origin/master/registry-console.cert |
| 61 | + owner: root |
| 62 | + group: root |
| 63 | + mode: 0640 |
| 64 | + |
| 65 | + - name: create cert secret for registry console |
| 66 | + oc_secret: |
| 67 | + state: present |
| 68 | + namespace: default |
| 69 | + name: console-secret |
| 70 | + files: |
| 71 | + - name: registry-console.cert |
| 72 | + path: '/etc/origin/master/registry-console.cert' |
| 73 | + run_once: true |
| 74 | + |
| 75 | + - name: add cert secret as a volume to dc/registry-console |
| 76 | + oc_volume: |
| 77 | + state: present |
| 78 | + name: registry-console |
| 79 | + namespace: default |
| 80 | + kind: dc |
| 81 | + mount_type: secret |
| 82 | + secret_name: console-secret |
| 83 | + vol_name: console-secret-vol |
| 84 | + mount_path: /etc/cockpit/ws-certs.d |
| 85 | + run_once: true |
| 86 | + |
| 87 | + - name: check if registry PVC exists |
| 88 | + shell: oc get pvc -n default registry |
| 89 | + register: existing_registry_pv |
| 90 | + changed_when: false |
| 91 | + failed_when: false |
| 92 | + |
| 93 | + - name: create and attach a persistent volume for registry |
| 94 | + shell: > |
| 95 | + oc volume -n default dc/docker-registry --add |
| 96 | + --mount-path=/registry --overwrite |
| 97 | + --name=registry-storage |
| 98 | + --claim-name=registry |
| 99 | + -t pvc --claim-size=200Gi |
| 100 | + when: existing_registry_pv.stdout_lines | length == 0 |
| 101 | + |
| 102 | + - name: attach the existing persistent volume for registry |
| 103 | + shell: > |
| 104 | + oc volume -n default dc/docker-registry --add |
| 105 | + --mount-path=/registry --overwrite |
| 106 | + --name=registry-storage --claim-name=registry |
| 107 | + when: existing_registry_pv.stdout_lines | length > 0 |
0 commit comments