# 0001: Infrastructure as Code ## Status Accepted ## Context Atlas is a dedicated AI development server intended to be rebuildable from a clean Ubuntu installation. The server needs a practical source of truth for architecture, standards, installation automation, configuration templates, operational scripts, tests, recovery procedures, architectural decisions, and build history. Manual server changes are difficult to audit and repeat. A repository-managed approach gives Atlas a reviewable history and creates a path toward reliable rebuilds. ## Decision Atlas will be managed using Infrastructure as Code principles. This repository is the authoritative source for Atlas infrastructure and operations. Installation and operational automation will be implemented as documented, version-controlled, idempotent scripts. Configuration will be represented through repository-managed templates where practical. Unknown details will remain documented as TODOs until the relevant implementation phase confirms them. ## Consequences - Infrastructure changes must be reviewable in Git. - Manual changes should be documented and converted into automation where practical. - Scripts must be safe to rerun. - Documentation is part of the operational system and must be maintained. - Secrets must remain outside the repository. - Rebuild and recovery should become more reliable as automation is added. - Initial progress may be slower because standards and documentation are created before automation. ## Alternatives considered - Continue managing the server manually. This was rejected because it would make rebuilds, audits, and recovery harder. - Use ad hoc scripts outside Git. This was rejected because it would not provide reliable history or review. - Adopt a heavier configuration-management system immediately. This was deferred because Atlas is currently a single server and Bash scripts are sufficient for the initial phase.