77 lines
1.5 KiB
YAML
77 lines
1.5 KiB
YAML
---
|
|
- name: install needed development packages
|
|
dnf:
|
|
name:
|
|
- git
|
|
- wget
|
|
update_cache: true
|
|
|
|
- name: fetch GoBGP binary file
|
|
get_url:
|
|
url: "https://github.com/osrg/gobgp/releases/download/v{{ GOBGP_VERSION }}/gobgp_{{ GOBGP_VERSION }}_linux_{{ CPU_ARCH }}.tar.gz"
|
|
dest: "/tmp/gobgp_v{{ GOBGP_VERSION }}.tar"
|
|
|
|
- name: mkdir tmp dir
|
|
file:
|
|
path: /tmp/gobgp/
|
|
state: directory
|
|
|
|
- name: unarchive
|
|
unarchive:
|
|
src: "/tmp/gobgp_v{{ GOBGP_VERSION }}.tar"
|
|
dest: /tmp/gobgp/
|
|
remote_src: yes
|
|
|
|
- name: move gobgp to install path
|
|
copy:
|
|
src: /tmp/gobgp/gobgp
|
|
dest: /usr/bin/gobgp
|
|
remote_src: yes
|
|
mode: "0755"
|
|
|
|
- name: move gobgpd to install path
|
|
copy:
|
|
src: /tmp/gobgp/gobgpd
|
|
dest: /usr/bin/gobgpd
|
|
remote_src: yes
|
|
mode: "0755"
|
|
|
|
- name: Grant the capability to bind to system or well-known ports.
|
|
command: "/sbin/setcap cap_net_bind_service=+ep /usr/bin/gobgpd"
|
|
changed_when: no
|
|
|
|
- name: add group for gobgpd
|
|
group:
|
|
name: gobgpd
|
|
|
|
- name: add group for gobgpd
|
|
group:
|
|
name: gobgpd
|
|
state: present
|
|
system: yes
|
|
|
|
- name: add gobgpd user
|
|
user:
|
|
name: gobgpd
|
|
shell: /bin/bash
|
|
group: gobgpd
|
|
home: /var/lib/gobgpd
|
|
|
|
- name: own stuff
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
recurse: yes
|
|
owner: gobgpd
|
|
group: gobgpd
|
|
loop:
|
|
- /var/lib/gobgpd
|
|
- /var/run/gobgpd
|
|
- /var/log/gobgpd
|
|
- /etc/gobgpd
|
|
|
|
- name: put gobgp.service to systemd directory
|
|
copy:
|
|
src: lib/systemd/system/gobgpd.service
|
|
dest: /lib/systemd/system/gobgpd.service
|