This document describes the live deployment path for capetownmarket-faas as it exists now.
The active deploy is GitHub Actions driven in .github/workflows/deploy-finance-faas.yml and finishes with the server rollout script at scripts/deploy-finance-faas-server.sh. The workflow still uses the fast_dev profile as its default run mode, so the current effective behavior is fast-window, fast-drain deployment rather than a slow maintenance-style rollout.
The deploy pipeline is split into two phases:
Validation currently includes:
documentation-core tests and TypeDoc build validation.The server rollout then:
database-abstraction-core company-map seed JSON into the live .faas-state runtime directory.--skip-portal-build is allowed.The deploy workflow exposes timing knobs, but the active path still resolves to the fast profile:
deploy_profile = fast_dev01The script still retains baseline fallback values for slower behavior, but those are not the effective values used by the current workflow path.
The live rollout verifies the active platform surfaces rather than a generic test harness:
automation-core health and ready checksdocumentation-core health, ready, TypeDoc status, and root-page checkscapetown-faas-core health checksdatabase-abstraction-core health checks/dbcore returns 404 instead of proxying to database-abstraction-corerunningnumbers and debtors routes500.html evidenceThe rollout also captures queue and work-item state, deployment state, and other evidence so operators can inspect what the system looked like at the time of release.
The live deploy model assumes the current service topology and local host conventions used elsewhere in the repo:
50001capetown-faas-core lives on 50102database-abstraction-core lives on 5010350101capetown-faas-core API routes, but keeps /dbcore closed because database-abstraction-core is an internal adapter servicedatabase-abstraction-core also reads the capetown runtime-state DB for direct internal write endpoints, so company-map writes, automated-mail mutations, running-number allocation, and cashier day-end execution respect the same system write lockThose are still hard-coded in several scripts and service entrypoints, so the deployment docs should be read as a snapshot of the active topology rather than a portable, host-agnostic contract.
Documentation content changes are now deploy-relevant because documentation-core is the official published docs server and serves the repo documentation tree.
This is the current doc baseline for deploy operations:
Historical rollout writeups and one-off runbooks now live in the external documentation archive.