Nydus-snapshotter - A containerd snapshotter with capability of on-demand read

Overview

Nydus Snapshotter

Nydus-snapshotter is a non-core sub-project of containerd.

Pulling and unpacking OCI container image are time consuming when start a container. Nydus is a vendor-neutral project aiming at mitigating the problem. It designs a new container image oriented and optimized file system format with capability of on-demand read. For instructions on how to build nydus container image, please refer to nydusify conversion tool.

Building

Just invoke make and find output binary ./bin/containerd-nydus-grpc

make

Integrate Nydus-snapshotter into Containerd

Containerd provides a general mechanism to exploit different types of snapshotters. Please ensure your containerd's version is beyond 1.4.0. Add nydus as a proxy plugin into containerd's configuration file which may be located at /etc/containerd/config.toml.

# The `address` field specifies through which socket snapshotter and containerd communicate.
[proxy_plugins]
  [proxy_plugins.nydus]
    type = "snapshot"
    address = "/run/containerd-nydus/containerd-nydus-grpc.sock"

Restart your containerd service making the change take effect. Assume that your node is systemd based, restart the service as below:

systemctl restart containerd

Get Nydusd Binary

Find a suitable nydusd release for you from nydus releases page.

nydusd-fusedev is FUSE userspace daemon handling linux kernel fuse requests from /dev/fuse frontend. nydusd-virtiofs is a virtiofs daemon handling guest kernel fuse requests.

Configure Nydus

Nydus is configured by a json file which is required now. Because nydus container images are likely stored in a registry, where auth has to be provided. Please follow instructions to configure nydus configure nydus making it work properly in your environment.

Start Nydus Snapshotter

Nydus-snapshotter is implemented as a proxy plugin (containerd-nydus-grpc) for containerd.

A example of starting nydus-snapshotter:

# `nydusd-path` is the path to nydusd binary
# `address` is the domain socket that you configured in containerd configuration file
# `root` is the path to nydus snapshotter
# `config-path` is the path to nydus configuration file
$ ./containerd-nydus-grpc \
    --config-path /etc/nydusd-config.json \
    --shared-daemon \
    --log-level info \
    --root /var/lib/containerd/io.containerd.snapshotter.v1.nydus \
    --cache-dir /var/lib/nydus/cache \
    --address /run/containerd/containerd-nydus-grpc.sock \
    --nydusd-path /usr/local/bin/nydusd \
    --nydusimg-path /usr/local/bin/nydus-image \
    --log-to-stdout

Validate Nydus-snapshotter Setup

Utilize containerd's ctr CLI command to validate if nydus-snapshotter is set up successfully.

$ ctr -a /run/containerd/containerd.sock plugin ls
TYPE                            ID                       PLATFORMS      STATUS
io.containerd.snapshotter.v1    nydus                    -              ok

Quickly Start Container with Lazy Pulling

Start Container on Node

Containerd can start container with specified snapshotter, so legacy method like nerdctl or ctr needs to specify the nydus snapshotter when start container. A CLI tool ctr-remote is alongside. Use nydus ctr-remote to pull nydus image or start container based on nydus image.

$ sudo ctr-remote image rpull ghcr.io/dragonflyoss/image-service/nginx:nydus-latest
fetching sha256:75002dfe... application/vnd.oci.image.manifest.v1+json
fetching sha256:5a42e21c... application/vnd.oci.image.config.v1+json
fetching sha256:eb1af2e1... application/vnd.oci.image.layer.v1.tar+gzip

# Start container by `ctr`
$ sudo ctr-remote run --snapshotter nydus ghcr.io/dragonflyoss/image-service/nginx:nydus-latest

# Start container by `nerdctl`
nerdctl --snapshotter nydus run ghcr.io/dragonflyoss/image-service/nginx:nydus-latest

Start Container in Kubernetes

NOTE: A potential drawback using CRI is that we can hardly specify snapshotter to nydus-snapshotter. So we have to change containerd's default snapshotter in its configuration file like below:

[plugins."io.containerd.grpc.v1.cri".containerd]
   snapshotter = "nydus"

Use crictl to debug starting container via Kubernetes CRI. Dry run steps of using ctrctl can be found in documents.

Community

