diff --git a/apps/base/iot/kustomization.yaml b/apps/base/iot/kustomization.yaml
index f691c1dcb546c8a70ac38f69b69414a76d15edd7..08117a97c991dd1eba273a538c834320a7c2f1ef 100644
--- a/apps/base/iot/kustomization.yaml
+++ b/apps/base/iot/kustomization.yaml
@@ -1,7 +1,8 @@
 apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 resources:
-- ../../../shared/networkpolicies/allow-from-monitoring.yaml
+- namespace.yaml
 - shelly-exporter.yaml
+- ../../../shared/networkpolicies/allow-from-monitoring.yaml
 patchesStrategicMerge:
   - networkpolicy.yaml
diff --git a/apps/base/iot/namespace.yaml b/apps/base/iot/namespace.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c4863a108f62f0bf186e89c45b5727e6aec3cc66
--- /dev/null
+++ b/apps/base/iot/namespace.yaml
@@ -0,0 +1,24 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: iot
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: flux-reconciler
+  namespace: iot
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: RoleBinding
+metadata:
+  name: flux-reconciler
+  namespace: iot
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: admin
+subjects:
+  - kind: ServiceAccount
+    name: flux-reconciler
+    namespace: iot
diff --git a/apps/k8s01/iot/namespace.yaml b/apps/k8s01/iot/namespace.yaml
deleted file mode 100644
index fe42f03f6b59c9725e1fb9700c5a58713fd29ddc..0000000000000000000000000000000000000000
--- a/apps/k8s01/iot/namespace.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: iot