Service catalog¶
Every workload in the cluster sits behind a single GCE Ingress on the
cashless-dev2-ingress static IP, terminated by one Google ManagedCertificate
covering all hosts below. Each row links to the public URL on dev2.mycashless.com.
Frontends¶
-
admin.dev2.mycashless.com→cashless-admin-uiAngular 21 SPA for venue / event operators. Bootstrap 5 + Angular Material 21.
-
refund.dev2.mycashless.com→cashless-refund-uiSelf-service refund portal for cardholders.
-
marketplace.dev2.mycashless.com→marketplace-user-uiCustomer marketplace — Angular 21, Stripe.js, Angular Fire.
-
pa.dev2.mycashless.com→personalaccount-uiCardholder personal account web app — Angular 21, Stripe.js, Firebase.
Backends¶
-
api.dev2.mycashless.com→cashless-backend(/) +cashless-backend-v2(/v2)Flask 2.0 on gunicorn / eventlet. Admin API + background jobs (notifications, NFC, sales, backups).
-
auth.dev2.mycashless.com→cashless-authFastAPI on uvicorn. Password, phone OTP, Firebase, device, API key, MFA.
-
pa-api.dev2.mycashless.com→personalaccount-api(/) +personalaccount-api-v4(/v4)Flask 2.3 on gunicorn. v1 / v2 / v3 / v4 cardholder endpoints.
Mobile¶
These do not have public URLs — they ship as native apps and consume the backend HTTP surfaces above plus the shared Rust SDK.
| App | Platform | Notes |
|---|---|---|
mPOS |
Android / Kotlin | Point-of-sale. Star TSP printer + Stripe Terminal 4.3. |
user_app_android_with_sdk |
Android / Kotlin + Compose | Active cardholder target. Hilt, Room, KSP. |
user_app_ios |
iOS / Swift | Cardholder. Alamofire, Stripe, Firebase. |
user_app_android |
Android / Java | Legacy cardholder (sunset). |
dispatch_app |
Android / Java | Dispatch workflows. Star TSP printer. |
fastpass_app |
Android / Java | Fastpass scanning. CameraX. |
format_app |
Android / Java | Card / token formatting tooling. |
report_app |
Android / Java | Operator reporting. Dropbox SDK. |
Operational services (no public host)¶
| Service | Purpose |
|---|---|
cashless-cron |
Scheduled jobs (backups, batch reconciliation, notifications). |
cashless-worker |
Background queue worker (RQ / Redis). |
cashless-redis |
In-cluster Redis for cache + queues. |
cashless-db-backup |
Periodic MySQL backups to GCS. |
cashless-secrets |
External-Secrets operator config (GCP Secret Manager → K8s Secrets). |
cashless-migrate |
One-shot DB migration Job invoked on backend rollouts. |
cashless-ingress |
This LB. GCE Ingress + Google ManagedCertificate. |
otel-collector |
OTLP receiver → Prometheus + Cloud Trace. |
argocd-image-updater |
Auto-bumps image tags on new GHCR builds. |