Structure only, no deploy path: DESIGN.md decision registry (phasing, per-instance adapter, bidirectional sync with drift-abort on deploy, reload-vs-restart gating, token handling), instances.yaml (ken/piha via docker-exec, chelsty-ha via api), config/storage-export/fixtures dirs, and a read-only scripts/ha/import.sh (docker-exec adapter only) with a canonical YAML normalize+split library and an offline determinism test. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
36 lines
1.4 KiB
YAML
36 lines
1.4 KiB
YAML
# Home Assistant instances managed as config-as-code.
|
|
# Schema and adapter rationale: see DESIGN.md ("Deploy path: adapter per instance").
|
|
# This file is read by scripts/ha/import.sh — do not add secrets/tokens here,
|
|
# only the path to where each instance's token is expected on disk.
|
|
|
|
instances:
|
|
ken:
|
|
host: piha
|
|
container: homeassistant5
|
|
config_mount: /home/pi/homeassistant/config
|
|
adapter: docker-exec
|
|
ssh:
|
|
user: oskar
|
|
host: piha
|
|
token_path: ~/.config/ha-deploy/ken.token
|
|
# TODO: verify actual container port mapping via `docker inspect homeassistant5`
|
|
# on piha (not runnable from this worktree — no SSH access here). Known so far
|
|
# from docs/infra/inventory-2026-06-30.md + inventory/topology.yaml:
|
|
# - ha-diag-agent on piha targets http://localhost:8123 (container reachable
|
|
# on piha's own loopback, so likely host networking or 8123:8123 published)
|
|
# - NPM ingress ha.kapala.org -> 192.168.31.7:8123 (piha's LAN IP), per
|
|
# inventory/topology.yaml services.home_assistant
|
|
# Until confirmed with `docker inspect`, treat this as unverified.
|
|
base_url: "http://localhost:8123" # TODO: confirm via docker inspect on piha
|
|
status: active
|
|
site: ken
|
|
|
|
chelsty-ha:
|
|
host: chelsty-ha
|
|
tailscale_ip: 100.70.180.90
|
|
adapter: api
|
|
base_url: "http://100.70.180.90:8123"
|
|
token_path: ~/.config/ha-deploy/chelsty-ha.token
|
|
status: offline
|
|
site: chelsty
|