apiVersion: apps/v1 kind: Deployment metadata: name: trade-api spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: trade-api template: metadata: labels: app.kubernetes.io/name: trade-api spec: imagePullSecrets: - name: gitea-registry volumes: - name: trade-api-wrapper configMap: name: trade-api-wrapper containers: - name: api image: gitea.mpabi.pl/trade/trade-api:k3s-20260111095435 imagePullPolicy: IfNotPresent command: ["node", "/override/wrapper.mjs"] ports: - name: http containerPort: 8787 volumeMounts: - name: trade-api-wrapper mountPath: /override/wrapper.mjs subPath: wrapper.mjs readOnly: true env: - name: PORT value: "8787" - name: UPSTREAM_PORT value: "8788" - name: UPSTREAM_ENTRY value: "/app/services/api/server.mjs" - name: UPSTREAM_HOST value: "127.0.0.1" - name: APP_VERSION value: "staging" - name: HASURA_GRAPHQL_URL value: "http://hasura:8080/v1/graphql" - name: HASURA_ADMIN_SECRET valueFrom: secretKeyRef: name: trade-hasura key: HASURA_GRAPHQL_ADMIN_SECRET - name: API_ADMIN_SECRET valueFrom: secretKeyRef: name: trade-api key: API_ADMIN_SECRET - name: CORS_ORIGIN value: "*" readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 2 periodSeconds: 5 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 10 periodSeconds: 10