Skip to content

Organization overview

The Jersal organization is a collection of repositories that together form a complete software development ecosystem. This page explains how the pieces fit together.

The Jersal family

graph TB
    CORE["jersal-projects-core<br/>Shared infra + Hub"]
    TEMPLATE["jersal-project-template<br/>Project starter"]
    CORE --> |provides shared resources| P1["Project A"]
    CORE --> |provides shared resources| P2["Project B"]
    CORE --> |provides shared resources| P3["Project C"]
    TEMPLATE --> |scaffolds| P1
    TEMPLATE --> |scaffolds| P2
    TEMPLATE --> |scaffolds| P3

Repositories

Repository Purpose Key contents
jersal-projects-core Shared Azure infrastructure, portfolio site, and this hub Terraform modules, CI/CD pipelines, documentation hub
jersal-project-template Template repository for bootstrapping new projects Standardized project structure, docs/ folder, CI templates
Project repos Individual applications and services Application code, project-specific docs, project CI/CD

How they connect

Shared infrastructure (core → projects)

jersal-projects-core provisions shared Azure resources that all projects consume:

  • PostgreSQL Flexible Server -- shared database server; each project gets its own database
  • Resource groups -- logical grouping of Azure resources
  • State backends -- Terraform state storage for all repos
  • RBAC -- role assignments for CI/CD identities

Projects access shared resources through Terraform remote state outputs or direct hostname references. See access contracts for details.

Project scaffolding (template → projects)

The jersal-project-template repository provides a standardized starting point for new projects. When creating a new project:

  1. Create a new repo from the template
  2. The project inherits the standard directory structure, including docs/
  3. Configure project-specific variables and secrets
  4. The project can immediately consume shared infrastructure

Documentation flow (projects → hub)

Each project maintains its own documentation in its docs/ folder. The hub provides:

  • Organization-level context that spans all projects
  • Project registry with overview pages linking to each repo's docs
  • Shared standards that all projects follow
  • ADRs for decisions that affect the entire organization

Principles

  1. Shared by default -- Infrastructure that multiple projects need lives in core, not duplicated per project.
  2. Independent deployments -- Each project deploys independently through its own CI/CD pipeline.
  3. Consistent conventions -- All projects follow the same naming, coding, and architecture standards.
  4. Git as source of truth -- Documentation, infrastructure, and code all live in version-controlled repositories.