Skip to content

Architecture Decision Records (ADR) Index

Section: 18 — ADR
Last Updated: 2026-05-30
Scope: All architectural decisions for Microtec ERP


What is an ADR?

An Architecture Decision Record (ADR) captures a significant architectural decision: the context that led to it, the decision itself, and its consequences. ADRs are immutable — once accepted, they are never deleted, only superseded by newer ADRs.

ADR format used in this project:

  • Status: Proposed / Accepted / Deprecated / Superseded
  • Context: What situation led to this decision?
  • Decision: What was decided?
  • Consequences: What are the positive and negative outcomes?

ADR Index

ADRTitleStatusDate
ADR-001Microservices Architecture with Clean Architecture per ServiceAccepted2023-Q1
ADR-002Azure Container Apps as Container RuntimeAccepted2023-Q2
ADR-003Database-Per-Tenant Multi-Tenancy StrategyAccepted2023-Q2
ADR-004Keycloak as Identity Provider over Azure AD B2CAccepted2023-Q3
ADR-005Azure Service Bus over RabbitMQ for MessagingAccepted2024-Q1
ADR-006Split God Package into 16 Focused NuGet PackagesAccepted2024-Q2
ADR-007Migrate from Ocelot to YARP GatewayAccepted2024-Q3
ADR-008Dual-Token Design for ERP Business ContextAccepted2024-Q1
ADR-009Fooj Stage+Prod Shared NAT GatewayAccepted2026-04

Decision Summary


Superseded Decisions

Superseded ADRSuperseded ByReason
Ocelot Gateway (pre-ADR-007)ADR-007 (YARP)YARP better performance, active Microsoft support
RabbitMQ messaging (pre-ADR-005)ADR-005 (ASB)Managed service, no self-hosting overhead
God Package (pre-ADR-006)ADR-006 (16 packages)Faster builds, independent versioning

How to Add a New ADR

  1. Create a new file: 18-adr/ADR-0XX-short-name.md
  2. Use the standard template:
markdown
# ADR-0XX: [Title]

## Status
Proposed | Accepted | Deprecated | Superseded by ADR-0YY

## Date
YYYY-MM-DD

## Context
[What situation or problem led to this decision?]

## Decision
[What was decided?]

## Consequences
### Positive
- ...

### Negative
- ...

### Neutral
- ...
  1. Add a row to the ADR Index table above
  2. If superseding a previous ADR, update its status to Superseded by ADR-0XX

Internal Documentation — Microtec Platform Team