Architecture
OPPA is one CDK application, app.py, with three stacks: the application stack, the CD pipeline, and the CI project.
Packages live in the same repository and share one uv workspace.
Runtime pieces
| Piece | Role |
|---|---|
|
Idempotency check and lock release for an invite. Reads and writes the idempotency table. |
|
Sends Slack, CloudWatch, and event-logger notifications. Runs inside the VPC. |
|
Reads Gmail for Amazon invitation messages and stores the link. Runs inside the VPC. Depends on the Google API client in addition to the shared layer. |
|
Shared library, installed as a Lambda layer ( |
Amazon invite orchestrator |
State machine started from the environment event bus. Calls the gatekeeper, then the three machines below. |
Create account |
State machine that drives Invitius account creation and records the result. |
Two-factor authentication |
State machine that drives Invitius 2FA setup. |
Email lookup |
State machine that waits until the mailbox checker has stored the invitation email. |
Invitius does the browser automation. OPPA sends it work on the Invitius SQS queue and reads uploads from the shared S3 bucket.
Data and integrations
| Resource | Use |
|---|---|
Assistance table |
Workflow and invitation records. Partition key |
Idempotency table |
One in-flight invite per supplier and marketplace. Items expire through the |
Secrets Manager |
Runtime secret read by the beeper. |
Secrets Manager |
Auth material for the event logger client. |
Event bus |
Slack notification events. |
Environment event bus |
Starts the orchestrator. The name follows the environment ( |
Accounts: development and staging use 605668041275. Production uses 625663093496. Region is us-east-1.