Nydus aims to form a vendor-neutral opensource image distribution solution to all communities. Questions, bug reports, technical discussion, feature requests and contribution are always welcomed!

Join our Slack workspace

Comments
  • Add helper functions for containerd image convertion

    Add helper functions for containerd image convertion

    Add some functions which are helpful for using the Convert function in the containerd client library to convert OCI images to Nydus images.

    For example, we can use these functions to support nerdctl to convert Nydus images.

    Signed-off-by: Nan Li [email protected]

    opened by loheagn 8
  • MAINTAINERS: Add Yan Song as a reviewer

    MAINTAINERS: Add Yan Song as a reviewer

    Yan Song @imeoer is a core developer and maintainer of Nydus container image service, especially on the nydusd runtime/filesystem and building nydus container image via nydus-image, nydusify and Harbor Accelleratioin Service sub-project. For nydus-snapshotter he had completed features like the setting up nydus snapshots using Erofs/Fscache fs driver, which directly works on top of Linux in-kernel filesystem as container rootfs with lazyload capability, an essential feature in the upcoming nydus release. In addition, he contributed to the feature that nydus-snapshotter can directly use stargz container image to provide container rootfs with many other neat fixups.

    He is eager to help community users with rich experience.

    I'd like to invite him as a nydus-snapshotter reviewer if he would approve :)

    Needs explicit LGTM from @imeoer and 1/3 of the nydus-snapshotter Committers:

    • [x] @changweige
    • [x] @eryugey
    • [x] @imeoer
    opened by changweige 4
  • Snapshotter occasionally report error message

    Snapshotter occasionally report error message

    sudo nerdctl --snapshotter nydus   run -it --net none gechangwei/python:3.7-nydus bash
    
    
    FATA[0001] wait until daemon ready by checking status: failed to check status: failed to create new nydus client: failed to build transport for nydus client: stat /var/lib/containerd-nydus-grpc/socket/1_jWaFHnQcezLGcQdXDfwg/api.sock: no such file or directory: unknown
    

    In fact, the socket file existes

    bug 
    opened by changweige 4
  • resolver: replace standard http client to go-retryablehttp

    resolver: replace standard http client to go-retryablehttp

    Previously, our snapshot will download the image through the go standard http client, if the http download fails and does not do a retry. Now we retry for defaultRetryMax = 4 times.

    Fixes: #54

    Signed-off-by: zhaoshang [email protected]

    opened by power-more 4
  • Overlayfs: add volatile option when creating Active snapshot

    Overlayfs: add volatile option when creating Active snapshot

    cri callers can add containerd.io/snapshot.volatile annotation to make
    corresponding snapshot volatile when mounted to rootfs.
    
    Overlayfs volatile mount is a new feature with Linux 5.10, for more
    details: https://www.redhat.com/sysadmin/container-volatile-overlay-mounts
    
    opened by power-more 4
  • Support download blob layers to cache dir

    Support download blob layers to cache dir

    Our Nydusd supports the localfs mode to start, in other words, the blob layer is placed on the local file system in advance, but at present, we do not provide the auxiliary ability to put the blob layer in the corresponding directory, which requires us manually from the registry download the blob layer and extract it to the corresponding directory. Obviously, this is more complicated to operate and maintain. We can support this scenario through nydus-snapshotter, which downloads the blob layer from the registry through snapshotter and puts it into the blob cache directory configured by Nydusd.

    opened by zyfjeff 4
  • Remove default http timeout limit

    Remove default http timeout limit

    When the single-layer image is too large or the network bandwidth is poor, it is easy to reach this timeout period. The default resolver of docker has no timeout limit, so this timeout limit is removed here, and the timeout is controlled by upper-layer tools such as nerdctl/ctr/crictl.

    Signed-off-by: zyfjeff [email protected]

    opened by zyfjeff 3
  • Fix BlobMgr Remove

    Fix BlobMgr Remove

    Previously in the localfs backend mode, when blobMgr delete the blob corresponding to the snapshot, it mistakenly used the key (chainID) issued by containerd as the blob digest, resulting in only the first layer of blob being deleted. Now

    1. For the scenario of converting OCI to Nydus image, get the blob digest, in fact the snapshot key by label NydusDataLayer, the kv pair (NydusDataLayer --> snapshot key) has been set after the convert.
    2. For the scenario of full download of nydus image, get the correct blob digest by label CRILayerDigest.

    Signed-off-by: zhaoshang [email protected]

    opened by power-more 3
  • enhance how nydusd's log are logged and redirected

    enhance how nydusd's log are logged and redirected

    If nydusd does not make to reach logging setup when starting, it can not log any errors to its logger. At present, nydusd's stderr is only redirected to snapshotter with --log-to-stdout enabled. But the option should only control nydusd's logs rather than its stderr and stdout.

    This helps us with analyzing failed started container

    opened by changweige 3
  • Refactor resolver and fix download blob bug for localfs mode

    Refactor resolver and fix download blob bug for localfs mode

    1. use common resolver for localfs mode and startgz
    2. fix download blobs don't auth for localfs mode

    Signed-off-by: zyfjeff [email protected]

    opened by zyfjeff 3
  • Snapshotter won't remove blobcache after restarting responding to nerdctl image rm

    Snapshotter won't remove blobcache after restarting responding to nerdctl image rm

    When a container image is not used or referenced by a container, nydus-snapshotter is responsible to do GC for the blobcache files. But restarting snapshotter ends in states missing and no blobcache files GS is performed.

    bug TBD 
    opened by changweige 3
  • start nydus by toml config

    start nydus by toml config

    Use the toml file to configure the startup parameters of nydus-snapshotter relates to https://github.com/containerd/nydus-snapshotter/pull/178 Signed-off-by: raoxiang [email protected]

    opened by raoxiang1996 2
  • delete daemon from DB in the first place when removing snapshot

    delete daemon from DB in the first place when removing snapshot

    If any step fails after deleting daemon from DB, it won't cause daemon record residual.

    Residual daemon records will cause snapshotter restart the nydusd continuously.

    Signed-off-by: Changwei Ge [email protected]

    opened by changweige 0
  • try to start nydusd before prepare uppermost writable layer

    try to start nydusd before prepare uppermost writable layer

    Nydusd can only be started when preparing the uppmost writable layer, which means pulling images won't bring up nydusd. It introduces container startup latency.

    enhancement 
    opened by changweige 0
  • Support shared domain for erofs + fscache daemon

    Support shared domain for erofs + fscache daemon

    Previously, the commit erofs: basic support for erofs + fscache daemon supported erofs with fscache daemon.
    Since the shared domain feature is not be implemented in Linux Kernel, the config field DomainID is unused.
    The cfg field "DomainID" is not used since the shared domain feature is not implemented in Linux Kernel. After Kernel implements this feature, nydus-snapshotter should adapt the DomainID field.

    opened by userzj 2
