mirror-env/roles/mirror/tasks/main.yml

106 lines
2.8 KiB
YAML

- name: copy cron job
copy:
src: "{{ role_path }}/templates/cron/csc-mirror"
dest: /etc/cron.d/csc-mirror
owner: root
group: root
mode: "0644"
- name: restart and enable cron
systemd:
name: cron
state: restarted
enabled: yes
- name: copy files for /home/mirror
copy:
src: "{{ role_path }}/templates/mirror/"
dest: /home/mirror
owner: mirror
group: mirror
mode: preserve
- name: copy files for /mirror/root
copy:
src: "{{ role_path }}/templates/root/root/"
dest: /mirror/root
owner: root
group: csc-mirror
mode: preserve
- name: create merlin subdirectories
file:
path: "/mirror/merlin/{{ item.file }}"
owner: "{{ item.owner }}"
group: "{{ item.owner }}"
mode: "0755"
state: directory
loop:
- { file: dev, owner: root }
- { file: bin, owner: root }
- { file: run, owner: mirror }
- name: copy arthur and busybox into merlin
copy:
src: "{{ item.src }}"
dest: "/mirror/merlin/{{ item.dest }}"
owner: root
group: root
mode: "0755"
loop:
- src: "{{ role_path }}/templates/root/merlin/arthur"
dest: "arthur"
- src: "/usr/bin/busybox"
dest: "bin/busybox"
- name: create symlinks from busybox and arthur
# noqa deprecated-command-syntax
# need chdir to create relative symlinks
command:
cmd: "ln -s {{ item.src }} {{ item.dest }}"
chdir: "/mirror/merlin/bin"
creates: "/mirror/merlin/bin/{{ item.dest }}"
warn: no
loop:
- { src: busybox, dest: cd }
- { src: busybox, dest: cp }
- { src: busybox, dest: ln }
- { src: busybox, dest: ls }
- { src: busybox, dest: rm }
- { src: busybox, dest: sh }
- { src: busybox, dest: sleep }
- { src: ../arthur, dest: arthur }
# https://tldp.org/LDP/lfs/LFS-BOOK-6.1.1-HTML/chapter06/devices.html
- name: create special files
# /dev/(random|urandom) normally has "-m 0444"
# donno why mirror has writable random and urandom
command:
cmd: "mknod -m 0666 /mirror/merlin/dev/{{ item.file }} c 1 {{ item.type }}"
creates: "/mirror/merlin/dev/{{ item.file }}"
loop:
- { type: "3", file: "null" }
- { type: "8", file: "random" }
- { type: "9", file: "urandom" }
- name: create first merlin.sock symlink
# noqa deprecated-command-syntax
# need chdir to create relative symlinks
command:
cmd: "ln -s run/merlin.sock merlin.sock"
chdir: "/mirror/merlin"
creates: "/mirror/merlin/merlin.sock"
warn: no
- name: create second merlin.sock symlink
file:
src: "/mirror/merlin/merlin.sock"
dest: "/home/mirror/merlin/merlin.sock"
owner: root
group: root
state: link
follow: no
force: yes
# TODO: copy over merlin.service and start/enable service
# this will create /mirror/merlin/run/merlin.sock