diff --git a/k8s/logging/fluent-bit/autogenerated.yaml b/k8s/components/logging/fluent-bit/autogenerated.yaml
similarity index 100%
rename from k8s/logging/fluent-bit/autogenerated.yaml
rename to k8s/components/logging/fluent-bit/autogenerated.yaml
diff --git a/k8s/logging/fluent-bit/fluent-bit-0.36.0.tgz b/k8s/components/logging/fluent-bit/fluent-bit-0.36.0.tgz
similarity index 100%
rename from k8s/logging/fluent-bit/fluent-bit-0.36.0.tgz
rename to k8s/components/logging/fluent-bit/fluent-bit-0.36.0.tgz
diff --git a/k8s/logging/fluent-bit/kustomization.yaml b/k8s/components/logging/fluent-bit/kustomization.yaml
similarity index 100%
rename from k8s/logging/fluent-bit/kustomization.yaml
rename to k8s/components/logging/fluent-bit/kustomization.yaml
diff --git a/k8s/logging/fluent-bit/values.yaml b/k8s/components/logging/fluent-bit/values.yaml
similarity index 100%
rename from k8s/logging/fluent-bit/values.yaml
rename to k8s/components/logging/fluent-bit/values.yaml
diff --git a/k8s/logging/kustomization.yaml b/k8s/components/logging/kustomization.yaml
similarity index 100%
rename from k8s/logging/kustomization.yaml
rename to k8s/components/logging/kustomization.yaml
diff --git a/k8s/logging/openobserve.yaml b/k8s/components/logging/openobserve.yaml
similarity index 100%
rename from k8s/logging/openobserve.yaml
rename to k8s/components/logging/openobserve.yaml
diff --git a/k8s/moodle/db.yaml b/k8s/components/moodle/db.yaml
similarity index 100%
rename from k8s/moodle/db.yaml
rename to k8s/components/moodle/db.yaml
diff --git a/k8s/moodle/kustomization.yaml b/k8s/components/moodle/kustomization.yaml
similarity index 100%
rename from k8s/moodle/kustomization.yaml
rename to k8s/components/moodle/kustomization.yaml
diff --git a/k8s/moodle/moodle.yaml b/k8s/components/moodle/moodle.yaml
similarity index 100%
rename from k8s/moodle/moodle.yaml
rename to k8s/components/moodle/moodle.yaml
diff --git a/k8s/spring-app/allow-ingress-network-policy.yaml b/k8s/components/spring-app/allow-ingress-network-policy.yaml
similarity index 100%
rename from k8s/spring-app/allow-ingress-network-policy.yaml
rename to k8s/components/spring-app/allow-ingress-network-policy.yaml
diff --git a/k8s/spring-app/grading-service.yaml b/k8s/components/spring-app/grading-service.yaml
similarity index 100%
rename from k8s/spring-app/grading-service.yaml
rename to k8s/components/spring-app/grading-service.yaml
diff --git a/k8s/spring-app/job-manager-service-account.yaml b/k8s/components/spring-app/job-manager-service-account.yaml
similarity index 100%
rename from k8s/spring-app/job-manager-service-account.yaml
rename to k8s/components/spring-app/job-manager-service-account.yaml
diff --git a/k8s/spring-app/kustomization.yaml b/k8s/components/spring-app/kustomization.yaml
similarity index 100%
rename from k8s/spring-app/kustomization.yaml
rename to k8s/components/spring-app/kustomization.yaml
diff --git a/k8s/traefik/autogenerated.yaml b/k8s/components/traefik/autogenerated.yaml
similarity index 100%
rename from k8s/traefik/autogenerated.yaml
rename to k8s/components/traefik/autogenerated.yaml
diff --git a/k8s/traefik/kustomization.yaml b/k8s/components/traefik/kustomization.yaml
similarity index 100%
rename from k8s/traefik/kustomization.yaml
rename to k8s/components/traefik/kustomization.yaml
diff --git a/k8s/traefik/traefik-23.1.0.tgz b/k8s/components/traefik/traefik-23.1.0.tgz
similarity index 100%
rename from k8s/traefik/traefik-23.1.0.tgz
rename to k8s/components/traefik/traefik-23.1.0.tgz
diff --git a/k8s/traefik/values.yaml b/k8s/components/traefik/values.yaml
similarity index 100%
rename from k8s/traefik/values.yaml
rename to k8s/components/traefik/values.yaml
diff --git a/k8s/deploy-envs/ci/kustomization.yaml b/k8s/deploy-envs/ci/kustomization.yaml
index 6ff0a7a55148fee382f8b6ae3b3fb050065fe283..bba19f335be37c4d63dc7f7e7f869cbbd77e982a 100644
--- a/k8s/deploy-envs/ci/kustomization.yaml
+++ b/k8s/deploy-envs/ci/kustomization.yaml
@@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 
 resources:
