apiVersion: apps/v1 kind: Deployment metadata: name: workclub-frontend labels: app: workclub-frontend component: frontend spec: replicas: 1 selector: matchLabels: app: workclub-frontend template: metadata: labels: app: workclub-frontend component: frontend spec: containers: - name: frontend image: workclub-frontend:latest imagePullPolicy: IfNotPresent ports: - name: http containerPort: 3000 protocol: TCP readinessProbe: httpGet: path: /api/health port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 2 livenessProbe: httpGet: path: /api/health port: http initialDelaySeconds: 10 periodSeconds: 15 timeoutSeconds: 5 failureThreshold: 3 resources: requests: cpu: 100m memory: 256Mi limits: cpu: 500m memory: 512Mi env: - name: NODE_ENV value: "production" - name: NEXT_PUBLIC_API_URL valueFrom: configMapKeyRef: name: workclub-config key: api-base-url - name: NEXT_PUBLIC_KEYCLOAK_URL valueFrom: configMapKeyRef: name: workclub-config key: keycloak-url