softplayer-ansible/playbooks/systems/system-bootstrap/tasks/packages.yaml

96 lines
2.5 KiB
YAML

- name: Update ubuntu repos
when: ansible_distribution == 'Ubuntu'
become: true
ansible.builtin.apt:
update_cache: true
- name: Add Kubernetes repo
when: ansible_distribution == 'Fedora' or ansible_distribution == 'Rocky'
become: true
template:
src: kubernetes.repo.j2
dest: /etc/yum.repos.d/kubernetes.repo
force: true
- name: Add Docker repo
when: ansible_distribution == 'Fedora' or ansible_distribution == 'Rocky'
become: true
template:
src: docker.repo.j2
dest: /etc/yum.repos.d/docker.repo
force: true
- name: Update yum repos
when: ansible_distribution == 'Fedora' or ansible_distribution == 'Rocky'
become: true
ansible.builtin.yum:
update_cache: true
# ---------------------------------------------------------------------
# Upgrade system if it's the first ansible run
# ---------------------------------------------------------------------
- name: Check that the ansible_initialized file exists
become: true
stat:
path: /etc/ansible_initialized
register: stat_result
- name: Upgrade system
when: not stat_result.stat.exists
block:
- name: Upgrade ubuntu repos
when: ansible_distribution == 'Ubuntu'
become: true
ansible.builtin.apt:
upgrade: full
- name: Upgrade all packages
when: ansible_distribution == 'Fedora' or ansible_distribution == 'Rocky'
become: true
ansible.builtin.yum:
name: '*'
state: latest
- name: Reboot to apply upgrades
when: not stat_result.stat.exists
become: true
ansible.builtin.reboot:
- name: Create the ansible_initialized file
become: true
file:
path: /etc/ansible_initialized
state: touch
when: not stat_result.stat.exists
- name: Install host-specific packages
when: packages is defined
become: true
ansible.builtin.package:
name: "{{ item.name }}"
state: "{{ item.state }}"
loop: "{{ packages }}"
- name: Install common packages
become: true
ansible.builtin.package:
name: "{{ item.name }}"
state: "{{ item.state }}"
loop: "{{ common_packages }}"
- name: Configure host-specific services
when: services is defined
become: true
ansible.builtin.systemd:
state: "{{ item.state }}"
name: "{{ item.name }}"
enabled: "{{ item.enabled }}"
loop: "{{ services }}"
- name: Configure common services
become: true
ansible.builtin.systemd:
state: "{{ item.state }}"
name: "{{ item.name }}"
enabled: "{{ item.enabled }}"
loop: "{{ common_services }}"