# [optional] to set up a HARBOR, and to integrate the HARBOR with k8s cluster # read the guide: 'guide/harbor.md' - hosts: harbor roles: - { role: chrony, when: "hostvars[groups.deploy[0]]['NTP_ENABLED'] == 'yes' and NEW_INSTALL == 'yes'" } - { role: prepare, when: "NEW_INSTALL == 'yes'" } - { role: docker, when: "NEW_INSTALL == 'yes'" } - { role: harbor, when: "NEW_INSTALL == 'yes'" } tasks: - name: Fetching the HARBOR SERVER's CA cert fetch: src: "{{ ca_dir }}/ca.pem" dest: "{{ base_dir }}/down/" flat: yes - hosts: - kube-master - kube-node tasks: - name: Define 'harbor_host', a domain set_fact: harbor_host="{{ hostvars[groups.harbor[0]]['HARBOR_DOMAIN'] }}" - name: Define 'harbor_host', an IP Addr set_fact: harbor_host="{{ groups['harbor'][0] }}" when: "hostvars[groups.harbor[0]]['HARBOR_DOMAIN'] == ''" - name: Creating cert dir of the HARBOR SERVER for the docker daemon file: name=/etc/docker/certs.d/{{ harbor_host }} state=directory - name: Installing the HARBOR SERVER's cert on k8s nodes copy: src={{ base_dir }}/down/ca.pem dest=/etc/docker/certs.d/{{ harbor_host }}/ca.crt # [optional] if you have a DNS server, add an 'A record' instead - name: Adding an '/etc/hosts' entry for the HARBOR DOMAIN lineinfile: dest: /etc/hosts state: present regexp: '{{ harbor_host }}' line: "{{ groups['harbor'][0] }} {{ harbor_host }}" when: "hostvars[groups.harbor[0]]['HARBOR_DOMAIN'] != ''"