A developer-focused entry in TopGit's GitHub warehouse: weaveworks/footloose, 1.6k stars, Developer Tools, Go. Container Machines - Containers that look like Virtual Machines
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
This repository is no longer maintained. For a more up-to-date way to manage microVMs, please take a look at Flintlock.
footloose
footloose creates containers that look like virtual machines. Those
containers run systemd as PID 1 and a ssh daemon that can be used to login
into the container. Such "machines" behave very much like a VM, it's even
possible to run dockerd in them :)
footloose can be used for a variety of tasks, wherever you'd like virtual
machines but want fast boot times or need many of them. An easy way to think
about it is: Vagrant, but with containers.
footloose in action:
Install
footloose binaries can be downloaded from the release page:
brew tap weaveworks/tap
brew install weaveworks/tap/footloose
From source
Alternatively, build and install footloose from source. It requires having
go >= 1.11 installed:
GO111MODULE=on go get github.com/weaveworks/footloose
Usage
footloose reads a description of the Cluster of Machines to create from a
file, by default named footloose.yaml. An alternate name can be specified on
the command line with the --config option or through the FOOTLOOSE_CONFIG
environment variable.
The config command helps with creating the initial config file:
# Create a footloose.yaml config file. Instruct we want to create 3 machines.
footloose config create --replicas 3
It only takes a second to create those machines. The first time create
runs, it will pull the docker image used by the footloose containers so it
will take a tiny bit longer.
SSH into a machine with:
$ footloose ssh root@node1
[root@1665288855f6 ~]# ps fx
PID TTY STAT TIME COMMAND
1 ? Ss 0:00 /sbin/init
23 ? Ss 0:00 /usr/lib/systemd/systemd-journald
58 ? Ss 0:00 /usr/sbin/sshd -D
59 ? Ss 0:00 \_ sshd: root@pts/1
63 pts/1 Ss 0:00 \_ -bash
82 pts/1 R+ 0:00 \_ ps fx
62 ? Ss 0:00 /usr/lib/systemd/systemd-logind
Choosing the OS image to run
footloose will default to running a centos 7 container image. The --image
argument of config create can be used to configure the OS image. Valid OS
images are:
footloose config create creates a footloose.yaml configuration file that is then
used by subsequent commands such as create, delete or ssh. If desired,
the configuration file can be named differently and supplied with the
-c, --config option.
The container names are derived from cluster.name and
cluster.machines[].name.
They run systemd as PID 1, it's even possible to inspect the boot messages:
$ docker logs cluster-node1
systemd 219 running in system mode.
Detected virtualization docker.
Detected architecture x86-64.
Welcome to CentOS Linux 7 (Core)!
Set hostname to <1665288855f6>.
Initializing machine ID from random generator.
Failed to install release agent, ignoring: File exists
[ OK ] Created slice Root Slice.
[ OK ] Created slice System Slice.
[ OK ] Reached target Slices.
[ OK ] Listening on Journal Socket.
[ OK ] Reached target Local File Systems.
Starting Create Volatile Files and Directories...
[ OK ] Listening on Delayed Shutdown Socket.
[ OK ] Reached target Swap.
[ OK ] Reached target Paths.
Starting Journal Service...
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started Journal Service.
[ OK ] Reached target System Initialization.
[ OK ] Started Daily Cleanup of Temporary Directories.
[ OK ] Reached target Timers.
[ OK ] Listening on D-Bus System Message Bus Socket.
[ OK ] Reached target Sockets.
[ OK ] Reached target Basic System.
Starting OpenSSH Server Key Generation...
Starting Cleanup of Temporary Directories...
[ OK ] Started Cleanup of Temporary Directories.
[ OK ] Started OpenSSH Server Key Generation.
Starting OpenSSH server daemon...
[ OK ] Started OpenSSH server daemon.
[ OK ] Reached target Multi-User System.
Run real VMs with Ignite
FAQ
Is footloose just like LXD?
In principle yes, but it will also work with Docker container images and
on MacOS as well.
Help
We are a very friendly community and love questions, help and feedback.
If you have any questions, feedback, or problems with footloose:
Check out the examples.
Join the discussion
Invite yourself to the Weave community Slack.
Ask a question on the #footloose Slack channel.
Join the Weave User Group and get invited to online talks, hands-on training and meetups in your area.
File an issue.
Weaveworks follows the CNCF Code of Conduct. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a Weaveworks project maintainer, or Alexis Richardson ([email protected]).
How active is development on weaveworks/footloose?
The most recent commit recorded on weaveworks/footloose was 3.0 years ago, based on the GitHub push timestamp. The repository has 117 forks — one of the better signals of community interest.
How many stars does weaveworks/footloose have?
weaveworks/footloose has 1.6k GitHub stars — refresh the page for the live number, or check github.com/weaveworks/footloose. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What else is in the Developer Tools space?
weaveworks/footloose is tracked by TopGit under the Developer Tools category, alongside 4 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What language is weaveworks/footloose written in?
weaveworks/footloose is written primarily in Go. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is weaveworks/footloose associated with?
GitHub's repository topics for weaveworks/footloose: "containers", "docker", "virtual-machine", "vm". TopGit's editorial category is Developer Tools.
Where do I read more about weaveworks/footloose?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/weaveworks/footloose is the definitive source.
Why is weaveworks/footloose categorized under Developer Tools?
TopGit places weaveworks/footloose in the Developer Tools category based on its GitHub topics and description (tagged: "containers", "docker", "virtual-machine"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Want a second opinion on footloose?
Ask an AI that can read this page — one click and you get its take on footloose.