Architecture Decision Records (ADR)
ADR이란?
Architecture Decision Record(ADR)는 프로젝트의 중요한 아키텍처 결정을 문서화한 기록입니다. 각 ADR은 결정의 맥락, 선택한 방안, 대안, 그리고 결과를 명확히 기술하여 팀원들이 "왜 이런 결정을 했는지"를 이해할 수 있게 합니다.
상태 정의
Proposed 제안됨
Accepted 승인됨
Deprecated 폐기됨
Superseded 대체됨
ADR 목록
- 전체
- aerospike-py
- ACKO
- Cluster Manager
| 번호 | 제목 | 날짜 | 상태 | 레포 |
|---|---|---|---|---|
| ADR-0001 | CFFI 대신 Rust/PyO3 선택 | 2026-01-15 | Accepted | aerospike-py |
| ADR-0002 | Kubebuilder v4 + controller-runtime 선택 | 2026-01-18 | Accepted | acko |
| ADR-0003 | Docker 대신 Podman 선택 | 2026-02-01 | Accepted | cluster-manager acko |
| ADR-0004 | Dict 대신 NamedTuple 반환 선택 | 2026-02-10 | Accepted | aerospike-py |
| ADR-0005 | DaisyUI 제거 및 Pure Tailwind CSS 4 전환 | 2026-02-25 | Accepted | cluster-manager |
| ADR-0006 | Semaphore 기반 Backpressure 메커니즘 | 2026-03-05 | Accepted | aerospike-py |
| ADR-0007 | Cluster-scoped AerospikeClusterTemplate | 2026-03-12 | Accepted | acko |
| ADR-0008 | IssueOps 기반 CI 워크플로우 | 2026-03-10 | Accepted | aerospike-py acko cluster-manager |
| ADR-0009 | Unified BatchRecords API | 2026-03-20 | Accepted | aerospike-py |
| ADR-0010 | 3-Layer Observability Stack | 2026-02-05 | Accepted | aerospike-py |
| ADR-0011 | CRD Rename: AerospikeCluster | 2026-03-10 | Accepted | acko |
| ADR-0012 | Pod Readiness Gates | 2026-02-20 | Accepted | acko |
| ADR-0013 | Reconciliation Circuit Breaker | 2026-03-01 | Accepted | acko |
| ADR-0014 | SQLite → PostgreSQL Migration | 2026-02-10 | Accepted | cluster-manager |
| ADR-0015 | asinfo 기반 Health Check | 2026-03-05 | Accepted | acko |
| ADR-0038 | 외부 네트워크 접근 — Per-pod LB/NodePort | 2026-04-05 | Accepted | acko |
| 번호 | 제목 | 날짜 | 상태 |
|---|---|---|---|
| ADR-0001 | CFFI 대신 Rust/PyO3 선택 | 2026-01-15 | Accepted |
| ADR-0004 | Dict 대신 NamedTuple 반환 선택 | 2026-02-10 | Accepted |
| ADR-0006 | Semaphore 기반 Backpressure 메커니즘 | 2026-03-05 | Accepted |
| ADR-0008 | IssueOps 기반 CI 워크플로우 | 2026-03-10 | Accepted |
| ADR-0009 | Unified BatchRecords API | 2026-03-20 | Accepted |
| ADR-0010 | 3-Layer Observability Stack | 2026-02-05 | Accepted |
| 번호 | 제목 | 날짜 | 상태 |
|---|---|---|---|
| ADR-0002 | Kubebuilder v4 + controller-runtime 선택 | 2026-01-18 | Accepted |
| ADR-0003 | Docker 대신 Podman 선택 | 2026-02-01 | Accepted |
| ADR-0007 | Cluster-scoped AerospikeClusterTemplate | 2026-03-12 | Accepted |
| ADR-0008 | IssueOps 기반 CI 워크플로우 | 2026-03-10 | Accepted |
| ADR-0011 | CRD Rename: AerospikeCluster | 2026-03-10 | Accepted |
| ADR-0012 | Pod Readiness Gates | 2026-02-20 | Accepted |
| ADR-0013 | Reconciliation Circuit Breaker | 2026-03-01 | Accepted |
| ADR-0015 | asinfo 기반 Health Check | 2026-03-05 | Accepted |
| ADR-0038 | 외부 네트워크 접근 — Per-pod LB/NodePort | 2026-04-05 | Accepted |
새 ADR 제안 방법
1. GitHub Issue 생성
project-hub 레포지토리에서 ADR Proposal 이슈 템플릿(adr_proposal.yml)을 사용하여 제안합니다.
2. 이슈 템플릿에 포함할 내용
- 제목: 간결한 결정 요약
- 맥락(Context): 결정이 필요한 배경 설명
- 제안(Proposal): 선택하려는 방안
- 대안(Alternatives): 고려한 다른 방안들
- 영향(Impact): 영향받는 레포지토리 목록
3. 검토 및 승인 프로세스
- 이슈에
adr라벨 자동 부여 - 관련 레포 maintainer 리뷰
- 합의 후 ADR 문서 작성 및 PR 제출
- PR 머지 시 상태를
Accepted로 변경
4. ADR 번호 부여
- 4자리 0-패딩 순번 사용 (예:
0001,0002) - 번호는 절대 재사용하지 않음
- 폐기된 ADR도 번호를 유지하고 상태만 변경
ADR 작성 가이드
ADR 작성 시 템플릿을 참고하세요. 핵심 원칙:
- 간결하게: 1-2페이지를 넘기지 않을 것
- 맥락 중심: "왜" 이 결정을 했는지에 집중
- 대안 기록: 선택하지 않은 방안도 반드시 기록
- 영향 명시: 어떤 레포가 영향받는지 명확히 기술