- Rust 100%
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| linker.ld | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
named
named is the service discovery registry daemon for EriX.
It provides a deterministic registry for early system services using a boot-seeded, sealed policy model.
Status
- Service discovery is fully implemented.
- Integrated with
rootdorchestration. - Validated by integration scenarios covering:
- Registry registration
- Service lookup
- Concurrent access patterns
- Error conditions when service is unavailable
Registry model
The registry lifecycle is intentionally constrained:
SEED_ENTRY(rootd seeds expected core tuples)SEAL(seed set frozen)REGISTER(services activate only if exact seeded tuple matches)LOOKUP(returns active entries only)
Deterministic failure behavior is returned via IPC result codes (DENIED,
NOT_FOUND, INVALID_ARGUMENT, BUSY) without panic as control flow.
Startup log behavior is best-effort and deferred:
namedemits itslogdstartup record only after registry seal and once bothlogdandprocdare active.- this prevents startup-cycle deadlocks while preserving deterministic lookup behavior.
Security model
The service uses boot trust as root of authority.
Because kernel IPC sender identity is not yet exposed to receivers, named
accepts activation only for pre-seeded entries after sealing.
Build and test
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
Dependencies
lib-bootstraplib-capabilib-ipcipc-syscall-x86_64
No third-party crates are used.
Documentation
For phase structure context, see docs/phases/1.md.
Build and Test Modes
This repository supports additive runtime and integration feature gates.
*-runtimeand*-runtime-phase*features select production bootstrap/runtime behavior.*-integration-smokeremains available for synthetic end-to-end validation paths.*-integration-force-failremains test-only and MUST NOT be enabled for runtime appliance builds.
Compatibility aliases are kept so existing scenario feature names continue to compile while the runtime naming becomes canonical.