You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Docker/Podman-install awareness - honest service messaging, --mycroft-conf override
Investigated how this tool behaves on a Docker/Podman-based OVOS
install (ovos-installer's "containers" method, or ovos-docker
directly) - researched ovos-docker's own documentation and compose
files, then confirmed the service-detection piece empirically against
a real locally-run podman container (not just inferred from docs).
Two confirmed, real gaps addressed:
1. Services: systemctl --user genuinely has nothing to find on a
Docker/Podman install - OVOS runs as containers, not systemd units,
in that mode. Previously this just showed a bare "Services: none
found", indistinguishable from an actual problem. Added
detect_container_runtime() (tries `docker ps` then `podman ps`,
looking for OVOS/hivemind-named containers) - when systemd finds
nothing but this does, the boot sequence now says so explicitly and
lists the containers, rather than a silent, unexplained empty
result. Does NOT attempt container start/stop/restart - that's
separate, larger work (different commands, different confirmation
semantics, potentially needing the Docker/Podman socket mounted)
tracked as its own follow-up rather than bolted on here.
2. Pipeline: confirmed via ovos-docker's own compose files
(volumes: ${CONFIG_FOLDER}:/home/${OVOS_USER}/.config/mycroft) that
the real, live mycroft.conf commonly lives at a host path like
~/ovos/config/mycroft.conf (configurable per-install), not the
standard ~/.config/mycroft/mycroft.conf ovos-config's own XDG-based
lookup checks by default on the host. Since ovos-tui-client runs on
the host, not inside the same containers, it had no way to find the
right file. Added --mycroft-conf to point at a specific file
directly (bypassing ovos-config's lookup for that one file read),
using the same load_commented_json() helper ovos-config itself uses
internally so real mycroft.conf files' JSON5-style '//' comments
don't break it.
Logs were also investigated but NOT changed: ~/.local/state/mycroft
(already this tool's first candidate) matches both ovos-docker's
common volume-mount convention and the official ovos-logs tool's own
assumption, so this likely already works - genuinely unconfirmed
without a full running Docker OVOS stack though (a much heavier setup
than the lightweight container-naming test used for the services
piece), tracked as a follow-up rather than assumed correct.
192 tests passing (11 new, including detect_container_runtime tested
against a mocked subprocess AND confirmed once against a real local
podman container during development, and --mycroft-conf tested against
a real file with genuine JSON5 comments); verified sdist->wheel build.
Not tagging yet - commit+push freely, tag once we're both happy.
parser.add_argument("--mycroft-conf", default=None, help="path to a specific mycroft.conf to read for 'Pipeline: ' (bypasses ovos-config's own XDG-based lookup - needed on Docker/Podman installs, where the real config commonly lives at a host path like ~/ovos/config/mycroft.conf rather than the standard ~/.config/mycroft/mycroft.conf ovos-config looks for by default)")
0 commit comments