debian-forge-composer/vendor/github.com/mistifyio/go-zfs/v3
Tomáš Hozza 625b1578fa Port osbuild/images v0.33.0 with dot-notation to composer
Update the osbuild/images to the version which introduces "dot notation"
for distro release versions.

 - Replace all uses of distroregistry by distrofactory.
 - Delete local version of reporegistry and use the one from the
   osbuild/images.
 - Weldr: unify `createWeldrAPI()` and `createWeldrAPI2()` into a single
   `createTestWeldrAPI()` function`.
 - store/fixture: rework fixtures to allow overriding the host distro
   name and host architecture name. A cleanup function to restore the
   host distro and arch names is always part of the fixture struct.
 - Delete `distro_mock` package, since it is no longer used.
 - Bump the required version of osbuild to 98, because the OSCAP
   customization is using the 'compress_results' stage option, which is
   not available in older versions of osbuild.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-01-26 11:32:34 +01:00
..
.envrc Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
.gitignore Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
.golangci.yml Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
.yamllint Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
CHANGELOG.md Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
CONTRIBUTING.md Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
error.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
LICENSE Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
lint.mk Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
Makefile Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
README.md Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
rules.mk Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
shell.nix Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
utils.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
utils_notsolaris.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
utils_solaris.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
Vagrantfile Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
zfs.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00
zpool.go Port osbuild/images v0.33.0 with dot-notation to composer 2024-01-26 11:32:34 +01:00

Go Wrapper for ZFS

Simple wrappers for ZFS command line tools.

GoDoc

Requirements

You need a working ZFS setup. To use on Ubuntu 14.04, setup ZFS:

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:zfs-native/stable
sudo apt-get update
sudo apt-get install ubuntu-zfs libzfs-dev

Developed using Go 1.3, but currently there isn't anything 1.3 specific. Don't use Ubuntu packages for Go, use http://golang.org/doc/install

Generally you need root privileges to use anything zfs related.

Status

This has been only been tested on Ubuntu 14.04

In the future, we hope to work directly with libzfs.

Hacking

The tests have decent examples for most functions.

//assuming a zpool named test
//error handling omitted


f, err := zfs.CreateFilesystem("test/snapshot-test", nil)
ok(t, err)

s, err := f.Snapshot("test", nil)
ok(t, err)

// snapshot is named "test/snapshot-test@test"

c, err := s.Clone("test/clone-test", nil)

err := c.Destroy()
err := s.Destroy()
err := f.Destroy()

Contributing

See the contributing guidelines