diff --git a/infrastructure/kustomization.yaml b/infrastructure/kustomization.yaml
index 133fa85356b4e97ae29f3d8c44bc7ec96c537c41..ab286c4d667b3a076bf54bf8ec20f9c95f6d30b2 100644
--- a/infrastructure/kustomization.yaml
+++ b/infrastructure/kustomization.yaml
@@ -14,4 +14,5 @@ resources:
   - flux-system
   - k8up
   - postgres
+  - redis
   - kubenav
diff --git a/infrastructure/redis/kustomization.yaml b/infrastructure/redis/kustomization.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6b9a77742924132ebe96d26c14ea9bd225ad8cb8
--- /dev/null
+++ b/infrastructure/redis/kustomization.yaml
@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: redis-system
+resources:
+  - namespace.yaml
+  - repository.yaml
+  - release.yaml
diff --git a/infrastructure/redis/namespace.yaml b/infrastructure/redis/namespace.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cd9751187c62591662b1d05131505d6884e16e88
--- /dev/null
+++ b/infrastructure/redis/namespace.yaml
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: redis-system
+  labels:
+    pod-security.kubernetes.io/audit: restricted
+    pod-security.kubernetes.io/enforce: baseline
+    pod-security.kubernetes.io/warn: restricted
+    pod-security.kubernetes.io/audit-version: v1.26
+    pod-security.kubernetes.io/enforce-version: v1.23
+    pod-security.kubernetes.io/warn-version: v1.26
+    redis.shivering-isles.com/network-access-required: "true"
diff --git a/infrastructure/redis/release.yaml b/infrastructure/redis/release.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2cc083ef6fe7f29cda0f6f5e0220c3331f587f58
--- /dev/null
+++ b/infrastructure/redis/release.yaml
@@ -0,0 +1,37 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta1
+kind: HelmRelease
+metadata:
+  name: redis-operator
+  namespace: redis-system
+spec:
+  releaseName: redis-operator
+  chart:
+    spec:
+      chart: redis-operator
+      sourceRef:
+        kind: HelmRepository
+        name: redis-operator
+        namespace: redis-system
+      version: 3.3.0
+  interval: 1h
+  install:
+    crds: CreateReplace
+  upgrade:
+    crds: CreateReplace
+  valuesFrom:
+  - kind: ConfigMap
+    name: redis-base-values
+    valuesKey: values.yaml
+  - kind: Secret
+    name: redis-override-values
+    valuesKey: values-overrides.yaml
+    optional: true
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: redis-base-values
+  namespace: redis-system
+data:
+  values.yaml: |
+    
\ No newline at end of file
diff --git a/infrastructure/redis/repository.yaml b/infrastructure/redis/repository.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9e20219284f5e47d4b55cbee8db44cc58f41cc26
--- /dev/null
+++ b/infrastructure/redis/repository.yaml
@@ -0,0 +1,8 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: HelmRepository
+metadata:
+  name: redis-operator
+  namespace: redis-system
+spec:
+  interval: 30m
+  url:  https://spotahome.github.io/redis-operator