feat: systemd service for mount
This commit is contained in:
parent
3ec8b1d1e7
commit
b8e71be310
14 changed files with 91 additions and 39 deletions
1
ansible/.gitignore
vendored
1
ansible/.gitignore
vendored
|
@ -1,2 +1,3 @@
|
|||
arch_packages.json
|
||||
pip_packages.json
|
||||
vm_files
|
||||
|
|
|
@ -198,7 +198,7 @@ categories:
|
|||
- gopls
|
||||
- rust-analyzer
|
||||
- typst-lsp
|
||||
- vscode-css-language
|
||||
- vscode-css-languageserver
|
||||
- pyright
|
||||
- typescript-language-server
|
||||
- svelte-language-server
|
||||
|
@ -299,6 +299,7 @@ categories:
|
|||
audio:
|
||||
- tenacity
|
||||
- songrec
|
||||
- aur/clementine
|
||||
video:
|
||||
- cheese
|
||||
- celluloid
|
||||
|
|
|
@ -22,9 +22,8 @@ ln -s $workdir $base/vm_files
|
|||
ansible-playbook $base/workstation.yaml \
|
||||
-v \
|
||||
--ask-become-pass \
|
||||
-u "mbess" \
|
||||
-i "inventory.yaml" \
|
||||
--ssh-extra-args "-o ControlMaster=auto -o ControlPersist=60s -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 22 -i ./master_sshkey" \
|
||||
--extra-vars "@$workdir/vars.yaml" \
|
||||
--start-at-task "Install pip packages"
|
||||
$@
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
IdentityFile "~/.ssh/{{ device_name }}_perso_generic_ed25519"
|
||||
|
||||
Host forge.lefuturiste.fr
|
||||
user git
|
||||
IdentitiesOnly yes
|
||||
IdentityFile ~/.ssh/{{ device_name }}_perso_generic_ed25519
|
||||
IdentityFile "~/.ssh/{{ device_name }}_perso_generic_ed25519"
|
||||
|
|
14
ansible/templates/systemd/user/mount_sshfs.service
Normal file
14
ansible/templates/systemd/user/mount_sshfs.service
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=SSHFS Daemon to mount a remote directory
|
||||
StartLimitInterval=200
|
||||
StartLimitBurst=8
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/sshfs -f {{ service_params.ssh_uri }} {{ service_params.mount_path }} -o reconnect,ServerAliveInterval=30,ServerAliveCountMax=5
|
||||
Restart=always
|
||||
StandardOutput=journal
|
||||
RestartSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
|
@ -1,15 +0,0 @@
|
|||
[Unit]
|
||||
Description=SSHFS Daemon to mount srv06 warmd as a volume
|
||||
StartLimitInterval=200
|
||||
StartLimitBurst=8
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/bin/sshfs -f {{ user }}@srv06.rem:/warmd/mbess {{ home }}/.mnt/srv06/warmd/mbess -o reconnect,ServerAliveInterval=30,ServerAliveCountMax=5
|
||||
Restart=always
|
||||
StandardOutput=journal
|
||||
RestartSec=20
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
11
ansible/templates/systemd/user/swaybg.service
Normal file
11
ansible/templates/systemd/user/swaybg.service
Normal file
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=SwayBg
|
||||
PartOf=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=swaybg -i {{ home }}/.dots/wallpapers/jupiter.jpg -m fill
|
||||
|
||||
[Install]
|
||||
WantedBy=sway-session.target
|
||||
|
|
@ -5,8 +5,18 @@
|
|||
systemd_services:
|
||||
system: []
|
||||
user:
|
||||
- name: "sshfs_srv06_warmd"
|
||||
- from: "mount_sshfs"
|
||||
name: "mount_sshfs_srv06_warmd_mbess"
|
||||
enabled: true
|
||||
params:
|
||||
ssh_uri: "mbess@srv06.mbess.net:/warmd/mbess"
|
||||
mount_path: "{{ home }}/.mnt/srv06/warmd/mbess"
|
||||
- from: "mount_sshfs"
|
||||
name: "mount_sshfs_srv06_warmd_etb"
|
||||
enabled: true
|
||||
params:
|
||||
ssh_uri: "mbess@srv06.mbess.net:/warmd/etoiledebethleem"
|
||||
mount_path: "{{ home }}/.mnt/srv06/warmd/etb"
|
||||
- name: "popequer_gitwatch@"
|
||||
- name: "hourly_remainder"
|
||||
enabled: true
|
||||
|
@ -15,6 +25,8 @@
|
|||
enabled: true
|
||||
- name: "gammastep"
|
||||
enabled: true
|
||||
- name: "swaybg"
|
||||
enabled: true
|
||||
config_files:
|
||||
- dir: fish
|
||||
name: config.fish
|
||||
|
@ -194,7 +206,7 @@
|
|||
vars:
|
||||
packages: "{{ (lookup('file', 'arch_packages.json') | from_json)['aur'] }}"
|
||||
|
||||
# SYSTEMD
|
||||
# SYSTEMD user services
|
||||
- name: Setup systemd user services folder
|
||||
file:
|
||||
path: "{{ home }}/.config/systemd/user"
|
||||
|
@ -202,14 +214,26 @@
|
|||
recurse: true
|
||||
|
||||
- name: Setup user units
|
||||
loop: "{{ systemd_services.user }}"
|
||||
when: "item.from is not defined"
|
||||
template:
|
||||
src: "systemd/user/{{ item.name }}.service"
|
||||
dest: "{{ home }}/.config/systemd/user/{{ item.name }}.service"
|
||||
vars:
|
||||
service_params: "{{ item.params }}"
|
||||
|
||||
- name: Setup user unit with from
|
||||
loop: "{{ systemd_services.user }}"
|
||||
when: "item.from is defined"
|
||||
template:
|
||||
src: "systemd/user/{{ item.from }}.service"
|
||||
dest: "{{ home }}/.config/systemd/user/{{ item.name }}.service"
|
||||
vars:
|
||||
service_params: "{{ item.params }}"
|
||||
|
||||
- name: Setup user timers
|
||||
when: "item.timer is defined and item.timer"
|
||||
loop: "{{ systemd_services.user }}"
|
||||
when: "item.timer is defined and item.timer"
|
||||
template:
|
||||
src: "systemd/user/{{ item.name }}.timer"
|
||||
dest: "{{ home }}/.config/systemd/user/{{ item.name }}.timer"
|
||||
|
@ -234,21 +258,15 @@
|
|||
enabled: true
|
||||
|
||||
# OTHERS
|
||||
- name: Setup mount point folder
|
||||
- name: Setup mount point folders
|
||||
file:
|
||||
path: "{{ home }}/.mnt"
|
||||
state: directory
|
||||
recurse: true
|
||||
- name: Setup mount point folder for srv06
|
||||
file:
|
||||
path: "{{ home }}/.mnt/srv06/warmd/mbess"
|
||||
state: directory
|
||||
recurse: true
|
||||
- name: Setup mount point folder
|
||||
file:
|
||||
path: "{{ home }}/.mnt/etb"
|
||||
path: "{{ home }}/.mnt/{{ item }}"
|
||||
state: directory
|
||||
recurse: true
|
||||
loop:
|
||||
- srv06/warmd/mbess
|
||||
- srv06/coldd/mbess
|
||||
- srv06/warmd/etb
|
||||
- name: Setup triage folder
|
||||
file:
|
||||
path: "{{ home }}/triage"
|
||||
|
@ -297,14 +315,16 @@
|
|||
repo: "git@forge.lefuturiste.fr:mbess/books-sources.git"
|
||||
dest: /home/mbess/workspace/books_sources
|
||||
|
||||
- name: Clone monakhos
|
||||
ansible.builtin.git:
|
||||
repo: "git@forge.lefuturiste.fr:mbess/monakhos.git"
|
||||
dest: /home/mbess/workspace/monakhos
|
||||
|
||||
- name: Setup wofi link
|
||||
become: true
|
||||
file:
|
||||
src: "/usr/bin/wofi"
|
||||
dest: "/usr/bin/rofi"
|
||||
state: link
|
||||
|
||||
# Final workspaces
|
||||
- name: Clone monakhos
|
||||
ansible.builtin.git:
|
||||
repo: "git@forge.lefuturiste.fr:mbess/monakhos.git"
|
||||
dest: /home/mbess/workspace/monakhos
|
||||
|
||||
|
|
2
target/.gitignore
vendored
2
target/.gitignore
vendored
|
@ -1,3 +1,5 @@
|
|||
*
|
||||
!.gitignore
|
||||
!.gitkeep
|
||||
!example_host/
|
||||
!example_host/*
|
||||
|
|
3
target/example_host/inventory.yaml
Normal file
3
target/example_host/inventory.yaml
Normal file
|
@ -0,0 +1,3 @@
|
|||
workstation:
|
||||
hosts:
|
||||
localhost: {}
|
7
target/example_host/master_sshkey
Normal file
7
target/example_host/master_sshkey
Normal file
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||
QyNTUxOQAAACCzLJSUEp7ZgIhKgBe3KS9VxD1kVoL+1rteNDUTwrF+DwAAAJBi/5tQYv+b
|
||||
UAAAAAtzc2gtZWQyNTUxOQAAACCzLJSUEp7ZgIhKgBe3KS9VxD1kVoL+1rteNDUTwrF+Dw
|
||||
AAAED4FA6R3uUYxh3xbBzpejFO71FKa/COcMq6tdiwdyDn/rMslJQSntmAiEqAF7cpL1XE
|
||||
PWRWgv7Wu140NRPCsX4PAAAADW1hc3Rlcl9zc2hrZXk=
|
||||
-----END OPENSSH PRIVATE KEY-----
|
1
target/example_host/master_sshkey.pub
Normal file
1
target/example_host/master_sshkey.pub
Normal file
|
@ -0,0 +1 @@
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILMslJQSntmAiEqAF7cpL1XEPWRWgv7Wu140NRPCsX4P master_sshkey
|
2
target/example_host/run.sh
Executable file
2
target/example_host/run.sh
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
../../ansible/run_ansible_playbook.sh -u mbess
|
4
target/example_host/vars.yaml
Normal file
4
target/example_host/vars.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
device_name: example_host
|
||||
user: mbess
|
||||
target_is_real: true
|
||||
|
Loading…
Reference in a new issue