87 lines
1.8 KiB
YAML
87 lines
1.8 KiB
YAML
---
|
|
- name: Install golang and git
|
|
apt:
|
|
update_cache: true
|
|
install_recommends: false
|
|
name:
|
|
- git
|
|
- golang
|
|
register: apt_result
|
|
retries: 3
|
|
until: apt_result is succeeded
|
|
|
|
- name: Create galene account
|
|
user:
|
|
name: galene
|
|
comment: Galène
|
|
home: "/var/local/galene"
|
|
create_home: false
|
|
|
|
- name: Create Galène directory
|
|
file:
|
|
path: /var/local/galene
|
|
state: directory
|
|
owner: galene
|
|
group: galene
|
|
mode: u+rw,g+rws,o+r
|
|
|
|
- name: Clone Galène
|
|
git:
|
|
repo: https://github.com/jech/galene.git
|
|
dest: /var/local/galene
|
|
version: galene-{{ galene.version }}
|
|
register: git_result
|
|
become_user: galene
|
|
|
|
- name: Build galene
|
|
when: git_result.changed
|
|
shell: go build -ldflags='-s -w'
|
|
args:
|
|
chdir: /var/local/galene
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
notify: systemctl restart galene.service
|
|
|
|
- name: Make Galène configuration directory
|
|
file:
|
|
path: /var/lib/galene/groups
|
|
state: directory
|
|
owner: galene
|
|
group: galene
|
|
mode: 0775
|
|
|
|
- name: Link groups file into /etc
|
|
file:
|
|
src: /var/lib/galene/groups
|
|
dest: /var/local/galene/groups
|
|
state: link
|
|
owner: galene
|
|
group: galene
|
|
|
|
- name: Deploy custom static files
|
|
git:
|
|
repo: https://gitlab.adm.crans.org/nounous/galene-static.git
|
|
dest: /var/www/galene-static
|
|
|
|
- name: Install systemd unit
|
|
template:
|
|
src: systemd/system/galene.service.j2
|
|
dest: /etc/systemd/system/galene.service
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
notify: systemctl restart galene.service
|
|
|
|
- name: Enable systemd unit
|
|
systemd:
|
|
name: galene
|
|
enabled: true
|
|
daemon_reload: true
|
|
state: started
|
|
|
|
- name: Indicate role in motd
|
|
template:
|
|
src: update-motd.d/05-service.j2
|
|
dest: /etc/update-motd.d/05-galene
|
|
mode: 0755
|