homelab-codex-ws/services/home-assistant/instances.yaml
oskar ee48319a86 feat(ha): skeleton for Home Assistant configs-as-code subproject
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>
2026-07-21 15:29:39 +02:00

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