The SML power-meter reader was retired by owner decision on 2026-09-19: grid data comes from the E380 on the CAN bus (wiki sml-to-e380-grid-meter-migration). Its reader has been unplugged since then. - register: edge-1 loses write sml2mqtt/# (live, no broker restart) - bridge templates: no sml2mqtt topic, no legacy sml2mqtt bridge - remove role power-meter-sml, play install-power-meter.yml, inventory group power_meter and the vault indirection - edge-mqtt-bridge play: pre_tasks stop and remove the leftover compose project on edge-1 on the next pipeline run (idempotent) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
1.8 KiB
YAML
42 lines
1.8 KiB
YAML
---
|
|
# Bare-metal Arch edge hosts (Dell Wyse 3040 and similar) — the home for
|
|
# hardware-bound services, because Talos supports neither SocketCAN nor USB
|
|
# passthrough.
|
|
#
|
|
# This play is the BASE only: what every edge thin client gets regardless of
|
|
# what is plugged into it. The peripherals live in their own playbooks against
|
|
# their own inventory groups:
|
|
#
|
|
# plays/install-zwave-gateway.yml [zwave_gateway] ZWA-2 radio
|
|
# plays/install-heating-can.yml [heating_can] Innomaker USB2CAN
|
|
#
|
|
# Splitting the roles without splitting the plays would have kept the coupling:
|
|
# one play applying every role to one group is the monolith again, a layer up.
|
|
# A host with no peripherals is simply absent from those groups -- no flags, no
|
|
# `when:` on the roles.
|
|
#
|
|
# Self-contained: `certificates` and `common` are the parts of plays/common.yml
|
|
# that apply to an edge host, carried here so bootstrapping one is a single
|
|
# unrestricted run over the group. Not carried over: qemu-guest-agent, since
|
|
# these are bare metal rather than VMs. Log shipping is edge-log-shipper's job
|
|
# and lives below — it pushes to the authenticated cluster ingress with a
|
|
# per-host credential, which is the only Loki these hosts can reach.
|
|
#
|
|
# Order is dependency order: edge-flash-wear before docker, so the journal is
|
|
# volatile before containers start logging into it.
|
|
- name: Install Arch edge host (base)
|
|
hosts: edge_host
|
|
# Connection is already root (ansible_user=root), so this is a root-to-root
|
|
# no-op today. Kept explicit, matching plays/common.yml, so the roles below
|
|
# do not silently depend on the connection user staying privileged.
|
|
become: true
|
|
|
|
roles:
|
|
- certificates
|
|
- common
|
|
- edge-flash-wear
|
|
- docker-install
|
|
- edge-log-shipper
|
|
- mqtt-bridge
|
|
- edge-vlan
|