@@ -8,9 +8,6 @@ implementing its interfaces and extending its APIs.
8
8
9
9
firecracker-containerd implements the following containerd interfaces:
10
10
11
- * [ snapshotter] ( https://github.com/containerd/containerd/blob/v1.2.6/snapshots/snapshotter.go#L116-L323 ) :
12
- Snapshotters provide the implementation of layer storage and union filesystems
13
- for containerd containers
14
11
* [ V2 runtime] ( https://github.com/containerd/containerd/blob/v1.2.6/runtime/v2/task/shim.proto ) :
15
12
Runtimes provide the implementation for configuring and running containerized
16
13
processes. The V2 runtime is a containerd-specific interface and is not
26
23
27
24
There are currently several components in this repository:
28
25
29
- * Two [ snapshotter] ( ../snapshotter ) s
30
- that create files used as block-devices for pass-through into the
31
- microVM. These snapshotters are used for providing the container image
32
- to the microVM. Both snapshotters run as out-of-process gRPC proxy plugins.
33
- The [ naive] ( ../snapshotter/cmd/naive/README.md ) snapshotter is a simple
34
- proof-of-concept using flat files and copy-ahead; it is useful for debugging
35
- and validating, and requires no setup. The
36
- [ devmapper] ( ../snapshotter/cmd/devmapper/README.md ) snapshotter leverages the
37
- [ Linux device mapper] ( https://en.wikipedia.org/wiki/Device_mapper ) framework
38
- and [ thin
39
- provisioning] ( https://www.kernel.org/doc/Documentation/device-mapper/thin-provisioning.txt )
40
- to deduplicate storage between layers and enable copy-on-write functionality.
41
- The devmapper snapshotter has been [ contributed to
42
- containerd] ( https://github.com/containerd/containerd/pull/3022 ) , and we expect
43
- to remove the devmapper snapshotter source code from this repository in the
44
- future.
45
26
* A [ control plugin] ( ../firecracker-control ) managing the lifecycle of the
46
27
runtime and implementing our [ control API] ( ../proto/firecracker.proto ) by
47
28
proxying commands to the runtime. The control plugin is compiled in to the
@@ -59,7 +40,7 @@ There are currently several components in this repository:
59
40
container processes. The agent invokes [ runC] ( https://runc.io ) via
60
41
containerd's ` containerd-shim-runc-v1 ` to create standard Linux containers
61
42
inside the microVM.
62
-
43
+
63
44
A high-level diagram of the various components and their interactions can be
64
45
seen below:
65
46
@@ -73,4 +54,4 @@ be seen below:
73
54
* Overview of possible design approaches can be found in the [ design approaches
74
55
doc] ( design-approaches.md ) .
75
56
* More details on the architecture of the shims and design decisions behind
76
- them can be found in the [ shim design doc] ( shim-design.md ) .
57
+ them can be found in the [ shim design doc] ( shim-design.md ) .
0 commit comments