summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2025-08-11 00:32:07 +0200
committerAhmed Abdelhalim <[email protected]>2025-08-11 00:32:07 +0200
commit2d45a9b60a008581672af7a901258f488d3cde16 (patch)
treed19833d22a562bdb09d24702df20fbfb4e779f6d /roles
parentac7bb521873b59feb43303b4b1d46c37d16ad8b0 (diff)
Refactor: move the timezone into its own role
Diffstat (limited to 'roles')
-rw-r--r--roles/settings/defaults/main.yml3
-rw-r--r--roles/settings/tasks/main.yml13
-rw-r--r--roles/timezone/README.md7
-rw-r--r--roles/timezone/defaults/main.yml3
-rw-r--r--roles/timezone/meta/argument_specs.yml8
-rw-r--r--roles/timezone/meta/main.yml19
-rw-r--r--roles/timezone/tasks/main.yml18
7 files changed, 55 insertions, 16 deletions
diff --git a/roles/settings/defaults/main.yml b/roles/settings/defaults/main.yml
index 683eeb55..a7001ab0 100644
--- a/roles/settings/defaults/main.yml
+++ b/roles/settings/defaults/main.yml
@@ -1,7 +1,4 @@
---
-# Timezone
-settings_timezone: "CET"
-
# Password policy
# https://linux.die.net/man/8/pam_pwquality
settings_pw_policy_enabled: true
diff --git a/roles/settings/tasks/main.yml b/roles/settings/tasks/main.yml
index 1c545d41..32fe9178 100644
--- a/roles/settings/tasks/main.yml
+++ b/roles/settings/tasks/main.yml
@@ -9,19 +9,6 @@
state: "present"
with_items:
- "{{ settings_pw_quality }}"
- - "tzdata"
-
-- name: "Link localtime"
- become: true
- ansible.builtin.file:
- src: "/usr/share/zoneinfo/{{ settings_timezone }}"
- dest: "/etc/localtime"
- state: "link"
-
-- name: "Update timezone"
- become: true
- community.general.timezone:
- name: "{{ settings_timezone }}"
- name: "Configure archlinux password policy"
become: true
diff --git a/roles/timezone/README.md b/roles/timezone/README.md
new file mode 100644
index 00000000..4ca57c9e
--- /dev/null
+++ b/roles/timezone/README.md
@@ -0,0 +1,7 @@
+# Ansible Role: timezone
+
+This role configure the machine timezone
+
+## Role Variables
+
+- `timezone` the timezone default `CET`
diff --git a/roles/timezone/defaults/main.yml b/roles/timezone/defaults/main.yml
new file mode 100644
index 00000000..5d77e712
--- /dev/null
+++ b/roles/timezone/defaults/main.yml
@@ -0,0 +1,3 @@
+---
+# noqa var-naming[no-role-prefix]
+timezone: "CET"
diff --git a/roles/timezone/meta/argument_specs.yml b/roles/timezone/meta/argument_specs.yml
new file mode 100644
index 00000000..c4be9397
--- /dev/null
+++ b/roles/timezone/meta/argument_specs.yml
@@ -0,0 +1,8 @@
+---
+argument_specs:
+ main:
+ options:
+ timezone:
+ type: "str"
+ description: "timezone configuration to use"
+ default: "CET"
diff --git a/roles/timezone/meta/main.yml b/roles/timezone/meta/main.yml
new file mode 100644
index 00000000..e8012679
--- /dev/null
+++ b/roles/timezone/meta/main.yml
@@ -0,0 +1,19 @@
+---
+dependencies: []
+galaxy_info:
+ role_name: timezone
+ author: a14m
+ description: "Configure the linux distro timezone"
+ company: "kartoffeln.work GmbH."
+ license: "license MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: ArchLinux
+ versions:
+ - all
+ - name: Ubuntu
+ versions:
+ - noble
+ - name: Debian
+ versions:
+ - bookworm
diff --git a/roles/timezone/tasks/main.yml b/roles/timezone/tasks/main.yml
new file mode 100644
index 00000000..4be677cf
--- /dev/null
+++ b/roles/timezone/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+- name: "Ensure timezone package is installed"
+ become: true
+ ansible.builtin.package:
+ name: "tzdata"
+ state: "present"
+
+- name: "Link localtime"
+ become: true
+ ansible.builtin.file:
+ src: "/usr/share/zoneinfo/{{ timezone }}"
+ dest: "/etc/localtime"
+ state: "link"
+
+- name: "Update timezone"
+ become: true
+ community.general.timezone:
+ name: "{{ timezone }}"