78 lines
1.9 KiB
YAML
78 lines
1.9 KiB
YAML
- name: Deployment of software + requirements
|
|
hosts: all
|
|
user: remy
|
|
become: true
|
|
|
|
tasks:
|
|
# DONE BY RPI IMAGER
|
|
# - name: Add local ssh key
|
|
# ansible.posix.authorized_key:
|
|
# user: "{{ ansible_user }}"
|
|
# state: present
|
|
# # copy file present on the controller to the remote host
|
|
# key: "{{ lookup('file', '~/.ssh/default.pub') }}"
|
|
|
|
- name: Include network variables
|
|
ansible.builtin.include_vars:
|
|
file: wifi_networks.yml
|
|
name: wifi_external
|
|
|
|
- name: apt update all packages
|
|
apt:
|
|
update_cache: yes
|
|
upgrade: yes
|
|
|
|
- name: Install required packages
|
|
apt:
|
|
name:
|
|
- git
|
|
- python3-pip
|
|
- python3-dev
|
|
- python3-setuptools
|
|
- python3-rpi.gpio
|
|
- python3-spidev
|
|
state: present
|
|
|
|
- name: Pip install pipenv
|
|
pip:
|
|
name: pipenv
|
|
state: present
|
|
|
|
- name: Enable SPI and I2C interfaces
|
|
lineinfile:
|
|
path: /boot/config.txt
|
|
regexp: "^#?(dtparam=i2c_arm|dtparam=spi)"
|
|
line: "{{ item }}"
|
|
state: present
|
|
with_items:
|
|
- "dtparam=i2c_arm=on"
|
|
- "dtparam=spi=on"
|
|
|
|
- name: Reboot the Raspberry Pi
|
|
reboot:
|
|
connect_timeout: 20
|
|
reboot_timeout: 300
|
|
|
|
- name: Wait for the Raspberry Pi to reboot
|
|
wait_for_connection:
|
|
delay: 5
|
|
timeout: 300
|
|
|
|
# - name: Add wifi networks from template
|
|
# template:
|
|
# src: templates/wpa_supplicant.conf.j2
|
|
# dest: /etc/wpa_supplicant/wpa_supplicant.conf
|
|
# owner: root
|
|
# group: root
|
|
# mode: 0600
|
|
|
|
- name: Use raspi-config to set WIFI country
|
|
shell: |
|
|
raspi-config nonint do_wifi_country CH
|
|
|
|
- name: Use raspi-config to set WIFI SSID and password
|
|
shell: |
|
|
raspi-config nonint do_wifi_ssid_passphrase "{{ item.ssid }}" "{{ item.password }}"
|
|
loop: "{{ wifi_external.networks }}"
|
|
|