ansible-install-server/roles/fai/tasks/fai-config-dir.yml

129 lines
3.3 KiB
YAML

---
- name: "Create fai-config dir '{{ fai_dir_config }}'"
become: true
ansible.builtin.file:
name: "{{ fai_dir_config }}"
state: directory
owner: root
group: root
mode: '0755'
- name: "Git checkout fai-config to '{{ fai_dir_config }}'"
become: true
ansible.builtin.git:
repo: "{{ fai_config_git }}"
dest: "{{ fai_dir_config }}"
version: 'HEAD'
force: true
#recursive: true
notify: pack fai-config
- name: "Set filesystem permissions of '{{ fai_dir_config }}'"
become: true
ansible.builtin.file:
path: "{{ fai_dir_config }}"
owner: root
group: root
mode: '0755'
#recursive: true
- name: "Set APT proxy"
become: true
ansible.builtin.template:
src: "etc/apt/apt.conf.d/02proxy.j2"
dest: "{{ fai_dir_config }}/files/etc/apt/apt.conf.d/02proxy/HW4F_DESKTOP"
owner: root
group: root
mode: '0644'
notify: pack fai-config
when: false
- name: "Set default menu entry to profile"
become: true
ansible.builtin.copy:
content: |
Default: {{ fai_menu_default }}
dest: "{{ fai_dir_config + '/class/zz_menu_default.profile' }}"
owner: root
group: root
mode: '0644'
when:
- fai_menu_default is defined
- fai_menu_default is not none
- name: "Create class specific directories"
become: true
vars:
paths:
- "scripts/HW4F_DESKTOP"
- "scripts/HW4F_DESKTOP_LAST"
ansible.builtin.file:
dest: "{{ fai_dir_config + '/' + item }}"
state: directory
owner: root
group: root
mode: '0755'
loop: "{{ paths }}"
notify: pack fai-config
- name: "Define files in '{{ fai_dir_config }}'"
become: true
vars:
scripts:
- src: "class/HW4F_DESKTOP.var.j2"
dest: "class/HW4F_DESKTOP.var"
mode: '0644'
- src: "scripts/00-remove-proxy.j2"
dest: "scripts/HW4F_DESKTOP_LAST/00-remove-proxy"
mode: "0755"
ansible.builtin.template:
src: "srv/fai/config/{{ item.src }}"
dest: "{{ fai_dir_config + '/' + item.dest }}"
owner: root
group: root
mode: "{{ item.mode }}"
notify: pack fai-config
loop: "{{ scripts }}"
- name: "Define files in '{{ fai_dir_config }}' without templating"
become: true
vars:
scripts:
- src: "scripts/04-snaps"
dest: "scripts/HW4F_DESKTOP/04-snaps"
mode: '0755'
### TRICK COPY TO FIND THE "FILE"
### IN THE DIRECTORY "templates" NOT IN "files"
search_prefix: "templates/"
- src: "scripts/91-misc"
dest: "scripts/HW4F_DESKTOP/91-misc"
mode: '0755'
### TRICK COPY TO FIND THE "FILE"
### IN THE DIRECTORY "templates" NOT IN "files"
search_prefix: "templates/"
ansible.builtin.copy:
src: "{{ item.search_prefix | default('') +
'srv/fai/config/' + item.src }}"
dest: "{{ fai_dir_config + '/' + item.dest }}"
owner: root
group: root
mode: "{{ item.mode }}"
notify: pack fai-config
loop: "{{ scripts }}"
- name: "Define FAI classes for BASEFILES"
become: true
ansible.builtin.template:
src: "srv/fai/config/class/BASEFILE.var.j2"
dest: "{{ fai_dir_config + '/class/' + item.basefile + '.var' }}"
owner: root
group: root
mode: '0644'
loop:
- basefile: "JAMMY64"
dist: "jammy"
mirror_url: "{{ ubuntu_mirror_url }}"
- basefile: "FOCAL64"
dist: "focal"
mirror_url: "{{ ubuntu_mirror_url }}"