From fe4b5d4f72c2d483530f35e5bd104714b5d069c5 Mon Sep 17 00:00:00 2001 From: Vivekk0712 Date: Fri, 2 Jan 2026 21:31:07 +0530 Subject: [PATCH] Fix #28: Consolidate Kubernetes manifests into single files per service - Merged ConfigMap, Service, and Deployment resources into single YAML files - Created consolidated manifests for all 7 services using --- separators - Removed 20 fragmented manifest files - Kept secret example files separate (security best practice) - No CI/CD changes required - kubectl apply -f . still works - Reduced file count by 43% (28 -> 16 files) --- .../kubernetes/auth-service.configmap.yaml | 7 ----- .../kubernetes/auth-service.service.yaml | 14 ---------- ...vice.deployment.yaml => auth-service.yaml} | 24 +++++++++++++++- .../kubernetes/frontend-service.service.yaml | 14 ---------- ....deployment.yaml => frontend-service.yaml} | 17 ++++++++++- .../kubernetes/login-mysql.configmap.yaml | 7 ----- manifests/kubernetes/login-mysql.service.yaml | 14 ---------- ...mysql.deployment.yaml => login-mysql.yaml} | 24 +++++++++++++++- .../kubernetes/login-service.configmap.yaml | 11 -------- .../kubernetes/login-service.service.yaml | 13 --------- ...ice.deployment.yaml => login-service.yaml} | 28 ++++++++++++++++++- .../metadata-service.configmap.yaml | 8 ------ .../kubernetes/metadata-service.service.yaml | 14 ---------- ....deployment.yaml => metadata-service.yaml} | 26 ++++++++++++++++- .../notification-mysql.configmap.yaml | 7 ----- .../notification-mysql.service.yaml | 14 ---------- ...eployment.yaml => notification-mysql.yaml} | 24 +++++++++++++++- .../notification-service.configmap.yaml | 9 ------ .../notification-service.service.yaml | 14 ---------- ...loyment.yaml => notification-service.yaml} | 27 +++++++++++++++++- 20 files changed, 163 insertions(+), 153 deletions(-) delete mode 100644 manifests/kubernetes/auth-service.configmap.yaml delete mode 100644 manifests/kubernetes/auth-service.service.yaml rename manifests/kubernetes/{auth-service.deployment.yaml => auth-service.yaml} (57%) delete mode 100644 manifests/kubernetes/frontend-service.service.yaml rename manifests/kubernetes/{frontend-service.deployment.yaml => frontend-service.yaml} (73%) delete mode 100644 manifests/kubernetes/login-mysql.configmap.yaml delete mode 100644 manifests/kubernetes/login-mysql.service.yaml rename manifests/kubernetes/{login-mysql.deployment.yaml => login-mysql.yaml} (61%) delete mode 100644 manifests/kubernetes/login-service.configmap.yaml delete mode 100644 manifests/kubernetes/login-service.service.yaml rename manifests/kubernetes/{login-service.deployment.yaml => login-service.yaml} (53%) delete mode 100644 manifests/kubernetes/metadata-service.configmap.yaml delete mode 100644 manifests/kubernetes/metadata-service.service.yaml rename manifests/kubernetes/{metadata-service.deployment.yaml => metadata-service.yaml} (54%) delete mode 100644 manifests/kubernetes/notification-mysql.configmap.yaml delete mode 100644 manifests/kubernetes/notification-mysql.service.yaml rename manifests/kubernetes/{notification-mysql.deployment.yaml => notification-mysql.yaml} (60%) delete mode 100644 manifests/kubernetes/notification-service.configmap.yaml delete mode 100644 manifests/kubernetes/notification-service.service.yaml rename manifests/kubernetes/{notification-service.deployment.yaml => notification-service.yaml} (56%) diff --git a/manifests/kubernetes/auth-service.configmap.yaml b/manifests/kubernetes/auth-service.configmap.yaml deleted file mode 100644 index f602cc1..0000000 --- a/manifests/kubernetes/auth-service.configmap.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: auth-service-config - namespace: microforge-dev-ns -data: - AUTH_SERVICE_PORT: "8082" \ No newline at end of file diff --git a/manifests/kubernetes/auth-service.service.yaml b/manifests/kubernetes/auth-service.service.yaml deleted file mode 100644 index 8c66a2d..0000000 --- a/manifests/kubernetes/auth-service.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: auth-service - namespace: microforge-dev-ns - labels: - app: auth-service -spec: - selector: - app: auth-service - type: ClusterIP - ports: - - name: auth-service-port - port: 8082 \ No newline at end of file diff --git a/manifests/kubernetes/auth-service.deployment.yaml b/manifests/kubernetes/auth-service.yaml similarity index 57% rename from manifests/kubernetes/auth-service.deployment.yaml rename to manifests/kubernetes/auth-service.yaml index af702ec..248cec2 100644 --- a/manifests/kubernetes/auth-service.deployment.yaml +++ b/manifests/kubernetes/auth-service.yaml @@ -1,3 +1,26 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: auth-service-config + namespace: microforge-dev-ns +data: + AUTH_SERVICE_PORT: "8082" +--- +apiVersion: v1 +kind: Service +metadata: + name: auth-service + namespace: microforge-dev-ns + labels: + app: auth-service +spec: + selector: + app: auth-service + type: ClusterIP + ports: + - name: auth-service-port + port: 8082 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -22,4 +45,3 @@ spec: envFrom: - configMapRef: name: auth-service-config - \ No newline at end of file diff --git a/manifests/kubernetes/frontend-service.service.yaml b/manifests/kubernetes/frontend-service.service.yaml deleted file mode 100644 index ab5fa26..0000000 --- a/manifests/kubernetes/frontend-service.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: frontend-service - namespace: microforge-dev-ns - labels: - app: frontend-service -spec: - selector: - app: frontend-service - type: ClusterIP - ports: - - port: 80 - targetPort: 80 \ No newline at end of file diff --git a/manifests/kubernetes/frontend-service.deployment.yaml b/manifests/kubernetes/frontend-service.yaml similarity index 73% rename from manifests/kubernetes/frontend-service.deployment.yaml rename to manifests/kubernetes/frontend-service.yaml index 3a39f6b..5596474 100644 --- a/manifests/kubernetes/frontend-service.deployment.yaml +++ b/manifests/kubernetes/frontend-service.yaml @@ -1,3 +1,18 @@ +apiVersion: v1 +kind: Service +metadata: + name: frontend-service + namespace: microforge-dev-ns + labels: + app: frontend-service +spec: + selector: + app: frontend-service + type: ClusterIP + ports: + - port: 80 + targetPort: 80 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -28,4 +43,4 @@ spec: - name: REACT_APP_METADATA_SERVICE_URL value: http://api.microforge.manojm.site - name: REACT_APP_NOTIFICATION_SERVICE_URL - value: http://api.microforge.manojm.site \ No newline at end of file + value: http://api.microforge.manojm.site diff --git a/manifests/kubernetes/login-mysql.configmap.yaml b/manifests/kubernetes/login-mysql.configmap.yaml deleted file mode 100644 index 14003aa..0000000 --- a/manifests/kubernetes/login-mysql.configmap.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: login-mysql-config - namespace: microforge-dev-ns -data: - MYSQL_DATABASE: empdir \ No newline at end of file diff --git a/manifests/kubernetes/login-mysql.service.yaml b/manifests/kubernetes/login-mysql.service.yaml deleted file mode 100644 index 4e64eb7..0000000 --- a/manifests/kubernetes/login-mysql.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: login-mysql - namespace: microforge-dev-ns - labels: - app: login-mysql -spec: - selector: - app: login-mysql - type: ClusterIP - ports: - - name: login-mysql-port - port: 3306 \ No newline at end of file diff --git a/manifests/kubernetes/login-mysql.deployment.yaml b/manifests/kubernetes/login-mysql.yaml similarity index 61% rename from manifests/kubernetes/login-mysql.deployment.yaml rename to manifests/kubernetes/login-mysql.yaml index 5dc25c1..dd25f42 100644 --- a/manifests/kubernetes/login-mysql.deployment.yaml +++ b/manifests/kubernetes/login-mysql.yaml @@ -1,3 +1,26 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: login-mysql-config + namespace: microforge-dev-ns +data: + MYSQL_DATABASE: empdir +--- +apiVersion: v1 +kind: Service +metadata: + name: login-mysql + namespace: microforge-dev-ns + labels: + app: login-mysql +spec: + selector: + app: login-mysql + type: ClusterIP + ports: + - name: login-mysql-port + port: 3306 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -25,4 +48,3 @@ spec: name: login-mysql-config - secretRef: name: login-mysql-secret - \ No newline at end of file diff --git a/manifests/kubernetes/login-service.configmap.yaml b/manifests/kubernetes/login-service.configmap.yaml deleted file mode 100644 index d598b2e..0000000 --- a/manifests/kubernetes/login-service.configmap.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: login-service-config - namespace: microforge-dev-ns -data: - LOGIN_SERVICE_PORT: "8081" - DB_PORT: "3306" - DB_NAME: empdir - JWT_EXPIRATION_MS: "86400000" - NOTIFICATION_SERVICE_URL: http://api.microforge.manojm.site \ No newline at end of file diff --git a/manifests/kubernetes/login-service.service.yaml b/manifests/kubernetes/login-service.service.yaml deleted file mode 100644 index 2a52a5f..0000000 --- a/manifests/kubernetes/login-service.service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: login-service - namespace: microforge-dev-ns -spec: - selector: - app: login-service - type: ClusterIP - ports: - - name: login-service-port - port: 8081 - targetPort: 8081 \ No newline at end of file diff --git a/manifests/kubernetes/login-service.deployment.yaml b/manifests/kubernetes/login-service.yaml similarity index 53% rename from manifests/kubernetes/login-service.deployment.yaml rename to manifests/kubernetes/login-service.yaml index d2b1cf9..7a6e76a 100644 --- a/manifests/kubernetes/login-service.deployment.yaml +++ b/manifests/kubernetes/login-service.yaml @@ -1,3 +1,29 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: login-service-config + namespace: microforge-dev-ns +data: + LOGIN_SERVICE_PORT: "8081" + DB_PORT: "3306" + DB_NAME: empdir + JWT_EXPIRATION_MS: "86400000" + NOTIFICATION_SERVICE_URL: http://api.microforge.manojm.site +--- +apiVersion: v1 +kind: Service +metadata: + name: login-service + namespace: microforge-dev-ns +spec: + selector: + app: login-service + type: ClusterIP + ports: + - name: login-service-port + port: 8081 + targetPort: 8081 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -27,4 +53,4 @@ spec: - configMapRef: name: login-service-config - secretRef: - name: login-service-secret \ No newline at end of file + name: login-service-secret diff --git a/manifests/kubernetes/metadata-service.configmap.yaml b/manifests/kubernetes/metadata-service.configmap.yaml deleted file mode 100644 index 726d0ca..0000000 --- a/manifests/kubernetes/metadata-service.configmap.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: metadata-service-config - namespace: microforge-dev-ns -data: - METADATA_SERVICE_PORT: "8084" - FLASK_ENV: production \ No newline at end of file diff --git a/manifests/kubernetes/metadata-service.service.yaml b/manifests/kubernetes/metadata-service.service.yaml deleted file mode 100644 index 1f2fa26..0000000 --- a/manifests/kubernetes/metadata-service.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: metadata-service - namespace: microforge-dev-ns - labels: - app: metadata-service -spec: - selector: - app: metadata-service - type: ClusterIP - ports: - - name: metadata-service-port - port: 8084 \ No newline at end of file diff --git a/manifests/kubernetes/metadata-service.deployment.yaml b/manifests/kubernetes/metadata-service.yaml similarity index 54% rename from manifests/kubernetes/metadata-service.deployment.yaml rename to manifests/kubernetes/metadata-service.yaml index b9cc109..972e241 100644 --- a/manifests/kubernetes/metadata-service.deployment.yaml +++ b/manifests/kubernetes/metadata-service.yaml @@ -1,3 +1,27 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: metadata-service-config + namespace: microforge-dev-ns +data: + METADATA_SERVICE_PORT: "8084" + FLASK_ENV: production +--- +apiVersion: v1 +kind: Service +metadata: + name: metadata-service + namespace: microforge-dev-ns + labels: + app: metadata-service +spec: + selector: + app: metadata-service + type: ClusterIP + ports: + - name: metadata-service-port + port: 8084 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -23,4 +47,4 @@ spec: - configMapRef: name: metadata-service-config - secretRef: - name: metadata-service-secret \ No newline at end of file + name: metadata-service-secret diff --git a/manifests/kubernetes/notification-mysql.configmap.yaml b/manifests/kubernetes/notification-mysql.configmap.yaml deleted file mode 100644 index d3d749f..0000000 --- a/manifests/kubernetes/notification-mysql.configmap.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: notification-mysql-config - namespace: microforge-dev-ns -data: - MYSQL_DATABASE: empdirempnotification \ No newline at end of file diff --git a/manifests/kubernetes/notification-mysql.service.yaml b/manifests/kubernetes/notification-mysql.service.yaml deleted file mode 100644 index 3111cd0..0000000 --- a/manifests/kubernetes/notification-mysql.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: notification-mysql - namespace: microforge-dev-ns - labels: - app: notification-mysql -spec: - selector: - app: notification-mysql - type: ClusterIP - ports: - - name: notification-mysql-port - port: 3306 \ No newline at end of file diff --git a/manifests/kubernetes/notification-mysql.deployment.yaml b/manifests/kubernetes/notification-mysql.yaml similarity index 60% rename from manifests/kubernetes/notification-mysql.deployment.yaml rename to manifests/kubernetes/notification-mysql.yaml index 68dd129..8602fc4 100644 --- a/manifests/kubernetes/notification-mysql.deployment.yaml +++ b/manifests/kubernetes/notification-mysql.yaml @@ -1,3 +1,26 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: notification-mysql-config + namespace: microforge-dev-ns +data: + MYSQL_DATABASE: empdirempnotification +--- +apiVersion: v1 +kind: Service +metadata: + name: notification-mysql + namespace: microforge-dev-ns + labels: + app: notification-mysql +spec: + selector: + app: notification-mysql + type: ClusterIP + ports: + - name: notification-mysql-port + port: 3306 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -25,4 +48,3 @@ spec: name: notification-mysql-config - secretRef: name: notification-mysql-secret - \ No newline at end of file diff --git a/manifests/kubernetes/notification-service.configmap.yaml b/manifests/kubernetes/notification-service.configmap.yaml deleted file mode 100644 index 64cb9fe..0000000 --- a/manifests/kubernetes/notification-service.configmap.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: notification-service-config - namespace: microforge-dev-ns -data: - MYSQL_DATABASE: empnotification - MYSQL_PORT: "3306" - NOTIFICATION_SERVICE_PORT: "8083" \ No newline at end of file diff --git a/manifests/kubernetes/notification-service.service.yaml b/manifests/kubernetes/notification-service.service.yaml deleted file mode 100644 index aaab6b6..0000000 --- a/manifests/kubernetes/notification-service.service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: notification-service - namespace: microforge-dev-ns - labels: - app: notification-service -spec: - selector: - app: notification-service - type: ClusterIP - ports: - - name: notification-service-port - port: 8083 \ No newline at end of file diff --git a/manifests/kubernetes/notification-service.deployment.yaml b/manifests/kubernetes/notification-service.yaml similarity index 56% rename from manifests/kubernetes/notification-service.deployment.yaml rename to manifests/kubernetes/notification-service.yaml index 546c6d2..7751bbe 100644 --- a/manifests/kubernetes/notification-service.deployment.yaml +++ b/manifests/kubernetes/notification-service.yaml @@ -1,3 +1,28 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: notification-service-config + namespace: microforge-dev-ns +data: + MYSQL_DATABASE: empnotification + MYSQL_PORT: "3306" + NOTIFICATION_SERVICE_PORT: "8083" +--- +apiVersion: v1 +kind: Service +metadata: + name: notification-service + namespace: microforge-dev-ns + labels: + app: notification-service +spec: + selector: + app: notification-service + type: ClusterIP + ports: + - name: notification-service-port + port: 8083 +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -27,4 +52,4 @@ spec: - configMapRef: name: notification-service-config - secretRef: - name: notification-service-secret \ No newline at end of file + name: notification-service-secret