Files
claude-botandClaude Opus 4.8 33283754ba feat(shelly-manager): ServiceAccount + RBAC for ESPHome firmware pipeline
shelly-manager will build+flash BLE proxies by spawning short-lived
esphome Jobs (on the shelly-manager-iot macvlan → mDNS → OTA:3232) and
streaming their logs. Give it a namespace-scoped identity to do so:

- ServiceAccount shelly-manager + Role shelly-manager-firmware
  (jobs: create/get/list/watch/delete; pods: get/list/watch;
   pods/log: get) + RoleBinding. No cluster-wide, secret, or exec rights.
- Wire serviceAccountName into the Deployment.
- Sync esphome/shelly-ble-proxy.yaml logger to the lean level already
  OTA'd to the device (esp32_ble_client DEBUG, not VERBOSE) so the PVC
  stops filling; VERBOSE is now an on-demand diagnostic via the pipeline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 11:54:04 +02:00
..

ESPHome device configs

Source-of-truth YAML for ESPHome devices in the homelab. These are built and flashed through the ESPHome Device Builder running in-cluster at https://esphome.home.renner.uno (see kubernetes/apps/home-assistant/esphome-* and the esphome-gate Authentik blueprint).

The dashboard reads configs from its own /config on the esphome-data PVC — it does not sync from git. So the flow is: edit here → paste/copy into the dashboard → compile + flash. Keep the two in sync manually; git is the reviewed, backed-up copy.

Devices

File Device Role
shelly-ble-proxy.yaml M5 Atom Echo (ESP32-PICO) Dedicated Bluetooth proxy that lends its BLE radio to shelly-manager's ble-agent for provisioning WiFi-less Shellys over mOS RPC-over-BLE.

Secrets

The dashboard's secrets.yaml (on the PVC — not in git) must define:

iot_wifi_ssid: "<IoT SSID>"
iot_wifi_password: "<...>"
# 32-byte base64 — dashboard "Generate", or: openssl rand -base64 32
# This value is the handoff to the ble-agent (its BLE_PROXY_NOISE_PSK).
shelly_ble_proxy_api_key: "<...>"

Flashing

USB only — the config has no OTA and no recovery AP by design. Flash (and any later update or WiFi-recovery) is browser-side over USB (ESP Web Tools / Web Serial, Chrome/Edge): plug the Atom Echo into your computer, open the dashboard, Install → Plug into this computer.