Skip to content

Commit 37aa55d

Browse files
authored
Merge pull request #254 from kzys/go-plugin-is-hard
Explain why do we need to have our own containerd binary
2 parents 8bfaf4f + ffae9d4 commit 37aa55d

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,12 @@ Firecracker microVMs to run containers:
3737
gRPC proxy plugin. We currently have two implementations of a snapshotter: a
3838
[naive](snapshotter/cmd/naive) copy-ahead implementation and a
3939
[devmapper-based](snapshotter/cmd/devmapper) copy-on-write implementation.
40-
* A [control plugin](../firecracker-control) managing the lifecycle of the
41-
runtime and implementing our [control API](../proto/firecracker.proto) to
42-
manage the lifecycle of microVMs. The control plugin is compiled in to the
43-
containerd binary, which requires us to build a specialized containerd binary
44-
for firecracker-containerd.
40+
* A [control plugin](firecracker-control) managing the lifecycle of the
41+
runtime and implementing our [control API](proto/firecracker.proto) to
42+
manage the lifecycle of microVMs. The control plugin is compiled in to the
43+
containerd binary since [building a Go plugin out-of-tree is hard](https://github.com/golang/go/issues/20481),
44+
which requires us to build a specialized containerd binary for
45+
firecracker-containerd.
4546
* A [runtime](runtime) linking containerd (outside the microVM) to the
4647
Firecracker virtual machine monitor (VMM). The runtime is implemented as an
4748
out-of-process
@@ -53,7 +54,7 @@ Firecracker microVMs to run containers:
5354
* A [root file filesystem image builder](tools/image-builder) that
5455
constructs a firecracker microVM root filesystem containing runc and
5556
the firecracker-containerd agent.
56-
57+
5758
For more detailed information on the components and how they work, see
5859
[architecture.md](docs/architecture.md).
5960

0 commit comments

Comments
 (0)