lib-service is the service-discovery client helper crate for EriX.
Find a file
Erik Inkinen 5e3817e2e8
All checks were successful
CI / test (push) Successful in 5s
CI / security (push) Successful in 1m27s
CI / minimal-versions (push) Successful in 11s
lib-service: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:55 +02:00
.github Refactor documentation to standardize terminology from "Milestone Alignment" to "Component Milestone Tracking" across issue and pull request templates, contributing guidelines, and roadmap, enhancing clarity and consistency. 2026-03-05 11:54:57 +02:00
src phase3-input: add canonical service names for input stack 2026-03-11 12:01:05 +02:00
.editorconfig Initial commit 2026-03-04 14:09:30 +01:00
.gitignore Initial commit 2026-03-04 14:09:30 +01:00
ARCHITECTURE.md Refactor architecture and documentation for lib-service, enhancing clarity on scope, responsibilities, and API details 2026-03-04 19:35:49 +02:00
Cargo.toml Add initial implementation of service discovery client helpers 2026-03-04 17:55:50 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-04 14:09:30 +01:00
CONTRIBUTING.md Refactor documentation to standardize terminology from "Milestone Alignment" to "Component Milestone Tracking" across issue and pull request templates, contributing guidelines, and roadmap, enhancing clarity and consistency. 2026-03-05 11:54:57 +02:00
LICENSE Initial commit 2026-03-04 14:09:30 +01:00
README.md Refactor documentation to standardize terminology from "Milestone Alignment" to "Component Milestone Tracking" across issue and pull request templates, contributing guidelines, and roadmap, enhancing clarity and consistency. 2026-03-05 11:54:57 +02:00
ROADMAP.md Refactor documentation to standardize terminology from "Milestone Alignment" to "Component Milestone Tracking" across issue and pull request templates, contributing guidelines, and roadmap, enhancing clarity and consistency. 2026-03-05 11:54:57 +02:00
rustfmt.toml lib-service: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:55 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:13 +02:00

lib-service

lib-service is the service-discovery client helper crate for EriX.

It provides a minimal no_std API for services to talk to named using stable lib-ipc wire formats.


Status

  • Service discovery is fully implemented.
  • Used by memd, vspaced, pagerd, and procd for service discovery.
  • Unit tests cover name validation and register/lookup helper roundtrips.

Scope

Implemented:

  • Canonical service name type: ServiceNameV1
  • Canonical core service names:
    • SERVICE_NAME_NAMED
    • SERVICE_NAME_MEMD
    • SERVICE_NAME_VSPACED
    • SERVICE_NAME_PAGERD
    • SERVICE_NAME_PROCD
  • Discovery helpers:
    • register_self(...)
    • lookup(...)
  • Transport callback abstraction for syscall-layer decoupling.

Out of scope:

  • Transport ownership or endpoint lifecycle
  • Retry policy orchestration at service level
  • Dynamic registry policy (owned by named/rootd policy)

Dependency policy

  • External crates: none
  • Internal dependency:
    • lib-ipc

Build and test

cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features

Integration contract

lib-service is an additive helper over existing v1 IPC contracts. It does not define new authority rules and does not bypass named policy.


Documentation

Service Discovery reference: docs/phases/1.md.