forked from 9pfs/dn42-ansible
63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
|
- name: Configure bird-lg-go on routers
|
||
|
hosts: routers
|
||
|
remote_user: root
|
||
|
tasks:
|
||
|
- name: Build looking glass destinations list
|
||
|
ansible.builtin.shell: echo {% for host in ansible_play_hosts %}{{ hostvars[host]['unicastv6'] }},{% endfor %}|sed 's/,$//'
|
||
|
register: lg_dests
|
||
|
run_once: true
|
||
|
delegate_to: 127.0.0.1
|
||
|
- name: Add Debian build dependencies
|
||
|
ansible.builtin.package:
|
||
|
name: make,git,golang-1.23
|
||
|
state: present
|
||
|
when: ansible_distribution == 'Debian'
|
||
|
- name: Make debian sane
|
||
|
ansible.builtin.file:
|
||
|
state: link
|
||
|
dest: /usr/local/bin/go
|
||
|
src: /usr/lib/go-1.23/bin/go
|
||
|
when: ansible_distribution == 'Debian'
|
||
|
- name: Add Arch build dependencies
|
||
|
ansible.builtin.pacman:
|
||
|
name: base-devel,go
|
||
|
state: present
|
||
|
when: ansible_distribution == 'Archlinux'
|
||
|
- name: Make bird-lg-go directory in /opt
|
||
|
ansible.builtin.file:
|
||
|
dest: /opt/bird-lg-go
|
||
|
state: directory
|
||
|
- name: Download bird-lg-go
|
||
|
ansible.builtin.git:
|
||
|
repo: https://github.com/xddxdd/bird-lg-go
|
||
|
dest: /opt/bird-lg-go/src
|
||
|
- name: Build bird-lg-go
|
||
|
ansible.builtin.make:
|
||
|
chdir: /opt/bird-lg-go/src
|
||
|
- name: Create proxy systemd service
|
||
|
ansible.builtin.template:
|
||
|
src: lg/proxy-service.j2
|
||
|
dest: /etc/systemd/system/bird-lg-go-proxy.service
|
||
|
mode: '0644'
|
||
|
when: ansible_service_mgr == 'systemd'
|
||
|
- name: Enable and start/reload bird-lg-go-proxy
|
||
|
ansible.builtin.systemd_service:
|
||
|
name: bird-lg-go-proxy.service
|
||
|
enabled: true
|
||
|
state: restarted
|
||
|
daemon_reload: true
|
||
|
when: ansible_service_mgr == 'systemd'
|
||
|
- name: Create frontend systemd service
|
||
|
ansible.builtin.template:
|
||
|
src: lg/frontend-service.j2
|
||
|
dest: /etc/systemd/system/bird-lg-go-frontend.service
|
||
|
mode: '0644'
|
||
|
when: ansible_service_mgr == 'systemd'
|
||
|
- name: Enable and start/reload bird-lg-go-frontend
|
||
|
ansible.builtin.systemd_service:
|
||
|
name: bird-lg-go-frontend.service
|
||
|
enabled: true
|
||
|
state: restarted
|
||
|
daemon_reload: true
|
||
|
when: ansible_service_mgr == 'systemd'
|