# ADR 1: Use Ansible for Workstation Configuration Management ## Status Accepted ## Context The mw-pfeddersheim-workstation requires a consistent, reproducible configuration. Manual changes lead to "configuration drift" and make it difficult to replicate the environment on new hardware. ## Decision We will use **Ansible** as the primary tool for managing system-wide and user-specific configurations. ## Rationale - **Agents and Push-based**: No agent needs to be installed on the host (other than Python/SSH). - **Declarative**: Focuses on state rather than process. - **Low Barrier to Entry**: Uses YAML and Jinja2 templates, which are well-understood in the satware AG stack. - **Portability**: Roles can be shared across different workstations if needed. ## Consequences - All persistent changes must be scripted in Ansible before application. - `ansible-playbook` becomes the primary entry point for setup. - Requires maintaining vault secrets for sensitive configurations.