feat: add system configuration platform
This commit is contained in:
58
.trellis/spec/backend/deployment.md
Normal file
58
.trellis/spec/backend/deployment.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# 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
|
||||
|
||||
```bash
|
||||
ssh some-other-host
|
||||
```
|
||||
|
||||
#### Correct
|
||||
|
||||
```bash
|
||||
ssh wlcb1
|
||||
```
|
||||
Reference in New Issue
Block a user