morz-infoboard/ansible/roles/signage_player/tasks/main.yml
Jesko Anschütz 4996ff6def feat(ansible): agent-Build unterstützt armv7 (Raspi 2) via agent_goarch/agent_goarm
Build-Task in signage_player/tasks/main.yml aufgeteilt: ohne GOARM (default arm64,
bestehende Hosts unverändert) und mit GOARM für armv7-Hosts. Neue host_vars und
Inventory-Einträge für raspi2a und raspi2b (Platzhalterwerte, TODO-Kommentare).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 21:08:06 +01:00

112 lines
2.7 KiB
YAML

---
- name: Build agent binary for linux/{{ agent_goarch | default('arm64') }}
ansible.builtin.command:
cmd: go build -o {{ role_path }}/files/morz-agent ./cmd/agent
chdir: "{{ playbook_dir }}/../player/agent"
environment:
GOOS: linux
GOARCH: "{{ agent_goarch | default('arm64') }}"
delegate_to: localhost
changed_when: true
notify: Restart morz-agent
when: agent_goarm is not defined
- name: Build agent binary for linux/{{ agent_goarch | default('arm64') }} (with GOARM)
ansible.builtin.command:
cmd: go build -o {{ role_path }}/files/morz-agent ./cmd/agent
chdir: "{{ playbook_dir }}/../player/agent"
environment:
GOOS: linux
GOARCH: "{{ agent_goarch }}"
GOARM: "{{ agent_goarm }}"
delegate_to: localhost
changed_when: true
notify: Restart morz-agent
when: agent_goarm is defined
- name: Ensure signage user exists
ansible.builtin.user:
name: "{{ signage_user }}"
create_home: true
state: present
become: true
- name: Install screenshot tools for morz-agent
ansible.builtin.apt:
name:
- scrot
- imagemagick
- x11-apps
state: present
become: true
- name: Ensure config directory exists
ansible.builtin.file:
path: "{{ signage_config_dir }}"
state: directory
owner: root
group: root
mode: "0755"
become: true
- name: Deploy agent config
ansible.builtin.template:
src: config.json.j2
dest: "{{ signage_config_dir }}/config.json"
owner: root
group: "{{ signage_user }}"
mode: "0640"
become: true
notify: Restart morz-agent
- name: Deploy agent binary
ansible.builtin.copy:
src: morz-agent
dest: "{{ signage_binary_dest }}"
owner: root
group: root
mode: "0755"
become: true
notify: Restart morz-agent
- name: Deploy systemd unit
ansible.builtin.template:
src: morz-agent.service.j2
dest: /etc/systemd/system/morz-agent.service
owner: root
group: root
mode: "0644"
become: true
notify:
- Reload systemd
- Restart morz-agent
- name: Ensure journald drop-in directory exists
ansible.builtin.file:
path: /etc/systemd/journald.conf.d
state: directory
owner: root
group: root
mode: "0755"
become: true
- name: Configure journald volatile storage (RAM only, schont SD-Karte)
ansible.builtin.copy:
dest: /etc/systemd/journald.conf.d/morz-volatile.conf
content: |
[Journal]
Storage=volatile
RuntimeMaxUse=20M
owner: root
group: root
mode: "0644"
become: true
notify: Restart journald
- name: Enable and start morz-agent
ansible.builtin.systemd:
name: morz-agent
enabled: true
state: started
daemon_reload: false
become: true