Deployment History & Procedure
Origin (from the January 2024 deployment notes — historical)
Section titled “Origin (from the January 2024 deployment notes — historical)”Where these notes conflict with the live account, the other AWS pages are current truth.
- The system was built by Maktix (3 repos:
jbwui,jbw-sam,extraction) and deployed into the JBW account (660537473428) in January 2024; thejbwstdatabase was restored from a Maktix-provided MySQL snapshot. - The RDS Proxy + Secrets Manager + IAM
rds-db:connectpattern, the VPC/subnet/security-group layout, and the NAT gateways date from this deployment. - The extraction queue was originally
st-tenant-list, later replaced bytenantList(stage) andprodtenantList(prod). - CloudFormation stacks:
jbw-stage-api+jbw-extraction(Jan 2024),jbw-prod-api+jbw-prod-extraction(Jan–May 2024). No stack has been updated since May 2024 — all later changes were applied directly (console/CLI), so the stacks no longer describe reality.
Deploy Procedure (as practiced)
Section titled “Deploy Procedure (as practiced)”Backend (jbw-sam)
Section titled “Backend (jbw-sam)”sam buildsam deploy # prod config in samconfig.toml (stack jbw-prod-api)Then re-attach auth: invoke jbwapiauthorizerupdate with {restApiId, authorizerId, region} — the template creates the API with no authorizer. Skipping this leaves the API open.
Reality check: since the live account has drifted (40 extra prod functions, changed env vars, runtime upgrades), a plain
sam deploytoday would delete/revert console-made changes. Reconcile the template first.
Extraction (extraction)
Section titled “Extraction (extraction)”./mvnw clean package # shaded jar (classifier "aws")sam deploy # stacks jbw-prod-extraction / jbw-extractionParameters: security group, two private subnets, DB secret name, RDS proxy endpoint + resource id. Trigger = SQS event source mapping (prodtenantList / tenantList).
Frontend (jbwui)
Section titled “Frontend (jbwui)”npm installnpm run build:prod # or build:stage# upload build/ to the website bucket, then invalidate CloudFront# prod : jbw-prod-api-websitebucket-kngktu57hpif (CF E2KRETR1VH71KG)# stage: jbw-stage-api-websitebucket-uqwzkpdkbfvb (CF E28GJHAKWEKWHR)Environment (Cognito pool, gateway URL, ST/Workiz links) is baked in at build time from .env/prod.env/stage.env.
Deploy-machine tooling
Section titled “Deploy-machine tooling”JDK 17, Node 20, Maven, AWS CLI, SAM CLI, Git.
Release Cadence
Section titled “Release Cadence”Git history shows quarterly-ish release commits on main (“January Release”, “Workiz Release”, “October 2025 Release”, “Spring Release Changes”, “Renewal Functionality changes”). There is no CI/CD — all builds and deploys are manual from a workstation.