--- # Playbook: workstations.yml # Purpose: Workstation baseline (dev boxes + desktops). Desktop apps are applied only to the `desktop` group. # Targets: dev + desktop + local (override with -e target_group=...) # Tags: maintenance, base, security, user, ssh, shell, development, dev, datascience, docker, monitoring, apps # # Usage: # ansible-playbook -i inventories/production playbooks/workstations.yml # ansible-playbook -i inventories/production playbooks/workstations.yml -e target_group=dev # ansible-playbook -i inventories/production playbooks/workstations.yml --tags apps - name: Configure workstation baseline hosts: "{{ target_group | default('dev:desktop:local') }}" become: true roles: - {role: maintenance, tags: ['maintenance']} - {role: base, tags: ['base', 'security']} - {role: user, tags: ['user']} - {role: ssh, tags: ['ssh', 'security']} - {role: shell, tags: ['shell'], shell_mode: full, shell_set_default_shell: true} - {role: development, tags: ['development', 'dev']} - {role: datascience, tags: ['datascience', 'conda', 'jupyter', 'r']} - {role: docker, tags: ['docker']} - {role: monitoring_desktop, tags: ['monitoring']} tasks: - name: Display completion message ansible.builtin.debug: msg: "Workstation baseline configuration completed successfully!" - name: Install desktop applications (desktop group only) hosts: desktop become: true roles: - {role: applications, tags: ['applications', 'apps']} tasks: - name: Display completion message ansible.builtin.debug: msg: "Desktop applications installed successfully!"