diff --git a/meta/main.yml b/meta/main.yml index 800bd01080f87f390a01b19c7fd80a3d46160d58..f882b941cd53873fd3d4cc7436cd71e1eaf21a6a 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,4 +1,6 @@ galaxy_info: + role_name: essential + namespace: dmitriysafronov author: Dmitriy Safronov <zimniy@cyberbrain.pw> description: Essential configuration # company: your company (optional) @@ -17,7 +19,7 @@ galaxy_info: # - CC-BY-4.0 license: LGPL-2.0-or-later - min_ansible_version: 2.9 + min_ansible_version: "2.12" # If this a Container Enabled role, provide the minimum Ansible Container version. # min_ansible_container_version: @@ -42,22 +44,16 @@ galaxy_info: platforms: - name: Ubuntu versions: - - focal - - bionic - - name: Linux Mint - versions: - - uma - - ulyssa - - ulyana - - tricia + - all - name: Debian versions: - - bullseye - - buster - - name: Centos + - all + - name: Fedora + versions: + - all + - name: OracleLinux versions: - - 8-stream - - 8 + - all galaxy_tags: [] # List tags for your role here, one per line. A tag is a keyword that describes @@ -71,4 +67,4 @@ dependencies: [] # List your role dependencies here, one per line. Be sure to remove the '[]' above, # if you add dependencies to this list. -allow_duplicates: no +allow_duplicates: false diff --git a/tasks/deb/main.yml b/tasks/deb/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..8b9059f71057a670539364cc2c45724553cd79e6 --- /dev/null +++ b/tasks/deb/main.yml @@ -0,0 +1,41 @@ +--- + +## REPOSITORIES + +# Ubuntu +- name: Configure repositories for Ubuntu {{ ansible_distribution_release }} + ansible.builtin.include_tasks: repositories/ubuntu.yml + when: ansible_distribution == 'Ubuntu' + tags: repositories + +# Debian +- name: Configure repositories for Debian {{ ansible_distribution_release }} + ansible.builtin.include_tasks: repositories/debian.yml + when: ansible_distribution == 'Debian' + tags: repositories + + +## ESSENTIAL SETUP + +# APT +- name: Install aptitude & debconf-utils using apt + ansible.builtin.apt: + state: present + update_cache: true + force_apt_get: true + install_recommends: false + pkg: + - aptitude + - debconf-utils + +# ESSENTIAL PACKAGES +- name: Install packages + ansible.builtin.apt: + state: present + update_cache: true + install_recommends: false + pkg: + - bash + - mawk + - sed + - grep diff --git a/tasks/deb/repositories/debian.yml b/tasks/deb/repositories/debian.yml new file mode 100644 index 0000000000000000000000000000000000000000..a8e86a3703de0687d9b8732f8927db9bdfa01d04 --- /dev/null +++ b/tasks/deb/repositories/debian.yml @@ -0,0 +1,48 @@ +--- + +- name: Template a file to /etc/apt/sources.list for Debian {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }} main contrib + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }}-updates main contrib + deb [arch=amd64] http://security.debian.org/debian-security {{ ansible_distribution_release }}/updates main contrib + dest: /etc/apt/sources.list + owner: root + group: root + mode: "0644" + force: true + +- name: Template a file to /etc/apt/sources.list.d/non-free.list for Debian {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }} non-free + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }}-updates non-free + deb [arch=amd64] http://security.debian.org/debian-security {{ ansible_distribution_release }}/updates non-free + dest: /etc/apt/sources.list.d/non-free.list + owner: root + group: root + mode: "0644" + force: true + when: apply_non_free is defined and apply_non_free + +- name: Template a file to /etc/apt/sources.list.d/backports.list for Debian {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }}-backports main contrib + dest: /etc/apt/sources.list.d/backports.list + owner: root + group: root + mode: "0644" + force: true + when: apply_backports is defined and apply_backports + +- name: Template a file to /etc/apt/sources.list.d/backports_non-free.list for Debian {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://deb.debian.org/debian {{ ansible_distribution_release }}-backports non-free + dest: /etc/apt/sources.list.d/backports_non-free.list + owner: root + group: root + mode: "0644" + force: true + when: apply_backports is defined and apply_backports and apply_non_free is defined and apply_non_free diff --git a/tasks/deb/repositories/ubuntu.yml b/tasks/deb/repositories/ubuntu.yml new file mode 100644 index 0000000000000000000000000000000000000000..f9f4ab2bed795d6e062f342d5f4218a53af60ade --- /dev/null +++ b/tasks/deb/repositories/ubuntu.yml @@ -0,0 +1,24 @@ +--- + +- name: Template a file to /etc/apt/sources.list for Ubuntu {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ {{ ansible_distribution_release }} main restricted universe multiverse + deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ {{ ansible_distribution_release }}-updates main restricted universe multiverse + deb [arch=amd64] http://security.ubuntu.com/ubuntu {{ ansible_distribution_release }}-security main restricted universe multiverse + dest: /etc/apt/sources.list + owner: root + group: root + mode: "0644" + force: true + +- name: Template a file to /etc/apt/sources.list.d/backports.list for Ubuntu {{ ansible_distribution_release }} + ansible.legacy.copy: + content: | + deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ {{ ansible_distribution_release }}-backports main restricted universe multiverse + dest: /etc/apt/sources.list.d/backports.list + owner: root + group: root + mode: "0644" + force: true + when: apply_backports is defined and apply_backports diff --git a/tasks/main.yml b/tasks/main.yml index 9c7213089b922ac389cf88728360322ef767be2d..308510457f05971fc55221bdb49a45378a40dfa7 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,13 +1,13 @@ --- # Ubuntu -- name: Perform specific setup for Ubuntu, Debian & Linux Mint - include_tasks: ubuntu/main.yml - when: ansible_distribution == 'Ubuntu' or ansible_distribution == 'Debian' or ansible_distribution == 'Linux Mint' - tags: ubuntu +- name: Perform specific setup for Ubuntu & Debian + ansible.builtin.include_tasks: deb/main.yml + when: ansible_distribution == 'Ubuntu' or ansible_distribution == 'Debian' + tags: deb # Centos - name: Perform specific setup for RedHat, Centos, OracleLinux - include_tasks: centos/main.yml + ansible.builtin.include_tasks: rpm/main.yml when: ansible_distribution == 'CentOS' or ansible_distribution == 'OracleLinux' or ansible_distribution == 'Red Hat Enterprise Linux' - tags: centos + tags: rpm diff --git a/tasks/centos/main.yml b/tasks/rpm/main.yml similarity index 88% rename from tasks/centos/main.yml rename to tasks/rpm/main.yml index 992b2e8b94c06a1a0fa9538ec7b09dd2d2afd952..e93bb8cb94a2d4f61b40b9f087e6bddb8a8f02e9 100644 --- a/tasks/centos/main.yml +++ b/tasks/rpm/main.yml @@ -4,10 +4,12 @@ ansible.builtin.dnf: name: epel-release state: present - update_cache: yes + update_cache: true when: apply_epel is defined and apply_epel and (ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux') -- block: +- name: Enable EPEL repo for OracleLinux + when: apply_epel is defined and apply_epel and ansible_distribution == 'OracleLinux' + block: - name: Enable EPEL GPG key for externel repo ansible.builtin.rpm_key: state: present @@ -16,5 +18,4 @@ ansible.builtin.dnf: name: "https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm" state: present - update_cache: yes - when: apply_epel is defined and apply_epel and ansible_distribution == 'OracleLinux' + update_cache: true diff --git a/tasks/ubuntu/main.yml b/tasks/ubuntu/main.yml deleted file mode 100644 index cdf1abd750ff1d4f7d9f3d551538e0f984c52d4a..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/main.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- - -# REPOSITORIES -- name: Setup repositories - include_tasks: repositories.yml - - -## ESSENTIAL SETUP - -# APT -- name: Install aptitude & debconf-utils using apt - apt: - state: present - update_cache: yes - force_apt_get: yes - install_recommends: no - pkg: - - aptitude - - debconf-utils - -# ESSENTIAL PACKAGES -- name: Install packages - apt: - state: present - update_cache: yes - install_recommends: no - pkg: - - bash - - mawk - - sed - - grep diff --git a/tasks/ubuntu/repositories.yml b/tasks/ubuntu/repositories.yml deleted file mode 100644 index 521b1a3452174df2c1a88111b4a4b0ff4c1c2ce7..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- - -# Mint -- name: Configure repositories for Linux Mint Uma - include_tasks: repositories/linux_mint/repositories_mint_uma.yml - when: ansible_distribution == 'Linux Mint' and ansible_distribution_release == 'uma' - tags: repositories - -- name: Configure repositories for Linux Mint Ulyssa - include_tasks: repositories/linux_mint/repositories_mint_ulyssa.yml - when: ansible_distribution == 'Linux Mint' and ansible_distribution_release == 'ulyssa' - tags: repositories - -- name: Configure repositories for Linux Mint Ulyana - include_tasks: repositories/linux_mint/repositories_mint_ulyana.yml - when: ansible_distribution == 'Linux Mint' and ansible_distribution_release == 'ulyana' - tags: repositories - -- name: Configure repositories for Linux Mint Tricia - include_tasks: repositories/linux_mint/repositories_mint_tricia.yml - when: ansible_distribution == 'Linux Mint' and ansible_distribution_release == 'tricia' - tags: repositories - - -# Ubuntu -- name: Configure repositories for Ubuntu Focal - include_tasks: repositories/ubuntu/repositories_ubuntu_focal.yml - when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'focal' - tags: repositories - -- name: Configure repositories for Ubuntu Bionic - include_tasks: repositories/ubuntu/repositories_ubuntu_bionic.yml - when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == 'bionic' - tags: repositories - - -# Debian -- name: Configure repositories for Debian Bullseye - include_tasks: repositories/debian/repositories_debian_bullseye.yml - when: ansible_distribution == 'Debian' and ansible_distribution_release == 'bullseye' - tags: repositories - -- name: Configure repositories for Debian Buster - include_tasks: repositories/debian/repositories_debian_buster.yml - when: ansible_distribution == 'Debian' and ansible_distribution_release == 'buster' - tags: repositories diff --git a/tasks/ubuntu/repositories/debian/repositories_debian_bullseye.yml b/tasks/ubuntu/repositories/debian/repositories_debian_bullseye.yml deleted file mode 100644 index 9c7732cf06c92d70b84028e7006ce9b6f20a57c3..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/debian/repositories_debian_bullseye.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list for Debian Bullseye - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian bullseye main contrib - deb [arch=amd64] http://deb.debian.org/debian bullseye-updates main contrib - deb [arch=amd64] http://security.debian.org/debian-security bullseye-security main contrib - dest: /etc/apt/sources.list - owner: root - group: root - mode: 0644 - force: yes - -- name: Template a file to /etc/apt/sources.list.d/non-free.list for Debian Bullseye - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian bullseye non-free - deb [arch=amd64] http://deb.debian.org/debian bullseye-updates non-free - deb [arch=amd64] http://security.debian.org/debian-security bullseye-security non-free - dest: /etc/apt/sources.list.d/non-free.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_non_free is defined and apply_non_free - -- name: Template a file to /etc/apt/sources.list.d/backports.list for Debian Bullseye - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian bullseye-backports main contrib - dest: /etc/apt/sources.list.d/backports.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports - -- name: Template a file to /etc/apt/sources.list.d/backports_non-free.list for Debian Bullseye - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian bullseye-backports non-free - dest: /etc/apt/sources.list.d/backports_non-free.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports and apply_non_free is defined and apply_non_free diff --git a/tasks/ubuntu/repositories/debian/repositories_debian_buster.yml b/tasks/ubuntu/repositories/debian/repositories_debian_buster.yml deleted file mode 100644 index c0ea2a8576ece34598671513ed584de9b8e9ae88..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/debian/repositories_debian_buster.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list for Debian Buster - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian buster main contrib - deb [arch=amd64] http://deb.debian.org/debian buster-updates main contrib - deb [arch=amd64] http://security.debian.org/debian-security buster/updates main contrib - dest: /etc/apt/sources.list - owner: root - group: root - mode: 0644 - force: yes - -- name: Template a file to /etc/apt/sources.list.d/non-free.list for Debian Buster - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian buster non-free - deb [arch=amd64] http://deb.debian.org/debian buster-updates non-free - deb [arch=amd64] http://security.debian.org/debian-security buster/updates non-free - dest: /etc/apt/sources.list.d/non-free.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_non_free is defined and apply_non_free - -- name: Template a file to /etc/apt/sources.list.d/backports.list for Debian Buster - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian buster-backports main contrib - dest: /etc/apt/sources.list.d/backports.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports - -- name: Template a file to /etc/apt/sources.list.d/backports_non-free.list for Debian Buster - copy: - content: | - deb [arch=amd64] http://deb.debian.org/debian buster-backports non-free - dest: /etc/apt/sources.list.d/backports_non-free.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports and apply_non_free is defined and apply_non_free diff --git a/tasks/ubuntu/repositories/linux_mint/repositories_mint_tricia.yml b/tasks/ubuntu/repositories/linux_mint/repositories_mint_tricia.yml deleted file mode 100644 index 6a4a3773c508f53591ceb3a89ace1a7bd84acfc4..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/linux_mint/repositories_mint_tricia.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list.d/official-package-repositories.list for Linux Mint Tricia - copy: - content: | - deb http://mirror.yandex.ru/linuxmint-packages tricia main upstream import backport - - deb http://mirror.yandex.ru/ubuntu bionic main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu bionic-updates main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu bionic-backports main restricted universe multiverse - - deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse - deb http://archive.canonical.com/ubuntu/ bionic partner - dest: /etc/apt/sources.list.d/official-package-repositories.list - owner: root - group: root - mode: 0644 diff --git a/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyana.yml b/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyana.yml deleted file mode 100644 index 9f8577ff3ae9e5b940fd2a66bef9225c183f3f56..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyana.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list.d/official-package-repositories.list for Linux Mint Ulyana - copy: - content: | - deb http://mirror.yandex.ru/linuxmint-packages ulyana main upstream import backport - - deb http://mirror.yandex.ru/ubuntu focal main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-updates main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-backports main restricted universe multiverse - - deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse - deb http://archive.canonical.com/ubuntu/ focal partner - dest: /etc/apt/sources.list.d/official-package-repositories.list - owner: root - group: root - mode: 0644 diff --git a/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyssa.yml b/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyssa.yml deleted file mode 100644 index 30aad73dbb8b4a0f316f0a6035354a40c997e10b..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/linux_mint/repositories_mint_ulyssa.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list.d/official-package-repositories.list for Linux Mint Ulyssa - copy: - content: | - deb http://mirror.yandex.ru/linuxmint-packages ulyssa main upstream import backport - - deb http://mirror.yandex.ru/ubuntu focal main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-updates main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-backports main restricted universe multiverse - - deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse - deb http://archive.canonical.com/ubuntu/ focal partner - dest: /etc/apt/sources.list.d/official-package-repositories.list - owner: root - group: root - mode: 0644 diff --git a/tasks/ubuntu/repositories/linux_mint/repositories_mint_uma.yml b/tasks/ubuntu/repositories/linux_mint/repositories_mint_uma.yml deleted file mode 100644 index 8f445609a992ca68779d2d8a2a3c144cba879d8d..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/linux_mint/repositories_mint_uma.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list.d/official-package-repositories.list for Linux Mint Uma - copy: - content: | - deb http://mirror.yandex.ru/linuxmint-packages uma main upstream import backport - - deb http://mirror.yandex.ru/ubuntu focal main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-updates main restricted universe multiverse - deb http://mirror.yandex.ru/ubuntu focal-backports main restricted universe multiverse - - deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse - deb http://archive.canonical.com/ubuntu/ focal partner - dest: /etc/apt/sources.list.d/official-package-repositories.list - owner: root - group: root - mode: 0644 diff --git a/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_bionic.yml b/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_bionic.yml deleted file mode 100644 index cb54d87b8a715e947b54736620d1f3d2008060ab..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_bionic.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list for Ubuntu Bionic - copy: - content: | - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse - deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse - dest: /etc/apt/sources.list - owner: root - group: root - mode: 0644 - force: yes - -- name: Template a file to /etc/apt/sources.list.d/backports.list for Ubuntu Bionic - copy: - content: | - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse - dest: /etc/apt/sources.list.d/backports.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports diff --git a/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_focal.yml b/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_focal.yml deleted file mode 100644 index 36df51d2aba7bbd389b648d828b819bb0e07343f..0000000000000000000000000000000000000000 --- a/tasks/ubuntu/repositories/ubuntu/repositories_ubuntu_focal.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- - -- name: Template a file to /etc/apt/sources.list for Ubuntu Focal - copy: - content: | - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse - deb [arch=amd64] http://security.ubuntu.com/ubuntu focal-security main restricted universe multiverse - dest: /etc/apt/sources.list - owner: root - group: root - mode: 0644 - force: yes - -- name: Template a file to /etc/apt/sources.list.d/backports.list for Ubuntu Focal - copy: - content: | - deb [arch=amd64] http://ru.archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse - dest: /etc/apt/sources.list.d/backports.list - owner: root - group: root - mode: 0644 - force: yes - when: apply_backports is defined and apply_backports