86 lines
2 KiB
YAML
86 lines
2 KiB
YAML
- name: install packages
|
|
become: true
|
|
package:
|
|
name: '{{ item }}'
|
|
state: present
|
|
loop: '{{ packages }}'
|
|
|
|
- name: clone project
|
|
git:
|
|
repo: '{{ app_url }}'
|
|
dest: '{{ app_dir }}'
|
|
version: '{{ app_branch }}'
|
|
update: yes
|
|
|
|
- name: include poetry tasks
|
|
include_role:
|
|
name: common
|
|
tasks_from: 'poetry.yml'
|
|
vars:
|
|
poetry_user: '{{ ansible_user_id }}'
|
|
poetry_dir: '{{ ansible_env.HOME }}/.poetry'
|
|
|
|
- name: run poetry tasks
|
|
block:
|
|
- name: retrieve user $PATH
|
|
shell: 'echo $PATH'
|
|
register: path_stats
|
|
|
|
- name: set poetry user variables
|
|
set_fact:
|
|
poetry_user_path: '{{ path_stats.stdout }}'
|
|
|
|
- name: set default venv python version
|
|
command: 'poetry env use python3.7'
|
|
args:
|
|
chdir: '{{ app_dir }}'
|
|
environment:
|
|
PATH: '/home/{{ app_user }}/.local/bin:{{ poetry_user_path }}'
|
|
|
|
# TODO allow ansible to run multiple flags (extras flag doesn't seem to be working)
|
|
- name: install project dependencies
|
|
command: 'poetry install --no-dev --extras sentry'
|
|
args:
|
|
chdir: '{{ app_dir }}'
|
|
environment:
|
|
PATH: '/home/{{ app_user }}/.local/bin:{{ poetry_user_path }}'
|
|
|
|
- name: create ssh directory
|
|
file:
|
|
path: '{{ private_key_dir }}'
|
|
state: 'directory'
|
|
|
|
- name: copy private key
|
|
copy:
|
|
src: 'files/transip-client.key'
|
|
dest: '{{ private_key_dir }}/{{ private_key_name }}'
|
|
mode: 0600
|
|
|
|
- name: copy environment file
|
|
template:
|
|
src: 'templates/env.j2'
|
|
dest: '{{ app_dir }}/.env'
|
|
mode: 0600
|
|
|
|
- name: create systemd user directory
|
|
file:
|
|
path: '{{ systemd_dir }}'
|
|
state: 'directory'
|
|
|
|
- name: copy systemd templates
|
|
template:
|
|
src: '{{ item.src }}'
|
|
dest: '{{ item.dest }}'
|
|
mode: '{{ item.mode }}'
|
|
loop:
|
|
- {
|
|
src: 'templates/timer.j2',
|
|
dest: '{{ systemd_dir }}/transip-client.timer',
|
|
mode: '0644',
|
|
}
|
|
- {
|
|
src: 'templates/service.j2',
|
|
dest: '{{ systemd_dir }}/transip-client.service',
|
|
mode: '0644',
|
|
}
|
|
notify: enable transip-client timer
|