flintlock
flintlock copied to clipboard
Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd.
Flintlock - Create and manage the lifecycle of MicroVMs, backed by containerd.
What is flintlock?
Flintlock is a service for creating and managing the lifecycle of microVMs on a host machine. Initially we will be supporting Firecracker.
The primary use case for flintlock is to create microVMs on a bare-metal host where the microVMs will be used as nodes in a virtualized Kubernetes cluster. It is an essential part of Liquid Metal and will ultimately be driven by Cluster API Provider Microvm (coming soon).
Features
Using API requests (via gRPC or HTTP):
- Create and delete microVMs using Firecracker
- Manage the lifecycle of microVMs (i.e. start, stop, pause)
- Configure microVM metadata via cloud-init, ignition etc
- Use OCI images for microVM volumes, kernel and initrd
- (coming soon) Use CNI to configure the network for the microVMs
Documentation
See our getting started with flintlock guide.
Contributing
Contributions are welcome. Please read the CONTRIBUTING.md and our Code Of Conduct.
You can reach out to the maintainers and other contributors using the #liquid-metal slack channel.
Other interesting resources include:
- The issue tracker
- The list of milestones
- Architectural Decision Records (ADR)
- Getting started with flintlock
Getting Help
If you have any questions about, feedback for or problems with flintlock:
- File an issue.
Your feedback is always welcome!
Compatibility
The table below shows you which versions of Firecracker are compatible with Flintlock:
Flintlock | Firecracker |
---|---|
v0.3.0 | Official v1.0+ or v1.0.0-macvtap |
<= v0.2.0 | <= v0.25.2-macvtap |
<= v0.1.0-alpha.6 | <= v0.25.2-macvtap |
v0.1.0-alpha.7 | Do not use |
v0.1.0-alpha.8 | <= v0.25.2-macvtap |
Note: Flintlock currently requires a custom build of Firecracker if you plan to use macvtap available here.
License
MPL-2.0 License