New roles: - workstation: Arch base (yay, UV, Hyprland, tiling tools, fonts, productivity apps, NVIDIA auto-detect, tmux + TPM) - dev_apps: optional dev tools (PyCharm, R/RStudio, databases) - claude_code: Claude Code CLI install/update via npm - user_bootstrap: fresh machine user setup (SSH key, sudo) CLI/shell/terminal setup excluded — handled by existing cli_modern role. workstation.yml runs cli_modern first, then workstation roles in phases. All roles tagged for selective deployment. Passes ansible-lint at production level.
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
---
|
|
- name: Ensure old versions of Docker are not installed.
|
|
package:
|
|
name: "{{ docker_obsolete_packages }}"
|
|
state: absent
|
|
|
|
- name: Add Docker GPG key.
|
|
rpm_key:
|
|
key: "{{ docker_yum_gpg_key }}"
|
|
state: present
|
|
when: docker_add_repo | bool
|
|
|
|
- name: Add Docker repository.
|
|
get_url:
|
|
url: "{{ docker_yum_repo_url }}"
|
|
dest: "/etc/yum.repos.d/docker-{{ docker_edition }}.repo"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
when: docker_add_repo | bool
|
|
|
|
- name: Remove Docker Nightly repo.
|
|
ini_file:
|
|
dest: "/etc/yum.repos.d/docker-{{ docker_edition }}.repo"
|
|
section: "docker-{{ docker_edition }}-nightly"
|
|
state: absent
|
|
when: docker_add_repo | bool
|
|
|
|
- name: Configure Docker Test repo.
|
|
ini_file:
|
|
dest: "/etc/yum.repos.d/docker-{{ docker_edition }}.repo"
|
|
section: "docker-{{ docker_edition }}-test"
|
|
option: enabled
|
|
value: "{{ docker_yum_repo_enable_test }}"
|
|
mode: 0644
|
|
no_extra_spaces: true
|
|
when: docker_add_repo | bool
|
|
|
|
- name: Configure containerd on RHEL 8.
|
|
block:
|
|
- name: Ensure runc is not installed.
|
|
package:
|
|
name: runc
|
|
state: absent
|
|
|
|
- name: Ensure container-selinux is installed.
|
|
package:
|
|
name: container-selinux
|
|
state: present
|
|
|
|
- name: Ensure containerd.io is installed.
|
|
package:
|
|
name: containerd.io
|
|
state: present
|
|
when: ansible_facts.distribution_major_version | int == 8
|