43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
---
|
|
# 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!"
|