feat: add GeeseFS mount service and associated scripts
This commit is contained in:
parent
909249db0e
commit
d8e559b102
@ -55,3 +55,43 @@
|
||||
path: "{{ temp_dir.path }}"
|
||||
state: absent
|
||||
when: temp_dir.path is defined
|
||||
|
||||
- name: Create mount directory if it doesn't exist
|
||||
ansible.builtin.file:
|
||||
path: /mnt/object_storage
|
||||
state: directory
|
||||
mode: '0755'
|
||||
become: true
|
||||
|
||||
- name: Create GeeseFS mount script
|
||||
ansible.builtin.template:
|
||||
src: geesefs-mount.sh.j2
|
||||
dest: /usr/local/bin/geesefs-mount.sh
|
||||
mode: '0700'
|
||||
owner: root
|
||||
group: root
|
||||
become: true
|
||||
no_log: true
|
||||
|
||||
- name: Create GeeseFS systemd service
|
||||
ansible.builtin.template:
|
||||
src: geesefs-mount.service.j2
|
||||
dest: /etc/systemd/system/geesefs-mount.service
|
||||
mode: '0644'
|
||||
owner: root
|
||||
group: root
|
||||
become: true
|
||||
register: geesefs_service_file
|
||||
|
||||
- name: Systemd daemon-reload
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: true
|
||||
become: true
|
||||
when: geesefs_service_file.changed
|
||||
|
||||
- name: Enable and start GeeseFS mount service
|
||||
ansible.builtin.systemd:
|
||||
name: geesefs-mount
|
||||
enabled: true
|
||||
state: started
|
||||
become: true
|
||||
|
15
config/ansible/templates/geesefs-mount.service.j2
Normal file
15
config/ansible/templates/geesefs-mount.service.j2
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Mount GeeseFS object storage
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/local/bin/geesefs-mount.sh
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
User=root
|
||||
Group=root
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
15
config/ansible/templates/geesefs-mount.sh.j2
Normal file
15
config/ansible/templates/geesefs-mount.sh.j2
Normal file
@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Export AWS credentials from 1Password
|
||||
export AWS_ACCESS_KEY_ID="$(op read "op://j7nmhqlsjmp2r6umly5t75hzb4/Hetzner Object Storage Bucket/AWS_ACCESS_KEY_ID")"
|
||||
export AWS_SECRET_ACCESS_KEY="$(op read "op://j7nmhqlsjmp2r6umly5t75hzb4/Hetzner Object Storage Bucket/AWS_SECRET_ACCESS_KEY")"
|
||||
|
||||
# Mount GeeseFS
|
||||
exec {{ geesefs_install_path }} \
|
||||
--endpoint https://hel1.your-objectstorage.com \
|
||||
--list-type=2 \
|
||||
--disable-xattr \
|
||||
--no-implicit-dir \
|
||||
--no-dir-object \
|
||||
mvl-sh \
|
||||
/mnt/object_storage
|
Loading…
x
Reference in New Issue
Block a user