Skip to main content

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.sh if present
  • Migrations: component-tasks.migrations.commands run once per deploy as an ArgoCD Sync hook Job

Dependencies​

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.