feat: Store cluster API provider manifests
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
8c6a9f38ba
commit
ba7e233c27
@ -85,6 +85,40 @@
|
|||||||
--kubeconfig {{ kubeconfig.path }}
|
--kubeconfig {{ kubeconfig.path }}
|
||||||
chdir: /opt/metacluster/cluster-api
|
chdir: /opt/metacluster/cluster-api
|
||||||
|
|
||||||
|
- name: Initialize tempfolder
|
||||||
|
ansible.builtin.tempfile:
|
||||||
|
state: directory
|
||||||
|
register: capi_clustermanifest
|
||||||
|
|
||||||
|
- name: Pull existing repository
|
||||||
|
ansible.builtin.git:
|
||||||
|
repo: https://git.{{ vapp['metacluster.fqdn'] }}/mc/GitOps.ClusterAPI.git
|
||||||
|
dest: "{{ capi_clustermanifest.path }}"
|
||||||
|
version: main
|
||||||
|
|
||||||
|
- name: Generate Cluster API provider manifests
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: >-
|
||||||
|
clusterctl generate provider \
|
||||||
|
-v5 \
|
||||||
|
--{{ item.type }} {{ item.name }}:{{ item.version }} \
|
||||||
|
--config ./clusterctl.yaml > {{ capi_clustermanifest.path }}/provider-{{ item.name }}.yaml
|
||||||
|
chdir: /opt/metacluster/cluster-api
|
||||||
|
loop:
|
||||||
|
- type: infrastructure
|
||||||
|
name: vsphere
|
||||||
|
version: "{{ components.clusterapi.management.version.infrastructure_vsphere }}"
|
||||||
|
- type: ipam
|
||||||
|
name: in-cluster
|
||||||
|
version: "{{ components.clusterapi.management.version.ipam_incluster }}"
|
||||||
|
|
||||||
|
- name: Split cluster API provider manifests into separate files
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: >-
|
||||||
|
awk 'BEGINFILE {print "---"}{print}' provider-*.yaml | \
|
||||||
|
kubectl slice \
|
||||||
|
-o {{ capi_clustermanifest.path }}/providers
|
||||||
|
|
||||||
- name: Ensure controller availability
|
- name: Ensure controller availability
|
||||||
kubernetes.core.k8s_info:
|
kubernetes.core.k8s_info:
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@ -124,17 +158,6 @@
|
|||||||
chdir: /opt/metacluster/cluster-api
|
chdir: /opt/metacluster/cluster-api
|
||||||
register: clusterctl_newcluster
|
register: clusterctl_newcluster
|
||||||
|
|
||||||
- name: Initialize tempfolder
|
|
||||||
ansible.builtin.tempfile:
|
|
||||||
state: directory
|
|
||||||
register: capi_clustermanifest
|
|
||||||
|
|
||||||
- name: Pull existing repository
|
|
||||||
ansible.builtin.git:
|
|
||||||
repo: https://git.{{ vapp['metacluster.fqdn'] }}/mc/GitOps.ClusterAPI.git
|
|
||||||
dest: "{{ capi_clustermanifest.path }}"
|
|
||||||
version: main
|
|
||||||
|
|
||||||
- name: Save workload cluster manifest
|
- name: Save workload cluster manifest
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
dest: "{{ capi_clustermanifest.path }}/new-cluster.yaml"
|
dest: "{{ capi_clustermanifest.path }}/new-cluster.yaml"
|
||||||
@ -145,7 +168,7 @@
|
|||||||
cmd: >-
|
cmd: >-
|
||||||
kubectl slice \
|
kubectl slice \
|
||||||
-f {{ capi_clustermanifest.path }}/new-cluster.yaml \
|
-f {{ capi_clustermanifest.path }}/new-cluster.yaml \
|
||||||
-o {{ capi_clustermanifest.path }}/manifests
|
-o {{ capi_clustermanifest.path }}/downstream-cluster
|
||||||
|
|
||||||
- name: Generate nodepool kustomization manifest
|
- name: Generate nodepool kustomization manifest
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
@ -169,12 +192,12 @@
|
|||||||
cmd: >-
|
cmd: >-
|
||||||
kubectl slice \
|
kubectl slice \
|
||||||
-f {{ capi_clustermanifest.path }}/nodepool-worker-storage.yaml \
|
-f {{ capi_clustermanifest.path }}/nodepool-worker-storage.yaml \
|
||||||
-o {{ capi_clustermanifest.path }}/manifests
|
-o {{ capi_clustermanifest.path }}/downstream-cluster
|
||||||
|
|
||||||
- name: Create in-cluster IpPool
|
- name: Create in-cluster IpPool
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: ippool.j2
|
src: ippool.j2
|
||||||
dest: "{{ capi_clustermanifest.path }}/manifests/inclusterippool-{{ _template.cluster.name }}.yml"
|
dest: "{{ capi_clustermanifest.path }}/downstream-cluster/inclusterippool-{{ _template.cluster.name }}.yml"
|
||||||
vars:
|
vars:
|
||||||
_template:
|
_template:
|
||||||
cluster:
|
cluster:
|
||||||
@ -192,7 +215,8 @@
|
|||||||
branch: main
|
branch: main
|
||||||
comment: "Upload manifests"
|
comment: "Upload manifests"
|
||||||
add:
|
add:
|
||||||
- ./manifests
|
- ./downstream-cluster
|
||||||
|
- ./providers
|
||||||
clean: untracked
|
clean: untracked
|
||||||
url: https://administrator:{{ vapp['metacluster.password'] | urlencode }}@git.{{ vapp['metacluster.fqdn'] }}/mc/GitOps.ClusterAPI.git
|
url: https://administrator:{{ vapp['metacluster.password'] | urlencode }}@git.{{ vapp['metacluster.fqdn'] }}/mc/GitOps.ClusterAPI.git
|
||||||
environment:
|
environment:
|
||||||
|
Loading…
Reference in New Issue
Block a user