diff --git a/clusters/k8s01/flux-system/gotk-components.yaml b/clusters/k8s01/flux-system/gotk-components.yaml
index 1e00aff9ba744e8b062cf6a0d47a7f1268cca392..f7b119d079e4faf22933b2aaad8d5a7d704f763c 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: v0.40.2
+# Flux Version: v0.41.1
 # 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: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     pod-security.kubernetes.io/warn: restricted
     pod-security.kubernetes.io/warn-version: latest
   name: flux-system
@@ -23,7 +23,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: alerts.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -443,7 +443,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: buckets.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -962,7 +962,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: gitrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -1757,7 +1757,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: helmcharts.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -2355,7 +2355,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: helmreleases.helm.toolkit.fluxcd.io
 spec:
   group: helm.toolkit.fluxcd.io
@@ -2625,14 +2625,14 @@ spec:
                   is empty.
                 properties:
                   secretRef:
-                    description: SecretRef holds the name to a secret that contains
-                      a key with the kubeconfig file as the value. If no key is specified
-                      the key will default to 'value'. The secret must be in the same
-                      namespace as the HelmRelease. It is recommended that the kubeconfig
-                      is self-contained, and the secret is regularly updated if credentials
-                      such as a cloud-access-token expire. Cloud specific `cmd-path`
-                      auth helpers will not function without adding binaries and credentials
-                      to the Pod that is responsible for reconciling the HelmRelease.
+                    description: SecretRef holds the name of a secret that contains
+                      a key with the kubeconfig file as the value. If no key is set,
+                      the key will default to 'value'. It is recommended that the
+                      kubeconfig is self-contained, and the secret is regularly updated
+                      if credentials such as a cloud-access-token expire. Cloud specific
+                      `cmd-path` auth helpers will not function without adding binaries
+                      and credentials to the Pod that is responsible for reconciling
+                      Kubernetes resources.
                     properties:
                       key:
                         description: Key in the Secret, when not specified an implementation-specific
@@ -2644,6 +2644,8 @@ spec:
                     required:
                     - name
                     type: object
+                required:
+                - secretRef
                 type: object
               maxHistory:
                 description: MaxHistory is the number of revisions saved by Helm for
@@ -3238,7 +3240,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: helmrepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -3745,7 +3747,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: kustomizations.kustomize.toolkit.fluxcd.io
 spec:
   group: kustomize.toolkit.fluxcd.io
@@ -4839,8 +4841,8 @@ spec:
                 - entries
                 type: object
               lastAppliedRevision:
-                description: The last successfully applied revision. The revision
-                  format for Git sources is <branch|tag>/<commit-sha>.
+                description: The last successfully applied revision. Equals the Revision
+                  of the applied Artifact from the referenced Source.
                 type: string
               lastAttemptedRevision:
                 description: LastAttemptedRevision is the revision of the last reconciliation
@@ -4872,7 +4874,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: ocirepositories.source.toolkit.fluxcd.io
 spec:
   group: source.toolkit.fluxcd.io
@@ -5236,7 +5238,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: providers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -5642,7 +5644,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: receivers.notification.toolkit.fluxcd.io
 spec:
   group: notification.toolkit.fluxcd.io
@@ -6083,7 +6085,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: helm-controller
   namespace: flux-system
 ---
@@ -6094,7 +6096,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: kustomize-controller
   namespace: flux-system
 ---
@@ -6105,7 +6107,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: notification-controller
   namespace: flux-system
 ---
@@ -6116,7 +6118,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: source-controller
   namespace: flux-system
 ---
@@ -6126,7 +6128,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: crd-controller-flux-system
 rules:
 - apiGroups:
@@ -6216,7 +6218,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
     rbac.authorization.k8s.io/aggregate-to-edit: "true"
   name: flux-edit-flux-system
@@ -6242,7 +6244,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     rbac.authorization.k8s.io/aggregate-to-admin: "true"
     rbac.authorization.k8s.io/aggregate-to-edit: "true"
     rbac.authorization.k8s.io/aggregate-to-view: "true"
@@ -6267,7 +6269,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: cluster-reconciler-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -6287,7 +6289,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: crd-controller-flux-system
 roleRef:
   apiGroup: rbac.authorization.k8s.io
@@ -6320,7 +6322,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: notification-controller
   namespace: flux-system
@@ -6341,7 +6343,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -6362,7 +6364,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: webhook-receiver
   namespace: flux-system
@@ -6383,7 +6385,7 @@ metadata:
     app.kubernetes.io/component: helm-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: helm-controller
   namespace: flux-system
@@ -6412,7 +6414,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/helm-controller:v0.30.0
+        image: ghcr.io/fluxcd/helm-controller:v0.31.1
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -6466,7 +6468,7 @@ metadata:
     app.kubernetes.io/component: kustomize-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: kustomize-controller
   namespace: flux-system
@@ -6495,7 +6497,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/kustomize-controller:v0.34.0
+        image: ghcr.io/fluxcd/kustomize-controller:v0.35.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -6549,7 +6551,7 @@ metadata:
     app.kubernetes.io/component: notification-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: notification-controller
   namespace: flux-system
@@ -6577,7 +6579,7 @@ spec:
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
-        image: ghcr.io/fluxcd/notification-controller:v0.32.1
+        image: ghcr.io/fluxcd/notification-controller:v0.33.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -6637,7 +6639,7 @@ metadata:
     app.kubernetes.io/component: source-controller
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
     control-plane: controller
   name: source-controller
   namespace: flux-system
@@ -6672,7 +6674,7 @@ spec:
               fieldPath: metadata.namespace
         - name: TUF_ROOT
           value: /tmp/.sigstore
-        image: ghcr.io/fluxcd/source-controller:v0.35.2
+        image: ghcr.io/fluxcd/source-controller:v0.36.0
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
@@ -6732,7 +6734,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: allow-egress
   namespace: flux-system
 spec:
@@ -6752,7 +6754,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: allow-scraping
   namespace: flux-system
 spec:
@@ -6772,7 +6774,7 @@ metadata:
   labels:
     app.kubernetes.io/instance: flux-system
     app.kubernetes.io/part-of: flux
-    app.kubernetes.io/version: v0.40.2
+    app.kubernetes.io/version: v0.41.1
   name: allow-webhooks
   namespace: flux-system
 spec:
diff --git a/images/koolbox/Dockerfile b/images/koolbox/Dockerfile
index a8e558c8879f1c5c5d74cca99926c10b8c719a08..37758714d749af1ed291ed1674600efc741c1109 100644
--- a/images/koolbox/Dockerfile
+++ b/images/koolbox/Dockerfile
@@ -37,7 +37,7 @@ RUN curl -L "https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz" | tar
 FROM quay.io/fedora/fedora:37 as flux
 
 # renovate: datasource=github-releases depName=fluxcd/flux2
-ARG FLUX_VERSION=v0.40.2
+ARG FLUX_VERSION=v0.41.1
 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 \