Files
trade-deploy/kustomize/base/api/deployment.yaml

71 lines
2.0 KiB
YAML

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