feat: Move from Debian to Fedora #1

Open
pulsar wants to merge 1 commits from fedora into main
4 changed files with 37 additions and 4 deletions

2
.gitignore vendored
View File

@@ -21,4 +21,4 @@ tags
# ---> Ansible # ---> Ansible
*.retry *.retry
.ansible

View File

@@ -10,6 +10,11 @@ galaxy_info:
platforms: platforms:
- name: Debian - name: Debian
versions: versions:
- all - "bookworm"
- "trixie"
- "sid"
- name: Fedora
versions:
- "43"
dependencies: [] dependencies: []

View File

@@ -15,10 +15,24 @@
loop_var: user loop_var: user
label: "{{ user.name }}" label: "{{ user.name }}"
- name: Create bash aliases path for Fedora
ansible.builtin.file:
path: "~{{ user.name }}/.bashrc.d/"
state: directory
owner: "{{ user.name }}"
group: "{{ user.group | default(user.name) }}"
mode: u=rwX,g=,o=
when: ansible_facts['distribution'] | lower == "fedora"
become: true
loop: "{{ users }}"
loop_control:
loop_var: user
label: "{{ user.name }}"
- name: Deploy bash_aliases - name: Deploy bash_aliases
ansible.builtin.template: ansible.builtin.template:
src: bash_aliases.j2 src: bash_aliases.j2
dest: "~{{ user.name }}/.bash_aliases" dest: "{{ users_bash_alias[distribution] }}"
owner: "{{ user.name }}" owner: "{{ user.name }}"
group: "{{ user.group | default(user.name) }}" group: "{{ user.group | default(user.name) }}"
mode: u=rw,g=,o= mode: u=rw,g=,o=
@@ -27,6 +41,11 @@
loop_control: loop_control:
loop_var: user loop_var: user
label: "{{ user.name }}" label: "{{ user.name }}"
vars:
distribution: "{{ ansible_facts['distribution'] | lower }}"
users_bash_alias:
debian: ~{{ user.name }}/.bash_aliases
fedora: "~{{ user.name }}/.bashrc.d/01-common"
- name: Create ssh directory - name: Create ssh directory
ansible.builtin.file: ansible.builtin.file:

View File

@@ -12,7 +12,8 @@
- name: Create groups with the users name - name: Create groups with the users name
ansible.builtin.group: ansible.builtin.group:
name: "{{ item.name }}" name: "{{ item.name }}"
when: user.group is undefined state: "{{ item.state | default('present') }}"
when: user.group | default([]) | length == 0
become: true become: true
loop: "{{ users }}" loop: "{{ users }}"
loop_control: loop_control:
@@ -21,6 +22,7 @@
- name: Create other groups - name: Create other groups
ansible.builtin.group: ansible.builtin.group:
name: "{{ item.1 }}" name: "{{ item.1 }}"
when: item.state | default('present') == 'present'
become: true become: true
loop: "{{ users | subelements('groups', skip_missing=True) }}" loop: "{{ users | subelements('groups', skip_missing=True) }}"
loop_control: loop_control:
@@ -36,7 +38,14 @@
shell: "{{ item.shell | default(omit) }}" shell: "{{ item.shell | default(omit) }}"
group: "{{ item.group | default(item.name) }}" group: "{{ item.group | default(item.name) }}"
groups: "{{ item.groups | default(omit) }}" groups: "{{ item.groups | default(omit) }}"
state: "{{ item.state | default('present') }}"
become: true become: true
loop: "{{ users }}" loop: "{{ users }}"
loop_control: loop_control:
label: "{{ item.name }}" label: "{{ item.name }}"
- name: Exclude users to delete
ansible.builtin.set_fact:
users: "{{ users | ansible.builtin.difference(users_to_delete) }}"
vars:
users_to_delete: "{{ users | selectattr('state', 'defined') | selectattr('state', 'equalto', 'absent') }}"