service_drive.nu — hero_drive lifecycle module #157
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_skills#157
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Add
service_drive.nuper the tracker in #75. Module exposesinstall | start [--reset] | stop | statusfor thehero_drivestack.Scope
tools/modules/services/service_drive.nunu_serviceandnu_service_useskills.service_browser.nu(user-level Rust binary).hero_drive.Service-specific notes
hero_drive, but the binaries inside are prefixedhero_filemanager_*:hero_filemanager(main binary, lifecycle manager)hero_filemanager_serverhero_filemanager_uihero_filemanager_sdk(lib)hero_filemanager_rhai(lib)hero_filemanageris the manager — selfstart pattern, registershero_filemanager_server+hero_filemanager_uiwith hero_proc.--root.hero_fossil(WebDAV) and runs self-contained on TCP (8887/3394).hero_fossilviaWEBDAV_URL; binds a Unix socket for hero_proxy routing; validates JWT tokens from hero_auth viaHERO_SECRET.~/hero/var/sockets/hero_drive.sockrather than the per-service-directory layout (~/hero/var/sockets/hero_drive/{rpc,ui}.sock) called for inhero_sockets. Document this inservice_drive.nu's start output but do not widen this issue's scope to fix it — that's a repo-level change tracked separately.hero_fossil(WebDAV server). In ecosystem mode this is provided externally; standalone embeds it. The nu module should not install hero_fossil — pre-existing service.WEBDAV_URL— external WebDAV endpoint (when set, skips embedded hero_fossil)HERO_DRIVE_BIND— typicallyunix:~/hero/var/sockets/hero_drive.sockHERO_SECRET— JWT secret (auth disabled when unset)Acceptance criteria
use services/mod.nu *makesservice_driveavailable.service_drive installclones the repo, runscargo build --release, and copieshero_filemanager,hero_filemanager_server,hero_filemanager_uito~/hero/bin/.service_drive start [--reset]registershero_filemanagerwith hero_proc; the manager selfstarts the server + UI.service_drive statusreports state.service_drive stopcleanly unregisters.startoutput prints sockets / UI URL / a short test plan and explicitly notes the legacy single-file socket location, per thenu_service_useskill.References
nu_service,nu_service_usehero_proc_service_selfstarthero_fossil(WebDAV)Updated scope after research on the actual repo. Critical correction: the binaries inside hero_drive are prefixed
hero_filemanager_*, nothero_drive_*(repo name and binary prefix diverge). Hero_filemanager is the manager (selfstart pattern). User-level service confirmed. Two operating modes documented (standalone embeds hero_fossil; ecosystem talks to external hero_fossil viaWEBDAV_URL). Noted the legacy single-socket-file naming as state-of-the-world but kept it out of scope — that's a repo-level change for a separate issue.