ramfsd is the private volatile filesystem backend for EriX
  • Rust 99.4%
  • Linker Script 0.6%
Find a file
Erik Inkinen ea7f9b1068
All checks were successful
CI / markdown (push) Successful in 3s
CI / test (push) Successful in 17s
Tighten CI markdown policy
2026-05-22 15:10:38 +03:00
.github Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
src Adopt generic provider IPC in ramfsd 2026-05-14 10:53:44 +03:00
.editorconfig Initial commit 2026-04-22 04:03:27 +02:00
.gitignore Initial commit 2026-04-22 04:03:27 +02:00
.markdownlint-cli2.yaml Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
ARCHITECTURE.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
Cargo.toml Accept UTF-8 ramfs provider paths 2026-04-26 13:26:29 +03:00
CODE_OF_CONDUCT.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
CONTRIBUTING.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
LICENSE Initial commit 2026-04-22 04:03:27 +02:00
linker.ld Move ramfsd runtime image base 2026-04-24 09:59:29 +03:00
README.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
ROADMAP.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00
rustfmt.toml Initial commit 2026-04-22 04:03:27 +02:00
SECURITY.md Tighten CI markdown policy 2026-05-22 15:10:38 +03:00

ramfsd

ramfsd is the private in-memory filesystem provider used by vfsd for volatile mounts.

EriX is a clean-room, capability-based microkernel operating system written entirely in Rust.

Technical requirements are tracked in the EriX requirements, conventions, and project documentation.

See:

  • docs for design documents, specifications, and development plans.
  • Related architecture repositories for kernel, services, libraries, drivers, and integration tooling.

Purpose of This Repository

This repository implements the EriX volatile memory filesystem provider. Its purpose in EriX is to provide volatile filesystem state behind vfsd through explicit IPC and startup authority.

Functionally, it implements the daemon runtime, state model, IPC handling, and validation tests. The repository keeps the implementation, interface contracts, tests, and documentation for that behavior in one reviewable ownership boundary.

The maintained responsibilities are:

  • implement the volatile memory filesystem runtime and state model
  • validate startup authority before accepting IPC requests
  • handle bounded service operations through the assigned endpoint set
  • keep service behavior, tests, and authority invariants documented

Clean-Room Policy

EriX follows a strict clean-room philosophy:

  • No external source code may be copied.
  • No external Rust crates are allowed.
  • No code generation tools that embed third-party code.
  • All code must be authored within the project.

Violations will result in rejection of the contribution.

License

All EriX repositories are licensed under the ISC License.

Development Model

EriX development is modular, deterministic, reproducible, authority-explicit, security-first, and self-hosting oriented.

This repository follows the project roadmap and the validation rules documented in its own roadmap.

Status

Implemented baseline for the volatile memory filesystem provider path:

  • volatile mount-instance creation
  • generic provider ABI compatibility for mount and file/directory operations
  • directory and file mutation
  • UTF-8 path and directory-entry names with unchanged v1 field sizes
  • inline read/write I/O
  • directory iteration, richer stat, rename, truncate, symlink/readlink, explicit hard-link denial, flagged metadata update, unlink, and rmdir
  • unit coverage for startup validation, tree rules, dispatch, stateful I/O, and extended volatile-filesystem semantics

Validation

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

Governance Principles

ramfsd governance is scoped to private volatile memory filesystem provider behavior.

The scoped governance rules are:

  • It serves in-memory filesystem state only through authorized startup endpoints.
  • It preserves generic provider ABI behavior used by vfsd.
  • It keeps file data bounded by process memory and rejects malformed path operations.
  • It exposes no persistent storage or block-device authority.

Authority Boundaries

  • ramfsd operates only through startup-assigned service capabilities.
  • New authority must be represented in bootstrap/capability validation and integration tests before use.

Contact

Development occurs in EriX organization and discussions happen in issues and design documents.

No decisions are considered valid without documented rationale.

Maintainers can be reached via email: admin@erikinkinen.fi.