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:
- Create a new repo from the template
- The project inherits the standard directory structure, including
docs/ - Configure project-specific variables and secrets
- 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¶
- Shared by default -- Infrastructure that multiple projects need lives in core, not duplicated per project.
- Independent deployments -- Each project deploys independently through its own CI/CD pipeline.
- Consistent conventions -- All projects follow the same naming, coding, and architecture standards.
- Git as source of truth -- Documentation, infrastructure, and code all live in version-controlled repositories.