named is the service discovery registry daemon for EriX.
Find a file
Erik Inkinen 7f7e120871
All checks were successful
CI / test (push) Successful in 5s
CI / security (push) Successful in 1m30s
CI / minimal-versions (push) Successful in 11s
named: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:56 +02:00
.github Refactor milestone terminology to "Component Milestone Tracking" across documentation for clarity and consistency 2026-03-05 11:57:08 +02:00
src named: remove dead logging split leftovers 2026-03-23 10:18:15 +02:00
.editorconfig Initial commit 2026-03-04 14:09:08 +01:00
.gitignore Initial commit 2026-03-04 14:09:08 +01:00
ARCHITECTURE.md phase3-framebuffer: defer named startup logging until dependencies active 2026-03-11 11:01:07 +02:00
Cargo.toml runtime-mode: migrate feature gates and document mode model 2026-03-11 08:04:59 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-04 14:09:08 +01:00
CONTRIBUTING.md Refactor milestone terminology to "Component Milestone Tracking" across documentation for clarity and consistency 2026-03-05 11:57:08 +02:00
LICENSE Initial commit 2026-03-04 14:09:08 +01:00
linker.ld Add initial implementation of the named service with configuration and entry point 2026-03-04 17:58:33 +02:00
README.md phase3-framebuffer: defer named startup logging until dependencies active 2026-03-11 11:01:07 +02:00
ROADMAP.md phase3-framebuffer: defer named startup logging until dependencies active 2026-03-11 11:01:07 +02:00
rustfmt.toml named: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:56 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:14 +02:00

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 rootd orchestration.
  • 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:

  1. SEED_ENTRY (rootd seeds expected core tuples)
  2. SEAL (seed set frozen)
  3. REGISTER (services activate only if exact seeded tuple matches)
  4. 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:

  • named emits its logd startup record only after registry seal and once both logd and procd are 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-bootstrap
  • lib-capabi
  • lib-ipc
  • ipc-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.

  • *-runtime and *-runtime-phase* features select production bootstrap/runtime behavior.
  • *-integration-smoke remains available for synthetic end-to-end validation paths.
  • *-integration-force-fail remains 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.