MCPcopy Index your code
hub / github.com/aurae-runtime/aurae

github.com/aurae-runtime/aurae @v0.1.0-aa.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0-aa.1 ↗ · + Follow
417 symbols 714 edges 130 files 46 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Workflow in progress: deploy Workflow in progress: documentation Workflow in progress: build

Mission

Aurae is on a mission to be the most loved and effective way of managing workloads on a node. Our hope is that by bringing a better set of controls to a node, we can unlock brilliant higher order distributed systems in the future.

Introduction

Aurae deploys a memory-safe [^memory-safe] runtime daemon, process manager, and PID-1 initialization system to remotely schedule processes, containers, and virtual machines as well as set node configurations (e.g., like networking storage).

Through system proportioning and enterprise workload isolation techniques, the Aurae open-source project can complement higher order schedulers and control planes (such as Kubernetes) as Aurae supports the usage of multi-tenant workloads and enterprise identities all the way down to the socket layer.

Project Status

STILL IN EARLY DEVELOPMENT!

The Aurae project and API can change without notice.

Do not run the project in production until further notice!

  • The Aurae project welcomes contributions of all kinds and sizes.
  • Please read the "getting involved" documentation before contributing to the project.
  • You do not have to know Rust to join the project.

By joining the project in its early stages, you will help to create a milestone contender for corporate distributed systems and automation that will remain accessible to anyone.

Expanded Overview

By introducing Aurae cells on top of a Linux kernel the control of each internal runtime process on a given node becomes possible. The auraed runtime maintains ownership of every process by managing everything from PID-1 to nested processes.

Maintainable and predefined .proto-files contribute to the core definition of the distributed systems runtime and the standard library. During the build process, these .proto-files can allow for greater customization possibilities. The TypeScript file format replaces static manifests (like the YAML file format) for direct interactions with a running system.


Auraed To ensure memory safety, Aurae serves the generic system's runtime daemon ([auraed]).
AuraeScript The AuraeScript (a Turing-complete scripting language built on TypeScript) library automatically generates itself from the pre-defined .proto files defined in the Aurae standard library.

It also directly embeds Deno source code to provide an SDK and the functionality to attach remote clients for the direct remote communication with Aurae. | |||

#!/usr/bin/env auraescript
let cells = new runtime.CellServiceClient();

let allocated = await cells.allocate(<runtime.AllocateCellRequest>{
  cell: runtime.Cell.fromPartial({
    name: "my-cell",
    cpus: "2",
  }),
});

let started = await cells.start(<runtime.StartExecutableRequest>{
  executable: runtime.Executable.fromPartial({
    cellName: "my-cell",
    command: "sleep 4000",
    description: "Sleep for 4000 seconds",
    name: "sleep-4000",
  }),
});
Authentication Aurae extends SPIFFE/SPIRE (x509 mTLS)-backed identity, authentication (authn), and authorization (authz) in a distributed system down to the Unix domain socket layer.
Principle of Least Awareness A single Aurae instance has no awareness of higher order scheduling mechanisms such as the Kubernetes control plane.
Runtime Workloads The Aurae runtime API can manage virtual machines, executables, cells, pods, and other spawned Aurae instances.
The Aurae Standard Library The Aurae project exposes its functionality as a gRPC API through the Aurae standard library. The V0 API reference contains the current library definition.

[^memory-safe]: The reliability and effectiveness of the Rust systems language make it an excellent choice for the development of the Aurae project. Learn more about Rust

Extension points exported contracts — how you extend this code

ValidatedField (Interface)
(no doc) [7 implementers]
crates/validation/src/lib.rs
SystemRuntime (Interface)
(no doc) [4 implementers]
auraed/src/init/system_runtimes/mod.rs
ValidatingType (Interface)
(no doc)
crates/validation/src/lib.rs
CellsCache (Interface)
(no doc) [2 implementers]
auraed/src/cells/cell_service/cells/cells_cache.rs
ValidatedType (Interface)
(no doc)
crates/validation/src/lib.rs

Core symbols most depended-on inside this repo

name
called by 18
auraed/src/cells/cell_service/cells/cell.rs
field_name
called by 16
crates/validation/src/lib.rs
as_ref
called by 15
auraed/src/cells/cell_service/executables/executable_name.rs
build
called by 14
auraed/src/cri/oci.rs
into_inner
called by 11
auraed/src/cells/cell_service/cells/cell_name.rs
start
called by 11
auraed/src/cells/cell_service/executables/executable.rs
to_unqualified_type
called by 11
crates/proto-reader/src/helpers.rs
allocate
called by 9
pods/pod.rs

Shape

Method 206
Function 115
Class 68
Enum 23
Interface 5

Languages

Rust100%
TypeScript1%

Modules by API surface

auraed/src/cri/runtime_service.rs30 symbols
auraed/src/cells/cell_service/cells/cells.rs20 symbols
auraed/src/cells/cell_service/cells/cell_name.rs17 symbols
aer/macros/src/subcommand.rs17 symbols
auraed/src/cells/cell_service/cells/cell.rs16 symbols
auraed/src/init/network/mod.rs15 symbols
auraed/src/cells/cell_service/cell_service.rs15 symbols
auraed/src/cells/cell_service/validation.rs14 symbols
pods/pod.rs9 symbols
crates/validation/src/lib.rs9 symbols
auraed/src/cells/cell_service/cells/cgroups/cpuset/mems.rs9 symbols
auraed/src/cells/cell_service/cells/cgroups/cpuset/cpus.rs9 symbols

For agents

$ claude mcp add aurae \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page