Sync application starters on boot and separate ansible tasks from lmn_vm role
This commit is contained in:
parent
39da308ff7
commit
a6eadce948
11 changed files with 101 additions and 45 deletions
5
roles/lmn_fvs/files/fvs.directory
Normal file
5
roles/lmn_fvs/files/fvs.directory
Normal file
|
@ -0,0 +1,5 @@
|
|||
[Desktop Entry]
|
||||
Type=Directory
|
||||
Name=FvS
|
||||
Icon=face-smile-big
|
||||
#X-KDE-BaseGroup=info
|
12
roles/lmn_fvs/files/fvs.menu
Normal file
12
roles/lmn_fvs/files/fvs.menu
Normal file
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
|
||||
<Menu>
|
||||
<Name>Applications</Name>
|
||||
<Menu>
|
||||
<Name>FvS</Name>
|
||||
<Directory>fvs.directory</Directory>
|
||||
<Include>
|
||||
<Category>fvs</Category>
|
||||
</Include>
|
||||
</Menu>
|
||||
</Menu>
|
20
roles/lmn_fvs/files/lmn-sync
Normal file
20
roles/lmn_fvs/files/lmn-sync
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/bash
|
||||
#
|
||||
# Synchronize local program directory and desktop starters
|
||||
#
|
||||
set -eu
|
||||
|
||||
if ! nslookup server; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#[[ -d /usr/local/lmn ]] || mkdir -p /usr/local/lmn
|
||||
#rsync -rlptD --chown=pgmadmin:root --chmod=F755,D755 rsync://server:/local-program/ /usr/local/lmn
|
||||
|
||||
RSYNC_COMMAND=$(rsync -ai --delete --exclude=mimeinfo.cache \
|
||||
--chown=root:root --chmod=F644,D755 "rsync://server:/desktopstarter" \
|
||||
/usr/local/share/applications/ | sed '/ \.\//d')
|
||||
if [[ $? -eq 0 ]] && [[ -n "${RSYNC_COMMAND}" ]]; then
|
||||
echo "${RSYNC_COMMAND}"
|
||||
update-desktop-database /usr/local/share/applications
|
||||
fi
|
6
roles/lmn_fvs/files/lmn-sync.service
Normal file
6
roles/lmn_fvs/files/lmn-sync.service
Normal file
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=Synchronize program data and desktop starters
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/sbin/lmn-sync
|
9
roles/lmn_fvs/files/lmn-sync.timer
Normal file
9
roles/lmn_fvs/files/lmn-sync.timer
Normal file
|
@ -0,0 +1,9 @@
|
|||
[Unit]
|
||||
Description=Run lmn-sync after boot
|
||||
After=network-online.target
|
||||
|
||||
[Timer]
|
||||
OnBootSec=0min
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
7
roles/lmn_fvs/handlers/main.yml
Normal file
7
roles/lmn_fvs/handlers/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
- name: Run update-desktop-database
|
||||
command: update-desktop-database "{{ item }}"
|
||||
loop:
|
||||
- /usr/local/share/applications
|
||||
- /usr/local/share/desktop-directories
|
||||
- /etc/xdg/menus/applications-merged
|
|
@ -305,3 +305,6 @@
|
|||
text: sddm.hostName + " | <{{ ansible_date_time['date'] }}>"
|
||||
font.pointSize: config.fontSize
|
||||
}
|
||||
|
||||
- name: Include sync
|
||||
ansible.builtin.include_tasks: sync.yml
|
||||
|
|
56
roles/lmn_fvs/tasks/sync.yml
Normal file
56
roles/lmn_fvs/tasks/sync.yml
Normal file
|
@ -0,0 +1,56 @@
|
|||
---
|
||||
- name: Create directory for local .desktop-Files
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
mode: 0755
|
||||
loop:
|
||||
- /usr/local/share/applications
|
||||
- /usr/local/share/desktop-directories
|
||||
notify: Run update-desktop-database
|
||||
|
||||
- name: Copy fvs.directory
|
||||
ansible.builtin.copy:
|
||||
src: fvs.directory
|
||||
dest: /usr/local/share/desktop-directories/
|
||||
notify: Run update-desktop-database
|
||||
|
||||
- name: Copy fvs.menu
|
||||
ansible.builtin.copy:
|
||||
src: fvs.menu
|
||||
dest: /etc/xdg/menus/applications-merged/
|
||||
notify: Run update-desktop-database
|
||||
|
||||
- name: Copy lmn-sync script
|
||||
ansible.builtin.copy:
|
||||
src: lmn-sync
|
||||
dest: /usr/local/sbin/
|
||||
mode: 0755
|
||||
register: lmn_sync
|
||||
|
||||
- name: Run lmn-sync script
|
||||
ansible.builtin.shell: /usr/local/sbin/lmn-sync
|
||||
when: lmn_sync.changed
|
||||
|
||||
- name: Deploy sudo configurations (lmn-sync for role-teacher)
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/sudoers.d/90-lmn-sync
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0700'
|
||||
content: |
|
||||
%role-teacher ALL=(root) NOPASSWD: /usr/local/sbin/lmn-sync
|
||||
|
||||
- name: Provide lmn-sync service and timer
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/etc/systemd/system/{{ item }}"
|
||||
mode: 0644
|
||||
loop:
|
||||
- lmn-sync.service
|
||||
- lmn-sync.timer
|
||||
|
||||
- name: Enable lmn-sync.timer
|
||||
systemd:
|
||||
name: lmn-sync.timer
|
||||
enabled: true
|
Loading…
Add table
Add a link
Reference in a new issue