Independent community infrastructure
A community platform run like a small internal cloud.
The Cantina Network is not one bot or one website. It is a set of deliberately separated services for identity, membership evidence, community workflows, cross-platform chat, delivery and game hosting.
01 / System map
Separated services. Explicit contracts.
A public request enters through the edge, identity is established centrally and every application keeps its own authorisation and data boundary. The diagram is intentionally architectural rather than operational.
Security-sensitive topology, addresses, ports, identifiers and exact deployment counts are deliberately not represented.
Member-facing tools, without production data.


02 / Communication
Follow the data, not the product names.
A member connects an external account
Authentik establishes the member identity. Accounts owns the provider connection and encrypted credential, then exposes bounded character evidence—not the provider token—to authorised TCN services.
The roster evaluates membership
The roster combines scoped member consent with Accounts evidence and its own game-data lookup. The result remains MEMBER, NON_MEMBER or UNKNOWN; uncertainty does not become an accidental rejection.
A message crosses chat platforms
Gateway events enter a durable PostgreSQL workflow before relay. Consent, channel policy and versioned handling are evaluated before an outbox worker talks to the target platform.
A release reaches an isolated service
Delivery separates build evidence from promotion. An exact manifest is planned read-only, migrations are rehearsed against an isolated copy and an authorised promotion is verified after apply.
03 / Catalogue
What I engineered—and what I operate.
Authorship and platform operation are kept separate. Existing products can require serious engineering without becoming my original software.
Identity-linked member evidence
TCN Accounts
TypeScript · Fastify · React · PostgreSQL · OAuthRestricted live service; wider rollout gatedPlanning and evidence-based membership evaluation
WoW Season Roster
React · Fastify · PostgreSQL · Accounts API · Battle.netLive pilot; acceptance work remainsCommunity automation, reconciliation and cross-chat bridge
TCN Bot
Node.js · TypeScript · Discord.js · PostgreSQL · LiveKitDevelopment and test running; privacy canaries remainEvidence-driven build and promotion path
TCN Delivery
GitHub Actions · containers · manifests · SBOMDevelopment and CI accepted; production promotion inactiveVersioned identity policy and service registration
Authentik configuration
Blueprints · validation · environment gatesIntegrated; production changes remain separately gatedHuman-maintained game templates compiled for AMP
AMP template pipeline
Validation · generated deployment branch · AMP ADSPublished and consumedServer-controlled interface for bounded AI operations
Codex Wrapper
TypeScript · Fastify · JWT · planned mTLSSource and host preparation; not deployedProxmox
Isolated service guests and infrastructure ownership
LiveAuthentik
Identity, MFA, OIDC and machine-token authority
LiveNGINX Proxy Manager
TLS termination and reverse-proxy ingress
LiveCantina Chat / Fluxer
Independent community chat platform
Public and branded; SSO stagedSentinel
Node-local service monitoring and recovery evidence
LiveAMP
Game-server orchestration outside the Proxmox guest catalogue
LivePublic site
WordPress community presence
Live; cleanup ongoingAnniversary experience
Event site with payment integration
Live; inventory incompleteStrapi
Supporting content service
Known service; current use under reviewTeamSpeak
Supporting voice service
Operational status not recently audited04 / Decisions
The architecture is a set of refusals too.
Evidence, never credentials
Accounts keeps provider credentials inside its own boundary. Other tools receive scoped, versioned evidence that answers a business question without inheriting access to the original account.
Central identity, local authorisation
Authentik establishes who someone is; each application still owns its sessions, database rules and feature permissions. Single sign-on does not become shared application state.
Durability before relay
Cross-platform events enter an inbox/outbox workflow before delivery. Restarts and partial API failures become reconcilable state instead of invisible message loss.
Consent before communication
The bridge checks member consent and channel policy before content crosses platforms. Voice is mixed in memory and is not recorded, persisted, transcribed or analysed.
Immutable delivery evidence
A release is an exact manifest and digest, not whatever happens to be on a server. Read-only planning and isolated migration rehearsal precede authorised promotion.
Reject almost-correct migrations
One Accounts candidate was rejected when its migration differed from production by a single newline. Semantic similarity did not override the recorded checksum contract.
Human source, generated artifact
Game templates stay maintainable in a human-friendly hierarchy, then compile into the flat structure AMP can index. Generated deployment state never becomes the authoring source.
Retire the wrong abstraction
An earlier identity-sync service was removed when Accounts became the clearer boundary. Keeping a familiar service was less important than reducing duplicated identity state.
05 / State & direction
Useful today. Intentionally unfinished.
- Core infrastructure, identity, edge routing and monitoring
- Public community surfaces and game hosting
- Restricted Accounts service and live roster pilot
- Published human-to-AMP template pipeline
- Complete privacy and delivery canaries for the bridge and bot
- Broaden Accounts and roster access after acceptance evidence
- Promote the immutable delivery path only after production rehearsal
- Complete SSO and remaining service inventory without merging data boundaries
- No provider-token sharing between applications
- No recording, persistence, transcription or analysis of bridged voice
- No production apply merely because a build succeeded
- No claim of authorship over inherited community products