You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: technical-overview.md
+12-3Lines changed: 12 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,24 +10,26 @@ And because Edera doesn’t rely on nested virtualization, it runs wherever cont
10
10
11
11
## How Edera Works
12
12
13
-
At its core, Edera uses a custom hypervisor based on Xen, with key components rewritten in Rust for safety, performance, and maintainability. Edera introduces the concept of **zones**—independent, fast-booting virtual machines that serve as security boundaries for container workloads.
13
+
At its core, Edera uses a [custom hypervisor](https://edera.dev/stories/rust-or-bust-our-rewrite-of-the-xen-control-plane) based on [Xen](https://edera.dev/stories/why-edera-built-on-xen-a-secure-container-foundation), with key components rewritten in Rust for safety, performance, and maintainability. Edera introduces the concept of **zones**—independent, fast-booting virtual machines that serve as security boundaries for container workloads.
14
14
15
15
Each zone runs its own Linux kernel and minimal init system. The kernel and other system components are delivered via OCI images, keeping things composable, cacheable, and consistent.
16
16
17
-
Zones are paravirtualized using the Xen PV protocol. This keeps them lightweight and fast—no hardware virtualization required. But when hardware support is available (e.g., on x86 with VT-x), Edera uses it to get near bare-metal performance.
17
+
Zones are [paravirtualized](https://docs.edera.dev/concepts/paravirtualization/) using the Xen PV protocol. This keeps them lightweight and fast—no hardware virtualization required. But when hardware support is available (e.g., on x86 with VT-x), Edera uses it to get near bare-metal performance.
18
18
19
19
## How Edera Runs & Secures Containers
20
20
21
21
Edera allows you to compose your infrastructure the same way you compose workloads: using OCI images.
22
22
23
23
Each zone consumes a small number of OCI images:
24
+
24
25
- A **kernel image** that provides the zone kernel.
25
26
- One or more **system extension images** that provide init systems, utilities, and kernel modules.
26
27
- Optionally, **driver zones**—zones that provide shared services (like networking) to other zones.
27
28
28
-
Inside each zone, container workloads run via a minimal OCI runtime called **Styrolite**, written in Rust. Unlike traditional setups (like Kata Containers, which layer containerd and runc as external processes), Styrolite is embedded inside the zone itself.
29
+
Inside each zone, container workloads run via a minimal OCI runtime called [**Styrolite**]((https://github.com/edera-dev/styrolite/)), written in Rust. Unlike traditional setups (like Kata Containers, which layer containerd and runc as external processes), Styrolite is embedded inside the zone itself.
29
30
30
31
### Key Benefits of This Design
32
+
31
33
- No external container runtime processes
32
34
- Zone init system directly manages containers
33
35
- Minimal attack surface, optimized for secure execution
@@ -68,19 +70,26 @@ This causes the pod to be scheduled to a node running Edera’s hypervisor. The
68
70
An Edera zone is a minimal VM built from OCI-delivered components. At launch time, the Edera daemon unpacks:
69
71
70
72
### Kernel Image
73
+
71
74
Located under `/kernel` in the OCI image:
75
+
72
76
- `image`: the Linux kernel (vmlinuz)
73
77
- `metadata`: key-value pairs for boot parameters
74
78
- `addons.squashfs`: includes kernel modules in `/modules`
75
79
- `config.gz`: the kernel configuration file
76
80
77
81
### Initramfs Contents
82
+
78
83
Packaged in a CPIO archive, typically mounted from:
79
84
`usr/lib/edera/protect/zone/initrd`
80
85
81
86
The initramfs includes:
87
+
82
88
- `/init`: static Rust binary that initializes the zone
83
89
- `/bin/styrolite`: embedded container runtime
84
90
- `/bin/zone`: control plane for managing containers and services via IDM (inter-domain messaging)
85
91
86
92
This structure lets Edera launch zones rapidly, with well-defined boundaries and no dependency on the host OS kernel. Everything the workload touches is defined, versioned, and validated.
93
+
94
+
---
95
+
If you want to know more check out our [docs site](https://docs.edera.dev)
0 commit comments