2022-11-08 13:43:40 +00:00
|
|
|
- name: Configure clusterctl
|
|
|
|
ansible.builtin.template:
|
|
|
|
src: clusterctl.j2
|
2022-11-24 09:59:41 +00:00
|
|
|
dest: /opt/metacluster/cluster-api/clusterctl.yaml
|
2022-11-08 13:43:40 +00:00
|
|
|
vars:
|
|
|
|
_template:
|
|
|
|
version:
|
|
|
|
base: "{{ components.clusterapi.management.version.base }}"
|
|
|
|
cert_manager: "{{ components.clusterapi.management.version.cert_manager }}"
|
|
|
|
infrastructure_vsphere: "{{ components.clusterapi.management.version.infrastructure_vsphere }}"
|
2022-12-04 10:22:17 +00:00
|
|
|
ipam_incluster: "{{ components.clusterapi.management.version.ipam_incluster }}"
|
2022-11-08 13:43:40 +00:00
|
|
|
hv:
|
|
|
|
fqdn: "{{ vapp['hv.fqdn'] }}"
|
2022-11-17 09:17:17 +00:00
|
|
|
tlsthumbprint: "{{ tls_thumbprint.stdout }}"
|
2022-11-08 13:43:40 +00:00
|
|
|
username: "{{ vapp['hv.username'] }}"
|
|
|
|
password: "{{ vapp['hv.password'] }}"
|
|
|
|
datacenter: "{{ vcenter_info.datacenter }}"
|
|
|
|
datastore: "{{ vcenter_info.datastore }}"
|
|
|
|
network: "{{ vcenter_info.network }}"
|
2022-11-08 18:46:37 +00:00
|
|
|
resourcepool: "{{ vcenter_info.resourcepool }}"
|
2022-11-17 09:17:17 +00:00
|
|
|
folder: "{{ vcenter_info.folder }}"
|
2022-11-08 13:43:40 +00:00
|
|
|
cluster:
|
2022-11-09 15:59:43 +00:00
|
|
|
nodetemplate: "{{ (components.clusterapi.workload.node_template.name | split('.'))[:-1] | join('.') }}"
|
2022-11-08 13:43:40 +00:00
|
|
|
publickey: "{{ vapp['guestinfo.rootsshkey'] }}"
|
|
|
|
version: "{{ components.clusterapi.workload.version.k8s }}"
|
|
|
|
vip: "{{ vapp['workloadcluster.vip'] }}"
|
2022-11-09 15:43:49 +00:00
|
|
|
|
2022-12-29 11:31:27 +00:00
|
|
|
- name: Update image references to use local registry
|
|
|
|
ansible.builtin.replace:
|
|
|
|
dest: "{{ item.root + '/' + item.path }}"
|
|
|
|
regexp: '([ ]+image:[ "]+)(?!({{ _template.pattern }}|"{{ _template.pattern }}))'
|
|
|
|
replace: '\1{{ _template.pattern }}'
|
|
|
|
vars:
|
|
|
|
_template:
|
|
|
|
pattern: registry.{{ vapp['metacluster.fqdn'] }}/library/
|
2022-12-30 10:14:49 +00:00
|
|
|
loop: "{{ lookup('community.general.filetree', '/opt/metacluster/cluster-api') }}"
|
2022-12-29 11:31:27 +00:00
|
|
|
loop_control:
|
|
|
|
label: "{{ item.path }}"
|
|
|
|
when:
|
|
|
|
- item.path is search('.yaml')
|
|
|
|
- item.path is not search("clusterctl.yaml|metadata.yaml")
|
|
|
|
|
2022-11-09 15:43:49 +00:00
|
|
|
- name: Initialize Cluster API management cluster
|
|
|
|
ansible.builtin.shell:
|
2022-12-04 10:22:17 +00:00
|
|
|
cmd: >-
|
|
|
|
clusterctl init \
|
|
|
|
-v5 \
|
|
|
|
--infrastructure vsphere:{{ components.clusterapi.management.version.infrastructure_vsphere }} \
|
2022-12-10 15:56:13 +00:00
|
|
|
--ipam in-cluster:{{ components.clusterapi.management.version.ipam_incluster }} \
|
2022-12-04 10:22:17 +00:00
|
|
|
--config ./clusterctl.yaml \
|
|
|
|
--kubeconfig {{ kubeconfig.path }}
|
2022-11-24 09:59:41 +00:00
|
|
|
chdir: /opt/metacluster/cluster-api
|