• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H10-Jul-2020-

cmd/continuity/H10-Jul-2020-

commands/H10-Jul-2020-

continuityfs/H10-Jul-2020-

devices/H10-Jul-2020-

driver/H10-Jul-2020-

fs/H10-Jul-2020-

pathdriver/H10-Jul-2020-

proto/H10-Jul-2020-

sysx/H10-Jul-2020-

testutil/H10-Jul-2020-

vendor/H03-May-2022-

version/H10-Jul-2020-

.gitignoreH A D10-Jul-2020270

.golangci.ymlH A D10-Jul-2020229

.mailmapH A D10-Jul-202088

AUTHORSH A D10-Jul-20201.3 KiB

LICENSEH A D10-Jul-202010.5 KiB

MakefileH A D10-Jul-20202.4 KiB

README.mdH A D10-Jul-20202.3 KiB

context.goH A D10-Jul-202017.8 KiB

digests.goH A D10-Jul-20202.8 KiB

digests_test.goH A D10-Jul-20202.4 KiB

go.modH A D10-Jul-20201,000

go.sumH A D10-Jul-20205.3 KiB

groups_unix.goH A D10-Jul-20202.5 KiB

hardlinks.goH A D10-Jul-20201.8 KiB

hardlinks_unix.goH A D10-Jul-20201.6 KiB

hardlinks_windows.goH A D10-Jul-2020982

ioutils.goH A D10-Jul-20201.6 KiB

ioutils_test.goH A D10-Jul-20201.5 KiB

manifest.goH A D10-Jul-20203.7 KiB

manifest_test.goH A D10-Jul-202010.1 KiB

manifest_test_darwin.goH A D10-Jul-2020950

resource.goH A D10-Jul-202013.3 KiB

resource_test.goH A D10-Jul-20203.4 KiB

resource_unix.goH A D10-Jul-20201.7 KiB

resource_windows.goH A D10-Jul-2020882

testutil_test.goH A D10-Jul-20201.6 KiB

README.md

1# continuity
2
3[![GoDoc](https://godoc.org/github.com/containerd/continuity?status.svg)](https://godoc.org/github.com/containerd/continuity)
4[![Build Status](https://travis-ci.org/containerd/continuity.svg?branch=master)](https://travis-ci.org/containerd/continuity)
5
6A transport-agnostic, filesystem metadata manifest system
7
8This project is a staging area for experiments in providing transport agnostic
9metadata storage.
10
11Please see https://github.com/opencontainers/specs/issues/11 for more details.
12
13## Manifest Format
14
15A continuity manifest encodes filesystem metadata in Protocol Buffers.
16Please refer to [proto/manifest.proto](proto/manifest.proto).
17
18## Usage
19
20Build:
21
22```console
23$ make
24```
25
26Create a manifest (of this repo itself):
27
28```console
29$ ./bin/continuity build . > /tmp/a.pb
30```
31
32Dump a manifest:
33
34```console
35$ ./bin/continuity ls /tmp/a.pb
36...
37-rw-rw-r--      270 B   /.gitignore
38-rw-rw-r--      88 B    /.mailmap
39-rw-rw-r--      187 B   /.travis.yml
40-rw-rw-r--      359 B   /AUTHORS
41-rw-rw-r--      11 kB   /LICENSE
42-rw-rw-r--      1.5 kB  /Makefile
43...
44-rw-rw-r--      986 B   /testutil_test.go
45drwxrwxr-x      0 B     /version
46-rw-rw-r--      478 B   /version/version.go
47```
48
49Verify a manifest:
50
51```console
52$ ./bin/continuity verify . /tmp/a.pb
53```
54
55Break the directory and restore using the manifest:
56```console
57$ chmod 777 Makefile
58$ ./bin/continuity verify . /tmp/a.pb
592017/06/23 08:00:34 error verifying manifest: resource "/Makefile" has incorrect mode: -rwxrwxrwx != -rw-rw-r--
60$ ./bin/continuity apply . /tmp/a.pb
61$ stat -c %a Makefile
62664
63$ ./bin/continuity verify . /tmp/a.pb
64```
65
66
67## Contribution Guide
68### Building Proto Package
69
70If you change the proto file you will need to rebuild the generated Go with `go generate`.
71
72```console
73$ go generate ./proto
74```
75
76## Project details
77
78continuity is a containerd sub-project, licensed under the [Apache 2.0 license](./LICENSE).
79As a containerd sub-project, you will find the:
80 * [Project governance](https://github.com/containerd/project/blob/master/GOVERNANCE.md),
81 * [Maintainers](https://github.com/containerd/project/blob/master/MAINTAINERS),
82 * and [Contributing guidelines](https://github.com/containerd/project/blob/master/CONTRIBUTING.md)
83
84information in our [`containerd/project`](https://github.com/containerd/project) repository.
85