mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
.. | ||
devices | ||
driver | ||
fs | ||
pathdriver | ||
proto | ||
syscallx | ||
sysx | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
AUTHORS | ||
context.go | ||
digests.go | ||
groups_unix.go | ||
hardlinks_unix.go | ||
hardlinks_windows.go | ||
hardlinks.go | ||
ioutils.go | ||
LICENSE | ||
Makefile | ||
manifest_test_darwin.go | ||
manifest.go | ||
README.md | ||
resource_unix.go | ||
resource_windows.go | ||
resource.go | ||
vendor.conf |
continuity
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