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>
2.4 KiB
2.4 KiB
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.serviceandflowercore-divoom-bt.serviceuntouched: 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
- Land these artifacts in bluejay-infra as the deploy contract.
- Vendor the Puppet profile and EPP templates into
FlowerCore.Puppet. - Merge the Hiera overlay into
data/nodes/edge2.iamworkin.lan.yaml. - Run Puppet in noop first, preferably with a node-local validation directory
under
~/.fcvrather than/tmp. - Only enable the DM Agent service after the DeviceManagement BT executor has landed and passed operator-eyeball render proof.