The Accounts API both:
- Runs as a service
- Orchestrates the entire demo environment
It manages:
- Kind cluster creation
- ingress-nginx installation
- Postman Insights agent installation
- Deployment of identity, catalog, and accounts services
- Traffic simulation
- Full teardown
Services:
- identity-api (namespace:
identity) - catalog-api (namespace:
catalog) - accounts-api (namespace:
accounts)
Infrastructure:
- ingress-nginx
- Postman Insights Agent (DaemonSet)
Ingress routes:
/identity/accounts/catalog
- Docker
- kind
- kubectl
- curl
- python3
- Postman account with Insights enabled
-
Create three Insights projects:
- Identity
- Accounts
- Catalog
-
Copy each
svc_xxxxxxxxxxProject ID -
Create a Postman API key
Optional:
- Enable Repro Mode
- Configure redactions
- Set up alerts
export POSTMAN_API_KEY="PMAK_xxxxx"
export IDENTITY_PROJECT_ID="svc_identity"
export ACCOUNTS_PROJECT_ID="svc_accounts"
export CATALOG_PROJECT_ID="svc_catalog"
export IDENTITY_WORKSPACE_ID="uuid-identity"
export ACCOUNTS_WORKSPACE_ID="uuid-accounts"
export CATALOG_WORKSPACE_ID="uuid-catalog"
export POSTMAN_SYSTEM_ENV="uuid-system-env"
./scripts/run-demo.shThis will:
- Create Kind cluster
- Install ingress-nginx
- Install Insights agent
- Build and deploy all three services
- Apply ingress
- Validate health checks
./scripts/simulate-traffic.sh --verbose --slowExample output:
✓ POST /identity/users (18ms)
✗ POST /accounts/accounts/onboard (400, 15ms)
Dry run:
./scripts/teardown-demo.sh --dry-runFull teardown:
./scripts/teardown-demo.shDelete cluster:
DELETE_CLUSTER=1 ./scripts/teardown-demo.shIdentity and Catalog repos own:
- Application code
- Dockerfile
- Deployment + Service
Accounts repo owns:
- Cluster setup
- Ingress
- Insights agent
- Traffic simulation
- Teardown