diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 7eeae7b8565dc8f199816074b72de450bb293484..3873e7c8a9fe88f2e4774f0916f50bfc8edc54cb 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -981,6 +981,7 @@ dashboard_metrics_scraper_tag: "v1.0.7"
 
 metallb_speaker_image_repo: "{{ quay_image_repo }}/metallb/speaker"
 metallb_controller_image_repo: "{{ quay_image_repo }}/metallb/controller"
+metallb_version: v0.12.1
 
 downloads:
   netcheck_server:
@@ -1669,6 +1670,24 @@ downloads:
     groups:
     - kube_control_plane
 
+  metallb_speaker:
+    enabled: "{{ metallb_enabled }}"
+    container: true
+    repo: "{{ metallb_speaker_image_repo }}"
+    tag: "{{ metallb_version }}"
+    sha256: "{{ metallb_speaker_digest_checksum|default(None) }}"
+    groups:
+    - kube_control_plane
+
+  metallb_controller:
+    enabled: "{{ metallb_enabled }}"
+    container: true
+    repo: "{{ metallb_controller_image_repo }}"
+    tag: "{{ metallb_version }}"
+    sha256: "{{ metallb_controller_digest_checksum|default(None) }}"
+    groups:
+    - kube_control_plane
+
 download_defaults:
   container: false
   file: false
diff --git a/roles/kubernetes-apps/metallb/defaults/main.yml b/roles/kubernetes-apps/metallb/defaults/main.yml
index 66a43fa3cbfb252fc200c6c7c4d59fef38153aab..cd2162e4761c61ac09922381775ac350db797a75 100644
--- a/roles/kubernetes-apps/metallb/defaults/main.yml
+++ b/roles/kubernetes-apps/metallb/defaults/main.yml
@@ -1,6 +1,5 @@
 ---
 metallb_enabled: false
-metallb_version: v0.12.1
 metallb_log_level: info
 metallb_protocol: "layer2"
 metallb_port: "7472"