Limbo is a tool to help import and export LXD images to/from different storage backends.
- OpenStack Swift
Download the latest release.
The most basic use of Limbo is:
$ limbo export swift --name foo --stop
This will temporarily stop (--stop
) a running container called foo
and
export it to a Swift storage container called limbo
. The Swift container
limbo
must exist first.
To have Limbo automatically create the storage container, do:
$ limbo export swift --name foo --stop --create-storage-container
To specify a custom storage container name, do:
$ limbo export swift --name foo --stop --create-storage-container --storage-container backups
If you already have an image, do:
$ limbo export swift --name foo-image --type image --create-storage-container
Limbo can encrypt an image.
Warning: I am not a crypto expert. I make no guarantees about the integrity of this feature.
$ limbo export swift --name foo --stop --encrypt --pass "some passphrase"
Importing an image works much the same way as exporting, but the data goes in the opposite direction.
To import an image:
$ limbo import swift --object-name foo
This will look for an object named foo
in a Swift storage container called
limbo
and import it into LXD as foo
.
To specify an alternative storage container name and LXD image name, do:
$ limbo import swift --storage-container backups --object-name foo --name foobar
To decrypt a previously encrypted image, do:
$ limbo import swift --object-name foo --encrypt --pass "some passphrase"
You can use a standard openrc
file to authenticate with Swift:
$ source openrc
$ limbo export swift ...
To take advantage of Swift Object Versioning/Archiving, do:
$ limbo export swift --name foo --stop --create-storage-container --storage-container backups --archive
Any type of contribution is welcomed: documentation, bug reports, and bug fixes. Feature requests and feature contributions are also welcomed, but they first must be discussed and approved. Please open an Issue to first discuss.
Use a suitable Go-based development environment. More details soon.
$ go get -u github.com/jtopjian/limbo
$ go build -o ~/limbo ./