The architecture of the Tawa platform — what services exist, how they connect, and the URLs you need.
| Service | Purpose | Production URL |
|---|---|---|
| Bio-ID | Identity & OAuth provider | https://bio.tawa.pro |
| Koko | Service registry & API gateway | Internal (cluster DNS) |
| Janus | Health monitoring & gas metering | Internal (cluster DNS) |
| iec-builder | Build pipeline & deployment | https://builder.tawa.pro |
| iec-wallet | Token wallet & gas reserve | Internal (cluster DNS) |
| Forgejo | Git hosting (alternative to GitHub) | https://git.tawa.pro |
| tawa-web | Platform console & docs | https://tawa.insureco.io |
Developer -> tawa CLI -> iec-builder
|
+-----------+-----------+
| | |
Bio-ID Koko Cloudflare
(OAuth) (Registry) (DNS)
|
Kubernetes
(Helm deploy)
|
+---------+---------+
| | |
Janus Wallet Your Service
(Metrics) (Gas) (Running pod)
Services communicate inside the cluster using this pattern:
http://{service}.{service}-{environment}.svc.cluster.local:{port}
Examples:
http://iec-wallet.iec-wallet-prod.svc.cluster.local:3000http://koko-iec-koko.koko-prod.svc.cluster.local:3001http://janus.janus-prod.svc.cluster.local:3000| Environment | Pattern | Example |
|---|---|---|
| Sandbox | {service}.sandbox.tawa.pro | my-api.sandbox.tawa.pro |
| Production | {service}.tawa.pro | my-api.tawa.pro |
| UAT | {service}.uat.tawa.pro | my-api.uat.tawa.pro |
Organizations have two identifiers managed by Bio-ID:
| Identifier | Format | Example | Used by |
|---|---|---|---|
| orgId | ORG-{timestamp}{random} | ORG-1771475158MOH5U2 | Bio-ID admin APIs (departments, roles) |
| orgSlug | URL-friendly slug | insureco | catalog-info.yaml spec.owner, wallet IDs, Koko, Builder, Forgejo |
wallet-{orgSlug} (e.g., wallet-insureco)orgId (ORG-xxx) and orgSlug (slug) in the payloadorgSlug for spec.owner scaffolding (never uses ORG-xxx for owner)A service is owned by a single primary org, but can grant authorized orgs so devs from a second org can build and release it (gas still billed to the owner). See Authorized Orgs.
tawa deploy — the builder handles everythingLast updated: July 15, 2026