Skip to content

Commit

Permalink
Empty commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
aybarsm committed Jun 27, 2024
1 parent ad35a0b commit 3c5b9d8
Show file tree
Hide file tree
Showing 20 changed files with 129 additions and 9 deletions.
2 changes: 1 addition & 1 deletion roles/grub/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
linux_manage_grub: false
linux_role_grub_enabled: false

linux_grub_dir: /etc/default/grub.d
linux_grub_file: 50-ansible.cfg
Expand Down
2 changes: 1 addition & 1 deletion roles/grub/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
- name: Import grub tasks
ansible.builtin.import_tasks:
file: grub.yml
when: linux_manage_grub | bool
when: linux_role_grub_enabled | bool
5 changes: 4 additions & 1 deletion roles/network_interfaces/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
linux_manage_network_interfaces: false
linux_role_network_interfaces_enabled: false

# Leave empty not to apply changes
linux_network_interfaces_change_strategy: ''
Expand Down Expand Up @@ -33,6 +33,9 @@ linux_network_interfaces_source_line: "source {{ linux_network_interfaces_seggre

linux_network_interfaces_backup: true
linux_network_interfaces_template: network_interfaces.j2
# This has not been implemented yet
# TODO: Implement this feature
linux_network_interfaces_iface_template: network_interfaces.iface.j2

# iface XXX inet {manual|static|dhcp}
# Manual method only INCLUDES selected options whereas static and dhcp methods EXCLUDES selected options
Expand Down
2 changes: 1 addition & 1 deletion roles/network_interfaces/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
ansible.builtin.import_tasks:
file: network_interfaces.yml
when:
- linux_manage_systemd_network | bool
- linux_role_systemd_network_enabled | bool
File renamed without changes.
16 changes: 16 additions & 0 deletions roles/package_manager/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
linux_role_package_manager_enabled: false

# Change the package manager strategy to use for the system i.e. ansible.builtin.apt vs ansible.builtin.package
# Available options: specific, common
linux_package_manager_strategy: specific

linux_package_manager_default: []
linux_package_manager_group: []
linux_package_manager_host: []
linux_package_manager_all: "{{ (linux_package_manager_default + linux_package_manager_group + linux_package_manager_host) | selectattr('type', 'defined') }}"

linux_package_manager_packages_all: "{{ linux_package_manager_all | selectattr('type', 'equalto', 'package') |
selectattr('name', 'defined') | unique(attribute='name') | default([]) }}"
linux_package_manager_repos_all: "{{ linux_package_manager_all | selectattr('type', 'equalto', 'repo') |
selectattr('repo', 'defined') | unique(attribute='repo') | default([]) }}"
File renamed without changes.
File renamed without changes.
69 changes: 69 additions & 0 deletions roles/package_manager/tasks/apt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
- name: Manage APT packages
become: true
ansible.builtin.apt:
name: "{{ package_name }}"
allow_change_held_packages: "{{ item.allow_change_held_packages | default(omit) | bool }}"
allow_downgrade: "{{ item.allow_downgrade | default(omit) | bool }}"
allow_unauthenticated: "{{ item.allow_unauthenticated | default(omit) | bool }}"
autoclean: "{{ item.autoclean | default(omit) | bool }}"
autoremove: "{{ item.autoremove | default(omit) | bool }}"
cache_valid_time: "{{ item.cache_valid_time | default(omit) }}"
clean: "{{ item.clean | default(omit) | bool }}"
deb: "{{ item.deb | default(omit) }}"
default_release: "{{ item.default_release | default(omit) }}"
dpkg_options: "{{ item.dpkg_options | default(omit) }}"
fail_on_autoremove: "{{ item.fail_on_autoremove | default(omit) | bool }}"
force: "{{ item.force | default(omit) | bool }}"
force_apt_get: "{{ item.force_apt_get | default(omit) | bool }}"
install_recommends: "{{ item.install_recommends | default(omit) | bool }}"
lock_timeout: "{{ item.lock_timeout | default(omit) }}"
only_upgrade: "{{ item.only_upgrade | default(omit) | bool }}"
policy_rc_d: "{{ item.policy_rc_d | default(omit) }}"
purge: "{{ item.purge | default(omit) | bool }}"
state: "{{ item.state | default(omit) }}"
update_cache: "{{ item.update_cache | default(omit) | bool }}"
update_cache_retries: "{{ item.update_cache_retries | default(omit) }}"
update_cache_retry_max_delay: "{{ item.update_cache_retry_max_delay | default(omit) }}"
upgrade: "{{ item.upgrade | default(omit) }}"
vars:
package_name: "{{ item.name + '=' + item.version if 'version' in item else item.name }}"
loop: "{{ linux_package_manager_packages_all }}"
register: linux_package_manager_apt_packages_apply
when:
- linux_package_manager_packages_all | type_debug == 'list'
- linux_package_manager_packages_all | length > 0

