From 50f505b1c5b174724d60c4a00ab2a338b34bda75 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Wed, 27 May 2026 17:03:37 -0400 Subject: [PATCH] chore(bearclaw): point HA bridge at codex appliance vm --- config/packages/README.md | 4 ++-- config/packages/bearclaw.yaml | 4 ++-- config/packages/docker_infrastructure.yaml | 4 +--- config/packages/telegram_bot.yaml | 2 +- config/script/joanna_dispatch.yaml | 2 +- config/script/joanna_send_telegram.yaml | 4 ++-- config/travis_secrets.yaml | 4 ++-- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/config/packages/README.md b/config/packages/README.md index 83937691..c60fd19e 100755 --- a/config/packages/README.md +++ b/config/packages/README.md @@ -47,11 +47,11 @@ Live collection of plug-and-play Home Assistant packages. Each YAML file in this | [logbook_activity_feed.yaml](logbook_activity_feed.yaml) | Dummy `sensor.activity_feed` + helper to write clean Activity entries (Issue #1550). | `sensor.activity_feed`, `script.send_to_logbook` | | [mariadb_monitoring.yaml](mariadb_monitoring.yaml) | MariaDB health sensors and Lovelace dashboard snippet for recorder stats. | `sensor.mariadb_status`, `sensor.database_size` | | [llmvision.yaml](llmvision.yaml) | Vision-backed garage-can and front-door package checks with rate-limited, downscaled OpenAI calls for package detection. | `input_button.llmvision_*`, `binary_sensor.front_door_packages_present`, `llmvision.stream_analyzer` | -| [docker_infrastructure.yaml](docker_infrastructure.yaml) | Docker host patching telemetry, container/stack Repairs automation, 20-minute Joanna escalation for persistent container outages using stable configured monitor membership, and weekly scheduled prune actions across docker_10/14/17/69. | `sensor.docker_*_apt_status`, `binary_sensor.*_stack_status`, `sensor.docker_stacks_down_count`, `repairs.create`, `script.joanna_dispatch` | +| [docker_infrastructure.yaml](docker_infrastructure.yaml) | Docker host patching telemetry, container/stack Repairs automation, 20-minute Joanna escalation for persistent container outages using stable configured monitor membership, and weekly scheduled prune actions across docker_10/14/17/69; the dedicated codex_appliance VM is monitored through BearClaw status telemetry. | `sensor.docker_*_apt_status`, `binary_sensor.*_stack_status`, `sensor.docker_stacks_down_count`, `repairs.create`, `script.joanna_dispatch` | | [proxmox.yaml](proxmox.yaml) | Proxmox runtime and disk pressure monitoring with Repairs + Joanna dispatch for sustained node degradations, plus nightly Frigate reboot. | `binary_sensor.proxmox*_runtime_healthy`, `sensor.proxmox*_disk_used_percentage`, `repairs.create`, `script.joanna_dispatch`, `button.qemu_docker2_101_reboot` | | [synology_dsm.yaml](synology_dsm.yaml) | Synology DSM integration health normalization for Carlo-NAS01 and Carlo-NVR, with outage-aware Joanna-first handling for lone post-outage volume warnings and Repairs escalation for persistent or non-outage problems. | `binary_sensor.carlo_*_synology_problem`, `sensor.carlo_*_synology_problem_summary`, `binary_sensor.powerwall_grid_status`, `repairs.create`, `script.joanna_dispatch` | | [infrastructure.yaml](infrastructure.yaml) | Normalized WAN/DNS/backup/domain/cert health, Nebula Sync primary/backup Pi-hole consistency monitoring with Joanna dispatch, Glances-backed Docker host disk pressure with Joanna-only warning cleanup and critical Repairs, and website uptime/latency SLO signals for Infrastructure dashboards, plus nightly backup verification and monthly Joanna HA log hygiene review with GitHub issue follow-up. | `sensor.infra_nebula_sync_dns_consistency`, `binary_sensor.infra_nebula_sync_degraded`, `sensor.docker_*_disk_used_percentage`, `automation.infra_nebula_sync_health_dispatch`, `automation.docker_host_disk_pressure_monitor`, `binary_sensor.infra_website_uptime_slo_breach`, `binary_sensor.infra_website_latency_degraded`, `automation.infra_backup_nightly_verification`, `script.joanna_dispatch` | -| [onenote_indexer.yaml](onenote_indexer.yaml) | OneNote indexer health/status monitoring for Joanna, explicit index-health confirmation, failure-repair automation, and a daily duplicate-delete maintenance request. | `sensor.onenote_indexer_last_job_status`, `binary_sensor.onenote_indexer_last_job_successful`, `binary_sensor.onenote_indexer_index_healthy` | +| [onenote_indexer.yaml](onenote_indexer.yaml) | Dedicated-appliance OneNote indexer health/status monitoring for Joanna, explicit index-health confirmation, failure-repair automation, and a daily duplicate-delete maintenance request. | `sensor.onenote_indexer_last_job_status`, `binary_sensor.onenote_indexer_last_job_successful`, `binary_sensor.onenote_indexer_index_healthy` | | [mqtt_status.yaml](mqtt_status.yaml) | Command-line MQTT broker reachability probe with Spook Repairs escalation and Joanna troubleshooting dispatch on outage. | `binary_sensor.mqtt_status_raw`, `binary_sensor.mqtt_broker_problem`, `repairs.create`, `rest_command.bearclaw_command` | | [mariadb.yaml](mariadb.yaml) | MariaDB recorder health and capacity snapshots with hourly live metrics, weekly admin/recorder polling, and stats-ready numeric sensors. | `sensor.mariadb_status`, `sensor.database_size` | | [processmonitor.yaml](processmonitor.yaml) | Root filesystem disk-pressure monitoring with immediate digest/logbook notes at 80%, Joanna review after 10 minutes above 80%, and delayed phone alerts only if the issue stays unresolved after dispatch. | `sensor.disk_use_percent`, `repairs.create`, `script.joanna_dispatch`, `tts.clear_cache` | diff --git a/config/packages/bearclaw.yaml b/config/packages/bearclaw.yaml index 237ff4c8..1a277780 100644 --- a/config/packages/bearclaw.yaml +++ b/config/packages/bearclaw.yaml @@ -6,8 +6,8 @@ # BearClaw Integration - Home Assistant dispatch + lifecycle callbacks # Home Assistant dispatches jobs to codex_appliance and receives structured lifecycle callbacks. # ------------------------------------------------------------------- -# Notes: Telegram ingress now lives directly in docker_17/codex_appliance. -# Notes: Most BearClaw decision logic runs in docker_17/codex_appliance (server.js). +# Notes: Telegram ingress now lives directly in the dedicated codex_appliance VM. +# Notes: Most BearClaw decision logic runs in codex_appliance/server.js. # Notes: GitHub capture behavior (issue creation/labels/research flow) belongs in codex_appliance, not HA YAML. # Notes: Shared script helper `script.joanna_dispatch` lives in config/script/joanna_dispatch.yaml. # Notes: The callback webhook writes JOANNA activity entries to logbook for traceability and optional HA alerts. diff --git a/config/packages/docker_infrastructure.yaml b/config/packages/docker_infrastructure.yaml index 02caf6a4..6f90576f 100644 --- a/config/packages/docker_infrastructure.yaml +++ b/config/packages/docker_infrastructure.yaml @@ -19,6 +19,7 @@ # Notes: Teslamate and crystalsoftwashsolutions are live services and should remain in the monitored group when their discovery switches are present. # Notes: Treat telemetry reconnects from unavailable/unknown to a concrete stopped state as actionable outages. # Notes: Infra Info was removed; BearClaw Admin is the planning snapshot surface. +# Notes: codex_appliance moved to a dedicated VM; monitor it through BearClaw status telemetry instead of old docker_17 container switches. ###################################################################### input_datetime: @@ -82,8 +83,6 @@ switch: - switch.cloudflared_kch_container_2 - switch.cloudflared_wp_container - switch.cloudflared_wp_container_2 - - switch.codex_appliance_container - - switch.codex_appliance_container_2 - switch.college_budget_app_container - switch.college_budget_app_container_2 - switch.cruise_tracker_container @@ -97,7 +96,6 @@ switch: - switch.dozzle_agent_10_container_2 - switch.dozzle_agent_14_container - switch.dozzle_agent_14_container_2 - - switch.39394ec38d4c_dozzle_container - switch.7cf71db3325d_dozzle_agent_17_container - switch.dozzle_agent_69_container - switch.dozzle_agent_69_container_2 diff --git a/config/packages/telegram_bot.yaml b/config/packages/telegram_bot.yaml index 5960038c..421cc045 100644 --- a/config/packages/telegram_bot.yaml +++ b/config/packages/telegram_bot.yaml @@ -9,7 +9,7 @@ # Notes: Do not add `telegram_bot:` YAML here. # Notes: Shared helper `script.joanna_send_telegram` lives in config/script/joanna_send_telegram.yaml. # Notes: Joanna transport defaults to plain_text, but can opt into HTML when the appliance provides a vetted rich message. -# Notes: Keep Skills logic in docker_17/codex_appliance; HA no longer owns Telegram polling for BearClaw. +# Notes: Keep Skills logic in codex_appliance/server.js; HA no longer owns Telegram polling for BearClaw. ###################################################################### {} diff --git a/config/script/joanna_dispatch.yaml b/config/script/joanna_dispatch.yaml index eccc7028..2eadd2d6 100644 --- a/config/script/joanna_dispatch.yaml +++ b/config/script/joanna_dispatch.yaml @@ -10,7 +10,7 @@ # Notes: Source defaults to home_assistant_automation.unknown when omitted. # Notes: Automation dispatches are async_only by default so HA calls return quickly while BearClaw works in queue. # Notes: Automation dispatches default to domain_hint=ops and lane_hint=joanna.ops. -# Notes: HA is a dispatcher/integration here; Telegram transport ownership lives in docker_17/codex_appliance. +# Notes: HA is a dispatcher/integration here; Telegram transport ownership lives in the dedicated codex_appliance VM. ###################################################################### joanna_dispatch: diff --git a/config/script/joanna_send_telegram.yaml b/config/script/joanna_send_telegram.yaml index fe8d0707..e3e741af 100644 --- a/config/script/joanna_send_telegram.yaml +++ b/config/script/joanna_send_telegram.yaml @@ -7,8 +7,8 @@ # Chunks long messages and sends them through BearClaw's direct Telegram transport. # ------------------------------------------------------------------- # Notes: Shared helper moved out of packages so cross-file callers resolve from config/script. -# Notes: Primary BearClaw Telegram ingress/delivery now lives directly in docker_17/codex_appliance. -# Notes: Keep Joanna/BearClaw decision logic in docker_17/codex_appliance; this script is HA-side delivery fallback only. +# Notes: Primary BearClaw Telegram ingress/delivery now lives directly in the dedicated codex_appliance VM. +# Notes: Keep Joanna/BearClaw decision logic in codex_appliance/server.js; this script is HA-side delivery fallback only. ###################################################################### joanna_send_telegram: diff --git a/config/travis_secrets.yaml b/config/travis_secrets.yaml index 1ce34a16..cda15ca3 100755 --- a/config/travis_secrets.yaml +++ b/config/travis_secrets.yaml @@ -95,5 +95,5 @@ wolframalpha_chanukkah_api: https://api.wolframalpha.com/v2/result?appid=JIUY8U- wolframalpha_labor_api: https://api.wolframalpha.com/v2/result?appid=JIUY8U-4V8KY45VT1&i=How%20many%20days%20until%labor%20day wolframalpha_memorial_api: https://api.wolframalpha.com/v2/result?appid=JIUY8U-4V8KY45VT1&i=How%20many%20days%20until%20memorial wolframalpha_thanksgiving_api: https://api.wolframalpha.com/v2/result?appid=JIUY8U-4V8KY45VT1&i=How%20many%20days%20until%20thanksgiving -bearclaw_status_url: http://docker17.local:8124/api/bearclaw/status -bearclaw_duplicati_verify_url: http://docker17.local:8124/api/admin/actions/duplicati-verify +bearclaw_status_url: http://192.168.10.13:8124/api/bearclaw/status +bearclaw_duplicati_verify_url: http://192.168.10.13:8124/api/admin/actions/duplicati-verify