From b2c988b4168d479726566f982e1f82a40e5a47b8 Mon Sep 17 00:00:00 2001 From: Urtzi Alfaro Date: Sat, 27 Sep 2025 14:51:06 +0200 Subject: [PATCH] Add base kubernetes support 3 --- frontend/Dockerfile.kubernetes | 14 ++++++++-- frontend/vite.config.ts | 11 ++++---- .../kubernetes/overlays/dev/dev-patches.yaml | 7 +++-- .../overlays/dev/kustomization.yaml | 28 +++++++++++++++---- 4 files changed, 45 insertions(+), 15 deletions(-) diff --git a/frontend/Dockerfile.kubernetes b/frontend/Dockerfile.kubernetes index 80350c42..07ea109d 100644 --- a/frontend/Dockerfile.kubernetes +++ b/frontend/Dockerfile.kubernetes @@ -40,8 +40,16 @@ COPY <<'EOF' /docker-entrypoint.d/30-substitute-env.sh #!/bin/sh set -e -# Default values for environment variables -export VITE_API_URL=${VITE_API_URL:-"http://gateway-service:8000"} +# Handle VITE_API_URL specially to preserve empty values +# If VITE_API_URL is unset, use default; if empty, preserve empty; otherwise use value +if [ -z "${VITE_API_URL+x}" ]; then + export VITE_API_URL="http://gateway-service:8000" +elif [ -z "$VITE_API_URL" ]; then + # If VITE_API_URL is explicitly set to empty string, preserve it + export VITE_API_URL="" +fi + +# Default values for other environment variables export VITE_APP_TITLE=${VITE_APP_TITLE:-"PanIA Dashboard"} export VITE_APP_VERSION=${VITE_APP_VERSION:-"1.0.0"} @@ -92,4 +100,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ CMD curl -f http://localhost:3000/health || exit 1 # Start nginx -CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file +CMD ["nginx", "-g", "daemon off;"] diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 5dfb8987..df1f5364 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -28,10 +28,11 @@ export default defineConfig({ }, proxy: { '/api': { - target: process.env.VITE_API_URL || - (process.env.NODE_ENV === 'development' && process.env.KUBERNETES_SERVICE_HOST - ? 'http://gateway-service:8000' // Kubernetes internal service - : 'http://localhost:8000'), // Local development + target: process.env.VITE_API_URL !== undefined + ? (process.env.VITE_API_URL || '') // Use value or empty string + : (process.env.NODE_ENV === 'development' && process.env.KUBERNETES_SERVICE_HOST + ? 'http://gateway-service:8000' // Kubernetes internal service + : 'http://localhost:8000'), // Local development changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), }, @@ -51,4 +52,4 @@ export default defineConfig({ }, }, }, -}); \ No newline at end of file +}); diff --git a/infrastructure/kubernetes/overlays/dev/dev-patches.yaml b/infrastructure/kubernetes/overlays/dev/dev-patches.yaml index 494d33fb..871ea1e1 100644 --- a/infrastructure/kubernetes/overlays/dev/dev-patches.yaml +++ b/infrastructure/kubernetes/overlays/dev/dev-patches.yaml @@ -12,9 +12,12 @@ data: PROFILING_ENABLED: "true" MOCK_EXTERNAL_APIS: "true" + # CORS Configuration for Development + CORS_ORIGINS: "http://frontend-service:3000,http://localhost:3000,http://localhost:3001,http://127.0.1:3000,http://127.0.0.1:3001,https://localhost,https://127.0.0.1" + # Frontend Development Configuration VITE_ENVIRONMENT: "development" - VITE_API_URL: "http://gateway-service:8000" + VITE_API_URL: "" --- @@ -52,4 +55,4 @@ spec: service: name: gateway-service port: - number: 8000 \ No newline at end of file + number: 8000 diff --git a/infrastructure/kubernetes/overlays/dev/kustomization.yaml b/infrastructure/kubernetes/overlays/dev/kustomization.yaml index be1dee9f..a9419be8 100644 --- a/infrastructure/kubernetes/overlays/dev/kustomization.yaml +++ b/infrastructure/kubernetes/overlays/dev/kustomization.yaml @@ -86,11 +86,29 @@ patchesJson6902: path: /spec/template/spec/containers/0/resources value: requests: - memory: "128Mi" - cpu: "50m" + memory: "64Mi" + cpu: "25m" limits: - memory: "256Mi" - cpu: "200m" + memory: "128Mi" + cpu: "100m" + - target: + group: apps + version: v1 + kind: Deployment + name: gateway + patch: |- + - op: replace + path: /spec/template/spec/containers/0/imagePullPolicy + value: Never + - op: replace + path: /spec/template/spec/containers/0/resources + value: + requests: + memory: "64Mi" + cpu: "25m" + limits: + memory: "128Mi" + cpu: "100m" - target: group: apps version: v1 @@ -193,4 +211,4 @@ replicas: - name: gateway count: 1 - name: frontend - count: 1 \ No newline at end of file + count: 1