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.
Release Documents (S3 bucket jb360-release-docs)
Section titled “Release Documents (S3 bucket jb360-release-docs)”The jb360-release-docs bucket (listed read-only 2026-07-11; 16 documents, uploads spanning May 2024 – May 2026) is the closest thing to a release archive. Contents by type:
| Type | Documents |
|---|---|
| Design documents | ”ST to JB Warranty Processing Integration Design” (DOCX), “JB Registration and Claims Processing ST Integration — Functional Design” (PPTX) |
| Manuals & guides | JB360 User Manual (PDF, 2024-07-30), JB360 Activation Manual, JB360 Deployment Process, JB360 API Implementation Guide, JB360 API Vendor Setup Guide |
| Release notes | JB360 Release 1, Claims Release, July Release (2024), Spring 2026 Release |
| Release SQL scripts | JB360Release1-SQL.sql, JulyRelease.sql, October2025Release.sql, JB360 Spring Release.sql, JB360 API Release.sql |
Two takeaways for the new team:
- Each release ships with a companion SQL script — database schema/data changes are applied manually per release, not migrated by tooling. When reconstructing what changed in a past release, read its SQL script alongside the release notes.
- The “JB360 Deployment Process” DOCX is the original written deploy procedure (May 2024); the procedure above is the verified current form of it. The API Implementation/Vendor Setup guides document the newer
jb360dealervendor API.