2025-08-20 12:05:57 +03:00

94 lines
1.6 KiB
YAML

- name: Ensure all dependecies are presented
apt:
name: "{{ item }}"
state: present
loop:
- tar
# - xz-utils
- name: Create etcd group
group:
name: etcd
state: present
system: true
- name: Cretae etcd user
user:
name: etcd
group: etcd
system: yes
shell: /sbin/nologin
home: /var/lib/etcd
create_home: yes
state: present
- name: Make your own dns (aka hosts)
copy:
src: hosts
dest: /etc/hosts
owner: root
group: root
mode: 0644
- name: Download etcd
get_url:
url: https://github.com/etcd-io/etcd/releases/download/v3.6.4/etcd-v3.6.4-linux-amd64.tar.gz
dest: /tmp/etcd.tar.gz
mode: 0644
- name: Cretae tmp dir
file:
path: /tmp/etcd
state: directory
mode: 0755
- name: create etc dir
file:
path: /etc/etcd
state: directory
owner: etcd
group: etcd
mode: 0755
- name: Unpack etcd
unarchive:
src: /tmp/etcd.tar.gz
remote_src: true
dest: /tmp/etcd
extra_opts: [--strip-components=1]
owner: etcd
group: etcd
- name: Move bins to path
copy:
src: "/tmp/etcd/{{ item }}"
dest: "/usr/bin/{{ item }}"
mode: 0755
remote_src: true
loop:
- etcd
- etcdctl
- etcdutl
- name: put etcd config
template:
src: etcd.conf.yml.j2
dest: /etc/etcd/etcd.conf.yml
owner: etcd
group: etcd
mode: 0644
- name: put systemd unit file for etcd
copy:
src: etcd.service
dest: /etc/systemd/system/etcd.service
owner: root
group: root
mode: 0644
- name: start and enable etcd
service:
name: etcd
enabled: true
state: started