gcloud-lab/apps/base/customer1/trading-platform/execute-service/deployment.yaml
Sirius Devops 4be12802d0 fix(execute-service): add timeoutSeconds: 10 to startup/readiness probes
The /health/ready endpoint calls await initialize() on Hyperliquid and Solana executors. Without explicit timeout, the default 1s probe timeout caused repeated failures even though the app was running.

Added timeoutSeconds: 10 + reduced readiness failureThreshold.

This is the final piece for the "running but not ready" state.
2026-05-25 06:26:09 +00:00

88 lines
2.4 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: trading-execute-service
namespace: customer1
labels:
app: trading-execute-service
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: trading-execute-service
template:
metadata:
labels:
app: trading-execute-service
annotations:
checksum/config: trading-execute-service-config
spec:
terminationGracePeriodSeconds: 30
securityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
containers:
- name: execute-service
image: ghcr.io/sirius0xdev/trading-execute-service:latest
imagePullPolicy: Always
ports:
- containerPort: 8002
name: http
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
envFrom:
- configMapRef:
name: trading-execute-service-config
env:
- name: EXECUTE_DB_USER
valueFrom:
secretKeyRef:
name: trading-db-credentials
key: username
- name: EXECUTE_DB_PASSWORD
valueFrom:
secretKeyRef:
name: trading-db-credentials
key: password
- name: JWT_SECRET_KEY
valueFrom:
secretKeyRef:
name: execute-service-jwt-secret
key: JWT_SECRET_KEY
startupProbe:
httpGet:
path: /health/ready
port: 8002
initialDelaySeconds: 15
periodSeconds: 10
failureThreshold: 30
timeoutSeconds: 10
livenessProbe:
httpGet:
path: /health
port: 8002
initialDelaySeconds: 30
periodSeconds: 30
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /health/ready
port: 8002
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 5