This repository is used to record architectural decisions made by the London-based digital team supporting the Offender Management in Custody programme.
To understand why we are recording decisions and how we are doing it, please see ADR-0001.
- ✅ 1. Record architecture decisions
- ✅ 2. Use Cloud Platform for hosting
- ✅ 3. Use progressive enhancement
- ♻️ 4. Separate API and user-facing applications
- ✅ 5. Allocation API owns allocation data
- ♻️ 6. Use the Custody API to access NOMIS data
- ✅ 7. Use Ruby for new applications for Manage Offenders in Custody
- ✅ 8. Use Rails
- ✅ 9. Use CircleCI for CI and deployment
- ♻️ 10. Allocation API has less responsibility
- ✅ 11. Use NOMIS OAuth2 server for allocation API authentication
- ✅ 12. Start out with one environment which uses T3 NOMIS
- ✅ 13. Use NOMIS SSO for user authentication
- ✅ 14. Access the Delius API via NDH
- ✅ 15. Manage short-lived access tokens in tests
- ✅ 16. Use the Elite2 API
- ✅ 17. Use blue-green deployments to manage database migrations
- 🤔 18. Testing TLS mutual auth for Delius API access
- ✅ 19. Manage runtime secrets with git-crypt
- ✅ 20. Unify API and Presentation layer
- Proposed: 🤔
- Accepted: ✅
- Rejected: ❌
- Superseded: ⌛️
- Amended: ♻️