add podman etc notes
This commit is contained in:
59
active/software_etcd/etcd.md
Normal file
59
active/software_etcd/etcd.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
# etcd
|
||||||
|
|
||||||
|
- [etcd](#etcd)
|
||||||
|
- [Setup etcd Project](#setup-etcd-project)
|
||||||
|
- [Service Variables](#service-variables)
|
||||||
|
- [Install etcd](#install-etcd)
|
||||||
|
- [Fedora](#fedora)
|
||||||
|
- [Upgrade etcd](#upgrade-etcd)
|
||||||
|
- [Backup etcd](#backup-etcd)
|
||||||
|
- [Restore etcd](#restore-etcd)
|
||||||
|
- [Uninstall etcd](#uninstall-etcd)
|
||||||
|
|
||||||
|
## Setup etcd Project
|
||||||
|
|
||||||
|
1. Copy and rename this folder to active/software_etcd
|
||||||
|
2. Find and replace etcd with the name of the service
|
||||||
|
3. Write the etcd.service spec
|
||||||
|
4. (OPTIONAL) Write the etcd.timer spec
|
||||||
|
5. (OPTIONAL) Write the etcd.sh.j2 template
|
||||||
|
6. Write the install_etcd.yaml ansible template
|
||||||
|
7. Install the service via ansible
|
||||||
|
8. Expose the service
|
||||||
|
9. Install a backup service and timer
|
||||||
|
|
||||||
|
## Service Variables
|
||||||
|
|
||||||
|
1. For most vars,populate `vars.yaml`
|
||||||
|
2. For secret vars, create a new folder called `secrets/` and put a `vars.yaml` there.
|
||||||
|
|
||||||
|
## Install etcd
|
||||||
|
|
||||||
|
<https://etcd.io/docs/v3.6/install/>
|
||||||
|
|
||||||
|
### Fedora
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo dnf install etcd
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run the playbook
|
||||||
|
ansible-playbook \
|
||||||
|
-i ansible/inventory.yaml \
|
||||||
|
-l podman \
|
||||||
|
active/software_etcd/install_etcd.yaml \
|
||||||
|
-e "@active/software_etcd/vars.yaml" \
|
||||||
|
-e "@active/software_etcd/secrets/vars.yaml"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Upgrade etcd
|
||||||
|
|
||||||
|
## Backup etcd
|
||||||
|
|
||||||
|
Follow the [Borg Backup instructions](/active/software_borg/borg.md#set-up-a-client-for-backup)
|
||||||
|
|
||||||
|
## Restore etcd
|
||||||
|
|
||||||
|
## Uninstall etcd
|
||||||
12
active/software_etcd/etcd.service
Normal file
12
active/software_etcd/etcd.service
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Runs foobar
|
||||||
|
After=network.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Restart=no
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/local/script/foobar.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
3
active/software_etcd/foobar.sh.j2
Normal file
3
active/software_etcd/foobar.sh.j2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "hello foobar!"
|
||||||
11
active/software_etcd/foobar.timer
Normal file
11
active/software_etcd/foobar.timer
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Run Foobar every day
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 2:00:00
|
||||||
|
AccuracySec=10min
|
||||||
|
Persistent=true
|
||||||
|
Unit=foobar.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
39
active/software_etcd/install_foobar.yaml
Normal file
39
active/software_etcd/install_foobar.yaml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
- name: Create Backup Service
|
||||||
|
hosts: all
|
||||||
|
vars_files:
|
||||||
|
- secrets/vars.yaml
|
||||||
|
tasks:
|
||||||
|
- name: Create /usr/local/script dir
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /usr/local/script
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
- name: Copy foobar.service
|
||||||
|
template:
|
||||||
|
src: backup.service
|
||||||
|
dest: /etc/systemd/system/foobar.service
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
- name: Copy foobar.timer
|
||||||
|
template:
|
||||||
|
src: backup.timer
|
||||||
|
dest: /etc/systemd/system/foobar.timer
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
- name: Template foobar.sh
|
||||||
|
template:
|
||||||
|
src: backup.sh.j2
|
||||||
|
dest: /usr/local/script/foobar.sh
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0744'
|
||||||
|
- name: Something foobar related that might fail
|
||||||
|
script: echo 'hello foobar!'
|
||||||
|
ignore_errors: yes
|
||||||
|
- name: Reload foobar.timer
|
||||||
|
ansible.builtin.systemd_service:
|
||||||
|
name: foobar.timer
|
||||||
|
enabled: true
|
||||||
|
daemon_reload: true
|
||||||
1
active/software_etcd/vars.yaml
Normal file
1
active/software_etcd/vars.yaml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
name: foobar
|
||||||
Reference in New Issue
Block a user