Create an 'update_motd' role
This commit is contained in:
parent
7cc478b1ad
commit
7e92fdfab7
5 changed files with 101 additions and 0 deletions
10
roles/update_motd/handlers/main.yml
Normal file
10
roles/update_motd/handlers/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
- name: Remove cached motd
|
||||
become: true
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- /var/run/motd.dynamic
|
||||
- /var/run/motd.dynamic.new
|
||||
...
|
44
roles/update_motd/tasks/main.yml
Normal file
44
roles/update_motd/tasks/main.yml
Normal file
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
- name: Customize motd
|
||||
become: true
|
||||
template:
|
||||
src: "{{ item }}"
|
||||
dest: "/etc/update-motd.d/{{ item }}"
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
owner: root
|
||||
group: root
|
||||
loop:
|
||||
- 00-logo
|
||||
- 10-messages
|
||||
- 20-uname
|
||||
notify: Remove cached motd
|
||||
|
||||
- name: Remove Debian warranty motd
|
||||
become: true
|
||||
file:
|
||||
path: /etc/motd
|
||||
state: absent
|
||||
notify: Remove cached motd
|
||||
|
||||
- name: Ensure motd-messages exists
|
||||
become: true
|
||||
file:
|
||||
path: /etc/motd-messages
|
||||
state: directory
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
owner: root
|
||||
group: root
|
||||
notify: Remove cached motd
|
||||
|
||||
- name: Install additionnal motd messages
|
||||
become: true
|
||||
copy:
|
||||
content: "✨ {{ item.message }}\n"
|
||||
dest: "/etc/motd-messages/{{ item.key }}"
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
owner: root
|
||||
group: root
|
||||
loop: "{{ motd_messages }}"
|
||||
notify: Remove cached motd
|
||||
when: motd_messages is defined
|
||||
...
|
39
roles/update_motd/templates/00-logo
Normal file
39
roles/update_motd/templates/00-logo
Normal file
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
{{ ansible_managed | comment }}
|
||||
|
||||
# Pretty uptime
|
||||
upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
|
||||
mins="$((upSeconds / 60 % 60))"
|
||||
hours="$((upSeconds / 3600 % 24))"
|
||||
days="$((upSeconds / 86400))"
|
||||
UPTIME="$(printf "%d jours, %02dh%02dm" "$days" "$hours" "$mins")"
|
||||
|
||||
# RAM
|
||||
RAM="$(free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2}')"
|
||||
DISK="$(df -h | awk '$NF=="/"{printf "%d/%dGB (%s)\n", $3,$2,$5}')"
|
||||
|
||||
# Text font
|
||||
bold="$(tput bold)"
|
||||
normal="$(tput sgr0)"
|
||||
|
||||
# Logo
|
||||
cat <<EOF
|
||||
[49m[K[0m
|
||||
[0m [48;5;160m[38;5;160m [48;5;124m[38;5;124m [48;5;160m[38;5;160m [0m [49m ${bold}Uptime${normal} : ${UPTIME}
|
||||
[0m [48;5;160m[38;5;160m [0m [49m ${bold}Mémoire${normal} : ${RAM}
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m ${bold}Disque racine${normal} : ${DISK}
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [48;5;124m[38;5;124m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [48;5;52m[38;5;196m [0m [49m
|
||||
[0m [48;5;124m[38;5;124m [0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [48;5;124m[38;5;124m [0m[49m
|
||||
[0m [48;5;124m[38;5;124m [48;5;160m[38;5;160m [0m [48;5;188m[38;5;188m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m[49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;160m[38;5;160m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m[49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;160m[38;5;160m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m[49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;124m[38;5;124m [0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [0m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [0m [48;5;231m[38;5;232m [0m [48;5;231m[38;5;232m [48;5;160m[38;5;160m [0m [49m
|
||||
[0m [48;5;160m[38;5;160m [0m ${bold}Aurore${normal} [48;5;231m[38;5;232m [48;5;160m[38;5;160m [0m [49m
|
||||
|
||||
EOF
|
4
roles/update_motd/templates/10-messages
Normal file
4
roles/update_motd/templates/10-messages
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
set -euf
|
||||
|
||||
find /etc/motd-messages -type f -exec cat -- {} +
|
4
roles/update_motd/templates/20-uname
Normal file
4
roles/update_motd/templates/20-uname
Normal file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
{{ ansible_managed | comment }}
|
||||
|
||||
uname -snrvm
|
Loading…
Reference in a new issue