feat: move cilium to offline install
diff --git a/roles/cilium/defaults/main.yml b/roles/cilium/defaults/main.yml
new file mode 100644
index 0000000..25db54e
--- /dev/null
+++ b/roles/cilium/defaults/main.yml
@@ -0,0 +1,6 @@
+cilium_helm_release_name: cilium
+cilium_helm_chart_path: "{{ role_path }}/../../charts/cilium/"
+cilium_helm_chart_ref: /usr/local/src/cilium
+
+cilium_helm_release_namespace: kube-system
+cilium_helm_values: {}
diff --git a/roles/cilium/meta/main.yml b/roles/cilium/meta/main.yml
index 6711832..811ecc2 100644
--- a/roles/cilium/meta/main.yml
+++ b/roles/cilium/meta/main.yml
@@ -25,3 +25,7 @@
dependencies:
- role: defaults
+ - role: upload_helm_chart
+ vars:
+ upload_helm_chart_src: "{{ cilium_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ cilium_helm_chart_ref }}"
diff --git a/roles/cilium/tasks/main.yml b/roles/cilium/tasks/main.yml
index 2322c3d..7067760 100644
--- a/roles/cilium/tasks/main.yml
+++ b/roles/cilium/tasks/main.yml
@@ -12,27 +12,11 @@
# License for the specific language governing permissions and limitations
# under the License.
-- name: Configure Helm repository
- kubernetes.core.helm_repository:
- name: cilium
- repo_url: https://helm.cilium.io/
-
- name: Deploy Helm chart
+ run_once: true
kubernetes.core.helm:
- name: cilium
- chart_ref: cilium/cilium
- chart_version: 1.10.7
- release_namespace: kube-system
+ name: "{{ cilium_helm_release_name }}"
+ chart_ref: "{{ cilium_helm_chart_ref }}"
+ release_namespace: "{{ cilium_helm_release_namespace }}"
kubeconfig: /etc/kubernetes/admin.conf
- values:
- image:
- repository: "{{ atmosphere_images['cilium_node'] | docker_image('name') }}"
- tunnel: geneve
- operator:
- image:
- repository: "{{ atmosphere_images['cilium_operator'] | docker_image('name') | replace('-generic', '') }}"
- nodeSelector:
- openstack-control-plane: enabled
- ipam:
- operator:
- clusterPoolIPv4PodCIDR: "{{ cilium_ipv4_cidr | default('10.0.0.0/8') }}"
+ values: "{{ _cilium_helm_values | combine(cilium_helm_values, recursive=True) }}"
diff --git a/roles/cilium/vars/main.yml b/roles/cilium/vars/main.yml
new file mode 100644
index 0000000..e9d418d
--- /dev/null
+++ b/roles/cilium/vars/main.yml
@@ -0,0 +1,12 @@
+_cilium_helm_values:
+ image:
+ repository: "{{ atmosphere_images['cilium_node'] | docker_image('name') }}"
+ tunnel: geneve
+ operator:
+ image:
+ repository: "{{ atmosphere_images['cilium_operator'] | docker_image('name') | replace('-generic', '') }}"
+ nodeSelector:
+ openstack-control-plane: enabled
+ ipam:
+ operator:
+ clusterPoolIPv4PodCIDR: "{{ cilium_ipv4_cidr | default('10.0.0.0/8') }}"