# 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
