Files
teatea-pension/.trellis/spec/backend/deployment.md

1.8 KiB

Deployment Targets

Scenario: Wulanchabu Server Deployment

1. Scope / Trigger

  • Trigger: the user asks to deploy this project.
  • Default target: Wulanchabu server, reached through SSH host alias wlcb1.
  • This preference is project-specific and should be used for future deployment requests unless the user explicitly names another target.

2. Signatures

  • SSH entrypoint: ssh wlcb1
  • Repository remote: push code to origin before deploying.
  • Database migration command: pnpm db:migrate
  • Production build command: pnpm build

3. Contracts

  • Required environment on the server:
    • DATABASE_URL must point to the production PostgreSQL database.
    • Node.js and pnpm must be available.
  • Deployment should run from the server-side checkout for this repository.
  • Code should be pushed to origin before server deployment so wlcb1 deploys committed source.

4. Validation & Error Matrix

  • Missing DATABASE_URL -> deployment is not healthy; setup/login APIs return database configuration failures.
  • Migration failure -> stop deployment and report the failing migration output.
  • Build failure -> stop deployment and report the failing command output.
  • SSH failure -> report that wlcb1 could not be reached.

5. Good/Base/Bad Cases

  • Good: commit locally, push to origin, SSH to wlcb1, update checkout, install deps, migrate DB, build, restart app.
  • Base: if the server has a project-specific deploy script, run that script after pushing.
  • Bad: deploy uncommitted local files, deploy to a different host by default, or skip migrations after schema changes.

6. Tests Required

  • pnpm lint
  • pnpm type-check
  • pnpm build
  • After deploy, verify the app responds and /api/auth/bootstrap returns a structured JSON response.

7. Wrong vs Correct

Wrong

ssh some-other-host

Correct

ssh wlcb1