diff --git a/clusters/k8s01/flux-system/gotk-components.yaml b/clusters/k8s01/flux-system/gotk-components.yaml
index 1d5c44b463c1e67ce9a9629381f0af85d3adb817..d8d8bed87fe101e794c3469833683b7f3fd178ae 100644
--- a/clusters/k8s01/flux-system/gotk-components.yaml
+++ b/clusters/k8s01/flux-system/gotk-components.yaml
@@ -1,6 +1,6 @@
 ---
 # This manifest was generated by flux. DO NOT EDIT.
-# Flux Version: v2.1.1
+# Flux Version: v2.1.2
 # Components: source-controller,kustomize-controller,helm-controller,notification-controller
 apiVersion: v1
 kind: Namespace
@@ -8,7 +8,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     pod-security.kubernetes.io/warn: restricted
     pod-security.kubernetes.io/warn-version: latest
   name: flux-system
@@ -19,7 +19,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: allow-egress
   namespace: flux-system
 spec:
@@ -39,7 +39,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: allow-scraping
   namespace: flux-system
 spec:
@@ -59,7 +59,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: allow-webhooks
   namespace: flux-system
 spec:
@@ -78,7 +78,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: critical-pods-flux-system
   namespace: flux-system
 spec:
@@ -98,7 +98,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: crd-controller-flux-system
 rules:
 - apiGroups:
@@ -188,7 +188,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
     rbac.authorization.k8s.io/aggregate-to-edit: "true"
   name: flux-edit-flux-system
@@ -214,7 +214,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
     rbac.authorization.k8s.io/aggregate-to-edit: "true"
     rbac.authorization.k8s.io/aggregate-to-view: "true"
@@ -239,7 +239,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: cluster-reconciler-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -259,7 +259,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: crd-controller-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -294,7 +294,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: buckets.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -812,7 +812,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: gitrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -2013,7 +2013,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: helmcharts.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -2609,7 +2609,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: helmrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -3133,7 +3133,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: ocirepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -3496,7 +3496,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: source-controller
   namespace: flux-system
 ---
@@ -3507,7 +3507,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -3528,7 +3528,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -3563,7 +3563,7 @@ spec:
               fieldPath: metadata.namespace
         - name: TUF_ROOT
           value: /tmp/.sigstore
-        image: ghcr.io/fluxcd/source-controller:v1.1.1
+        image: ghcr.io/fluxcd/source-controller:v1.1.2
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -3627,7 +3627,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: kustomizations.kustomize.toolkit.fluxcd.io
 spec:
   group: kustomize.toolkit.fluxcd.io
@@ -5259,7 +5259,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: kustomize-controller
   namespace: flux-system
 ---
@@ -5270,7 +5270,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: kustomize-controller
   namespace: flux-system
@@ -5299,7 +5299,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/kustomize-controller:v1.1.0
+        image: ghcr.io/fluxcd/kustomize-controller:v1.1.1
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -5356,7 +5356,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: helmreleases.helm.toolkit.fluxcd.io
 spec:
   group: helm.toolkit.fluxcd.io
@@ -6283,7 +6283,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: helm-controller
   namespace: flux-system
 ---
@@ -6294,7 +6294,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: helm-controller
   namespace: flux-system
@@ -6323,7 +6323,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/helm-controller:v0.36.1
+        image: ghcr.io/fluxcd/helm-controller:v0.36.2
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -6380,7 +6380,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: alerts.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -6817,7 +6817,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: providers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -7228,7 +7228,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: receivers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -7894,7 +7894,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
   name: notification-controller
   namespace: flux-system
 ---
@@ -7905,7 +7905,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: notification-controller
   namespace: flux-system
@@ -7926,7 +7926,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: webhook-receiver
   namespace: flux-system
@@ -7947,7 +7947,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v2.1.1
+    app.kubernetes.io/version: v2.1.2
     control-plane: controller
   name: notification-controller
   namespace: flux-system
diff --git a/images/tools/Earthfile b/images/tools/Earthfile
index 7c044557f0d25b0b5a5a7d2d9ba1fd954f7bb8f8..2dca1fddc77a55b1d1aeeafc775014cf92520d15 100644
--- a/images/tools/Earthfile
+++ b/images/tools/Earthfile
@@ -50,7 +50,7 @@ flux:
     FROM ../mirror+fedora
 
     # renovate: datasource=github-releases depName=fluxcd/flux2
-    ARG FLUX_VERSION=v2.1.1
+    ARG FLUX_VERSION=v2.1.2
     ENV FLUX_VERSION=${FLUX_VERSION}
 
     RUN curl -L https://github.com/fluxcd/flux2/releases/download/${FLUX_VERSION}/flux_$(sed 's/^v//g' <<<${FLUX_VERSION})_linux_amd64.tar.gz | tar xvzf - flux \