main.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ---
  2. - name: Install dependencies
  3. become: true
  4. apt:
  5. pkg:
  6. - build-essential
  7. - meson
  8. - bison
  9. - libuecc-dev
  10. - libcap-dev
  11. - libjson-c-dev
  12. - libssl-dev
  13. - libmnl-dev
  14. - libsodium-dev
  15. - clang-format
  16. - pkg-config
  17. - git
  18. - name: Clone fastd git repo
  19. git:
  20. repo: https://github.com/NeoRaider/fastd.git
  21. dest: "/home/{{ system.user }}/fastd"
  22. clone: true
  23. force: true
  24. register: git_clone
  25. - name: Delete fastd building folder
  26. file:
  27. path: "/home/{{ system.user }}/fastd-build"
  28. state: absent
  29. when: git_clone is changed
  30. - name: Preparing to build fastd
  31. shell:
  32. cmd: "meson setup fastd fastd-build -Dbuildtype=release -Db_lto=true -Dcapabilities=enabled -Doffload_l2tp=enabled"
  33. chdir: "/home/{{ system.user }}/"
  34. when: git_clone is changed
  35. - name: Building fastd
  36. shell:
  37. cmd: "ninja"
  38. chdir: "/home/{{ system.user }}/fastd-build"
  39. when: git_clone is changed
  40. - name: Install fastd
  41. become: true
  42. shell:
  43. cmd: "ninja install"
  44. chdir: "/home/{{ system.user }}/fastd-build"
  45. when: git_clone is changed
  46. - name: Install Systemd unit
  47. become: true
  48. copy:
  49. src: files/systemd-fastd
  50. dest: /lib/systemd/system/fastd@.service
  51. mode: 0644
  52. - name: Reload systemd
  53. become: true
  54. systemd:
  55. daemon_reload: true
  56. - name: Create fastd directory
  57. become: true
  58. file:
  59. path: /etc/fastd/
  60. state: directory
  61. mode: 0700