Paperclip DevOpsSRE
4b8622d197
feat(TRA-306): add waitlist app + VPS deploy workflow
...
Deploy Waitlist / Deploy to VPS (push) Failing after 2m26s
Adds Django waitlist app to serve the launch-gating endpoints:
- GET /training/django-cohort/waitlist → HTML cohort waitlist page
- POST /v1/waitlist/django-cohort → JSON signup with attribution
Changes:
- waitlist/ app: WaitlistSignup model, views, urls, admin, template
- config/settings/waitlist.py: minimal prod settings for waitlist-only deploy
- config/urls_waitlist.py: slimmed URL conf (waitlist + healthz + admin)
- config/urls.py: registers waitlist routes on full project
- config/settings/base.py: adds waitlist to INSTALLED_APPS
- docker-compose.waitlist.yml: Traefik-labelled deploy for VPS
- requirements/waitlist.txt: minimal dependency set for waitlist build
- .gitea/workflows/deploy-waitlist.yml: CI deploy job using Docker socket
- Dockerfile: parameterise DJANGO_SETTINGS_FOR_COLLECTSTATIC
DNS action required after deploy (board):
api.usepaperclip.app → 76.13.129.223 (VPS)
usepaperclip.app → 76.13.129.223 (VPS) OR Vercel creds for Next.js fix
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-05-07 10:17:25 +02:00
Paperclip CTO
8054c1e1e4
feat(TRA-233): Django M1 foundation scaffold
...
- Environment-split settings: base/local/test/prod with django-environ
- Postgres + Redis + Celery wiring (broker, beat, result backend)
- All 9 domain app stubs: accounts, courses, cms, tracking, quizzes,
training, certificates, reports, notifications
- api app: /healthz/ endpoint, custom DRF exception handler,
SecurityAuditMiddleware, permissions/throttle/upload-validation stubs
- DRF global baseline: JWT+session auth, closed-by-default permissions,
cursor/page pagination, drf-spectacular schema generation
- Dockerfile (multi-env build arg), docker-compose.yml (local),
docker-compose.test.yml (CI-friendly tmpfs Postgres)
- pytest.ini with smoke + settings marker definitions
- tests/test_smoke.py: startup, URL resolution, healthcheck shape
- tests/test_settings_matrix.py: per-profile security assertions
- .github/workflows/ci.yml: test, lint, schema CI jobs
- .env.example with all required vars documented
- .gitignore
Co-Authored-By: Paperclip <noreply@paperclip.ing >
2026-05-07 09:11:23 +02:00