Architecture Decision Records
This section contains Architecture Decision Records (ADRs) documenting key technical decisions made for EGI's CI/CD golden path and engineering standards.
Some ADRs document Kubernetes-specific or earlier golden-path decisions. They remain valuable historical records, but they are not the universal operations model for current production ownership. Use Anchor Handoff for the current production ownership boundary.
What is an ADR?
An Architecture Decision Record (ADR) captures an important architectural decision made along with its context and consequences. Each ADR follows a simple format:
- Status: Proposed, Accepted, Deprecated, Superseded
- Context: The issue motivating this decision
- Decision: The change being proposed or adopted
- Consequences: The resulting context after applying the decision
Current ADRs
0001: GitOps Engine for Kubernetes
Historical Kubernetes-specific decision about Argo CD in the earlier GitOps model.
0002: Secrets Management
Strategy for managing secrets across K8s and non-K8s deployment targets using External Secrets Operator and provider secret stores.
0003: Promotion Gates
Use of GitHub Environments with required reviewers for production deployments while keeping dev and staging automated.
0004: Status Surfacing
Design of a status event service for surfacing CI/CD events to downstream consumers.
Writing New ADRs
When making significant architectural decisions:
- Create a new ADR file with the next number:
XXXX-short-title.md - Use the ADR template structure (Status, Context, Decision, Consequences)
- Keep it concise but complete
- Update this README with a link to the new ADR
- Get team review before marking it as accepted