Extend hero_proc-secret-store config to sibling compute binaries #129

Open
opened 2026-05-26 02:38:06 +00:00 by mik-tf · 0 comments
Owner

Following hero_compute#127 closure at 32a2e2e, my_compute_zos_server now sources its config from the hero_proc secret store via hero_proc_sdk::secret_get per the canonical hero_proc_secrets_and_meta skill rule.

The same pattern needs to be applied to the four sibling binaries that still call the legacy hero_compute_sdk::load_env() helper:

  • crates/my_compute_mos_server/src/main.rs:51
  • crates/my_compute_explorer_server/src/main.rs:49
  • crates/my_compute_explorer_admin/src/server.rs:148
  • crates/my_compute_zos_admin/src/server.rs:60 (calls load_env from rpc_client::load_env at rpc_client.rs:78)

Each binary needs:

  1. Add an async Config::from_hero_proc() or equivalent method that calls secret_get for every user-configurable value in the core context.
  2. Replace the load_env() + Config::from_env() startup pair with the new async entry point.
  3. Drop the local load_env callers; keep Config::from_env() only as a unit-test helper where it exists.

Once all five binaries are migrated, crates/hero_compute_sdk/src/lib.rs::load_env() and crates/my_compute_zos_server/src/util.rs legacy helpers can be deleted and the ~/hero/var/.env file convention retired.

Fixed infrastructure paths (socket directories, HERO_PROC_SOCKET override) remain read from OS env because they are set by the process launcher, not user-level config (per the skill's exception clause).

Following [`hero_compute#127`](https://forge.ourworld.tf/lhumina_code/hero_compute/issues/127) closure at [`32a2e2e`](https://forge.ourworld.tf/lhumina_code/hero_compute/commit/32a2e2e), `my_compute_zos_server` now sources its config from the hero_proc secret store via `hero_proc_sdk::secret_get` per the canonical `hero_proc_secrets_and_meta` skill rule. The same pattern needs to be applied to the four sibling binaries that still call the legacy `hero_compute_sdk::load_env()` helper: - `crates/my_compute_mos_server/src/main.rs:51` - `crates/my_compute_explorer_server/src/main.rs:49` - `crates/my_compute_explorer_admin/src/server.rs:148` - `crates/my_compute_zos_admin/src/server.rs:60` (calls `load_env` from `rpc_client::load_env` at `rpc_client.rs:78`) Each binary needs: 1. Add an async `Config::from_hero_proc()` or equivalent method that calls `secret_get` for every user-configurable value in the core context. 2. Replace the `load_env()` + `Config::from_env()` startup pair with the new async entry point. 3. Drop the local `load_env` callers; keep `Config::from_env()` only as a unit-test helper where it exists. Once all five binaries are migrated, `crates/hero_compute_sdk/src/lib.rs::load_env()` and `crates/my_compute_zos_server/src/util.rs` legacy helpers can be deleted and the `~/hero/var/.env` file convention retired. Fixed infrastructure paths (socket directories, `HERO_PROC_SOCKET` override) remain read from OS env because they are set by the process launcher, not user-level config (per the skill's exception clause).
Sign in to join this conversation.
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/hero_compute#129
No description provided.