Giter Club home page Giter Club logo

flintlock's Introduction

Flintlock - Create and manage the lifecycle of MicroVMs, backed by containerd.

GitHub codecov Go Report Card

What is flintlock?

Flintlock is a service for creating and managing the lifecycle of microVMs on a host machine. We support Firecracker and Cloud Hypervisor (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.

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 tutorial.

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:

Getting Help

If you have any questions about, feedback for or problems with flintlock:

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.

License

MPL-2.0 License

flintlock's People

Contributors

callisto13 avatar richardcase avatar dependabot[bot] avatar yitsushi avatar jmickey avatar github-actions[bot] avatar skarlso avatar steve-fraser avatar ianbuss avatar nikimanoledaki avatar aryan9600 avatar stoovon avatar souleb avatar weaveworks-admin-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.