- name: Manage APT repositories
become: true
ansible.builtin.apt_repository:
repo: "{{ item.repo }}"
state: "{{ item.state | default(omit) }}"
codename: "{{ item.codename | default(omit) }}"
filename: "{{ item.filename | default(omit) }}"
install_python_apt: "{{ item.install_python_apt | default(omit) | bool }}"
mode: "{{ item.mode | default(omit) }}"
update_cache: "{{ item.update_cache | default(omit) | bool }}"
update_cache_retries: "{{ item.update_cache_retries | default(omit) }}"
update_cache_retry_max_delay: "{{ item.update_cache_retry_max_delay | default(omit) }}"
validate_certs: "{{ item.validate_certs | default(omit) | bool }}"
loop: "{{ linux_package_manager_repos_all }}"
register: linux_package_manager_apt_repos_apply
when:
- linux_package_manager_repos_all | type_debug == 'list'
- linux_package_manager_repos_all | length > 0

- name: Manage APT keys
become: true
ansible.builtin.apt_key:
state: "{{ item.state | default(omit) }}"
data: "{{ item.data | default(omit) }}"
file: "{{ item.file | default(omit) }}"
keyring: "{{ item.keyring | default(omit) }}"
url: "{{ item.url | default(omit) }}"
validate_certs: "{{ item.validate_certs | default(omit) | bool }}"
loop: "{{ linux_package_manager_repo_keys_all }}"
register: linux_package_manager_apt_repo_keys_apply
when:
- linux_package_manager_repo_keys_all | type_debug == 'list'
- linux_package_manager_repo_keys_all | length > 0
13 changes: 13 additions & 0 deletions roles/package_manager/tasks/common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
- name: Manage system packages with common package manager
ansible.builtin.package:
name: "{{ package_name }}"
state: "{{ item.state | default(omit) }}"
use: "{{ item.use | default(omit) }}"
vars:
package_name: "{{ item.name + '=' + item.version if 'version' in item else item.name }}"
register: linux_package_manager_common_packages_apply
when:
- linux_packages_all | type_debug == 'list'
- linux_packages_all | selectattr('type', 'defined') | selectattr('type', 'equalto', 'package') | length > 0
loop: "{{ linux_packages_all | selectattr('type', 'defined') | selectattr('type', 'equalto', 'package') | length > 0 }}"
19 changes: 19 additions & 0 deletions roles/package_manager/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
- name: Load OS related variables
ansible.builtin.include_vars:
file: "{{ ansible_facts['os_family'] | lower }}.yml"

- name: Import APT package manager tasks
ansible.builtin.import_tasks:
file: apt.yml
when:
- linux_role_repos_enabled | default(false) | bool
- linux_package_manager_strategy | default('specific') == 'specific'
- ansible_pkg_mgr | lower == 'apt'

- name: Import common package manager tasks
ansible.builtin.import_tasks:
file: common.yml
when:
- linux_role_repos_enabled | default(false) | bool
- linux_package_manager_strategy | default('specific') == 'common'
File renamed without changes.
Empty file.
Empty file.
Empty file.
2 changes: 1 addition & 1 deletion roles/posix/defaults/sysctl.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
linux_manage_posix_sysctl: false
linux_role_posix_sysctl_enabled: false

linux_posix_sysctl_default: []
linux_posix_sysctl_group: []
Expand Down
2 changes: 1 addition & 1 deletion roles/posix/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
- name: Import posix sysctl tasks
ansible.builtin.import_tasks:
file: sysctl.yml
when: linux_manage_posix_sysctl | bool
when: linux_role_posix_sysctl_enabled | bool
2 changes: 1 addition & 1 deletion roles/systemd/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
# Ensures system manager is systemd - ansible_service_mgr == "systemd"
linux_systemd_ensure_service_manager: true
linux_manage_systemd_network: false
linux_role_systemd_network_enabled: false

linux_systemd_network_apply_changes: false

Expand Down
2 changes: 1 addition & 1 deletion roles/systemd/defaults/network.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
linux_manage_systemd_network: false
linux_role_systemd_network_enabled: false

linux_systemd_network_apply_changes: false

Expand Down
2 changes: 1 addition & 1 deletion roles/systemd/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
ansible.builtin.import_tasks:
file: network.yml
when:
- linux_manage_systemd_network | bool
- linux_role_systemd_network_enabled | bool
- not linux_systemd_ensure_service_manager | bool or ansible_service_mgr == "systemd"

0 comments on commit 3c5b9d8

Please sign in to comment.