Releases(v0.3.0-rc.3)
  • v0.3.0-rc.3(Sep 6, 2022)

    What's Changed

    • Change upperPath permission from 0750 to 0755 by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/139
    • Make current machine's arch as defaulted GOARCH by @changweige in https://github.com/containerd/nydus-snapshotter/pull/141
    • clean up nydus vestige when starting by @changweige in https://github.com/containerd/nydus-snapshotter/pull/148
    • Add containerized e2e test by @changweige in https://github.com/containerd/nydus-snapshotter/pull/140
    • change default work root dir to /var/lib/containerd-nydus by @changweige in https://github.com/containerd/nydus-snapshotter/pull/143
    • converter: create work directory if not exists by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/147
    • e2e test use new default root dir by @changweige in https://github.com/containerd/nydus-snapshotter/pull/149
    • fix: kill nydus-image process with timeout by @power-more in https://github.com/containerd/nydus-snapshotter/pull/146
    • configure prefetch in example fscache nydusd config file by @changweige in https://github.com/containerd/nydus-snapshotter/pull/157
    • add e2e test for fscache driver by @changweige in https://github.com/containerd/nydus-snapshotter/pull/153
    • converter: improve performance by calculating diffid ahead of time by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/154
    • converter: improve method options by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/155
    • converter: export IsNydusBlob and MergeLayers methods by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/159
    • give NoneMode mount option with lowerdir=/dummy by @changweige in https://github.com/containerd/nydus-snapshotter/pull/160

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-rc.2...v0.3.0-rc.3

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-rc.2(Aug 18, 2022)

    What's Changed

    • converter: fix some comments by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/130
    • add a flag to control whether enable kubeconfig keychain by @changweige in https://github.com/containerd/nydus-snapshotter/pull/131
    • github: perform test against multiple daemon mode by @changweige in https://github.com/containerd/nydus-snapshotter/pull/133
    • rotate snapshotter log by @sctb512 in https://github.com/containerd/nydus-snapshotter/pull/134
    • clean up and fix how nydus-snapshotter prepares mountpoints for nydusd by @changweige in https://github.com/containerd/nydus-snapshotter/pull/132
    • use xid to generate nydusd's internal ID by @changweige in https://github.com/containerd/nydus-snapshotter/pull/136
    • converter: improve backend implementation by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/137
    • converter: make backend package independent by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/138

    New Contributors

    • @sctb512 made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/134

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-rc.1...v0.3.0-rc.2

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-rc.1(Aug 12, 2022)

    What's Changed

    • tests: fix panic for unpack test by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/123
    • add k8s secret auth method by @raoxiang1996 in https://github.com/containerd/nydus-snapshotter/pull/113
    • Fix BlobMgr Remove by @power-more in https://github.com/containerd/nydus-snapshotter/pull/120
    • cache manager: fix cache manager failure in none daemon mode by @power-more in https://github.com/containerd/nydus-snapshotter/pull/124
    • Add helper functions for containerd image convertion by @loheagn in https://github.com/containerd/nydus-snapshotter/pull/127

    New Contributors

    • @raoxiang1996 made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/113

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.5...v0.3.0-rc.1

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.5(Aug 2, 2022)

    What's Changed

    • feat: Only retain serious log while unpacking by @ccx1024cc in https://github.com/containerd/nydus-snapshotter/pull/88
    • common: add flag --fs-driver to replace --daemon-backend by @changweige in https://github.com/containerd/nydus-snapshotter/pull/94
    • Refine commandline help messages by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/95
    • Fix a bug in annotation preparation by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/96
    • Enable log for fscache by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/98
    • smoke: use latest nydus release by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/105
    • Second PR to enhance the snapshotter implementation by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/101
    • MAINTAINERS: Add Yan Song as a reviewer by @changweige in https://github.com/containerd/nydus-snapshotter/pull/108
    • Fix some spelling mistakes, rename nydusd log file by @changweige in https://github.com/containerd/nydus-snapshotter/pull/99
    • Optimize snapshotter to reduce container startup time by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/114
    • Remove blob.meta files when GC nydus blob files by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/115
    • change systemd KillMode to process by @changweige in https://github.com/containerd/nydus-snapshotter/pull/116
    • remove nydusd daemon mode fuse when starting by @changweige in https://github.com/containerd/nydus-snapshotter/pull/119
    • Optimize handling of stargz images by @jiangliu in https://github.com/containerd/nydus-snapshotter/pull/117
    • Revert "remove nydusd daemon mode fuse when starting" by @hsiangkao in https://github.com/containerd/nydus-snapshotter/pull/122
    • typical nydusd/rafs configuration file by @changweige in https://github.com/containerd/nydus-snapshotter/pull/121
    • Refactor resolver and fix download blob bug for localfs mode by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/109
    • enhance how nydusd's log are logged and redirected by @changweige in https://github.com/containerd/nydus-snapshotter/pull/118

    New Contributors

    • @jiangliu made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/95

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.4...v0.3.0-alpha.5

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.4(Jul 4, 2022)

    What's Changed

    • README.md: improve the overall description by @hsiangkao in https://github.com/containerd/nydus-snapshotter/pull/86
    • converter: enhance pack/merge/unpack options by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/87

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.3...v0.3.0-alpha.4

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.3(Jul 1, 2022)

    What's Changed

    • resolver: replace standard http client to go-retryablehttp by @power-more in https://github.com/containerd/nydus-snapshotter/pull/76
    • Remove incorrect or useless dependencies by @loheagn in https://github.com/containerd/nydus-snapshotter/pull/85

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.2...v0.3.0-alpha.3

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.2(Jun 30, 2022)

    What's Changed

    • config: Fix workdir json key not consist with nydusd fscache daemon by @kevinXYin in https://github.com/containerd/nydus-snapshotter/pull/75
    • Filesystem: refactor estargz support by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/77
    • Filesytem: support estargz for rafs v6 by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/79
    • Overlayfs: add volatile option when creating Active snapshot by @power-more in https://github.com/containerd/nydus-snapshotter/pull/74
    • fscache: fix possible conflict fscache id by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/81
    • feat: NYDUS files are convertible to OCI tar by @ccx1024cc in https://github.com/containerd/nydus-snapshotter/pull/80
    • fscache: simple fixup for busy mountpoint by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/83
    • fscache: fix fscache workdir path for estargz by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/82
    • build(deps): bump github.com/containerd/containerd from 1.6.1 to 1.6.6 by @dependabot in https://github.com/containerd/nydus-snapshotter/pull/84

    New Contributors

    • @kevinXYin made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/75
    • @ccx1024cc made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/80
    • @dependabot made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/84

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.1...v0.3.0-alpha.2

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.1(Jun 20, 2022)

    What's Changed

    • args: change async-remove to sync-remove by @power-more in https://github.com/containerd/nydus-snapshotter/pull/69
    • Implement blob layer download in snapshotter by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/53
    • Filesystem: fix parsing estargz TOC data by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/70
    • export label.AppendLabelsHandlerWrapper by @loheagn in https://github.com/containerd/nydus-snapshotter/pull/73

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.3.0-alpha.0...v0.3.0-alpha.1

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0-alpha.0(Jun 14, 2022)

    What's Changed

    • Remove duplicated chunk info from bootstrap v6 format by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/45
    • action: add sha256sum file for release assets by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/50
    • daemon: ignore checks for nydus binary when DaemonMode=none by @power-more in https://github.com/containerd/nydus-snapshotter/pull/57
    • config: support skip_verify backend option by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/56
    • add support for erofs with fscache by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/58
    • Disable the logic for downloading bootstarp in snapshotter by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/61
    • fscache: enable log-level settings by @nan1994 in https://github.com/containerd/nydus-snapshotter/pull/64
    • doc: provide container id when use ctr-remote run by @loheagn in https://github.com/containerd/nydus-snapshotter/pull/65
    • erofs: drop "device=" options by @hsiangkao in https://github.com/containerd/nydus-snapshotter/pull/66
    • log: fix logdir and output bug of snapshotter by @power-more in https://github.com/containerd/nydus-snapshotter/pull/62
    • Convert: support nydus v6 fs version convert by @zyfjeff in https://github.com/containerd/nydus-snapshotter/pull/67
    • action: relax the condition of release tag by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/68

    New Contributors

    • @zyfjeff made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/45
    • @nan1994 made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/64
    • @loheagn made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/65
    • @hsiangkao made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/66

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.2.3...v0.3.0-alpha.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.4(May 30, 2022)

  • v0.2.3(May 11, 2022)

  • v0.2.2(May 9, 2022)

  • v0.2.1(Apr 21, 2022)

    What's Changed

    • mod: use fixed image-spec version by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/39
    • fix daemon state check by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/40
    • process: fix shared umount on daemon destroy by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/42
    • fix the bug that daemon status is not fully serialized by @power-more in https://github.com/containerd/nydus-snapshotter/pull/41
    • add cleanup_on_close config option by @power-more in https://github.com/containerd/nydus-snapshotter/pull/41
    • add StatusCode in handleMountError by @power-more in https://github.com/containerd/nydus-snapshotter/pull/41
    • converter: fix incomplete unpack by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/43

    New Contributors

    • @power-more made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/41

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.2.0...v0.2.1

    Source code(tar.gz)
    Source code(zip)
    nydus-snapshotter-v0.2.1-x86_64.tgz(4.61 MB)
  • v0.2.0(Apr 8, 2022)

    What's Changed

    • pkg/nydussdk: add more context on returning errors by @eryugey in https://github.com/containerd/nydus-snapshotter/pull/27
    • mod: update containerd, docker and distribution dependency by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/28
    • action: add simple e2e ci by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/29
    • deps: update docker/distribution and opencontainers/image-spec by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/33
    • daemon: use one nydus client per Daemon by @eryugey in https://github.com/containerd/nydus-snapshotter/pull/32
    • Add converter package for tar build by @imeoer in https://github.com/containerd/nydus-snapshotter/pull/34
    • action: optimize release by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/38

    New Contributors

    • @eryugey made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/27
    • @imeoer made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/34

    Full Changelog: https://github.com/containerd/nydus-snapshotter/compare/v0.0.1...v0.2.0

    Source code(tar.gz)
    Source code(zip)
    nydus-snapshotter-v0.2.0-x86_64.tgz(4.61 MB)
  • v0.1.0(Feb 17, 2022)

    Nydus-snapshotter v0.1.0 release

    What's Changed

    • doc: rename documentation folder to docs by @changweige in https://github.com/containerd/nydus-snapshotter/pull/1
    • action: build snapshotter image by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/11
    • improve makefile by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/10
    • action: add release workflow definition by @changweige in https://github.com/containerd/nydus-snapshotter/pull/9
    • actions: add go mod cache by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/13
    • mod: update containerd and runc dependencies by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/12
    • improve nydus snapshotter container image by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/15
    • Fix stale links of docs by @liubogithub in https://github.com/containerd/nydus-snapshotter/pull/16
    • fix image builder ssl issue and trigger build on pull_request and release by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/17
    • cmd: remove nydusd-path and nydusimg-path startup options by @liubin in https://github.com/containerd/nydus-snapshotter/pull/18
    • make thread-num for nydusd should be configurable by @liubin in https://github.com/containerd/nydus-snapshotter/pull/20
    • README.md: add disable_snapshot_annotations=false in cri env by @luodw in https://github.com/containerd/nydus-snapshotter/pull/22
    • Provide make install to facilitate configuring nydus-snapshotter by @changweige in https://github.com/containerd/nydus-snapshotter/pull/24

    New Contributors

    • @changweige made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/1
    • @liubogithub made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/16
    • @liubin made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/18
    • @luodw made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/22

    Full Changelog: https://github.com/containerd/nydus-snapshotter/commits/v0.1.0

    Source code(tar.gz)
    Source code(zip)
    nydus-snapshotter-v0.1.0-x86_64.tgz(4.96 MB)
  • v0.0.1(Feb 17, 2022)

    Nydus-snapshotter v0.0.1 release

    What's Changed

    • doc: rename documentation folder to docs by @changweige in https://github.com/containerd/nydus-snapshotter/pull/1
    • action: build snapshotter image by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/11
    • improve makefile by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/10
    • action: add release workflow definition by @changweige in https://github.com/containerd/nydus-snapshotter/pull/9
    • actions: add go mod cache by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/13
    • mod: update containerd and runc dependencies by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/12
    • improve nydus snapshotter container image by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/15
    • Fix stale links of docs by @liubogithub in https://github.com/containerd/nydus-snapshotter/pull/16
    • fix image builder ssl issue and trigger build on pull_request and release by @bergwolf in https://github.com/containerd/nydus-snapshotter/pull/17
    • cmd: remove nydusd-path and nydusimg-path startup options by @liubin in https://github.com/containerd/nydus-snapshotter/pull/18
    • make thread-num for nydusd should be configurable by @liubin in https://github.com/containerd/nydus-snapshotter/pull/20
    • README.md: add disable_snapshot_annotations=false in cri env by @luodw in https://github.com/containerd/nydus-snapshotter/pull/22
    • Provide make install to facilitate configuring nydus-snapshotter by @changweige in https://github.com/containerd/nydus-snapshotter/pull/24

    New Contributors

    • @changweige made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/1
    • @liubogithub made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/16
    • @liubin made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/18
    • @luodw made their first contribution in https://github.com/containerd/nydus-snapshotter/pull/22

    Full Changelog: https://github.com/containerd/nydus-snapshotter/commits/v0.0.1

    Source code(tar.gz)
    Source code(zip)
    nydus-snapshotter-v0.0.1-x86_64.tgz(4.96 MB)