-  - ../../spring-app
-  - ../../moodle
+  - ../../components/spring-app
+  - ../../components/moodle
   - persistent-volumes.yaml
 
 # HR : Configure the right images to use in the ci
diff --git a/k8s/deploy-envs/cluster/logging/kustomization.yaml b/k8s/deploy-envs/cluster/logging/kustomization.yaml
index d2fb7ed5869cdf4c295e30d070515c2c5be43e37..1c108c955b40462f402a5380571a5bd0b4278888 100644
--- a/k8s/deploy-envs/cluster/logging/kustomization.yaml
+++ b/k8s/deploy-envs/cluster/logging/kustomization.yaml
@@ -2,7 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 namespace: logging
 resources:
-  - ../../../logging
+  - ../../../components/logging
 patches:
   # Patch openobserve StatefulSet's volumeClaimTemplates to use class nfs-client and size 10Gi
   - target:
diff --git a/k8s/deploy-envs/cluster/prod/kustomization.yaml b/k8s/deploy-envs/cluster/prod/kustomization.yaml
index b8a5e9504c4df61a9d32d1e8e635f415f8ffdd67..43b1b8fdb725d19f415548ce5f9dbdab2677f396 100644
--- a/k8s/deploy-envs/cluster/prod/kustomization.yaml
+++ b/k8s/deploy-envs/cluster/prod/kustomization.yaml
@@ -6,7 +6,7 @@ namespace: prod
 resources:
   - ingress.yaml
   # HR : Only deploy the autograde service to the production
-  - ../../../spring-app
+  - ../../../components/spring-app
 
 # HR : Configure the right images to use in production
 images:
diff --git a/k8s/deploy-envs/cluster/staging-autograde/kustomization.yaml b/k8s/deploy-envs/cluster/staging-autograde/kustomization.yaml
index bb25b6f39bdc9feca134325656c0b3af185c3597..f9f865a39ba194610529806f62032864ca6efa90 100644
--- a/k8s/deploy-envs/cluster/staging-autograde/kustomization.yaml
+++ b/k8s/deploy-envs/cluster/staging-autograde/kustomization.yaml
@@ -6,8 +6,8 @@ namespace: staging-autograde
 resources:
   - ingress.yaml
   # HR : Only deploy the autograde service and Moodle to the staging-autograde
-  - ../../../spring-app
-  - ../../../moodle
+  - ../../../components/spring-app
+  - ../../../components/moodle
 
 # HR : Configure the right images to use in staging-autograde
 images:
diff --git a/k8s/deploy-envs/cluster/staging-epfl/kustomization.yaml b/k8s/deploy-envs/cluster/staging-epfl/kustomization.yaml
index be6873b5ad09aaafe7b4906935393eca044b3448..48941aa3cd5cadf97d7785d60204400558ce77ff 100644
--- a/k8s/deploy-envs/cluster/staging-epfl/kustomization.yaml
+++ b/k8s/deploy-envs/cluster/staging-epfl/kustomization.yaml
@@ -6,7 +6,7 @@ namespace: staging-epfl
 resources:
   - ingress.yaml
   # HR : Only deploy the autograde service for the staging-epfl
-  - ../../../spring-app
+  - ../../../components/spring-app
 
 # HR : Configure the right images to use in staging-epfl
 images:
diff --git a/k8s/deploy-envs/cluster/traefik/kustomization.yaml b/k8s/deploy-envs/cluster/traefik/kustomization.yaml
index 14e9a37fa50b5163ffda0b01d1884a407e494590..ad0e3fa69a0efae233611f7341a0f8f19306ed57 100644
--- a/k8s/deploy-envs/cluster/traefik/kustomization.yaml
+++ b/k8s/deploy-envs/cluster/traefik/kustomization.yaml
@@ -4,7 +4,7 @@ kind: Kustomization
 namespace: traefik
 
 resources:
-  - ../../../traefik
+  - ../../../components/traefik
 
 secretGenerator:
   # Provides username and password for basic auth middleware
diff --git a/k8s/deploy-envs/local/kustomization.yaml b/k8s/deploy-envs/local/kustomization.yaml
index f08799838534f54148118dba342f168504fc181f..790fb8b30b13a84a0d52602b372461c1a50614db 100644
--- a/k8s/deploy-envs/local/kustomization.yaml
+++ b/k8s/deploy-envs/local/kustomization.yaml
@@ -2,8 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1
 kind: Kustomization
 
 resources:
-  - ../../spring-app
-  - ../../moodle
+  - ../../components/spring-app
+  - ../../components/moodle
   - db-lb-service.yaml
   #- ingress.yaml
   - persistent-volumes.yaml