Skip to content

Feat/mip001 pool config - #84

Closed
jayrmotta wants to merge 2 commits into
256foundation:mainfrom
jayrmotta:feat/mip001-pool-config
Closed

Feat/mip001 pool config#84
jayrmotta wants to merge 2 commits into
256foundation:mainfrom
jayrmotta:feat/mip001-pool-config

Conversation

@jayrmotta

Copy link
Copy Markdown
Contributor

No description provided.

Phase 1 of the MIP-0001 incremental rollout, scoped to pool config as
the pilot feature: the dead, all-unimplemented Config stub is replaced
with a real tree populated from the MUJINA_POOL_* environment
variables that the daemon already read ad hoc. No cascade, no config
files, no persistence yet -- those land in later increments.

PoolConfig deliberately has no Serialize impl, since it carries a
plaintext password; API exposure comes in a follow-up commit via a
redacted view type. Debug is hand-implemented for the same reason --
the derived version would print the password. password_set tracks
whether MUJINA_POOL_PASS was explicitly provided, since password
itself always has a value (falling back to a placeholder).
Phase 2 of the MIP-0001 incremental rollout: mirrors the existing
/miner state-tree endpoint, but for configuration. Returns a redacted
PoolConfig view (password_set: bool) instead of the raw config type,
via an explicit From impl rather than ad hoc handler code, so the
pool password can never be echoed back over the API.

pool_config is shared as Arc<Option<PoolConfig>> rather than owned
data in SharedState, since SharedState is cloned on every request --
an owned password-bearing value there would mean copying the
plaintext password out of shared state on every single API call, not
just /config.

Writable fields and additional tree sections arrive in later
increments.
@jayrmotta jayrmotta closed this Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant