...

Text file src/github.com/containerd/continuity/README.md

Documentation: github.com/containerd/continuity

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

View as plain text