Justin Chadwell 6c62225d1b vendor: update buildkit to master@c36941f4a10e
Signed-off-by: Justin Chadwell <me@jedevc.com>
..
devices test: add basic integration tests
driver vendor: update buildkit to master@c36941f4a10e
fs vendor: update buildkit to master@c36941f4a10e
pathdriver test: add basic integration tests
proto test: add basic integration tests
sysx vendor: update moby/buildkit
.gitignore test: add basic integration tests
.golangci.yml vendor: update buildkit to master@c36941f4a10e
.mailmap test: add basic integration tests
AUTHORS vendor: update moby/buildkit
LICENSE vendor: initial vendor
Makefile test: add basic integration tests
README.md test: add basic integration tests
context.go vendor: update buildkit to master@c36941f4a10e
digests.go test: add basic integration tests
groups_unix.go test: add basic integration tests
hardlinks.go vendor: update buildkit to master@c36941f4a10e
hardlinks_unix.go test: add basic integration tests
hardlinks_windows.go test: add basic integration tests
ioutils.go vendor: update buildkit to master@c36941f4a10e
manifest.go test: add basic integration tests
resource.go test: add basic integration tests
resource_unix.go test: add basic integration tests
resource_windows.go test: add basic integration tests

README.md

continuity

Go Reference Build Status

A transport-agnostic, filesystem metadata manifest system

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

See opencontainers/runtime-spec#11 for more details.

Manifest Format

A continuity manifest encodes filesystem metadata in Protocol Buffers. Refer to proto/manifest.proto for more details.

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

Platforms

continuity primarily targets Linux. Continuity may compile for and work on other operating systems, but those platforms are not tested.

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

Project details

continuity is a containerd sub-project, licensed under the Apache 2.0 license. As a containerd sub-project, you will find the:

information in our containerd/project repository.