ansible/roles/belenios/tasks/main.yml

115 lines
2.9 KiB
YAML

---
- name: Install Belenios dependencies from APT
apt:
update_cache: true
install_recommends: false
name:
- bubblewrap
- build-essential
- ca-certificates
- cracklib-runtime
- jq
- libgd-securityimage-perl
- libgmp-dev
- libncurses-dev
- libpcre3-dev
- libssl-dev
- libsqlite3-dev
- m4
- pkg-config
- unzip
- wget
- zip
- zlib1g-dev
# OCamL build dependencies
- dune
- eliom
- libatdgen-ocaml-dev
- libcalendar-ocaml-dev
- libcmdliner-ocaml-dev
- libcryptokit-ocaml-dev
- libcsv-ocaml-dev
- libgettext-ocaml-dev
- libzarith-ocaml-dev
# Web server dependencies
- ocsigenserver
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Start ocsigenserver at boot
lineinfile:
path: /etc/default/ocsigenserver
regexp: "^LAUNCH_AT_STARTUP="
line: "LAUNCH_AT_STARTUP=true"
notify: Restart ocsigenserver
- name: Clone belenios into /var/local/belenios
git:
repo: https://gitlab.inria.fr/belenios/belenios.git
dest: /var/local/belenios
version: "1.14"
force: true
register: git_result
- name: Make belenios project
when: git_result.changed
make:
chdir: /var/local/belenios
target: build-release-server
notify: Restart ocsigenserver
- name: Create belenios data directories
file:
path: "{{ item }}"
owner: ocsigen
group: ocsigen
mode: 0755
state: directory
loop:
- "/etc/ocsigenserver/conf.d"
- "/var/lib/belenios"
- "/var/lib/belenios/data"
- "/var/lib/belenios/upload"
- "/var/lib/belenios/spool"
- "/var/log/belenios"
- name: Link belenios directories into proper locations
file:
src: "{{ item.src }}"
path: "{{ item.path }}"
owner: root
group: root
mode: 0755
state: link
loop:
- src: "/var/local/belenios/_run/usr/bin/belenios-tool"
path: "/usr/bin/belenios-tool"
- src: "/var/local/belenios/_run/usr/lib/belenios"
path: "/usr/lib/ocaml/belenios"
- src: "/var/local/belenios/_run/usr/lib/belenios-platform"
path: "/usr/lib/ocaml/belenios-platform"
- src: "/var/local/belenios/_run/usr/lib/belenios-platform-js"
path: "/usr/lib/ocaml/belenios-platform-js"
- src: "/var/local/belenios/_run/usr/lib/belenios-platform-native"
path: "/usr/lib/ocaml/belenios-platform-native"
- src: "/var/local/belenios/_run/usr/lib/belenios-server"
path: "/usr/lib/ocaml/belenios-server"
- src: "/var/local/belenios/_run/usr/lib/belenios-tool"
path: "/usr/lib/ocaml/belenios-tool"
- src: "/var/local/belenios/_run/usr/share/belenios-server"
path: "/usr/share/belenios-server"
- name: Deploy ocsigenserver configuration
template:
src: ocsigenserver/conf.d/belenios.conf.j2
dest: /etc/ocsigenserver/conf.d/belenios.conf
owner: root
group: root
mode: 0644
notify: Restart ocsigenserver