Skip to content

Deployment

Purpose

One runbook per environment - deliberately separate pages, not toggles on one page, so staging and production never look like interchangeable variants of the same command.

Pages in this section

  • Local - your own machine's k3d cluster.
  • Staging (VPS) - current, canonical. The real, live staging environment at stg.vayzomart.com, deployed via scripts/deploy-staging-vps.sh on a shared VPS running Docker Compose.
  • Staging (legacy — Kubernetes/Helm) - a separate, planned future architecture, on hold behind its own domain-registration prerequisites. Not currently used for real traffic; kept for historical/future-architecture reference. Do not follow this page to deploy today's real staging.
  • Production - current, canonical. The separately authorized Production V1 application path uses docker-compose.production.yml and scripts/deploy-production-vps.sh on the shared VPS. It never performs public cutover.
  • Production Host Nginx cutover - candidate rendering, validation, explicit cutover authorization, external verification, and routing rollback for the shared-VPS production ports. Documentation and tests never perform the cutover.
  • Release Checklist - the full precondition list before cutting a release tag.

Shared shape

Every runbook in this section follows: Preconditions → Backup/checkpoint → Build → Deploy → Database migration → Verification → Smoke testing → Monitoring → Rollback - so the steps are predictable even though the targets (and their risk level) are completely different.

Which environment am I looking at?

Local Staging (VPS — current) Staging (K8s — legacy) Production
Runtime your own k3d shared VPS, Docker Compose real, shared K3s node shared VPS, isolated Docker Compose project
Hostname localhost stg.vayzomart.com staging.akshayabazaar.example.invalid (placeholder - never resolves) vayzomart.com / www.vayzomart.com after separate cutover authorization
Deployed by you, manually scripts/deploy-staging-vps.sh, operator-run Jenkins, automatically, on a release tag - not yet reachable scripts/deploy-production-vps.sh, operator-run after explicit deployment authorization; Host Nginx cutover is separate
Data disposable, local-only real test data n/a - not deployed real customer data
This portal executes deploys here? Only what you explicitly run yourself No No - and it can't reach a real target yet Never