94 lines
1.6 KiB
YAML
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
|