Owner
containerd
containerd
Repositório para a aula sobre integração do containerd com Golang

Integrando containers nativamente usando Golang Este é o código finalizado da aplicação Já pensou em uma alternativa ao Docker? Que tal manipular cont

Rocketseat Experts Club 3 May 4, 2021
Container-Explorer is a tool to explore containerd installation on a mounted image.

Container-Explorer Container-Explorer is a tool to explore containerd installation on a mounted image. Container-Explorer attempts to provide the simi

Google 22 Aug 3, 2022
Installs containerd on Windows, optionally with default CNI plugins

containerd-installer Installs containerd on Windows, optionally with default CNI plugins Usage NAME: containerd-installer.exe - Install containerd

Markus Lippert 12 Sep 19, 2022
Runwasi - A containerd shim which runs wasm workloads in wasmtime

containerd-shim-wasmtime-v1 This is a containerd shim which runs wasm workloads

Brian Goff 129 Sep 27, 2022
Litestream-read-replica-demo - A demo application for running live read replication on fly.io with Litestream

Litestream Read Replica Demo A demo application for running live read replicatio

Ben Johnson 67 Aug 6, 2022
Cli tool to save useful links to read it later

lnk - Cli tool to save useful links still in development Usage lnk <new|list> [url] - new: creates a new link url: required params, which i

