predavalnice-kontroler/ansible_deploy/playbook.yaml

228 lines
5.7 KiB
YAML

- name: Test playbook
hosts: P01
# vars_files:
# - secret
vars:
# addr: "192.168.122.245"
handlers:
- name: restart NM
ansible.builtin.service:
name: NetworkManager
state: restarted
tasks:
- name: Ping hosts
ansible.builtin.ping:
- name: set eth0 static IP
become: true
community.general.nmcli:
conn_name: "Multimedia network"
ifname: eth0
type: ethernet
ip4: "{{ static_ip }}/{{ static_mask }}"
gw4: "{{ static_routers }}"
state: present
#notify: restart NM
- name: Install pkgs
become: true
apt:
name:
- python3-pip
- mosquitto
- nginx
state: latest
- name: pip install
pip:
break_system_packages: true
name:
- poetry
- name: check for script directory
file:
path: "/home/pi/pyServices"
state: directory
- name: Copy poetry conf
#become: true
ansible.builtin.copy:
#seuser: root
src: "../{{ item }}"
dest: "/home/pi/pyServices/{{ item }}"
owner: pi
group: pi
mode: '0644'
backup: yes
loop:
- poetry.lock
- pyproject.toml
- README.md
- name: template config.toml
ansible.builtin.template:
src: ./conf.j2
dest: /home/pi/pyServices/malinaConfig.toml
- name: copy python scripts
#become: true
ansible.builtin.copy:
src: "../{{ item }}"
dest: "/home/pi/pyServices"
owner: pi
group: pi
mode: '0644'
backup: yes
loop:
- barco_telnet/barco_G62_control.py
- extron_audio_matrix/extron_audio_matrix_telnet_control.py
- extron_audio_matrix/extron_audio_matrix_telnet_interpreter.py
- projector_motors/projector_motors.py
- tse_serial/tse_serial_controler.py
- tse_serial/tse_serial_interpreter.py
# - config.toml # bruh
- name: poetry installation
ansible.builtin.shell:
cmd: "poetry install"
chdir: "/home/pi/pyServices"
- name: mosquitto service and reload
become: true
ansible.builtin.systemd_service:
name: mosquitto.service
state: started
daemon_reload: true
- name: generate systemd services
become: true
block:
- name: barco services
when: barco_G62 is defined
block:
- name: template service
vars:
script_file: "/home/pi/pyServices/barco_G62_control.py %i"
ansible.builtin.template:
src: ./service.j2
dest: /lib/systemd/system/barco@.service
- name: enable service
ansible.builtin.systemd_service:
name: "{{item}}"
enabled: true
state: started
loop:
- barco@main.service
- barco@side.service
- name: template projector motors service
when: projector_motors is defined
block:
- name: template service
vars:
script_file: "/home/pi/pyServices/projector_motors.py"
ansible.builtin.template:
src: ./service.j2
dest: /lib/systemd/system/projector_motors.service
- name: enable service
ansible.builtin.systemd_service:
name: projector_motors.service
enabled: true
state: started
- name: template tse serial box service
when: tse_box is defined
block:
- name: template service
vars:
script_file: "/home/pi/pyServices/tse_serial_controler.py"
ansible.builtin.template:
src: ./service.j2
dest: /lib/systemd/system/tse_box.service
- name: enable service
ansible.builtin.systemd_service:
name: tse_box.service
enabled: true
state: started
# - name: Copy barco config
# become: true
# ansible.builtin.copy:
# #seuser: root
# src: "./{{ item }}"
# dest: /lib/systemd/system
# owner: root
# group: root
# mode: '0644'
# #backup: yes
# loop:
# - barco@.service
# #- extron_audio.service
# # - mqtt_init.service
# - projector_motors.service
# # - tse_box.service
- name: Copy mosqitconfig
become: true
ansible.builtin.copy:
#seuser: root
src: ../mosquitto.conf
dest: /etc/mosquitto/conf.d
owner: root
group: root
mode: '0644'
backup: yes
# - name: set env
# become: true
# ansible.builtin.lineinfile:
# dest: "/etc/environment"
# state: present
# regexp: "^{{ item.key }}="
# line: "{{ item.key }}={{ item.value }}"
# with_items: "{{ os_environment }}"
- name: copy frontend to webroot
become: true
ansible.builtin.copy:
src: /home/kat/Documents/polzp/fri_multimedia_rework/frontend/vju_display/dist/
#src: /home/kat/fri_multimedia_rework/frontend/vju_display/dist
#remote_src: true
#dest: /srv/www
dest: /var/www/html/
#dest: /home/kat/testoa
owner: root
group: root
mode: '0755'
backup: yes
# - name: enable modules
# become: true
# ansible.builtin.systemd_service:
# #name: "{{[ 'barco@main.service', 'barco@side.service' ]}}"
# name: "{{ item }}"
# state: stopped
# enabled: false
# loop:
# - barco@main.service
# - barco@side.service
# # - extron_audio.service
# # - mqtt_init.service
# - projector_motors.service
# # - tse_box.service