Migrate remaining services to HeroRpcServer lifecycle CLI pattern #52

Closed
opened 2026-03-19 21:44:25 +00:00 by mik-tf · 1 comment
Owner

Context

Part of the hero_proc migration (#50). hero_services now uses hero_proc_sdk instead of zinit_sdk, and the Docker deployment works with hero_proc_server as the process manager.

Problem

5 service binaries still use the old CLI pattern (no subcommands, direct [OPTIONS]). They need migration to the new HeroRpcServer/HeroUiServer pattern from hero_rpc, which provides lifecycle subcommands: serve, start, stop, status, logs, etc.

Services needing migration

Service Repo Issue
hero_auth_server hero_auth Old CLI, no serve subcommand
hero_foundry_server hero_foundry Old CLI with --bind flags
hero_osis_server/ui hero_osis Old CLI, no subcommands
hero_proxy_ui hero_proxy Old CLI, no subcommands
hero_indexer_ui hero_indexer_ui Old CLI, no subcommands

Investigation needed

Kristof development_kristof merge may have lost migration work for these services (similar to video/OTOML loss in hero_osis). Check git history in each repo for any HeroRpcServer migration that was reverted.

Why it matters

  • Without serve subcommand, service TOMLs need service-specific exec lines
  • Without --start, services cannot self-register with hero_proc (Phase 2 of #50)
  • Inconsistent CLI patterns make orchestration fragile

References

  • #50 hero_proc plan
  • #38 master roadmap
  • #49 Docker deployment fix

Signed-off-by: mik-tf

## Context Part of the hero_proc migration (#50). hero_services now uses hero_proc_sdk instead of zinit_sdk, and the Docker deployment works with hero_proc_server as the process manager. ## Problem 5 service binaries still use the old CLI pattern (no subcommands, direct [OPTIONS]). They need migration to the new HeroRpcServer/HeroUiServer pattern from hero_rpc, which provides lifecycle subcommands: serve, start, stop, status, logs, etc. ### Services needing migration | Service | Repo | Issue | |---------|------|-------| | hero_auth_server | hero_auth | Old CLI, no serve subcommand | | hero_foundry_server | hero_foundry | Old CLI with --bind flags | | hero_osis_server/ui | hero_osis | Old CLI, no subcommands | | hero_proxy_ui | hero_proxy | Old CLI, no subcommands | | hero_indexer_ui | hero_indexer_ui | Old CLI, no subcommands | ### Investigation needed Kristof development_kristof merge may have lost migration work for these services (similar to video/OTOML loss in hero_osis). Check git history in each repo for any HeroRpcServer migration that was reverted. ### Why it matters - Without serve subcommand, service TOMLs need service-specific exec lines - Without --start, services cannot self-register with hero_proc (Phase 2 of #50) - Inconsistent CLI patterns make orchestration fragile ### References - #50 hero_proc plan - #38 master roadmap - #49 Docker deployment fix Signed-off-by: mik-tf
Author
Owner

Done — all 5 services migrated to HeroRpcServer CLI pattern

All services now accept serve subcommand + lifecycle commands (run, start, stop, status, logs).

Service Pattern Commit
hero_auth_server HeroUiServer::run() hero_auth@4220f7f
hero_foundry_server HeroServer::run_raw() hero_foundry@9aeeccc
hero_osis_server HeroServer::run_raw() hero_osis@44653b7
hero_osis_ui HeroUiServer::run_simple() hero_osis@44653b7
hero_proxy_ui HeroServer::run_raw() hero_proxy@9ad8f2d
hero_indexer_ui HeroUiServer::run_simple() hero_indexer_ui@3cd085a

Service TOMLs updated: hero_services@de92654

Build verified: SKIP_WASM=1 make dist passes, all binaries accept serve subcommand.

## Done — all 5 services migrated to HeroRpcServer CLI pattern All services now accept `serve` subcommand + lifecycle commands (run, start, stop, status, logs). | Service | Pattern | Commit | |---------|---------|--------| | hero_auth_server | HeroUiServer::run() | hero_auth@4220f7f | | hero_foundry_server | HeroServer::run_raw() | hero_foundry@9aeeccc | | hero_osis_server | HeroServer::run_raw() | hero_osis@44653b7 | | hero_osis_ui | HeroUiServer::run_simple() | hero_osis@44653b7 | | hero_proxy_ui | HeroServer::run_raw() | hero_proxy@9ad8f2d | | hero_indexer_ui | HeroUiServer::run_simple() | hero_indexer_ui@3cd085a | Service TOMLs updated: hero_services@de92654 Build verified: `SKIP_WASM=1 make dist` passes, all binaries accept `serve` subcommand.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/home#52
No description provided.