Skip to content

S5 Azure Infrastructure

S5 Slidefactory is deployed on Azure Container Apps with supporting Azure services.

Architecture Overview

┌─────────────────────────────────────────────────────────────┐
│                     Azure Container Apps                     │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐         ┌─────────────────┐           │
│  │  Web Service    │         │  Worker Service │           │
│  │  (FastAPI)      │────────▶│  (Celery)       │           │
│  │  Port 8000      │         │                 │           │
│  └─────────────────┘         └─────────────────┘           │
└─────────────────────────────────────────────────────────────┘
         │                              │
         ▼                              ▼
┌─────────────────┐         ┌─────────────────┐
│ Azure PostgreSQL│         │ Azure Redis     │
│ with pgvector   │         │ (Celery broker) │
└─────────────────┘         └─────────────────┘
┌─────────────────┐
│ Azure Blob      │
│ Storage         │
└─────────────────┘

Azure Resources

Preview Environment

  • Resource Group: rg-slidefactory-preview
  • Container Apps:
  • slidefactory-web-preview (FastAPI application)
  • slidefactory-worker-preview (Celery worker)
  • Database: Azure Database for PostgreSQL with pgvector extension
  • Redis: Azure Cache for Redis (Celery broker)
  • Storage: Azure Blob Storage (presentations, templates, documents)
  • Container Registry: Azure Container Registry (Docker images)

Production Environment

  • Resource Group: rg-slidefactory-prod
  • Container Apps:
  • slidefactory-web-prod (FastAPI application)
  • slidefactory-worker-prod (Celery worker)
  • Database: Azure Database for PostgreSQL with pgvector extension
  • Redis: Azure Cache for Redis (Celery broker)
  • Storage: Azure Blob Storage (presentations, templates, documents)
  • Container Registry: Azure Container Registry (Docker images)

Deployment Model

S5 uses a preview → production deployment workflow:

  1. Development: Developers commit to preview branch
  2. Preview Deployment: GitHub Actions automatically deploys to Azure preview environment
  3. Testing: Team tests changes on preview environment
  4. Production: Repository owner merges previewmain
  5. Production Deployment: GitHub Actions automatically deploys to Azure production environment

Core Package Dependency

S5 is a thin Azure client that depends on the slidefactory-core package for all application logic.

The slidefactory-core package provides: - FastAPI application (slidefactory.app.main:app) - Celery worker (slidefactory.app.celery_app) - CLI tool (slidefactory command) - All business logic and functionality

S5 repository contains only: - S5 branding and configuration - Azure deployment scripts and workflows - Azure-specific environment configuration

Documentation Sections

S5-Specific Azure Resources

Beyond core Slidefactory infrastructure, S5 includes optional services:

  • Preview URL: https://slidefactory-preview.sportfive.com (internal)
  • Production URL: https://slidefactory.sportfive.com
  • Core Repository: slidefactory-core