72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
---
|
|
|
|
- name: API Service - file and folder handler
|
|
block:
|
|
|
|
- name: API Service - create python service folder
|
|
file:
|
|
path: "{{ api_service_folder }}"
|
|
state: directory
|
|
owner: "{{ service_user }}"
|
|
group: "{{ service_user }}"
|
|
mode: '0755'
|
|
|
|
- name: API Service - template app.py
|
|
template:
|
|
src: app.py
|
|
dest: "{{ api_service_folder }}/app.py"
|
|
owner: "{{ service_user }}"
|
|
group: "{{ service_user }}"
|
|
mode: 0755
|
|
|
|
# Create python service venv
|
|
- name: API Service - Python venv handler
|
|
block:
|
|
|
|
- name: API Service - create python venv requirement file
|
|
copy:
|
|
dest: "{{ api_service_folder }}/requirements.txt"
|
|
content: |
|
|
flask
|
|
pytz
|
|
requests
|
|
opencv-python
|
|
pyyaml
|
|
owner: "{{ service_user }}"
|
|
group: "{{ service_user }}"
|
|
mode: 0644
|
|
|
|
- name: API Service - build python venv
|
|
pip:
|
|
virtualenv: "{{ api_service_folder }}/venv"
|
|
requirements: "{{ api_service_folder }}/requirements.txt"
|
|
virtualenv_command: python3 -m venv
|
|
state: present
|
|
|
|
- name: API Service - api service handler
|
|
block:
|
|
|
|
- name: "API Service - {{ api_service_name }} - stop service if running"
|
|
ignore_errors: yes
|
|
systemd:
|
|
name: "{{ api_service_name }}.service"
|
|
state: stopped
|
|
|
|
- name: "API Service - template {{ api_service_name }}.service"
|
|
vars:
|
|
service_name: "{{ api_service_name }}"
|
|
service_working_folder: "{{ api_service_folder }}"
|
|
service_exe: "{{ api_service_folder }}/venv/bin/python -u {{ api_service_folder }}/app.py"
|
|
template:
|
|
src: "service_template.service"
|
|
dest: "/etc/systemd/system/{{ api_service_name }}.service"
|
|
mode: 0644
|
|
|
|
- name: "API Service - {{ api_service_name }} - enable and start service"
|
|
systemd:
|
|
name: "{{ api_service_name }}.service"
|
|
state: started
|
|
enabled: yes
|
|
daemon_reload: yes
|
|
|
|
... |