apiVersion: apps/v1 kind: Deployment metadata: name: trade-frontend namespace: trade-r001-canary spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 selector: matchLabels: app.kubernetes.io/name: trade-frontend template: metadata: labels: app.kubernetes.io/name: trade-frontend spec: imagePullSecrets: - name: gitea-registry containers: - name: frontend image: gitea.mpabi.pl/trade/trade-frontend:pg-derived-phase1-20260319-030252 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8081 env: - name: PORT value: "8081" - name: APP_VERSION value: canary-r001 - name: API_UPSTREAM value: http://trade-api:8787 - name: BASIC_AUTH_FILE value: /tokens/frontend.json - name: API_READ_TOKEN_FILE value: /tokens/read.json - name: BASIC_AUTH_MODE value: "off" - name: AUTH_MODE value: session - name: HTPASSWD_FILE value: /auth/users volumeMounts: - name: auth mountPath: /auth/users readOnly: true subPath: users - name: tokens mountPath: /tokens readOnly: true resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 512Mi readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 2 periodSeconds: 5 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 10 volumes: - name: auth secret: secretName: trade-basic-auth - name: tokens secret: secretName: trade-frontend-tokens