k3s/vendor/github.com/containerd/continuity
Darren Shepherd fa08d6076c Update vendor
2019-01-11 21:58:27 -07:00
..
devices Update vendor 2019-01-11 21:58:27 -07:00
driver Update vendor 2019-01-11 21:58:27 -07:00
fs Update vendor 2019-01-11 21:58:27 -07:00
pathdriver Update vendor 2019-01-11 21:58:27 -07:00
proto Update vendor 2019-01-11 21:58:27 -07:00
syscallx Update vendor 2019-01-11 21:58:27 -07:00
sysx Update vendor 2019-01-11 21:58:27 -07:00
.gitignore Update vendor 2019-01-11 21:58:27 -07:00
.mailmap Update vendor 2019-01-11 21:58:27 -07:00
.travis.yml Update vendor 2019-01-11 21:58:27 -07:00
AUTHORS Update vendor 2019-01-11 21:58:27 -07:00
context.go Update vendor 2019-01-11 21:58:27 -07:00
digests.go Update vendor 2019-01-11 21:58:27 -07:00
groups_unix.go Update vendor 2019-01-11 21:58:27 -07:00
hardlinks_unix.go Update vendor 2019-01-11 21:58:27 -07:00
hardlinks_windows.go Update vendor 2019-01-11 21:58:27 -07:00
hardlinks.go Update vendor 2019-01-11 21:58:27 -07:00
ioutils.go Update vendor 2019-01-11 21:58:27 -07:00
LICENSE Update vendor 2019-01-11 21:58:27 -07:00
Makefile Update vendor 2019-01-11 21:58:27 -07:00
manifest_test_darwin.go Update vendor 2019-01-11 21:58:27 -07:00
manifest.go Update vendor 2019-01-11 21:58:27 -07:00
README.md Update vendor 2019-01-11 21:58:27 -07:00
resource_unix.go Update vendor 2019-01-11 21:58:27 -07:00
resource_windows.go Update vendor 2019-01-11 21:58:27 -07:00
resource.go Update vendor 2019-01-11 21:58:27 -07:00
vendor.conf Update vendor 2019-01-11 21:58:27 -07:00

continuity

GoDoc Build Status

A transport-agnostic, filesystem metadata manifest system

This project is a staging area for experiments in providing transport agnostic metadata storage.

Please see https://github.com/opencontainers/specs/issues/11 for more details.

Manifest Format

A continuity manifest encodes filesystem metadata in Protocol Buffers. Please refer to proto/manifest.proto.

Usage

Build:

$ make

Create a manifest (of this repo itself):

$ ./bin/continuity build . > /tmp/a.pb

Dump a manifest:

$ ./bin/continuity ls /tmp/a.pb
...
-rw-rw-r--      270 B   /.gitignore
-rw-rw-r--      88 B    /.mailmap
-rw-rw-r--      187 B   /.travis.yml
-rw-rw-r--      359 B   /AUTHORS
-rw-rw-r--      11 kB   /LICENSE
-rw-rw-r--      1.5 kB  /Makefile
...
-rw-rw-r--      986 B   /testutil_test.go
drwxrwxr-x      0 B     /version
-rw-rw-r--      478 B   /version/version.go

Verify a manifest:

$ ./bin/continuity verify . /tmp/a.pb

Break the directory and restore using the manifest:

$ chmod 777 Makefile
$ ./bin/continuity verify . /tmp/a.pb
2017/06/23 08:00:34 error verifying manifest: resource "/Makefile" has incorrect mode: -rwxrwxrwx != -rw-rw-r--
$ ./bin/continuity apply . /tmp/a.pb
$ stat -c %a Makefile
664
$ ./bin/continuity verify . /tmp/a.pb

Contribution Guide

Building Proto Package

If you change the proto file you will need to rebuild the generated Go with go generate.

$ go generate ./proto