buildx/vendor/github.com/containerd/continuity
Justin Chadwell 6c62225d1b vendor: update buildkit to master@c36941f4a10e
Signed-off-by: Justin Chadwell <me@jedevc.com>
2023-05-30 09:10:52 +01:00
..
devices test: add basic integration tests 2023-05-18 14:26:12 +01:00
driver vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
fs vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
pathdriver test: add basic integration tests 2023-05-18 14:26:12 +01:00
proto test: add basic integration tests 2023-05-18 14:26:12 +01:00
sysx vendor: update moby/buildkit 2022-05-25 10:20:57 +01:00
.gitignore test: add basic integration tests 2023-05-18 14:26:12 +01:00
.golangci.yml vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
.mailmap test: add basic integration tests 2023-05-18 14:26:12 +01:00
AUTHORS vendor: update moby/buildkit 2022-05-25 10:20:57 +01:00
LICENSE vendor: initial vendor 2019-03-22 16:27:37 -07:00
Makefile test: add basic integration tests 2023-05-18 14:26:12 +01:00
README.md test: add basic integration tests 2023-05-18 14:26:12 +01:00
context.go vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
digests.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
groups_unix.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
hardlinks.go vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
hardlinks_unix.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
hardlinks_windows.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
ioutils.go vendor: update buildkit to master@c36941f4a10e 2023-05-30 09:10:52 +01:00
manifest.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
resource.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
resource_unix.go test: add basic integration tests 2023-05-18 14:26:12 +01:00
resource_windows.go test: add basic integration tests 2023-05-18 14:26:12 +01:00

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.