apiVersion: apps/v1 kind: Deployment metadata: name: turash-frontend namespace: turash labels: app: turash-frontend component: frontend version: v1 spec: replicas: 2 revisionHistoryLimit: 10 selector: matchLabels: app: turash-frontend strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 0 template: metadata: labels: app: turash-frontend component: frontend version: v1 annotations: prometheus.io/path: /health prometheus.io/port: "80" prometheus.io/scrape: "true" spec: containers: - name: frontend image: registry.bk.glpx.pro/turash/turash-frontend:latest imagePullPolicy: Always ports: - name: http containerPort: 80 protocol: TCP env: - name: VITE_API_BASE_URL value: https://turash-api.bk.glpx.pro - name: VITE_ENVIRONMENT value: production resources: requests: cpu: 50m memory: 128Mi limits: cpu: 200m memory: 256Mi livenessProbe: httpGet: path: /health port: http scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 successThreshold: 1 readinessProbe: httpGet: path: /health port: http scheme: HTTP initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 successThreshold: 1 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 101 restartPolicy: Always terminationGracePeriodSeconds: 30