mirror of
https://github.com/khuedoan/homelab.git
synced 2025-07-08 23:08:40 +07:00
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
# TODO (optimize) LXD node SELinux
|
|
- name: Disable SELinux
|
|
selinux:
|
|
state: disabled
|
|
|
|
# TODO (optimize) LXD node firewall
|
|
- name: Disable firewall
|
|
service:
|
|
name: firewalld
|
|
state: stopped
|
|
enabled: no
|
|
|
|
- name: Install LXD
|
|
snap:
|
|
name: lxd
|
|
|
|
- name: Init LXD on leader node
|
|
command:
|
|
cmd: /snap/bin/lxd init --preseed
|
|
stdin: "{{ lookup('template', 'leader.yaml.j2') }}"
|
|
creates: /var/snap/lxd/common/lxd/server.crt
|
|
when: inventory_hostname == groups['metal'][0]
|
|
|
|
- name: Get LXD server certificate
|
|
slurp:
|
|
# TODO (optimize) Change to /var/lib/lxd/server.crt after https://wiki.debian.org/LXD
|
|
src: /var/snap/lxd/common/lxd/server.crt
|
|
register: server_cert
|
|
when: inventory_hostname == groups['metal'][0]
|
|
|
|
- name: Init LXD on member nodes
|
|
command:
|
|
cmd: /snap/bin/lxd init --preseed
|
|
stdin: "{{ lookup('template', 'member.yaml.j2') }}"
|
|
creates: /var/snap/lxd/common/lxd/server.crt
|
|
when: inventory_hostname != groups['metal'][0]
|
|
|
|
# TODO (optimize) Use template for tfvars
|
|
- name: Add LXD server to environment variables
|
|
lineinfile:
|
|
path: "{{ playbook_dir }}/../infra/terraform.tfvars"
|
|
line: "lxd_address = \"{{ hostvars[groups['metal'][0]]['ansible_host'] }}\""
|
|
create: yes
|
|
delegate_to: localhost
|
|
run_once: yes
|
|
|
|
- name: Add LXD password to environment variables
|
|
lineinfile:
|
|
path: "{{ playbook_dir }}/../infra/terraform.tfvars"
|
|
line: "lxd_password = \"{{ lxd_password }}\""
|
|
create: yes
|
|
delegate_to: localhost
|
|
run_once: yes
|