node-generic
Generic Node.js app chart.
- Workload kind:
StatefulSet - Container port: 3000 (service exposes 80 → 3000)
- Probes: toggleable like
php-generic - Init container: runs
./.container-init.shif present - Migrations:
component-tasks.migrations.commandsrun once per deploy as an ArgoCDSynchook Job
Dependencies
component-traefik-ingresscomponent-pdbcomponent-external-secretcomponent-rediscomponent-databasecomponent-tasks
Defaults
replicaCount: 2
service:
port: 80
targetPort: 3000
container:
port: 3000
Shared volumes (RWX)
Cross-pod shared storage is opt-in via global.sharedVolumes. See component-shared-volume for the schema and examples.
global:
sharedVolumes:
- name: uploads
size: 5Gi
mounts:
- path: /app/uploads
Migrations
Database migrations run once per deploy as an ArgoCD Sync hook Job, after the app secrets and database are ready and before any new pod of the app, its workers or its cron jobs starts:
component-tasks:
migrations:
commands:
- ["./node_modules/.bin/prisma", "migrate", "deploy"]
.container-init.sh then holds only per-pod steps, or goes away entirely. Fields and behaviour: component-tasks → Migrations.