Files
Andrew Stoltz 5bdedfc5ae divoom: add pi deploy artifact manifests
Add source-controlled Puppet/Hiera contracts for edge2 Divoom-as-DM-device without replacing the live flowercore-divoom systemd deployment.

Add Divoom TV Pi HDMI systemd/Puppet deployment artifacts, LF shell-script guardrails, and focused lint coverage for the additive non-K8s deploy shape.

Co-Authored-By: Codex <codex@openai.com>
2026-06-02 21:45:27 -05:00
..

FlowerCore Divoom DM Pi Device

Source-controlled Puppet/Hiera deployment contract for registering the edge2 Divoom MiniToo panel as a FlowerCore DeviceManagement-managed Pi device.

This is not a Kubernetes application. The live panel remains the existing edge2 flowercore-divoom.service managed by FlowerCore.Puppet profile::pi::service::divoom, with the .NET payload deployed out of band and /opt/flowercore/divoom/data plus the Bluetooth shell wrappers preserved. Because edge2 is already Hiera-driven through profile::pi::service::apps, the deploy home is additive profile::pi::service data/profile source, not profile::edge::service::apps and not an ArgoCD/K8s app.

Scope

  • Stage DeviceManagement registration metadata for the edge2 Divoom MiniToo.
  • Stage a separate, disabled-by-default DM Agent executor unit for privileged Bluetooth operations once the DM-RPC lane lands.
  • Keep flowercore-divoom.service and flowercore-divoom-bt.service untouched: no service replacement, no restart subscription, no K8s surface.
  • Preserve the current wrapper contract: /opt/flowercore/divoom/bt-link.sh, /opt/flowercore/divoom/bt-reset.sh, and /opt/flowercore/divoom/audio-link.sh.
  • Keep FM radio disabled and require visible render proof; device-info echo is not render proof.

Artifact Map

Path Use
hiera/edge2-divoom-dm-device.overlay.yaml Additive Hiera overlay for edge2. Merge into the existing node YAML without removing fc-pimanager or fc-divoom.
puppet/profile/pi/service/divoom_dm_device.pp Puppet profile shape to vendor into FlowerCore.Puppet after the DM-RPC executor binary exists.
puppet/templates/divoom-device-registration.json.epp DM device registration metadata rendered on edge2.
puppet/templates/flowercore-divoom-dm-agent.service.epp Separate DM Agent systemd unit. Defaults are stopped and disabled until a later cutover.

Rollout Notes

  1. Land these artifacts in bluejay-infra as the deploy contract.
  2. Vendor the Puppet profile and EPP templates into FlowerCore.Puppet.
  3. Merge the Hiera overlay into data/nodes/edge2.iamworkin.lan.yaml.
  4. Run Puppet in noop first, preferably with a node-local validation directory under ~/.fcv rather than /tmp.
  5. Only enable the DM Agent service after the DeviceManagement BT executor has landed and passed operator-eyeball render proof.