Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/liquidmetal-dev/flintlock
https://github.com/liquidmetal-dev/flintlock
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/liquidmetal-dev/flintlock
- Owner: liquidmetal-dev-backup
- License: mpl-2.0
- Created: 2024-01-15T12:25:33.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-07-01T01:15:05.000Z (6 months ago)
- Last Synced: 2024-10-20T13:36:27.348Z (about 2 months ago)
- Language: Go
- Size: 3.32 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome - weaveworks-liquidmetal/flintlock - Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd. (hacktoberfest)
- awesome-github-repos - liquidmetal-dev/flintlock - Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd. (Go)
- awesome-repositories - liquidmetal-dev/flintlock - Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd. (Go)
README
# Flintlock - Create and manage the lifecycle of MicroVMs, backed by containerd.
[![GitHub](https://img.shields.io/github/license/liquidmeta-dev/flintlock)](https://img.shields.io/github/license/liquidmeta-dev/flintlock)
[![codecov](https://codecov.io/gh/liquidmeta-dev/flintlock/branch/main/graph/badge.svg?token=ZNPNRDI8Z0)](https://codecov.io/gh/liquidmeta-dev/flintlock)
[![Go Report Card](https://goreportcard.com/badge/github.com/liquidmetal-dev/flintlock)](https://goreportcard.com/report/github.com/liquidmetal-dev/flintlock)## What is flintlock?
Flintlock is a service for creating and managing the lifecycle of microVMs on a host machine. We support [Firecracker](https://firecracker-microvm.github.io/) and [Cloud Hypervisor](https://www.cloudhypervisor.org/) (experimental).
The original use case for flintlock was 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 can be orchestrated by [Cluster API Provider Microvm](https://github.com/liquidmetal-dev/cluster-api-provider-microvm).
However, its useful for many other use cases where lightweight virtualization is required (e.g. isolated workloads, pipelines).
## Features
Using API requests (via gRPC or HTTP):
- Create and delete microVMs
- 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
- Expose microVM metrics for collection by Prometheus
- (coming soon) Use CNI to configure the network for the microVMs## Documentation
See our [getting started with flintlock][quickstart] tutorial.
## Contributing
Contributions are welcome. Please read the [CONTRIBUTING.md][contrib] and our [Code Of Conduct][coc].
Other interesting resources include:
- [The issue tracker][issues]
- [The list of milestones][milestones]
- [Architectural Decision Records (ADR)][adr]
- [Getting started with flintlock][quickstart]## Getting Help
If you have any questions about, feedback for or problems with flintlock:
- [File an issue](CONTRIBUTING.md#opening-issues).
Your feedback is always welcome!
## Compatibility
The table below shows you which versions of Firecracker are compatible with Flintlock:
| Flintlock | Firecracker | Cloud Hypervisor |
| ----------------- | -------------------------------- | ----------------- |
| v0.5.0 | Official v1.0+ or v1.0.0-macvtap | v26.0 |
| v0.4.0 | Official v1.0+ or v1.0.0-macvtap | **Not Supported** |
| v0.3.0 | Official v1.0+ or v1.0.0-macvtap | **Not Supported** |
| <= v0.2.0 | <= v0.25.2-macvtap | **Not Supported** |
| <= v0.1.0-alpha.6 | <= v0.25.2-macvtap | **Not Supported** |
| v0.1.0-alpha.7 | **Do not use** | **Not Supported** |
| v0.1.0-alpha.8 | <= v0.25.2-macvtap | **Not Supported** |> Note: Flintlock currently requires a custom build of Firecracker if you plan to use `macvtap` available [here][fc-fork].
## License
[MPL-2.0 License][license]
[quickstart]: https://liquidmetal-dev.github.io/flintlock/docs/category/getting-started/
[contrib]: ./CONTRIBUTING.md
[coc]: ./CODE_OF_CONDUCT.md
[issues]: https://github.com/liquidmetal-dev/flintlock/issues
[milestones]: https://github.com/liquidmetal-dev/flintlock/milestones
[adr]: ./docs/adr
[license]: ./LICENSE
[fc-fork]: https://github.com/liquidmeta-dev/firecracker/releases