Skip to content

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; the jbwst database was restored from a Maktix-provided MySQL snapshot.
  • The RDS Proxy + Secrets Manager + IAM rds-db:connect pattern, the VPC/subnet/security-group layout, and the NAT gateways date from this deployment.
  • The extraction queue was originally st-tenant-list, later replaced by tenantList (stage) and prodtenantList (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.
sam build
sam 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 deploy today would delete/revert console-made changes. Reconcile the template first.

./mvnw clean package # shaded jar (classifier "aws")
sam deploy # stacks jbw-prod-extraction / jbw-extraction

Parameters: security group, two private subnets, DB secret name, RDS proxy endpoint + resource id. Trigger = SQS event source mapping (prodtenantList / tenantList).

npm install
npm 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.

JDK 17, Node 20, Maven, AWS CLI, SAM CLI, Git.

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:

TypeDocuments
Design documents”ST to JB Warranty Processing Integration Design” (DOCX), “JB Registration and Claims Processing ST Integration — Functional Design” (PPTX)
Manuals & guidesJB360 User Manual (PDF, 2024-07-30), JB360 Activation Manual, JB360 Deployment Process, JB360 API Implementation Guide, JB360 API Vendor Setup Guide
Release notesJB360 Release 1, Claims Release, July Release (2024), Spring 2026 Release
Release SQL scriptsJB360Release1-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 jb360dealer vendor API.