Wassim 8 Jun 23, 2022
Write controller-runtime based k8s controllers that read/write to git, not k8s

Git Backed Controller The basic idea is to write a k8s controller that runs against git and not k8s apiserver. So the controller is reading and writin

Darren Shepherd 50 Dec 10, 2021
Dgraph Backup and Restore (cloud). Read-only mirror.

dgbrx Dgraph Backup and Restore X dgbrx is a Go commandline tool which helps to do a backup, restore or clean on a Dgraph Cloud (aka slash / managed)

Sorcero 2 Oct 28, 2021
Repo CRUD - write e read in mongoDB

Meli User - userwrite Este repo é responsável por um cadastro onde teremos somen

Jefferson Otoni Lima 3 Jan 3, 2022
Godart - Amazon Alexa skill in Go to read train times out loud

GODART Alexa skill to have DART times for the requested station. build and deplo

Patrick O'Sullivan 1 Apr 13, 2022
An example of using Litestream's live read replication feature.

Litestream Read Replica Example This repository is an example of how to setup and deploy a multi-node SQLite database using Litestream's live read rep

Ben Johnson 42 Sep 3, 2022
contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...

contaiNERD CTL - Docker-compatible CLI for containerd, with support for Compose, Rootless, eStargz, OCIcrypt, IPFS, ...

