132 lines
3.5 KiB
YAML
132 lines
3.5 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/01-hostname.j2"
|
|
dest: "scripts/HW4F_DESKTOP/01-hostname"
|
|
mode: "0755"
|
|
- src: "scripts/02-remove-proxy.j2"
|
|
dest: "scripts/HW4F_DESKTOP_LAST/02-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 }}"
|