zavestudios

ZaveStudios Multi-Tenant Platform

Production-grade Kubernetes platform demonstrating infrastructure portability, multi-tenant architecture, and GitOps automation.

Platform Overview

ZaveStudios is a multi-tenant platform running on Kubernetes infrastructure. The platform serves multiple tenant applications with isolated resources, shared services, and tenant-specific data isolation.

Architecture Philosophy: Cloud-ready, not cloud-dependent. Infrastructure runs on spare capacity with AWS deployment capability.

Architecture Layers

Infrastructure Layer

Platform Services Layer

Tenant Applications

The platform hosts multiple tenant applications, each with isolated namespaces and database tenants:

Application Technology Database Tenant Purpose
xavierlopez.me Jekyll (static) N/A Portfolio and technical blog
panchito Python/Flask/Celery db_panchito Real estate data ETL service
thehouseguy Ruby on Rails db_thehouseguy Real estate listing application
rigoberta Ruby on Rails db_rigoberta Reference Rails template

Each tenant application:

Multi-Tenant Data Architecture

pg-multitenant provides the data layer using PostgreSQL’s native security features:

Production tenants:

PostgreSQL Instance (pg-multitenant)
├── db_panchito (panchito ETL data)
├── db_thehouseguy (real estate listings)
└── db_rigoberta (reference data)

See pg-multitenant documentation for security model details.

Cost Model

Sandbox Environment (Primary):

AWS On-Demand (Demonstrations):

Total platform cost: $0/month ongoing

Repository Organization

Infrastructure & Platform

Tenant Applications

Current Status

Phase I: Foundation (~20% complete)

Phase II: Tenant Applications (planned)

Phase III: Production Hardening (planned)

Key Design Decisions

Platform-level architecture decisions are documented here. Infrastructure-specific decisions are in kpi/docs/adrs.

Getting Started

New tenant applications follow this onboarding process:

  1. Database tenant: Provision in pg-multitenant
  2. Namespace: Create isolated Kubernetes namespace
  3. ArgoCD application: Define deployment manifest
  4. GitOps: Commit to platform-gitops repository

See tenant onboarding guide for details. (TODO)

Documentation


Maintainer: Xavier Lopez
Portfolio: xavierlopez.me
GitHub: @eckslopez