containerd 4.5k Sep 29, 2022
A parallel downloader with resume capability

Grozilla The Grozilla is a simple implementation that allows downloading of video,audio,package or zip files parallely and efficiently using light wei

Prashant Agarwala 39 May 5, 2022
🤖🤝A tool to test and analyze storage and retrieval deal capability on the Filecoin network.

Dealbot A tool to test and analyze storage and retrieval deal capability on the Filecoin network. Getting Started Clone the repo and build: git clone

Filecoin 29 Sep 10, 2022
This library provides WebAssembly capability for goja Javascript engine

This module provides WebAssembly functions into goja javascript engine.

YC-L 1 Jan 10, 2022
Live on-demand transcoding in go using ffmpeg. Also with NVIDIA GPU hardware acceleration.

Go live HTTP on-demand transcoding Transcoding is expensive and resource consuming operation on CPU and GPU. For big companies with thousands of custo

Miroslav Šedivý 96 Aug 29, 2022
Golang binaries compiled on-demand for your system

Go Binaries Go Binaries is an on-demand binary server, allowing non-Go users to quickly install tools written in Go without installing go itself, and

TJ Holowaychuk 758 Sep 23, 2022
Tiny binary serializer and deserializer to create on demand parsers and compilers

Parco Hobbyist binary compiler and parser built with as less reflection as possible, highly extensible and with zero dependencies. There are plenty pa

Marquitos 56 Sep 24, 2022
log on demand for Go.

logondemand log on demand for Go.

chuqq 0 Feb 14, 2022
Cyber Stasis is an economic simulator in the form of a fictional game based on global real-time demand and supply.

Cyber Stasis Cyber Stasis is an economic simulator in the form of a fictional game based on global real-time demand and supply. How to Play The game r

Stateless Minds 84 Aug 23, 2022