Aller au contenu

API backend (Node.js)

name: mon-api
namespace: mon-api
vaultSecretsPath: secret/platform/apps/services/mon-api
databases:
pgs:
- name: mon_api
features:
- redis
migration:
enable: true
useAppImg: true
command: ["npm", "run", "migrate"]
livenessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 10
timeoutSeconds: 5
periodSeconds: 30
readinessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 5
timeoutSeconds: 5
topics:
app:
- name: notifications
roles:
- pubsub.publisher
subscriptions:
app:
- name: order-events
topic: notifications
roles:
- pubsub.subscriber
environmentVariables:
- name: DATABASE_URL
value: "postgresql://$(PG_USER_MON_API):$(PG_PASS_MON_API)@$(PG_HOST_MON_API)/$(PG_DBNAME_MON_API)"
- name: REDIS_URL
value: "vault:secret/platform/redis#redis1_url"

Ce que le deployer cree :

  • 2 pods (defaut) avec probes
  • Service ClusterIP sur le port 3000
  • Base PostgreSQL mon_api
  • Cache Redis (via feature)
  • Migration automatique au deploy
  • Topic PubSub + subscription
  • Gateway API + DNS + TLS
  • Variables Vault injectees