Skip to Content
Upblit
AboutOpen SourceCommunityDeveloperContactPricing
Star on GitHub—Sign in
CTRL K
  • Introduction
    • AI Gateway Overview
    • Documents
    • Tenants
    • API Reference Overview
    • AI Gateway API
    • API Keys API
    • Applications API
    • Authentication
    • Ingest API (SDK)
    • Organizations API
    • Projects API
    • Telemetry API
    • Users API
    • Architecture Overview
    • Database Architecture
    • Multi-Tenancy
    • Security Model
    • Service Boundaries
    • Telemetry Pipeline
  • DeployX CLI
    • Contributing
    • Architecture Rules
    • Coding Guidelines
    • SDK Development
    • Dashboard Overview
    • AI Gateway
    • API Keys
    • Applications
    • Observability
    • Organizations
    • Profile
    • Projects
    • Quickstart
    • Authentication
    • Your First Project
    • Installation
    • Observability Overview
    • Structured Logs
    • Telemetry Flow
    • Distributed Traces
    • SDK Overview
    • Express SDK
    • Go SDK
    • Java SDK (Coming Soon)
    • Python SDK
    • React SDK (Coming Soon)
  • Introduction
    • AI Gateway Overview
    • Documents
    • Tenants
    • API Reference Overview
    • AI Gateway API
    • API Keys API
    • Applications API
    • Authentication
    • Ingest API (SDK)
    • Organizations API
    • Projects API
    • Telemetry API
    • Users API
    • Architecture Overview
    • Database Architecture
    • Multi-Tenancy
    • Security Model
    • Service Boundaries
    • Telemetry Pipeline
  • DeployX CLI
    • Contributing
    • Architecture Rules
    • Coding Guidelines
    • SDK Development
    • Dashboard Overview
    • AI Gateway
    • API Keys
    • Applications
    • Observability
    • Organizations
    • Profile
    • Projects
    • Quickstart
    • Authentication
    • Your First Project
    • Installation
    • Observability Overview
    • Structured Logs
    • Telemetry Flow
    • Distributed Traces
    • SDK Overview
    • Express SDK
    • Go SDK
    • Java SDK (Coming Soon)
    • Python SDK
    • React SDK (Coming Soon)

On This Page

  • PostgreSQL — Identity and Structure
  • Entity Relationships
  • Tables
  • Connection
  • MongoDB Atlas — Telemetry and AI Content
  • Collections
  • Connection
  • Supabase — File Storage
  • Design Decisions
ArchitectureDatabase Architecture

Database Architecture

Upblit uses three storage systems, each chosen for a specific purpose.

PostgreSQL — Identity and Structure

Managed by Spring JPA with ddl-auto=update. Stores all relational, transactional data.

Entity Relationships

User ──────────────── Organization ──── Project ──── Application ──── ApiClient │ ├── Invite └── Plan User ──── RefreshToken

Tables

TableDescription
userGitHub-authenticated users
organizationTop-level tenant containers
projectProject groupings within an org
applicationIndividual services within a project
api_clientAPI keys scoped to applications
invitePending org membership invitations
planBilling/feature tiers
refresh_tokenJWT refresh tokens

Connection

Configured via POSTGRES_URL, POSTGRES_USERNAME, POSTGRES_PASSWORD environment variables. Connection pooling via HikariCP.


MongoDB Atlas — Telemetry and AI Content

Managed by Spring Data MongoDB. Stores high-volume, schema-flexible data.

Collections

CollectionDescription
tracesDistributed trace spans from SDKs
logsStructured log entries from SDKs
metricsApplication metrics (SDK emitter not yet built)
tenantsAI Gateway tenants
docsAI document metadata

Connection

Configured via MONGODB_URI environment variable (MongoDB Atlas connection string).


Supabase — File Storage

Used for binary file storage. The backend stores the Supabase CDN URL in the database.

ContentStored In
Organization logosOrganization.logoUrl (PostgreSQL)
AI documentsDoc.supabaseUrl (MongoDB)

Files are served directly from Supabase’s CDN — not proxied through the backend.


Design Decisions

DecisionRationale
PostgreSQL for identityRelational integrity for user-org-project-app hierarchy; ACID transactions for API key generation
MongoDB for telemetryHigh write throughput; flexible schema for span data; no joins needed for trace queries
Supabase for filesManaged object storage with CDN; avoids local disk dependency in containers
ddl-auto=updateAcceptable for development; should switch to validate + Flyway before production scale
Last updated on May 27, 2026
Architecture OverviewMulti-Tenancy
Upblit

A student-built observability workbench for logs, traces, metrics, API keys, and AI-assisted incident notes.

OAuthAPI scopesTrace contextRetention notes

Product

  • Architecture
  • Dashboard preview
  • AI docs
  • Security
  • Pricing

Developers

  • Developer docs
  • API reference
  • Changelog
  • GitHub
  • Status

Company

  • Support
  • Contact
  • Docs
  • Dashboard
  • Sign in

Legal

  • Privacy Policy
  • Terms
  • Cookie Policy
  • Acceptable Use
  • Data Retention
  • Data Processing

Copyright 2026 Upblit. All rights reserved.

Built for telemetry review, API operations, and incident response.