apiVersion: apps/v1 kind: Deployment metadata: name: hasura namespace: trade-r001-canary spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 selector: matchLabels: app: hasura template: metadata: labels: app: hasura spec: containers: - name: hasura image: hasura/graphql-engine:v2.40.1 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 envFrom: - secretRef: name: trade-postgres - secretRef: name: trade-hasura env: - name: HASURA_GRAPHQL_DATABASE_URL value: postgres://$(POSTGRES_USER):$(POSTGRES_PASSWORD)@postgres:5432/$(POSTGRES_DB) - name: HASURA_GRAPHQL_JWT_SECRET value: '{"type":"HS256","key":"$(HASURA_JWT_KEY)"}' - name: HASURA_GRAPHQL_ENABLE_CONSOLE value: "false" - name: HASURA_GRAPHQL_DEV_MODE value: "false" - name: HASURA_GRAPHQL_CORS_DOMAIN value: http://localhost:5173,http://127.0.0.1:5173 - name: HASURA_GRAPHQL_UNAUTHORIZED_ROLE value: public resources: requests: cpu: 250m memory: 512Mi limits: cpu: "1" memory: 1Gi readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 3 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 3