├── .cirrus.yml ├── .codespellrc ├── .dockerignore ├── .github └── renovate.json5 ├── .gitignore ├── .golangci.yml ├── .mailmap ├── AUTHORS ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── NOTICE ├── OWNERS ├── README.md ├── SECURITY.md ├── VERSION ├── check.go ├── check_test.go ├── cmd └── containers-storage │ ├── README.md │ ├── check.go │ ├── config.go │ ├── container.go │ ├── containers.go │ ├── copy.go │ ├── create.go │ ├── dedup.go │ ├── delete.go │ ├── diff.go │ ├── exists.go │ ├── gc.go │ ├── image.go │ ├── images.go │ ├── layer.go │ ├── layers.go │ ├── main.go │ ├── metadata.go │ ├── mount.go │ ├── name.go │ ├── shutdown.go │ ├── status.go │ ├── tree.go │ ├── tree_test.go │ ├── unshare.go │ ├── version.go │ └── wipe.go ├── containers.go ├── contrib └── cirrus │ ├── build_and_test.sh │ ├── lib.sh │ ├── setup.sh │ └── timestamp.awk ├── deprecated.go ├── docs ├── Makefile ├── containers-storage-add-names.md ├── containers-storage-applydiff-using-staging-dir.md ├── containers-storage-applydiff.md ├── containers-storage-changes.md ├── containers-storage-check.md ├── containers-storage-composefs.md ├── containers-storage-config.md ├── containers-storage-container.md ├── containers-storage-containers.md ├── containers-storage-copy.md ├── containers-storage-create-container.md ├── containers-storage-create-image.md ├── containers-storage-create-layer.md ├── containers-storage-create-storage-layer.md ├── containers-storage-dedup.md ├── containers-storage-delete-container.md ├── containers-storage-delete-image.md ├── containers-storage-delete-layer.md ├── containers-storage-delete.md ├── containers-storage-diff.md ├── containers-storage-diffsize.md ├── containers-storage-exists.md ├── containers-storage-gc.md ├── containers-storage-get-container-data-digest.md ├── containers-storage-get-container-data-size.md ├── containers-storage-get-container-data.md ├── containers-storage-get-container-dir.md ├── containers-storage-get-container-run-dir.md ├── containers-storage-get-image-data-digest.md ├── containers-storage-get-image-data-size.md ├── containers-storage-get-image-data.md ├── containers-storage-get-image-dir.md ├── containers-storage-get-image-run-dir.md ├── containers-storage-get-layer-data.md ├── containers-storage-get-names.md ├── containers-storage-image.md ├── containers-storage-images-by-digest.md ├── containers-storage-images.md ├── containers-storage-import-layer.md ├── containers-storage-layer.md ├── containers-storage-layers.md ├── containers-storage-list-container-data.md ├── containers-storage-list-image-data.md ├── containers-storage-list-layer-data.md ├── containers-storage-metadata.md ├── containers-storage-mount.md ├── containers-storage-mounted.md ├── containers-storage-remove-names.md ├── containers-storage-set-container-data.md ├── containers-storage-set-image-data.md ├── containers-storage-set-layer-data.md ├── containers-storage-set-metadata.md ├── containers-storage-set-names.md ├── containers-storage-shutdown.md ├── containers-storage-status.md ├── containers-storage-unmount.md ├── containers-storage-unshare.md ├── containers-storage-version.md ├── containers-storage-wipe.md ├── containers-storage-zstd-chunked.md ├── containers-storage.conf.5.md └── containers-storage.md ├── drivers ├── aufs │ ├── aufs.go │ ├── aufs_test.go │ ├── dirs.go │ ├── mount.go │ └── mount_linux.go ├── btrfs │ ├── btrfs.go │ ├── btrfs_test.go │ ├── dummy_unsupported.go │ ├── version.go │ └── version_test.go ├── chown.go ├── chown_darwin.go ├── chown_unix.go ├── chown_windows.go ├── chroot_unix.go ├── chroot_windows.go ├── copy │ ├── copy_linux.go │ ├── copy_test.go │ └── copy_unsupported.go ├── counter.go ├── driver.go ├── driver_darwin.go ├── driver_freebsd.go ├── driver_linux.go ├── driver_solaris.go ├── driver_unsupported.go ├── driver_windows.go ├── fsdiff.go ├── graphtest │ ├── graphbench_unix.go │ ├── graphtest_unix.go │ ├── graphtest_windows.go │ ├── testutil.go │ └── testutil_unix.go ├── jsoniter.go ├── overlay │ ├── check.go │ ├── check_116.go │ ├── composefs.go │ ├── jsoniter.go │ ├── mount.go │ ├── overlay.go │ ├── overlay_disk_quota.go │ ├── overlay_disk_quota_unsupported.go │ ├── overlay_test.go │ ├── overlay_unsupported.go │ └── randomid.go ├── overlayutils │ └── overlayutils.go ├── quota │ ├── projectquota.go │ ├── projectquota_supported.go │ └── projectquota_unsupported.go ├── register │ ├── register_aufs.go │ ├── register_btrfs.go │ ├── register_overlay.go │ ├── register_vfs.go │ ├── register_windows.go │ └── register_zfs.go ├── template.go ├── vfs │ ├── copy_linux.go │ ├── copy_unsupported.go │ ├── driver.go │ └── vfs_test.go ├── windows │ ├── jsoniter_windows.go │ ├── windows.go │ └── windows_windows_test.go └── zfs │ ├── MAINTAINERS │ ├── zfs.go │ ├── zfs_freebsd.go │ ├── zfs_linux.go │ ├── zfs_test.go │ └── zfs_unsupported.go ├── errors.go ├── go.mod ├── go.sum ├── hack ├── btrfs_tag.sh ├── gccgo-wrapper.sh ├── generate-authors.sh ├── get_ci_vm.sh ├── git-validation.sh ├── govet.sh ├── libsubid_tag.sh └── tree_status.sh ├── idset.go ├── idset_test.go ├── images.go ├── images_test.go ├── internal ├── dedup │ ├── dedup.go │ ├── dedup_linux.go │ ├── dedup_linux_test.go │ └── dedup_unsupported.go └── opts │ ├── opts.go │ ├── opts_test.go │ └── parse.go ├── jsoniter.go ├── layers.go ├── layers_test.go ├── lockfile_compat.go ├── pkg ├── archive │ ├── README.md │ ├── archive.go │ ├── archive_110.go │ ├── archive_19.go │ ├── archive_bsd.go │ ├── archive_linux.go │ ├── archive_linux_test.go │ ├── archive_other.go │ ├── archive_test.go │ ├── archive_unix.go │ ├── archive_unix_test.go │ ├── archive_windows.go │ ├── archive_windows_test.go │ ├── archive_zstd.go │ ├── changes.go │ ├── changes_bsd_test.go │ ├── changes_linux.go │ ├── changes_other.go │ ├── changes_posix_test.go │ ├── changes_test.go │ ├── changes_unix.go │ ├── changes_unix_test.go │ ├── changes_windows.go │ ├── changes_windows_test.go │ ├── copy.go │ ├── copy_unix.go │ ├── copy_unix_test.go │ ├── copy_windows.go │ ├── diff.go │ ├── diff_test.go │ ├── example_changes.go │ ├── fflags_bsd.go │ ├── fflags_unsupported.go │ ├── filter.go │ ├── filter_test.go │ ├── testdata │ │ └── broken.tar │ ├── time_linux.go │ ├── time_unsupported.go │ ├── utils_test.go │ ├── whiteouts.go │ ├── wrap.go │ └── wrap_test.go ├── chrootarchive │ ├── archive.go │ ├── archive_darwin.go │ ├── archive_test.go │ ├── archive_unix.go │ ├── archive_unix_test.go │ ├── archive_windows.go │ ├── chroot_linux.go │ ├── chroot_unix.go │ ├── diff.go │ ├── diff_darwin.go │ ├── diff_unix.go │ ├── diff_windows.go │ ├── init_unix.go │ └── jsoniter.go ├── chunked │ ├── bloom_filter_linux.go │ ├── bloom_filter_linux_test.go │ ├── cache_linux.go │ ├── cache_linux_test.go │ ├── compression.go │ ├── compression_linux.go │ ├── compression_linux_test.go │ ├── compressor │ │ ├── compressor.go │ │ ├── compressor_test.go │ │ ├── rollsum.go │ │ └── rollsum_test.go │ ├── dump │ │ ├── dump.go │ │ └── dump_test.go │ ├── filesystem_linux.go │ ├── filesystem_linux_test.go │ ├── internal │ │ ├── minimal │ │ │ ├── compression.go │ │ │ └── compression_test.go │ │ └── path │ │ │ ├── path.go │ │ │ └── path_test.go │ ├── storage.go │ ├── storage_linux.go │ ├── storage_linux_test.go │ ├── storage_unsupported.go │ ├── toc │ │ ├── toc.go │ │ └── toc_test.go │ └── zstdchunked_test.go ├── config │ ├── config.go │ └── config_test.go ├── directory │ ├── directory.go │ ├── directory_test.go │ ├── directory_unix.go │ └── directory_windows.go ├── dmesg │ ├── dmesg_linux.go │ └── dmesg_linux_test.go ├── fileutils │ ├── exists_freebsd.go │ ├── exists_test.go │ ├── exists_unix.go │ ├── exists_windows.go │ ├── fileutils.go │ ├── fileutils_darwin.go │ ├── fileutils_solaris.go │ ├── fileutils_test.go │ ├── fileutils_unix.go │ ├── fileutils_windows.go │ ├── reflink_linux.go │ └── reflink_unsupported.go ├── fsutils │ └── fsutils_linux.go ├── fsverity │ ├── fsverity_linux.go │ └── fsverity_unsupported.go ├── homedir │ ├── homedir.go │ ├── homedir_test.go │ ├── homedir_unix.go │ └── homedir_windows.go ├── idmap │ ├── idmapped_utils.go │ └── idmapped_utils_unsupported.go ├── idtools │ ├── idtools.go │ ├── idtools_supported.go │ ├── idtools_test.go │ ├── idtools_unix.go │ ├── idtools_unix_test.go │ ├── idtools_unsupported.go │ ├── idtools_windows.go │ ├── parser.go │ ├── parser_test.go │ ├── usergroupadd_linux.go │ ├── usergroupadd_unsupported.go │ └── utils_unix.go ├── ioutils │ ├── buffer.go │ ├── buffer_test.go │ ├── bytespipe.go │ ├── bytespipe_test.go │ ├── fswriters.go │ ├── fswriters_linux.go │ ├── fswriters_other.go │ ├── fswriters_test.go │ ├── readers.go │ ├── readers_test.go │ ├── temp_unix.go │ ├── temp_windows.go │ ├── writeflusher.go │ ├── writers.go │ └── writers_test.go ├── locker │ ├── README.md │ ├── locker.go │ └── locker_test.go ├── lockfile │ ├── lastwrite.go │ ├── lockfile.go │ ├── lockfile_test.go │ ├── lockfile_unix.go │ └── lockfile_windows.go ├── longpath │ ├── longpath.go │ └── longpath_test.go ├── loopback │ ├── attach_loopback.go │ ├── attach_test.go │ ├── ioctl.go │ ├── loop_wrapper.go │ ├── loopback.go │ └── loopback_unsupported.go ├── mflag │ ├── LICENSE │ ├── example │ │ └── example.go │ ├── flag.go │ └── flag_test.go ├── mount │ ├── flags.go │ ├── flags_freebsd.go │ ├── flags_linux.go │ ├── flags_unsupported.go │ ├── mount.go │ ├── mount_unix_test.go │ ├── mounter_freebsd.go │ ├── mounter_linux.go │ ├── mounter_linux_test.go │ ├── mounter_unsupported.go │ ├── mountinfo.go │ ├── mountinfo_linux.go │ ├── sharedsubtree_linux.go │ ├── sharedsubtree_linux_test.go │ ├── unmount_unix.go │ └── unmount_unsupported.go ├── parsers │ ├── kernel │ │ ├── kernel.go │ │ ├── kernel_darwin.go │ │ ├── kernel_unix.go │ │ ├── kernel_unix_test.go │ │ └── kernel_windows.go │ ├── operatingsystem │ │ ├── operatingsystem_linux.go │ │ ├── operatingsystem_solaris.go │ │ ├── operatingsystem_unix.go │ │ ├── operatingsystem_unix_test.go │ │ └── operatingsystem_windows.go │ ├── parsers.go │ └── parsers_test.go ├── pools │ ├── pools.go │ └── pools_test.go ├── promise │ ├── promise.go │ └── promise_test.go ├── reexec │ ├── README.md │ ├── command_freebsd.go │ ├── command_linux.go │ ├── command_unix.go │ ├── command_unsupported.go │ ├── command_windows.go │ ├── reexec.go │ └── reexec_test.go ├── regexp │ ├── regexp.go │ ├── regexp_dontprecompile.go │ ├── regexp_precompile.go │ └── regexp_test.go ├── stringid │ ├── README.md │ ├── stringid.go │ └── stringid_test.go ├── stringutils │ ├── README.md │ ├── stringutils.go │ └── stringutils_test.go ├── system │ ├── chmod.go │ ├── chtimes.go │ ├── chtimes_linux_test.go │ ├── chtimes_test.go │ ├── chtimes_unix.go │ ├── chtimes_windows.go │ ├── chtimes_windows_test.go │ ├── errors.go │ ├── exitcode.go │ ├── extattr_freebsd.go │ ├── extattr_unsupported.go │ ├── init.go │ ├── init_windows.go │ ├── lchflags_bsd.go │ ├── lchown.go │ ├── lcow_unix.go │ ├── lcow_windows.go │ ├── lstat_unix.go │ ├── lstat_unix_test.go │ ├── lstat_windows.go │ ├── meminfo.go │ ├── meminfo_freebsd.go │ ├── meminfo_linux.go │ ├── meminfo_solaris.go │ ├── meminfo_unix_test.go │ ├── meminfo_unsupported.go │ ├── meminfo_windows.go │ ├── mknod.go │ ├── mknod_freebsd.go │ ├── mknod_windows.go │ ├── path.go │ ├── path_unix.go │ ├── path_windows.go │ ├── path_windows_test.go │ ├── process_unix.go │ ├── rm.go │ ├── rm_common.go │ ├── rm_freebsd.go │ ├── rm_test.go │ ├── stat_common.go │ ├── stat_darwin.go │ ├── stat_freebsd.go │ ├── stat_freebsd_test.go │ ├── stat_linux.go │ ├── stat_linux_test.go │ ├── stat_netbsd.go │ ├── stat_openbsd.go │ ├── stat_solaris.go │ ├── stat_unix.go │ ├── stat_unix_test.go │ ├── stat_windows.go │ ├── syscall_unix.go │ ├── syscall_windows.go │ ├── syscall_windows_test.go │ ├── umask.go │ ├── umask_windows.go │ ├── utimes_freebsd.go │ ├── utimes_linux.go │ ├── utimes_unix_test.go │ ├── utimes_unsupported.go │ ├── xattrs_darwin.go │ ├── xattrs_freebsd.go │ ├── xattrs_linux.go │ └── xattrs_unsupported.go ├── tarlog │ ├── tarlogger.go │ └── tarlogger_test.go ├── truncindex │ ├── truncindex.go │ └── truncindex_test.go └── unshare │ ├── getenv_linux_cgo.go │ ├── getenv_linux_nocgo.go │ ├── unshare.c │ ├── unshare.go │ ├── unshare_cgo.go │ ├── unshare_darwin.go │ ├── unshare_freebsd.c │ ├── unshare_freebsd.go │ ├── unshare_gccgo.go │ ├── unshare_linux.go │ ├── unshare_test.go │ ├── unshare_unsupported.go │ └── unshare_unsupported_cgo.go ├── storage.conf ├── storage.conf-freebsd ├── store.go ├── store_test.go ├── tests ├── abs.bats ├── apply-diff.bats ├── apply-junk.bats ├── bigdata.bats ├── changes.bats ├── check.bats ├── cleanup-layer.bats ├── container-dirs.bats ├── container.bats ├── create-container.bats ├── create-image.bats ├── create-layer.bats ├── dedup.bats ├── delete-container.bats ├── delete-image.bats ├── delete-layer.bats ├── delete.bats ├── diff.bats ├── diffsize.bats ├── helpers.bash ├── idmaps.bats ├── image-by-digest.bats ├── image-dirs.bats ├── image.bats ├── import-layer.bats ├── layers.bats ├── manifests.bats ├── metadata.bats ├── mount-layer.bats ├── names.bats ├── overlay-recreate.bats ├── split-store.bats ├── status.bats ├── stores.bats ├── test_drivers.bash ├── test_runner.bash └── tools │ ├── Makefile │ ├── go.mod │ ├── go.sum │ ├── tools.go │ └── vendor │ ├── github.com │ ├── cpuguy83 │ │ └── go-md2man │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── Dockerfile │ │ │ ├── LICENSE.md │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── go-md2man.1.md │ │ │ ├── md2man.go │ │ │ └── md2man │ │ │ ├── md2man.go │ │ │ └── roff.go │ ├── hashicorp │ │ └── go-version │ │ │ ├── .travis.yml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── constraint.go │ │ │ ├── version.go │ │ │ └── version_collection.go │ ├── konsorten │ │ └── go-windows-terminal-sequences │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── sequences.go │ ├── russross │ │ └── blackfriday │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── block.go │ │ │ ├── doc.go │ │ │ ├── html.go │ │ │ ├── inline.go │ │ │ ├── latex.go │ │ │ ├── markdown.go │ │ │ └── smartypants.go │ ├── sirupsen │ │ └── logrus │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── alt_exit.go │ │ │ ├── appveyor.yml │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── exported.go │ │ │ ├── formatter.go │ │ │ ├── hooks.go │ │ │ ├── json_formatter.go │ │ │ ├── logger.go │ │ │ ├── logrus.go │ │ │ ├── terminal_check_appengine.go │ │ │ ├── terminal_check_bsd.go │ │ │ ├── terminal_check_js.go │ │ │ ├── terminal_check_notappengine.go │ │ │ ├── terminal_check_unix.go │ │ │ ├── terminal_check_windows.go │ │ │ ├── terminal_notwindows.go │ │ │ ├── terminal_windows.go │ │ │ ├── text_formatter.go │ │ │ └── writer.go │ └── vbatts │ │ └── git-validation │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── git │ │ └── commits.go │ │ ├── main.go │ │ ├── rules │ │ ├── danglingwhitespace │ │ │ └── rule.go │ │ ├── dco │ │ │ └── dco.go │ │ ├── messageregexp │ │ │ └── rule.go │ │ └── shortsubject │ │ │ └── shortsubject.go │ │ └── validate │ │ ├── rules.go │ │ └── runner.go │ ├── golang.org │ └── x │ │ └── sys │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── unix │ │ ├── .gitignore │ │ ├── README.md │ │ ├── affinity_linux.go │ │ ├── aliases.go │ │ ├── asm_aix_ppc64.s │ │ ├── asm_bsd_386.s │ │ ├── asm_bsd_amd64.s │ │ ├── asm_bsd_arm.s │ │ ├── asm_bsd_arm64.s │ │ ├── asm_bsd_ppc64.s │ │ ├── asm_bsd_riscv64.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_loong64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_riscv64.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_openbsd_mips64.s │ │ ├── asm_solaris_amd64.s │ │ ├── asm_zos_s390x.s │ │ ├── bluetooth_linux.go │ │ ├── cap_freebsd.go │ │ ├── constants.go │ │ ├── dev_aix_ppc.go │ │ ├── dev_aix_ppc64.go │ │ ├── dev_darwin.go │ │ ├── dev_dragonfly.go │ │ ├── dev_freebsd.go │ │ ├── dev_linux.go │ │ ├── dev_netbsd.go │ │ ├── dev_openbsd.go │ │ ├── dev_zos.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── epoll_zos.go │ │ ├── fcntl.go │ │ ├── fcntl_darwin.go │ │ ├── fcntl_linux_32bit.go │ │ ├── fdset.go │ │ ├── fstatfs_zos.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── ifreq_linux.go │ │ ├── ioctl.go │ │ ├── ioctl_linux.go │ │ ├── ioctl_zos.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── pagesize_unix.go │ │ ├── pledge_openbsd.go │ │ ├── ptrace_darwin.go │ │ ├── ptrace_ios.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── readdirent_getdents.go │ │ ├── readdirent_getdirentries.go │ │ ├── sockcmsg_dragonfly.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── sockcmsg_unix_other.go │ │ ├── syscall.go │ │ ├── syscall_aix.go │ │ ├── syscall_aix_ppc.go │ │ ├── syscall_aix_ppc64.go │ │ ├── syscall_bsd.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_darwin_libSystem.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_freebsd_arm64.go │ │ ├── syscall_freebsd_riscv64.go │ │ ├── syscall_hurd.go │ │ ├── syscall_hurd_386.go │ │ ├── syscall_illumos.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_alarm.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_gc.go │ │ ├── syscall_linux_gc_386.go │ │ ├── syscall_linux_gc_arm.go │ │ ├── syscall_linux_gccgo_386.go │ │ ├── syscall_linux_gccgo_arm.go │ │ ├── syscall_linux_loong64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_riscv64.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_netbsd_arm64.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_openbsd_arm.go │ │ ├── syscall_openbsd_arm64.go │ │ ├── syscall_openbsd_libc.go │ │ ├── syscall_openbsd_mips64.go │ │ ├── syscall_openbsd_ppc64.go │ │ ├── syscall_openbsd_riscv64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── syscall_unix_gc_ppc64x.go │ │ ├── syscall_zos_s390x.go │ │ ├── sysvshm_linux.go │ │ ├── sysvshm_unix.go │ │ ├── sysvshm_unix_other.go │ │ ├── timestruct.go │ │ ├── unveil_openbsd.go │ │ ├── xattr_bsd.go │ │ ├── zerrors_aix_ppc.go │ │ ├── zerrors_aix_ppc64.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_freebsd_arm64.go │ │ ├── zerrors_freebsd_riscv64.go │ │ ├── zerrors_linux.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_loong64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_riscv64.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_netbsd_arm64.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_openbsd_arm.go │ │ ├── zerrors_openbsd_arm64.go │ │ ├── zerrors_openbsd_mips64.go │ │ ├── zerrors_openbsd_ppc64.go │ │ ├── zerrors_openbsd_riscv64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zerrors_zos_s390x.go │ │ ├── zptrace_armnn_linux.go │ │ ├── zptrace_linux_arm64.go │ │ ├── zptrace_mipsnn_linux.go │ │ ├── zptrace_mipsnnle_linux.go │ │ ├── zptrace_x86_linux.go │ │ ├── zsyscall_aix_ppc.go │ │ ├── zsyscall_aix_ppc64.go │ │ ├── zsyscall_aix_ppc64_gc.go │ │ ├── zsyscall_aix_ppc64_gccgo.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_amd64.s │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_darwin_arm64.s │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_freebsd_arm64.go │ │ ├── zsyscall_freebsd_riscv64.go │ │ ├── zsyscall_illumos_amd64.go │ │ ├── zsyscall_linux.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_loong64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_riscv64.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_netbsd_arm64.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_386.s │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_openbsd_amd64.s │ │ ├── zsyscall_openbsd_arm.go │ │ ├── zsyscall_openbsd_arm.s │ │ ├── zsyscall_openbsd_arm64.go │ │ ├── zsyscall_openbsd_arm64.s │ │ ├── zsyscall_openbsd_mips64.go │ │ ├── zsyscall_openbsd_mips64.s │ │ ├── zsyscall_openbsd_ppc64.go │ │ ├── zsyscall_openbsd_ppc64.s │ │ ├── zsyscall_openbsd_riscv64.go │ │ ├── zsyscall_openbsd_riscv64.s │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsyscall_zos_s390x.go │ │ ├── zsysctl_openbsd_386.go │ │ ├── zsysctl_openbsd_amd64.go │ │ ├── zsysctl_openbsd_arm.go │ │ ├── zsysctl_openbsd_arm64.go │ │ ├── zsysctl_openbsd_mips64.go │ │ ├── zsysctl_openbsd_ppc64.go │ │ ├── zsysctl_openbsd_riscv64.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_freebsd_arm64.go │ │ ├── zsysnum_freebsd_riscv64.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_loong64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_riscv64.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_netbsd_arm64.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_openbsd_arm.go │ │ ├── zsysnum_openbsd_arm64.go │ │ ├── zsysnum_openbsd_mips64.go │ │ ├── zsysnum_openbsd_ppc64.go │ │ ├── zsysnum_openbsd_riscv64.go │ │ ├── zsysnum_zos_s390x.go │ │ ├── ztypes_aix_ppc.go │ │ ├── ztypes_aix_ppc64.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_freebsd_arm64.go │ │ ├── ztypes_freebsd_riscv64.go │ │ ├── ztypes_linux.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_loong64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_riscv64.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_netbsd_arm64.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ ├── ztypes_openbsd_arm.go │ │ ├── ztypes_openbsd_arm64.go │ │ ├── ztypes_openbsd_mips64.go │ │ ├── ztypes_openbsd_ppc64.go │ │ ├── ztypes_openbsd_riscv64.go │ │ ├── ztypes_solaris_amd64.go │ │ └── ztypes_zos_s390x.go │ └── modules.txt ├── types ├── default_override_test.conf ├── errors.go ├── idmappings.go ├── options.go ├── options_bsd.go ├── options_darwin.go ├── options_linux.go ├── options_test.go ├── options_windows.go ├── storage_broken.conf ├── storage_test.conf ├── utils.go └── utils_test.go ├── userns.go ├── userns_test.go ├── userns_unsupported.go ├── utils.go └── vendor ├── github.com ├── BurntSushi │ └── toml │ │ ├── .gitignore │ │ ├── COPYING │ │ ├── README.md │ │ ├── decode.go │ │ ├── deprecated.go │ │ ├── doc.go │ │ ├── encode.go │ │ ├── error.go │ │ ├── internal │ │ └── tz.go │ │ ├── lex.go │ │ ├── meta.go │ │ ├── parse.go │ │ ├── type_fields.go │ │ └── type_toml.go ├── Microsoft │ ├── go-winio │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── backup.go │ │ ├── backuptar │ │ │ ├── doc.go │ │ │ ├── strconv.go │ │ │ └── tar.go │ │ ├── doc.go │ │ ├── ea.go │ │ ├── file.go │ │ ├── fileinfo.go │ │ ├── hvsock.go │ │ ├── internal │ │ │ ├── fs │ │ │ │ ├── doc.go │ │ │ │ ├── fs.go │ │ │ │ ├── security.go │ │ │ │ └── zsyscall_windows.go │ │ │ ├── socket │ │ │ │ ├── rawaddr.go │ │ │ │ ├── socket.go │ │ │ │ └── zsyscall_windows.go │ │ │ └── stringbuffer │ │ │ │ └── wstring.go │ │ ├── pipe.go │ │ ├── pkg │ │ │ └── guid │ │ │ │ ├── guid.go │ │ │ │ ├── guid_nonwindows.go │ │ │ │ ├── guid_windows.go │ │ │ │ └── variant_string.go │ │ ├── privilege.go │ │ ├── reparse.go │ │ ├── sd.go │ │ ├── syscall.go │ │ ├── vhd │ │ │ ├── vhd.go │ │ │ └── zvhd_windows.go │ │ └── zsyscall_windows.go │ └── hcsshim │ │ ├── .clang-format │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── CODEOWNERS │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── Makefile.bootfiles │ │ ├── Protobuild.toml │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── computestorage │ │ ├── attach.go │ │ ├── destroy.go │ │ ├── detach.go │ │ ├── export.go │ │ ├── format.go │ │ ├── helpers.go │ │ ├── import.go │ │ ├── initialize.go │ │ ├── mount.go │ │ ├── setup.go │ │ ├── storage.go │ │ └── zsyscall_windows.go │ │ ├── container.go │ │ ├── errors.go │ │ ├── hcsshim.go │ │ ├── hnsaccelnet.go │ │ ├── hnsendpoint.go │ │ ├── hnsglobals.go │ │ ├── hnsnetwork.go │ │ ├── hnspolicy.go │ │ ├── hnspolicylist.go │ │ ├── hnssupport.go │ │ ├── interface.go │ │ ├── internal │ │ ├── cow │ │ │ └── cow.go │ │ ├── hcs │ │ │ ├── callback.go │ │ │ ├── doc.go │ │ │ ├── errors.go │ │ │ ├── process.go │ │ │ ├── schema1 │ │ │ │ └── schema1.go │ │ │ ├── schema2 │ │ │ │ ├── attachment.go │ │ │ │ ├── battery.go │ │ │ │ ├── cache_query_stats_response.go │ │ │ │ ├── chipset.go │ │ │ │ ├── cimfs.go │ │ │ │ ├── close_handle.go │ │ │ │ ├── com_port.go │ │ │ │ ├── compute_system.go │ │ │ │ ├── configuration.go │ │ │ │ ├── console_size.go │ │ │ │ ├── container.go │ │ │ │ ├── container_credential_guard_add_instance_request.go │ │ │ │ ├── container_credential_guard_hv_socket_service_config.go │ │ │ │ ├── container_credential_guard_instance.go │ │ │ │ ├── container_credential_guard_modify_operation.go │ │ │ │ ├── container_credential_guard_operation_request.go │ │ │ │ ├── container_credential_guard_remove_instance_request.go │ │ │ │ ├── container_credential_guard_state.go │ │ │ │ ├── container_credential_guard_system_info.go │ │ │ │ ├── container_memory_information.go │ │ │ │ ├── cpu_group.go │ │ │ │ ├── cpu_group_affinity.go │ │ │ │ ├── cpu_group_config.go │ │ │ │ ├── cpu_group_configurations.go │ │ │ │ ├── cpu_group_operations.go │ │ │ │ ├── cpu_group_property.go │ │ │ │ ├── create_group_operation.go │ │ │ │ ├── debug_options.go │ │ │ │ ├── delete_group_operation.go │ │ │ │ ├── device.go │ │ │ │ ├── devices.go │ │ │ │ ├── enhanced_mode_video.go │ │ │ │ ├── firmware.go │ │ │ │ ├── flexible_io_device.go │ │ │ │ ├── guest_connection.go │ │ │ │ ├── guest_connection_info.go │ │ │ │ ├── guest_crash_reporting.go │ │ │ │ ├── guest_os.go │ │ │ │ ├── guest_state.go │ │ │ │ ├── host_processor_modify_request.go │ │ │ │ ├── hosted_system.go │ │ │ │ ├── hv_socket.go │ │ │ │ ├── hv_socket_2.go │ │ │ │ ├── hv_socket_address.go │ │ │ │ ├── hv_socket_service_config.go │ │ │ │ ├── hv_socket_system_config.go │ │ │ │ ├── interrupt_moderation_mode.go │ │ │ │ ├── iov_settings.go │ │ │ │ ├── isolation_settings.go │ │ │ │ ├── keyboard.go │ │ │ │ ├── layer.go │ │ │ │ ├── linux_kernel_direct.go │ │ │ │ ├── logical_processor.go │ │ │ │ ├── mapped_directory.go │ │ │ │ ├── mapped_pipe.go │ │ │ │ ├── memory.go │ │ │ │ ├── memory_backing_type.go │ │ │ │ ├── memory_information_for_vm.go │ │ │ │ ├── memory_stats.go │ │ │ │ ├── model_container_definition_device.go │ │ │ │ ├── model_device_category.go │ │ │ │ ├── model_device_extension.go │ │ │ │ ├── model_device_instance.go │ │ │ │ ├── model_device_namespace.go │ │ │ │ ├── model_interface_class.go │ │ │ │ ├── model_namespace.go │ │ │ │ ├── model_object_directory.go │ │ │ │ ├── model_object_namespace.go │ │ │ │ ├── model_object_symlink.go │ │ │ │ ├── modification_request.go │ │ │ │ ├── modify_setting_request.go │ │ │ │ ├── mouse.go │ │ │ │ ├── network_adapter.go │ │ │ │ ├── networking.go │ │ │ │ ├── numa.go │ │ │ │ ├── numa_node.go │ │ │ │ ├── numa_node_memory.go │ │ │ │ ├── numa_node_processor.go │ │ │ │ ├── numa_processors.go │ │ │ │ ├── numa_setting.go │ │ │ │ ├── pause_notification.go │ │ │ │ ├── pause_options.go │ │ │ │ ├── plan9.go │ │ │ │ ├── plan9_share.go │ │ │ │ ├── process_details.go │ │ │ │ ├── process_modify_request.go │ │ │ │ ├── process_parameters.go │ │ │ │ ├── process_status.go │ │ │ │ ├── processor.go │ │ │ │ ├── processor_stats.go │ │ │ │ ├── processor_topology.go │ │ │ │ ├── properties.go │ │ │ │ ├── property_query.go │ │ │ │ ├── property_type.go │ │ │ │ ├── rdp_connection_options.go │ │ │ │ ├── registry_changes.go │ │ │ │ ├── registry_hive.go │ │ │ │ ├── registry_key.go │ │ │ │ ├── registry_value.go │ │ │ │ ├── registry_value_type.go │ │ │ │ ├── restore_state.go │ │ │ │ ├── save_options.go │ │ │ │ ├── scsi.go │ │ │ │ ├── security_settings.go │ │ │ │ ├── service_properties.go │ │ │ │ ├── shared_memory_configuration.go │ │ │ │ ├── shared_memory_region.go │ │ │ │ ├── shared_memory_region_info.go │ │ │ │ ├── silo_properties.go │ │ │ │ ├── statistics.go │ │ │ │ ├── storage.go │ │ │ │ ├── storage_qo_s.go │ │ │ │ ├── storage_stats.go │ │ │ │ ├── system_time.go │ │ │ │ ├── time_zone_information.go │ │ │ │ ├── topology.go │ │ │ │ ├── uefi.go │ │ │ │ ├── uefi_boot_entry.go │ │ │ │ ├── version.go │ │ │ │ ├── video_monitor.go │ │ │ │ ├── virtual_machine.go │ │ │ │ ├── virtual_machine_memory.go │ │ │ │ ├── virtual_machine_processor.go │ │ │ │ ├── virtual_node_info.go │ │ │ │ ├── virtual_p_mem_controller.go │ │ │ │ ├── virtual_p_mem_device.go │ │ │ │ ├── virtual_p_mem_mapping.go │ │ │ │ ├── virtual_pci_device.go │ │ │ │ ├── virtual_pci_function.go │ │ │ │ ├── virtual_slit_type.go │ │ │ │ ├── virtual_smb.go │ │ │ │ ├── virtual_smb_share.go │ │ │ │ ├── virtual_smb_share_options.go │ │ │ │ ├── vm_memory.go │ │ │ │ ├── vm_processor_limits.go │ │ │ │ └── windows_crash_reporting.go │ │ │ ├── service.go │ │ │ ├── system.go │ │ │ ├── utils.go │ │ │ └── waithelper.go │ │ ├── hcserror │ │ │ ├── doc.go │ │ │ └── hcserror.go │ │ ├── hns │ │ │ ├── doc.go │ │ │ ├── hns.go │ │ │ ├── hnsaccelnet.go │ │ │ ├── hnsendpoint.go │ │ │ ├── hnsfuncs.go │ │ │ ├── hnsglobals.go │ │ │ ├── hnsnetwork.go │ │ │ ├── hnspolicy.go │ │ │ ├── hnspolicylist.go │ │ │ ├── hnssupport.go │ │ │ ├── namespace.go │ │ │ └── zsyscall_windows.go │ │ ├── interop │ │ │ ├── doc.go │ │ │ ├── interop.go │ │ │ └── zsyscall_windows.go │ │ ├── jobobject │ │ │ ├── doc.go │ │ │ ├── iocp.go │ │ │ ├── jobobject.go │ │ │ └── limits.go │ │ ├── log │ │ │ ├── context.go │ │ │ ├── format.go │ │ │ ├── hook.go │ │ │ ├── nopformatter.go │ │ │ └── scrub.go │ │ ├── logfields │ │ │ └── fields.go │ │ ├── longpath │ │ │ └── longpath.go │ │ ├── memory │ │ │ ├── pool.go │ │ │ └── types.go │ │ ├── mergemaps │ │ │ └── merge.go │ │ ├── oc │ │ │ ├── errors.go │ │ │ ├── exporter.go │ │ │ └── span.go │ │ ├── protocol │ │ │ └── guestrequest │ │ │ │ └── types.go │ │ ├── queue │ │ │ └── mq.go │ │ ├── safefile │ │ │ ├── do.go │ │ │ └── safeopen.go │ │ ├── security │ │ │ ├── grantvmgroupaccess.go │ │ │ ├── syscall_windows.go │ │ │ └── zsyscall_windows.go │ │ ├── timeout │ │ │ └── timeout.go │ │ ├── vmcompute │ │ │ ├── doc.go │ │ │ ├── vmcompute.go │ │ │ └── zsyscall_windows.go │ │ ├── wclayer │ │ │ ├── activatelayer.go │ │ │ ├── baselayerreader.go │ │ │ ├── baselayerwriter.go │ │ │ ├── converttobaselayer.go │ │ │ ├── createlayer.go │ │ │ ├── createscratchlayer.go │ │ │ ├── deactivatelayer.go │ │ │ ├── destroylayer.go │ │ │ ├── doc.go │ │ │ ├── expandscratchsize.go │ │ │ ├── exportlayer.go │ │ │ ├── getlayermountpath.go │ │ │ ├── getsharedbaseimages.go │ │ │ ├── grantvmaccess.go │ │ │ ├── importlayer.go │ │ │ ├── layerexists.go │ │ │ ├── layerid.go │ │ │ ├── layerutils.go │ │ │ ├── legacy.go │ │ │ ├── nametoguid.go │ │ │ ├── preparelayer.go │ │ │ ├── processimage.go │ │ │ ├── unpreparelayer.go │ │ │ ├── wclayer.go │ │ │ └── zsyscall_windows.go │ │ └── winapi │ │ │ ├── bindflt.go │ │ │ ├── cimfs.go │ │ │ ├── console.go │ │ │ ├── devices.go │ │ │ ├── doc.go │ │ │ ├── elevation.go │ │ │ ├── errors.go │ │ │ ├── filesystem.go │ │ │ ├── jobobject.go │ │ │ ├── logon.go │ │ │ ├── memory.go │ │ │ ├── net.go │ │ │ ├── offlinereg.go │ │ │ ├── path.go │ │ │ ├── process.go │ │ │ ├── processor.go │ │ │ ├── system.go │ │ │ ├── thread.go │ │ │ ├── user.go │ │ │ ├── utils.go │ │ │ ├── winapi.go │ │ │ └── zsyscall_windows.go │ │ ├── layer.go │ │ ├── osversion │ │ ├── osversion_windows.go │ │ ├── platform_compat_windows.go │ │ └── windowsbuilds.go │ │ ├── process.go │ │ └── zsyscall_windows.go ├── containerd │ ├── cgroups │ │ └── v3 │ │ │ ├── LICENSE │ │ │ └── cgroup1 │ │ │ └── stats │ │ │ ├── doc.go │ │ │ ├── metrics.pb.go │ │ │ ├── metrics.pb.txt │ │ │ └── metrics.proto │ ├── errdefs │ │ ├── LICENSE │ │ ├── README.md │ │ ├── errors.go │ │ ├── pkg │ │ │ ├── LICENSE │ │ │ ├── errgrpc │ │ │ │ └── grpc.go │ │ │ └── internal │ │ │ │ ├── cause │ │ │ │ └── cause.go │ │ │ │ └── types │ │ │ │ └── collapsible.go │ │ └── resolve.go │ ├── stargz-snapshotter │ │ └── estargz │ │ │ ├── LICENSE │ │ │ ├── build.go │ │ │ ├── errorutil │ │ │ └── errors.go │ │ │ ├── estargz.go │ │ │ ├── gzip.go │ │ │ ├── testutil.go │ │ │ └── types.go │ └── typeurl │ │ └── v2 │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc.go │ │ └── types.go ├── cyphar │ └── filepath-securejoin │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── VERSION │ │ ├── doc.go │ │ ├── gocompat_errors_go120.go │ │ ├── gocompat_errors_unsupported.go │ │ ├── gocompat_generics_go121.go │ │ ├── gocompat_generics_unsupported.go │ │ ├── join.go │ │ ├── lookup_linux.go │ │ ├── mkdir_linux.go │ │ ├── open_linux.go │ │ ├── openat2_linux.go │ │ ├── openat_linux.go │ │ ├── procfs_linux.go │ │ └── vfs.go ├── davecgh │ └── go-spew │ │ ├── LICENSE │ │ └── spew │ │ ├── bypass.go │ │ ├── bypasssafe.go │ │ ├── common.go │ │ ├── config.go │ │ ├── doc.go │ │ ├── dump.go │ │ ├── format.go │ │ └── spew.go ├── docker │ └── go-units │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── MAINTAINERS │ │ ├── README.md │ │ ├── circle.yml │ │ ├── duration.go │ │ ├── size.go │ │ └── ulimit.go ├── gogo │ └── protobuf │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ └── proto │ │ ├── Makefile │ │ ├── clone.go │ │ ├── custom_gogo.go │ │ ├── decode.go │ │ ├── deprecated.go │ │ ├── discard.go │ │ ├── duration.go │ │ ├── duration_gogo.go │ │ ├── encode.go │ │ ├── encode_gogo.go │ │ ├── equal.go │ │ ├── extensions.go │ │ ├── extensions_gogo.go │ │ ├── lib.go │ │ ├── lib_gogo.go │ │ ├── message_set.go │ │ ├── pointer_reflect.go │ │ ├── pointer_reflect_gogo.go │ │ ├── pointer_unsafe.go │ │ ├── pointer_unsafe_gogo.go │ │ ├── properties.go │ │ ├── properties_gogo.go │ │ ├── skip_gogo.go │ │ ├── table_marshal.go │ │ ├── table_marshal_gogo.go │ │ ├── table_merge.go │ │ ├── table_unmarshal.go │ │ ├── table_unmarshal_gogo.go │ │ ├── text.go │ │ ├── text_gogo.go │ │ ├── text_parser.go │ │ ├── timestamp.go │ │ ├── timestamp_gogo.go │ │ ├── wrappers.go │ │ └── wrappers_gogo.go ├── golang │ └── groupcache │ │ ├── LICENSE │ │ └── lru │ │ └── lru.go ├── google │ ├── go-cmp │ │ ├── LICENSE │ │ └── cmp │ │ │ ├── compare.go │ │ │ ├── export.go │ │ │ ├── internal │ │ │ ├── diff │ │ │ │ ├── debug_disable.go │ │ │ │ ├── debug_enable.go │ │ │ │ └── diff.go │ │ │ ├── flags │ │ │ │ └── flags.go │ │ │ ├── function │ │ │ │ └── func.go │ │ │ └── value │ │ │ │ ├── name.go │ │ │ │ ├── pointer.go │ │ │ │ └── sort.go │ │ │ ├── options.go │ │ │ ├── path.go │ │ │ ├── report.go │ │ │ ├── report_compare.go │ │ │ ├── report_references.go │ │ │ ├── report_reflect.go │ │ │ ├── report_slices.go │ │ │ ├── report_text.go │ │ │ └── report_value.go │ ├── go-intervals │ │ ├── LICENSE │ │ └── intervalset │ │ │ ├── intervalset.go │ │ │ └── intervalset_immutable.go │ └── uuid │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dce.go │ │ ├── doc.go │ │ ├── hash.go │ │ ├── marshal.go │ │ ├── node.go │ │ ├── node_js.go │ │ ├── node_net.go │ │ ├── null.go │ │ ├── sql.go │ │ ├── time.go │ │ ├── util.go │ │ ├── uuid.go │ │ ├── version1.go │ │ ├── version4.go │ │ ├── version6.go │ │ └── version7.go ├── json-iterator │ └── go │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── adapter.go │ │ ├── any.go │ │ ├── any_array.go │ │ ├── any_bool.go │ │ ├── any_float.go │ │ ├── any_int32.go │ │ ├── any_int64.go │ │ ├── any_invalid.go │ │ ├── any_nil.go │ │ ├── any_number.go │ │ ├── any_object.go │ │ ├── any_str.go │ │ ├── any_uint32.go │ │ ├── any_uint64.go │ │ ├── build.sh │ │ ├── config.go │ │ ├── fuzzy_mode_convert_table.md │ │ ├── iter.go │ │ ├── iter_array.go │ │ ├── iter_float.go │ │ ├── iter_int.go │ │ ├── iter_object.go │ │ ├── iter_skip.go │ │ ├── iter_skip_sloppy.go │ │ ├── iter_skip_strict.go │ │ ├── iter_str.go │ │ ├── jsoniter.go │ │ ├── pool.go │ │ ├── reflect.go │ │ ├── reflect_array.go │ │ ├── reflect_dynamic.go │ │ ├── reflect_extension.go │ │ ├── reflect_json_number.go │ │ ├── reflect_json_raw_message.go │ │ ├── reflect_map.go │ │ ├── reflect_marshaler.go │ │ ├── reflect_native.go │ │ ├── reflect_optional.go │ │ ├── reflect_slice.go │ │ ├── reflect_struct_decoder.go │ │ ├── reflect_struct_encoder.go │ │ ├── stream.go │ │ ├── stream_float.go │ │ ├── stream_int.go │ │ ├── stream_str.go │ │ └── test.sh ├── klauspost │ ├── compress │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .goreleaser.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── compressible.go │ │ ├── flate │ │ │ ├── deflate.go │ │ │ ├── dict_decoder.go │ │ │ ├── fast_encoder.go │ │ │ ├── huffman_bit_writer.go │ │ │ ├── huffman_code.go │ │ │ ├── huffman_sortByFreq.go │ │ │ ├── huffman_sortByLiteral.go │ │ │ ├── inflate.go │ │ │ ├── inflate_gen.go │ │ │ ├── level1.go │ │ │ ├── level2.go │ │ │ ├── level3.go │ │ │ ├── level4.go │ │ │ ├── level5.go │ │ │ ├── level6.go │ │ │ ├── matchlen_generic.go │ │ │ ├── regmask_amd64.go │ │ │ ├── regmask_other.go │ │ │ ├── stateless.go │ │ │ └── token.go │ │ ├── fse │ │ │ ├── README.md │ │ │ ├── bitreader.go │ │ │ ├── bitwriter.go │ │ │ ├── bytereader.go │ │ │ ├── compress.go │ │ │ ├── decompress.go │ │ │ └── fse.go │ │ ├── gen.sh │ │ ├── huff0 │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── bitreader.go │ │ │ ├── bitwriter.go │ │ │ ├── compress.go │ │ │ ├── decompress.go │ │ │ ├── decompress_amd64.go │ │ │ ├── decompress_amd64.s │ │ │ ├── decompress_generic.go │ │ │ └── huff0.go │ │ ├── internal │ │ │ ├── cpuinfo │ │ │ │ ├── cpuinfo.go │ │ │ │ ├── cpuinfo_amd64.go │ │ │ │ └── cpuinfo_amd64.s │ │ │ ├── le │ │ │ │ ├── le.go │ │ │ │ ├── unsafe_disabled.go │ │ │ │ └── unsafe_enabled.go │ │ │ └── snapref │ │ │ │ ├── LICENSE │ │ │ │ ├── decode.go │ │ │ │ ├── decode_other.go │ │ │ │ ├── encode.go │ │ │ │ ├── encode_other.go │ │ │ │ └── snappy.go │ │ ├── s2sx.mod │ │ ├── s2sx.sum │ │ └── zstd │ │ │ ├── README.md │ │ │ ├── bitreader.go │ │ │ ├── bitwriter.go │ │ │ ├── blockdec.go │ │ │ ├── blockenc.go │ │ │ ├── blocktype_string.go │ │ │ ├── bytebuf.go │ │ │ ├── bytereader.go │ │ │ ├── decodeheader.go │ │ │ ├── decoder.go │ │ │ ├── decoder_options.go │ │ │ ├── dict.go │ │ │ ├── enc_base.go │ │ │ ├── enc_best.go │ │ │ ├── enc_better.go │ │ │ ├── enc_dfast.go │ │ │ ├── enc_fast.go │ │ │ ├── encoder.go │ │ │ ├── encoder_options.go │ │ │ ├── framedec.go │ │ │ ├── frameenc.go │ │ │ ├── fse_decoder.go │ │ │ ├── fse_decoder_amd64.go │ │ │ ├── fse_decoder_amd64.s │ │ │ ├── fse_decoder_generic.go │ │ │ ├── fse_encoder.go │ │ │ ├── fse_predefined.go │ │ │ ├── hash.go │ │ │ ├── history.go │ │ │ ├── internal │ │ │ └── xxhash │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── xxhash.go │ │ │ │ ├── xxhash_amd64.s │ │ │ │ ├── xxhash_arm64.s │ │ │ │ ├── xxhash_asm.go │ │ │ │ ├── xxhash_other.go │ │ │ │ └── xxhash_safe.go │ │ │ ├── matchlen_amd64.go │ │ │ ├── matchlen_amd64.s │ │ │ ├── matchlen_generic.go │ │ │ ├── seqdec.go │ │ │ ├── seqdec_amd64.go │ │ │ ├── seqdec_amd64.s │ │ │ ├── seqdec_generic.go │ │ │ ├── seqenc.go │ │ │ ├── snappy.go │ │ │ ├── zip.go │ │ │ └── zstd.go │ └── pgzip │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── GO_LICENSE │ │ ├── LICENSE │ │ ├── README.md │ │ ├── gunzip.go │ │ └── gzip.go ├── mattn │ └── go-shellwords │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── go.test.sh │ │ ├── shellwords.go │ │ ├── util_posix.go │ │ └── util_windows.go ├── mistifyio │ └── go-zfs │ │ └── v3 │ │ ├── .envrc │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── .yamllint │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── Vagrantfile │ │ ├── error.go │ │ ├── lint.mk │ │ ├── rules.mk │ │ ├── shell.nix │ │ ├── utils.go │ │ ├── utils_notsolaris.go │ │ ├── utils_solaris.go │ │ ├── zfs.go │ │ └── zpool.go ├── moby │ └── sys │ │ ├── capability │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── capability.go │ │ ├── capability_linux.go │ │ ├── capability_noop.go │ │ ├── enum.go │ │ ├── enum_gen.go │ │ └── syscall_linux.go │ │ ├── mountinfo │ │ ├── LICENSE │ │ ├── doc.go │ │ ├── mounted_linux.go │ │ ├── mounted_unix.go │ │ ├── mountinfo.go │ │ ├── mountinfo_bsd.go │ │ ├── mountinfo_filters.go │ │ ├── mountinfo_freebsdlike.go │ │ ├── mountinfo_linux.go │ │ ├── mountinfo_openbsd.go │ │ ├── mountinfo_unsupported.go │ │ └── mountinfo_windows.go │ │ └── user │ │ ├── LICENSE │ │ ├── idtools.go │ │ ├── idtools_unix.go │ │ ├── idtools_windows.go │ │ ├── lookup_unix.go │ │ ├── user.go │ │ └── user_fuzzer.go ├── modern-go │ ├── concurrent │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── executor.go │ │ ├── go_above_19.go │ │ ├── go_below_19.go │ │ ├── log.go │ │ ├── test.sh │ │ └── unbounded_executor.go │ └── reflect2 │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── go_above_118.go │ │ ├── go_above_19.go │ │ ├── go_below_118.go │ │ ├── reflect2.go │ │ ├── reflect2_amd64.s │ │ ├── reflect2_kind.go │ │ ├── relfect2_386.s │ │ ├── relfect2_amd64p32.s │ │ ├── relfect2_arm.s │ │ ├── relfect2_arm64.s │ │ ├── relfect2_mips64x.s │ │ ├── relfect2_mipsx.s │ │ ├── relfect2_ppc64x.s │ │ ├── relfect2_s390x.s │ │ ├── safe_field.go │ │ ├── safe_map.go │ │ ├── safe_slice.go │ │ ├── safe_struct.go │ │ ├── safe_type.go │ │ ├── type_map.go │ │ ├── unsafe_array.go │ │ ├── unsafe_eface.go │ │ ├── unsafe_field.go │ │ ├── unsafe_iface.go │ │ ├── unsafe_link.go │ │ ├── unsafe_map.go │ │ ├── unsafe_ptr.go │ │ ├── unsafe_slice.go │ │ ├── unsafe_struct.go │ │ └── unsafe_type.go ├── opencontainers │ ├── go-digest │ │ ├── .mailmap │ │ ├── .pullapprove.yml │ │ ├── .travis.yml │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── LICENSE.docs │ │ ├── MAINTAINERS │ │ ├── README.md │ │ ├── algorithm.go │ │ ├── digest.go │ │ ├── digester.go │ │ ├── doc.go │ │ └── verifiers.go │ ├── runtime-spec │ │ ├── LICENSE │ │ └── specs-go │ │ │ ├── config.go │ │ │ ├── state.go │ │ │ └── version.go │ └── selinux │ │ ├── LICENSE │ │ ├── go-selinux │ │ ├── doc.go │ │ ├── label │ │ │ ├── label.go │ │ │ ├── label_linux.go │ │ │ └── label_stub.go │ │ ├── selinux.go │ │ ├── selinux_linux.go │ │ ├── selinux_stub.go │ │ └── xattrs_linux.go │ │ └── pkg │ │ └── pwalkdir │ │ ├── README.md │ │ └── pwalkdir.go ├── pkg │ └── errors │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── errors.go │ │ ├── go113.go │ │ └── stack.go ├── pmezard │ └── go-difflib │ │ ├── LICENSE │ │ └── difflib │ │ └── difflib.go ├── sirupsen │ └── logrus │ │ ├── .gitignore │ │ ├── .golangci.yml │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── alt_exit.go │ │ ├── appveyor.yml │ │ ├── buffer_pool.go │ │ ├── doc.go │ │ ├── entry.go │ │ ├── exported.go │ │ ├── formatter.go │ │ ├── hooks.go │ │ ├── json_formatter.go │ │ ├── logger.go │ │ ├── logrus.go │ │ ├── terminal_check_appengine.go │ │ ├── terminal_check_bsd.go │ │ ├── terminal_check_js.go │ │ ├── terminal_check_no_terminal.go │ │ ├── terminal_check_notappengine.go │ │ ├── terminal_check_solaris.go │ │ ├── terminal_check_unix.go │ │ ├── terminal_check_windows.go │ │ ├── text_formatter.go │ │ └── writer.go ├── stretchr │ └── testify │ │ ├── LICENSE │ │ ├── assert │ │ ├── assertion_compare.go │ │ ├── assertion_format.go │ │ ├── assertion_format.go.tmpl │ │ ├── assertion_forward.go │ │ ├── assertion_forward.go.tmpl │ │ ├── assertion_order.go │ │ ├── assertions.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── forward_assertions.go │ │ ├── http_assertions.go │ │ └── yaml │ │ │ ├── yaml_custom.go │ │ │ ├── yaml_default.go │ │ │ └── yaml_fail.go │ │ └── require │ │ ├── doc.go │ │ ├── forward_requirements.go │ │ ├── require.go │ │ ├── require.go.tmpl │ │ ├── require_forward.go │ │ ├── require_forward.go.tmpl │ │ └── requirements.go ├── tchap │ └── go-patricia │ │ └── v2 │ │ ├── AUTHORS │ │ ├── LICENSE │ │ └── patricia │ │ ├── children.go │ │ └── patricia.go ├── ulikunitz │ └── xz │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── SECURITY.md │ │ ├── TODO.md │ │ ├── bits.go │ │ ├── crc.go │ │ ├── format.go │ │ ├── fox-check-none.xz │ │ ├── fox.xz │ │ ├── internal │ │ ├── hash │ │ │ ├── cyclic_poly.go │ │ │ ├── doc.go │ │ │ ├── rabin_karp.go │ │ │ └── roller.go │ │ └── xlog │ │ │ └── xlog.go │ │ ├── lzma │ │ ├── bintree.go │ │ ├── bitops.go │ │ ├── breader.go │ │ ├── buffer.go │ │ ├── bytewriter.go │ │ ├── decoder.go │ │ ├── decoderdict.go │ │ ├── directcodec.go │ │ ├── distcodec.go │ │ ├── encoder.go │ │ ├── encoderdict.go │ │ ├── fox.lzma │ │ ├── hashtable.go │ │ ├── header.go │ │ ├── header2.go │ │ ├── lengthcodec.go │ │ ├── literalcodec.go │ │ ├── matchalgorithm.go │ │ ├── operation.go │ │ ├── prob.go │ │ ├── properties.go │ │ ├── rangecodec.go │ │ ├── reader.go │ │ ├── reader2.go │ │ ├── state.go │ │ ├── treecodecs.go │ │ ├── writer.go │ │ └── writer2.go │ │ ├── lzmafilter.go │ │ ├── make-docs │ │ ├── none-check.go │ │ ├── reader.go │ │ └── writer.go └── vbatts │ └── tar-split │ ├── LICENSE │ ├── archive │ └── tar │ │ ├── common.go │ │ ├── format.go │ │ ├── reader.go │ │ ├── stat_actime1.go │ │ ├── stat_actime2.go │ │ ├── stat_unix.go │ │ ├── strconv.go │ │ └── writer.go │ └── tar │ ├── asm │ ├── README.md │ ├── assemble.go │ ├── disassemble.go │ ├── doc.go │ └── iterate.go │ └── storage │ ├── doc.go │ ├── entry.go │ ├── getter.go │ └── packer.go ├── go.opencensus.io ├── .gitignore ├── AUTHORS ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── appveyor.yml ├── internal │ ├── internal.go │ ├── sanitize.go │ └── traceinternals.go ├── opencensus.go └── trace │ ├── basetypes.go │ ├── config.go │ ├── doc.go │ ├── evictedqueue.go │ ├── export.go │ ├── internal │ └── internal.go │ ├── lrumap.go │ ├── sampling.go │ ├── spanbucket.go │ ├── spanstore.go │ ├── status_codes.go │ ├── trace.go │ ├── trace_api.go │ ├── trace_go11.go │ ├── trace_nongo11.go │ └── tracestate │ └── tracestate.go ├── golang.org └── x │ ├── sync │ ├── LICENSE │ ├── PATENTS │ └── errgroup │ │ └── errgroup.go │ └── sys │ ├── LICENSE │ ├── PATENTS │ ├── unix │ ├── .gitignore │ ├── README.md │ ├── affinity_linux.go │ ├── aliases.go │ ├── asm_aix_ppc64.s │ ├── asm_bsd_386.s │ ├── asm_bsd_amd64.s │ ├── asm_bsd_arm.s │ ├── asm_bsd_arm64.s │ ├── asm_bsd_ppc64.s │ ├── asm_bsd_riscv64.s │ ├── asm_linux_386.s │ ├── asm_linux_amd64.s │ ├── asm_linux_arm.s │ ├── asm_linux_arm64.s │ ├── asm_linux_loong64.s │ ├── asm_linux_mips64x.s │ ├── asm_linux_mipsx.s │ ├── asm_linux_ppc64x.s │ ├── asm_linux_riscv64.s │ ├── asm_linux_s390x.s │ ├── asm_openbsd_mips64.s │ ├── asm_solaris_amd64.s │ ├── asm_zos_s390x.s │ ├── auxv.go │ ├── auxv_unsupported.go │ ├── bluetooth_linux.go │ ├── bpxsvc_zos.go │ ├── bpxsvc_zos.s │ ├── cap_freebsd.go │ ├── constants.go │ ├── dev_aix_ppc.go │ ├── dev_aix_ppc64.go │ ├── dev_darwin.go │ ├── dev_dragonfly.go │ ├── dev_freebsd.go │ ├── dev_linux.go │ ├── dev_netbsd.go │ ├── dev_openbsd.go │ ├── dev_zos.go │ ├── dirent.go │ ├── endian_big.go │ ├── endian_little.go │ ├── env_unix.go │ ├── fcntl.go │ ├── fcntl_darwin.go │ ├── fcntl_linux_32bit.go │ ├── fdset.go │ ├── gccgo.go │ ├── gccgo_c.c │ ├── gccgo_linux_amd64.go │ ├── ifreq_linux.go │ ├── ioctl_linux.go │ ├── ioctl_signed.go │ ├── ioctl_unsigned.go │ ├── ioctl_zos.go │ ├── mkall.sh │ ├── mkerrors.sh │ ├── mmap_nomremap.go │ ├── mremap.go │ ├── pagesize_unix.go │ ├── pledge_openbsd.go │ ├── ptrace_darwin.go │ ├── ptrace_ios.go │ ├── race.go │ ├── race0.go │ ├── readdirent_getdents.go │ ├── readdirent_getdirentries.go │ ├── sockcmsg_dragonfly.go │ ├── sockcmsg_linux.go │ ├── sockcmsg_unix.go │ ├── sockcmsg_unix_other.go │ ├── sockcmsg_zos.go │ ├── symaddr_zos_s390x.s │ ├── syscall.go │ ├── syscall_aix.go │ ├── syscall_aix_ppc.go │ ├── syscall_aix_ppc64.go │ ├── syscall_bsd.go │ ├── syscall_darwin.go │ ├── syscall_darwin_amd64.go │ ├── syscall_darwin_arm64.go │ ├── syscall_darwin_libSystem.go │ ├── syscall_dragonfly.go │ ├── syscall_dragonfly_amd64.go │ ├── syscall_freebsd.go │ ├── syscall_freebsd_386.go │ ├── syscall_freebsd_amd64.go │ ├── syscall_freebsd_arm.go │ ├── syscall_freebsd_arm64.go │ ├── syscall_freebsd_riscv64.go │ ├── syscall_hurd.go │ ├── syscall_hurd_386.go │ ├── syscall_illumos.go │ ├── syscall_linux.go │ ├── syscall_linux_386.go │ ├── syscall_linux_alarm.go │ ├── syscall_linux_amd64.go │ ├── syscall_linux_amd64_gc.go │ ├── syscall_linux_arm.go │ ├── syscall_linux_arm64.go │ ├── syscall_linux_gc.go │ ├── syscall_linux_gc_386.go │ ├── syscall_linux_gc_arm.go │ ├── syscall_linux_gccgo_386.go │ ├── syscall_linux_gccgo_arm.go │ ├── syscall_linux_loong64.go │ ├── syscall_linux_mips64x.go │ ├── syscall_linux_mipsx.go │ ├── syscall_linux_ppc.go │ ├── syscall_linux_ppc64x.go │ ├── syscall_linux_riscv64.go │ ├── syscall_linux_s390x.go │ ├── syscall_linux_sparc64.go │ ├── syscall_netbsd.go │ ├── syscall_netbsd_386.go │ ├── syscall_netbsd_amd64.go │ ├── syscall_netbsd_arm.go │ ├── syscall_netbsd_arm64.go │ ├── syscall_openbsd.go │ ├── syscall_openbsd_386.go │ ├── syscall_openbsd_amd64.go │ ├── syscall_openbsd_arm.go │ ├── syscall_openbsd_arm64.go │ ├── syscall_openbsd_libc.go │ ├── syscall_openbsd_mips64.go │ ├── syscall_openbsd_ppc64.go │ ├── syscall_openbsd_riscv64.go │ ├── syscall_solaris.go │ ├── syscall_solaris_amd64.go │ ├── syscall_unix.go │ ├── syscall_unix_gc.go │ ├── syscall_unix_gc_ppc64x.go │ ├── syscall_zos_s390x.go │ ├── sysvshm_linux.go │ ├── sysvshm_unix.go │ ├── sysvshm_unix_other.go │ ├── timestruct.go │ ├── unveil_openbsd.go │ ├── vgetrandom_linux.go │ ├── vgetrandom_unsupported.go │ ├── xattr_bsd.go │ ├── zerrors_aix_ppc.go │ ├── zerrors_aix_ppc64.go │ ├── zerrors_darwin_amd64.go │ ├── zerrors_darwin_arm64.go │ ├── zerrors_dragonfly_amd64.go │ ├── zerrors_freebsd_386.go │ ├── zerrors_freebsd_amd64.go │ ├── zerrors_freebsd_arm.go │ ├── zerrors_freebsd_arm64.go │ ├── zerrors_freebsd_riscv64.go │ ├── zerrors_linux.go │ ├── zerrors_linux_386.go │ ├── zerrors_linux_amd64.go │ ├── zerrors_linux_arm.go │ ├── zerrors_linux_arm64.go │ ├── zerrors_linux_loong64.go │ ├── zerrors_linux_mips.go │ ├── zerrors_linux_mips64.go │ ├── zerrors_linux_mips64le.go │ ├── zerrors_linux_mipsle.go │ ├── zerrors_linux_ppc.go │ ├── zerrors_linux_ppc64.go │ ├── zerrors_linux_ppc64le.go │ ├── zerrors_linux_riscv64.go │ ├── zerrors_linux_s390x.go │ ├── zerrors_linux_sparc64.go │ ├── zerrors_netbsd_386.go │ ├── zerrors_netbsd_amd64.go │ ├── zerrors_netbsd_arm.go │ ├── zerrors_netbsd_arm64.go │ ├── zerrors_openbsd_386.go │ ├── zerrors_openbsd_amd64.go │ ├── zerrors_openbsd_arm.go │ ├── zerrors_openbsd_arm64.go │ ├── zerrors_openbsd_mips64.go │ ├── zerrors_openbsd_ppc64.go │ ├── zerrors_openbsd_riscv64.go │ ├── zerrors_solaris_amd64.go │ ├── zerrors_zos_s390x.go │ ├── zptrace_armnn_linux.go │ ├── zptrace_linux_arm64.go │ ├── zptrace_mipsnn_linux.go │ ├── zptrace_mipsnnle_linux.go │ ├── zptrace_x86_linux.go │ ├── zsymaddr_zos_s390x.s │ ├── zsyscall_aix_ppc.go │ ├── zsyscall_aix_ppc64.go │ ├── zsyscall_aix_ppc64_gc.go │ ├── zsyscall_aix_ppc64_gccgo.go │ ├── zsyscall_darwin_amd64.go │ ├── zsyscall_darwin_amd64.s │ ├── zsyscall_darwin_arm64.go │ ├── zsyscall_darwin_arm64.s │ ├── zsyscall_dragonfly_amd64.go │ ├── zsyscall_freebsd_386.go │ ├── zsyscall_freebsd_amd64.go │ ├── zsyscall_freebsd_arm.go │ ├── zsyscall_freebsd_arm64.go │ ├── zsyscall_freebsd_riscv64.go │ ├── zsyscall_illumos_amd64.go │ ├── zsyscall_linux.go │ ├── zsyscall_linux_386.go │ ├── zsyscall_linux_amd64.go │ ├── zsyscall_linux_arm.go │ ├── zsyscall_linux_arm64.go │ ├── zsyscall_linux_loong64.go │ ├── zsyscall_linux_mips.go │ ├── zsyscall_linux_mips64.go │ ├── zsyscall_linux_mips64le.go │ ├── zsyscall_linux_mipsle.go │ ├── zsyscall_linux_ppc.go │ ├── zsyscall_linux_ppc64.go │ ├── zsyscall_linux_ppc64le.go │ ├── zsyscall_linux_riscv64.go │ ├── zsyscall_linux_s390x.go │ ├── zsyscall_linux_sparc64.go │ ├── zsyscall_netbsd_386.go │ ├── zsyscall_netbsd_amd64.go │ ├── zsyscall_netbsd_arm.go │ ├── zsyscall_netbsd_arm64.go │ ├── zsyscall_openbsd_386.go │ ├── zsyscall_openbsd_386.s │ ├── zsyscall_openbsd_amd64.go │ ├── zsyscall_openbsd_amd64.s │ ├── zsyscall_openbsd_arm.go │ ├── zsyscall_openbsd_arm.s │ ├── zsyscall_openbsd_arm64.go │ ├── zsyscall_openbsd_arm64.s │ ├── zsyscall_openbsd_mips64.go │ ├── zsyscall_openbsd_mips64.s │ ├── zsyscall_openbsd_ppc64.go │ ├── zsyscall_openbsd_ppc64.s │ ├── zsyscall_openbsd_riscv64.go │ ├── zsyscall_openbsd_riscv64.s │ ├── zsyscall_solaris_amd64.go │ ├── zsyscall_zos_s390x.go │ ├── zsysctl_openbsd_386.go │ ├── zsysctl_openbsd_amd64.go │ ├── zsysctl_openbsd_arm.go │ ├── zsysctl_openbsd_arm64.go │ ├── zsysctl_openbsd_mips64.go │ ├── zsysctl_openbsd_ppc64.go │ ├── zsysctl_openbsd_riscv64.go │ ├── zsysnum_darwin_amd64.go │ ├── zsysnum_darwin_arm64.go │ ├── zsysnum_dragonfly_amd64.go │ ├── zsysnum_freebsd_386.go │ ├── zsysnum_freebsd_amd64.go │ ├── zsysnum_freebsd_arm.go │ ├── zsysnum_freebsd_arm64.go │ ├── zsysnum_freebsd_riscv64.go │ ├── zsysnum_linux_386.go │ ├── zsysnum_linux_amd64.go │ ├── zsysnum_linux_arm.go │ ├── zsysnum_linux_arm64.go │ ├── zsysnum_linux_loong64.go │ ├── zsysnum_linux_mips.go │ ├── zsysnum_linux_mips64.go │ ├── zsysnum_linux_mips64le.go │ ├── zsysnum_linux_mipsle.go │ ├── zsysnum_linux_ppc.go │ ├── zsysnum_linux_ppc64.go │ ├── zsysnum_linux_ppc64le.go │ ├── zsysnum_linux_riscv64.go │ ├── zsysnum_linux_s390x.go │ ├── zsysnum_linux_sparc64.go │ ├── zsysnum_netbsd_386.go │ ├── zsysnum_netbsd_amd64.go │ ├── zsysnum_netbsd_arm.go │ ├── zsysnum_netbsd_arm64.go │ ├── zsysnum_openbsd_386.go │ ├── zsysnum_openbsd_amd64.go │ ├── zsysnum_openbsd_arm.go │ ├── zsysnum_openbsd_arm64.go │ ├── zsysnum_openbsd_mips64.go │ ├── zsysnum_openbsd_ppc64.go │ ├── zsysnum_openbsd_riscv64.go │ ├── zsysnum_zos_s390x.go │ ├── ztypes_aix_ppc.go │ ├── ztypes_aix_ppc64.go │ ├── ztypes_darwin_amd64.go │ ├── ztypes_darwin_arm64.go │ ├── ztypes_dragonfly_amd64.go │ ├── ztypes_freebsd_386.go │ ├── ztypes_freebsd_amd64.go │ ├── ztypes_freebsd_arm.go │ ├── ztypes_freebsd_arm64.go │ ├── ztypes_freebsd_riscv64.go │ ├── ztypes_linux.go │ ├── ztypes_linux_386.go │ ├── ztypes_linux_amd64.go │ ├── ztypes_linux_arm.go │ ├── ztypes_linux_arm64.go │ ├── ztypes_linux_loong64.go │ ├── ztypes_linux_mips.go │ ├── ztypes_linux_mips64.go │ ├── ztypes_linux_mips64le.go │ ├── ztypes_linux_mipsle.go │ ├── ztypes_linux_ppc.go │ ├── ztypes_linux_ppc64.go │ ├── ztypes_linux_ppc64le.go │ ├── ztypes_linux_riscv64.go │ ├── ztypes_linux_s390x.go │ ├── ztypes_linux_sparc64.go │ ├── ztypes_netbsd_386.go │ ├── ztypes_netbsd_amd64.go │ ├── ztypes_netbsd_arm.go │ ├── ztypes_netbsd_arm64.go │ ├── ztypes_openbsd_386.go │ ├── ztypes_openbsd_amd64.go │ ├── ztypes_openbsd_arm.go │ ├── ztypes_openbsd_arm64.go │ ├── ztypes_openbsd_mips64.go │ ├── ztypes_openbsd_ppc64.go │ ├── ztypes_openbsd_riscv64.go │ ├── ztypes_solaris_amd64.go │ └── ztypes_zos_s390x.go │ └── windows │ ├── aliases.go │ ├── dll_windows.go │ ├── env_windows.go │ ├── eventlog.go │ ├── exec_windows.go │ ├── memory_windows.go │ ├── mkerrors.bash │ ├── mkknownfolderids.bash │ ├── mksyscall.go │ ├── race.go │ ├── race0.go │ ├── registry │ ├── key.go │ ├── mksyscall.go │ ├── syscall.go │ ├── value.go │ └── zsyscall_windows.go │ ├── security_windows.go │ ├── service.go │ ├── setupapi_windows.go │ ├── str.go │ ├── syscall.go │ ├── syscall_windows.go │ ├── types_windows.go │ ├── types_windows_386.go │ ├── types_windows_amd64.go │ ├── types_windows_arm.go │ ├── types_windows_arm64.go │ ├── zerrors_windows.go │ ├── zknownfolderids_windows.go │ └── zsyscall_windows.go ├── google.golang.org ├── genproto │ └── googleapis │ │ └── rpc │ │ ├── LICENSE │ │ └── status │ │ └── status.pb.go ├── grpc │ ├── AUTHORS │ ├── LICENSE │ ├── NOTICE.txt │ ├── codes │ │ ├── code_string.go │ │ └── codes.go │ ├── connectivity │ │ └── connectivity.go │ ├── grpclog │ │ ├── component.go │ │ ├── grpclog.go │ │ ├── internal │ │ │ ├── grpclog.go │ │ │ ├── logger.go │ │ │ └── loggerv2.go │ │ ├── logger.go │ │ └── loggerv2.go │ ├── internal │ │ ├── experimental.go │ │ ├── internal.go │ │ ├── status │ │ │ └── status.go │ │ ├── tcp_keepalive_others.go │ │ ├── tcp_keepalive_unix.go │ │ └── tcp_keepalive_windows.go │ ├── serviceconfig │ │ └── serviceconfig.go │ └── status │ │ └── status.go └── protobuf │ ├── LICENSE │ ├── PATENTS │ ├── encoding │ ├── protojson │ │ ├── decode.go │ │ ├── doc.go │ │ ├── encode.go │ │ └── well_known_types.go │ ├── prototext │ │ ├── decode.go │ │ ├── doc.go │ │ └── encode.go │ └── protowire │ │ └── wire.go │ ├── internal │ ├── descfmt │ │ └── stringer.go │ ├── descopts │ │ └── options.go │ ├── detrand │ │ └── rand.go │ ├── editiondefaults │ │ ├── defaults.go │ │ └── editions_defaults.binpb │ ├── encoding │ │ ├── defval │ │ │ └── default.go │ │ ├── json │ │ │ ├── decode.go │ │ │ ├── decode_number.go │ │ │ ├── decode_string.go │ │ │ ├── decode_token.go │ │ │ └── encode.go │ │ ├── messageset │ │ │ └── messageset.go │ │ ├── tag │ │ │ └── tag.go │ │ └── text │ │ │ ├── decode.go │ │ │ ├── decode_number.go │ │ │ ├── decode_string.go │ │ │ ├── decode_token.go │ │ │ ├── doc.go │ │ │ └── encode.go │ ├── errors │ │ ├── errors.go │ │ ├── is_go112.go │ │ └── is_go113.go │ ├── filedesc │ │ ├── build.go │ │ ├── desc.go │ │ ├── desc_init.go │ │ ├── desc_lazy.go │ │ ├── desc_list.go │ │ ├── desc_list_gen.go │ │ ├── editions.go │ │ └── placeholder.go │ ├── filetype │ │ └── build.go │ ├── flags │ │ ├── flags.go │ │ ├── proto_legacy_disable.go │ │ └── proto_legacy_enable.go │ ├── genid │ │ ├── any_gen.go │ │ ├── api_gen.go │ │ ├── descriptor_gen.go │ │ ├── doc.go │ │ ├── duration_gen.go │ │ ├── empty_gen.go │ │ ├── field_mask_gen.go │ │ ├── go_features_gen.go │ │ ├── goname.go │ │ ├── map_entry.go │ │ ├── source_context_gen.go │ │ ├── struct_gen.go │ │ ├── timestamp_gen.go │ │ ├── type_gen.go │ │ ├── wrappers.go │ │ └── wrappers_gen.go │ ├── impl │ │ ├── api_export.go │ │ ├── checkinit.go │ │ ├── codec_extension.go │ │ ├── codec_field.go │ │ ├── codec_gen.go │ │ ├── codec_map.go │ │ ├── codec_map_go111.go │ │ ├── codec_map_go112.go │ │ ├── codec_message.go │ │ ├── codec_messageset.go │ │ ├── codec_tables.go │ │ ├── codec_unsafe.go │ │ ├── convert.go │ │ ├── convert_list.go │ │ ├── convert_map.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── enum.go │ │ ├── equal.go │ │ ├── extension.go │ │ ├── legacy_enum.go │ │ ├── legacy_export.go │ │ ├── legacy_extension.go │ │ ├── legacy_file.go │ │ ├── legacy_message.go │ │ ├── merge.go │ │ ├── merge_gen.go │ │ ├── message.go │ │ ├── message_reflect.go │ │ ├── message_reflect_field.go │ │ ├── message_reflect_gen.go │ │ ├── pointer_unsafe.go │ │ ├── validate.go │ │ └── weak.go │ ├── order │ │ ├── order.go │ │ └── range.go │ ├── pragma │ │ └── pragma.go │ ├── set │ │ └── ints.go │ ├── strs │ │ ├── strings.go │ │ ├── strings_unsafe_go120.go │ │ └── strings_unsafe_go121.go │ └── version │ │ └── version.go │ ├── proto │ ├── checkinit.go │ ├── decode.go │ ├── decode_gen.go │ ├── doc.go │ ├── encode.go │ ├── encode_gen.go │ ├── equal.go │ ├── extension.go │ ├── merge.go │ ├── messageset.go │ ├── proto.go │ ├── proto_methods.go │ ├── proto_reflect.go │ ├── reset.go │ ├── size.go │ ├── size_gen.go │ └── wrappers.go │ ├── protoadapt │ └── convert.go │ ├── reflect │ ├── protoreflect │ │ ├── methods.go │ │ ├── proto.go │ │ ├── source.go │ │ ├── source_gen.go │ │ ├── type.go │ │ ├── value.go │ │ ├── value_equal.go │ │ ├── value_union.go │ │ ├── value_unsafe_go120.go │ │ └── value_unsafe_go121.go │ └── protoregistry │ │ └── registry.go │ ├── runtime │ ├── protoiface │ │ ├── legacy.go │ │ └── methods.go │ └── protoimpl │ │ ├── impl.go │ │ └── version.go │ └── types │ └── known │ └── anypb │ └── any.pb.go ├── gopkg.in └── yaml.v3 │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── emitterc.go │ ├── encode.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── gotest.tools └── v3 │ ├── LICENSE │ ├── assert │ ├── assert.go │ └── cmp │ │ ├── compare.go │ │ └── result.go │ └── internal │ ├── assert │ ├── assert.go │ └── result.go │ ├── difflib │ ├── LICENSE │ └── difflib.go │ ├── format │ ├── diff.go │ └── format.go │ └── source │ ├── bazel.go │ ├── defers.go │ ├── source.go │ ├── update.go │ └── version.go └── modules.txt /.codespellrc: -------------------------------------------------------------------------------- 1 | [codespell] 2 | skip = ./.git,./vendor,./tests/tools/vendor,AUTHORS 3 | ignore-words-list = afile,flate,prevend,Plack,worl 4 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | bundles 2 | .gopath 3 | vendor/pkg 4 | -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- 1 | version: "2" 2 | 3 | formatters: 4 | enable: 5 | - gofumpt 6 | 7 | linters: 8 | enable: 9 | - nolintlint 10 | - unconvert 11 | exclusions: 12 | presets: 13 | - comments 14 | - std-error-handling 15 | settings: 16 | staticcheck: 17 | checks: 18 | - all 19 | - -ST1003 # https://staticcheck.dev/docs/checks/#ST1003 Poorly chosen identifier. 20 | - -QF1008 # https://staticcheck.dev/docs/checks/#QF1008 Omit embedded fields from selector expression. 21 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## The Containers Storage Project Community Code of Conduct 2 | 3 | The Containers Storage project follows the [Containers Community Code of Conduct](https://github.com/containers/common/blob/main/CODE-OF-CONDUCT.md). 4 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | approvers: 2 | - giuseppe 3 | - kolyshkin 4 | - mtrmac 5 | - nalind 6 | - rhatdan 7 | - vrothberg 8 | reviewers: 9 | - Honny1 10 | - TomSweeneyRedHat 11 | - flouthoc 12 | - kolyshkin 13 | - mrunalp 14 | - vrothberg 15 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Security and Disclosure Information Policy for the Containers Storage Project 2 | 3 | The Containers Storage Project follows the [Security and Disclosure Information Policy](https://github.com/containers/common/blob/main/SECURITY.md) for the Containers Projects. 4 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 1.59.0-dev 2 | -------------------------------------------------------------------------------- /contrib/cirrus/timestamp.awk: -------------------------------------------------------------------------------- 1 | 2 | 3 | # This script is intended to be piped into by automation, in order to 4 | # mark output lines with timing information. For example: 5 | # /path/to/command |& awk --file timestamp.awk 6 | 7 | BEGIN { 8 | STARTTIME=systime() 9 | printf "[%s] START", strftime("%T") 10 | printf " - All [+xxxx] lines that follow are relative to right now.\n" 11 | } 12 | 13 | { 14 | printf "[%+05ds] %s\n", systime()-STARTTIME, $0 15 | } 16 | 17 | END { 18 | printf "[%s] END", strftime("%T") 19 | printf " - [%+05ds] total duration since START\n", systime()-STARTTIME 20 | } 21 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | GOMD2MAN = ../tests/tools/build/go-md2man 2 | PREFIX ?= ${DESTDIR}/usr 3 | MANINSTALLDIR=${PREFIX}/share/man 4 | MANPAGES_MD = $(wildcard docs/*.5.md) 5 | MANPAGES ?= $(MANPAGES_MD:%.md=%) 6 | 7 | .PHONY: docs 8 | docs: $(patsubst %.md,%.1,$(filter-out %.5.md,$(wildcard *.md))) containers-storage.conf.5 9 | 10 | %.1: %.md 11 | $(GOMD2MAN) -in $^ -out $@ 12 | 13 | containers-storage.conf.5: containers-storage.conf.5.md 14 | $(GOMD2MAN) -in $^ -out $@ 15 | 16 | .PHONY: install 17 | install: 18 | install -d -m 755 ${MANINSTALLDIR}/man5 19 | install -m 644 *.5 ${MANINSTALLDIR}/man5/ 20 | -------------------------------------------------------------------------------- /docs/containers-storage-config.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-config 1 "November 2024" 2 | 3 | ## NAME 4 | containers-storage config - Output the configuration for the storage library 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **config** [configurationFile] 8 | 9 | ## DESCRIPTION 10 | Reads and outputs the current configuration for the storage library, or the 11 | current configuration with the contents of a specified configuration file 12 | loaded in, in a JSON format. 13 | 14 | ## EXAMPLE 15 | **containers-storage config** 16 | 17 | ## SEE ALSO 18 | containers-storage-version(1) 19 | -------------------------------------------------------------------------------- /docs/containers-storage-containers.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-containers 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage containers - List known containers 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **containers** 8 | 9 | ## DESCRIPTION 10 | Retrieves information about all known containers and lists their IDs and names. 11 | 12 | ## EXAMPLE 13 | **containers-storage containers** 14 | 15 | ## SEE ALSO 16 | containers-storage-container(1) 17 | -------------------------------------------------------------------------------- /docs/containers-storage-dedup.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-dedup 1 "November 2024" 2 | 3 | ## NAME 4 | containers-storage dedup - Deduplicate similar files in the images 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **dedup** 8 | 9 | ## DESCRIPTION 10 | Find similar files in the images and deduplicate them. It requires reflink support from the file system. 11 | 12 | ## OPTIONS 13 | **--hash-method** *method* 14 | 15 | Specify the function to use to calculate the hash for a file. It can be one of: *size*, *crc*, *sha256sum*. 16 | 17 | ## EXAMPLE 18 | **containers-storage dedup** 19 | -------------------------------------------------------------------------------- /docs/containers-storage-delete-container.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-delete-container 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage delete-container - Delete a container 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **delete-container** *containerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Deletes a container and its layer. 11 | 12 | ## EXAMPLE 13 | **containers-storage delete-container my-awesome-container** 14 | 15 | ## SEE ALSO 16 | containers-storage-create-container(1) 17 | containers-storage-delete-image(1) 18 | containers-storage-delete-layer(1) 19 | -------------------------------------------------------------------------------- /docs/containers-storage-delete-layer.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-delete-layer 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage delete-layer - Delete a layer 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **delete-layer** *layerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Deletes a layer if it is not currently being used by any images or containers, 11 | and is not the parent of any other layers. 12 | 13 | ## EXAMPLE 14 | **containers-storage delete-layer my-base-layer** 15 | 16 | ## SEE ALSO 17 | containers-storage-create-layer(1) 18 | containers-storage-delete-image(1) 19 | containers-storage-delete-layer(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-delete.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-delete 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage delete - Force deletion of a layer, image, or container 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **delete** *layerOrImageOrContainerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Deletes a specified layer, image, or container, with no safety checking. This 11 | can corrupt data, and may be removed. 12 | 13 | ## EXAMPLE 14 | **containers-storage delete my-base-layer** 15 | 16 | ## SEE ALSO 17 | containers-storage-delete-container(1) 18 | containers-storage-delete-image(1) 19 | containers-storage-delete-layer(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-diffsize.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-diffsize 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage diffsize - Compute the size of a layer diff 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **diffsize** *layerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Computes the expected size of the layer diff which would be generated for the 11 | specified layer. 12 | 13 | ## EXAMPLE 14 | **containers-storage diffsize my-base-layer** 15 | 16 | ## SEE ALSO 17 | containers-storage-applydiff(1) 18 | containers-storage-changes(1) 19 | containers-storage-diff(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-gc.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-gc 1 "January 2023" 2 | 3 | ## NAME 4 | containers-storage gc - Garbage collect leftovers from partial layers/images/containers 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **gc** 8 | 9 | ## DESCRIPTION 10 | Removes additional data for layers, images, and containers which would 11 | correspond to layers, images, and containers which don't actually exist, but 12 | which may have been left on the filesystem after canceled attempts to create 13 | those layers, images, or containers. 14 | 15 | ## EXAMPLE 16 | **containers-storage gc** 17 | -------------------------------------------------------------------------------- /docs/containers-storage-get-container-dir.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-get-container-dir 1 "September 2016" 2 | 3 | ## NAME 4 | containers-storage get-container-dir - Find lookaside directory for a container 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **get-container-dir** [*options* [...]] *containerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Prints the location of a directory which the caller can use to store lookaside 11 | information which should be cleaned up when the container is deleted. 12 | 13 | ## EXAMPLE 14 | **containers-storage get-container-dir my-container** 15 | 16 | ## SEE ALSO 17 | containers-storage-get-container-run-dir(1) 18 | -------------------------------------------------------------------------------- /docs/containers-storage-get-image-dir.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-get-image-dir 1 "January 2024" 2 | 3 | ## NAME 4 | containers-storage get-image-dir - Find lookaside directory for an image 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **get-image-dir** [*options* [...]] *imageNameOrID* 8 | 9 | ## DESCRIPTION 10 | Prints the location of a directory which the caller can use to store lookaside 11 | information which should be cleaned up when the image is deleted. 12 | 13 | ## EXAMPLE 14 | **containers-storage get-image-dir my-image** 15 | 16 | ## SEE ALSO 17 | containers-storage-get-image-run-dir(1) 18 | -------------------------------------------------------------------------------- /docs/containers-storage-get-image-run-dir.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-get-image-run-dir 1 "January 2024" 2 | 3 | ## NAME 4 | containers-storage get-image-run-dir - Find runtime lookaside directory for an image 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **get-image-run-dir** [*options* [...]] *imageNameOrID* 8 | 9 | ## DESCRIPTION 10 | Prints the location of a directory which the caller can use to store lookaside 11 | information which should be cleaned up when the host is rebooted. 12 | 13 | ## EXAMPLE 14 | **containers-storage get-image-run-dir my-image** 15 | 16 | ## SEE ALSO 17 | containers-storage-get-image-dir(1) 18 | -------------------------------------------------------------------------------- /docs/containers-storage-image.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-image 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage image - Examine a single image 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **image** *imageNameOrID* 8 | 9 | ## DESCRIPTION 10 | Retrieve information about an image: its ID, any names it has, and the ID of 11 | its top layer. 12 | 13 | ## EXAMPLE 14 | **containers-storage image 49bff34e4baf9378c01733d02276a731a4c4771ebeab305020c5303679f88bb8** 15 | **containers-storage image my-favorite-image** 16 | 17 | ## SEE ALSO 18 | containers-storage-images(1) 19 | containers-storage-layer(1) 20 | containers-storage-container(1) 21 | -------------------------------------------------------------------------------- /docs/containers-storage-images-by-digest.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-images-by-digest 1 "February 2019" 2 | 3 | ## NAME 4 | containers-storage images-by-digest - List known images by digest 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **images-by-digest** *digest* 8 | 9 | ## DESCRIPTION 10 | Retrieves information about images which match a specified digest 11 | 12 | ## EXAMPLE 13 | **containers-storage images-by-digest sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855** 14 | 15 | ## SEE ALSO 16 | containers-storage-image(1) 17 | -------------------------------------------------------------------------------- /docs/containers-storage-images.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-images 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage images - List known images 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **images** 8 | 9 | ## DESCRIPTION 10 | Retrieves information about all known images and lists their IDs and names. 11 | 12 | ## EXAMPLE 13 | **containers-storage images** 14 | 15 | ## SEE ALSO 16 | containers-storage-image(1) 17 | -------------------------------------------------------------------------------- /docs/containers-storage-layer.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-layer 1 "September 2017" 2 | 3 | ## NAME 4 | containers-storage layer - Examine a single layer 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **layer** *layerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Retrieve information about a layer: its ID, any names it has, and the ID of 11 | its parent, if it has one. 12 | 13 | ## EXAMPLE 14 | **containers-storage layer 49bff34e4baf9378c01733d02276a731a4c4771ebeab305020c5303679f88bb8** 15 | **containers-storage layer my-favorite-layer** 16 | 17 | ## SEE ALSO 18 | containers-storage-image(1) 19 | containers-storage-container(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-list-image-data.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-list-image-data 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage list-image-data - List lookaside data for an image 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **list-image-data** *imageNameOrID* 8 | 9 | ## DESCRIPTION 10 | List the pieces of named data which are associated with an image. 11 | 12 | ## EXAMPLE 13 | **containers-storage list-image-data my-image** 14 | 15 | ## SEE ALSO 16 | containers-storage-get-image-data(1) 17 | containers-storage-get-image-data-size(1) 18 | containers-storage-get-image-data-digest(1) 19 | containers-storage-set-image-data(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-list-layer-data.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-list-layer-data 1 "December 2020" 2 | 3 | ## NAME 4 | containers-storage list-layer-data - List lookaside data for a layer 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **list-layer-data** *layerID* 8 | 9 | ## DESCRIPTION 10 | List the pieces of named data which are associated with a layer. 11 | 12 | ## EXAMPLE 13 | **containers-storage list-layer-data 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824** 14 | 15 | ## SEE ALSO 16 | containers-storage-get-layer-data(1) 17 | containers-storage-get-layer-data-digest(1) 18 | containers-storage-set-layer-data(1) 19 | -------------------------------------------------------------------------------- /docs/containers-storage-mounted.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-mounted 1 "November 2018" 2 | 3 | ## NAME 4 | containers-storage mounted - Check if a file system is mounted 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **mounted** *LayerOrContainerNameOrID* 8 | 9 | ## DESCRIPTION 10 | Check if a filesystem is mounted 11 | 12 | ## EXAMPLE 13 | **containers-storage mounted my-container** 14 | 15 | ## SEE ALSO 16 | containers-storage-mount(1) 17 | containers-storage-unmount(1) 18 | -------------------------------------------------------------------------------- /docs/containers-storage-shutdown.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-shutdown 1 "October 2016" 2 | 3 | ## NAME 4 | containers-storage shutdown - Shut down layer storage 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **shutdown** [*options* [...]] 8 | 9 | ## DESCRIPTION 10 | Shuts down the layer storage driver, which may be using kernel resources. 11 | 12 | ## OPTIONS 13 | **-f | --force** 14 | 15 | Attempt to unmount any mounted layers before attempting to shut down the 16 | driver. If this option is not specified, if any layers are mounted, shutdown 17 | will not be attempted. 18 | 19 | ## EXAMPLE 20 | **containers-storage shutdown** 21 | -------------------------------------------------------------------------------- /docs/containers-storage-status.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-status 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage status - Output status information from the storage library's driver 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **status** 8 | 9 | ## DESCRIPTION 10 | Queries the storage library's driver for status information. 11 | 12 | ## EXAMPLE 13 | **containers-storage status** 14 | 15 | ## SEE ALSO 16 | containers-storage-version(1) 17 | -------------------------------------------------------------------------------- /docs/containers-storage-unmount.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-unmount 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage unmount - Unmount a layer or a container's layer 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **unmount** *layerOrContainerMountpointOrNameOrID* 8 | 9 | ## DESCRIPTION 10 | Unmounts a layer or a container's layer from the host's filesystem. 11 | 12 | ## EXAMPLE 13 | **containers-storage unmount my-container** 14 | 15 | **containers-storage unmount /var/lib/containers/storage/mounts/my-container** 16 | 17 | ## SEE ALSO 18 | containers-storage-mount(1) 19 | containers-storage-mounted(1) 20 | -------------------------------------------------------------------------------- /docs/containers-storage-unshare.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-unshare 1 "September 2022" 2 | 3 | ## NAME 4 | containers-storage unshare - Run a command in a user namespace 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **unshare** [command [...]] 8 | 9 | ## DESCRIPTION 10 | Sets up a user namespace using mappings configured for the current user and runs 11 | either a specified command or the current user's shell. 12 | 13 | ## EXAMPLE 14 | **containers-storage unshare id** 15 | 16 | ## SEE ALSO 17 | containers-storage-status(1) 18 | -------------------------------------------------------------------------------- /docs/containers-storage-version.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-version 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage version - Output version information about the storage library 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **version** 8 | 9 | ## DESCRIPTION 10 | Outputs version information about the storage library and *containers-storage*. 11 | 12 | ## EXAMPLE 13 | **containers-storage version** 14 | 15 | ## SEE ALSO 16 | containers-storage-status(1) 17 | -------------------------------------------------------------------------------- /docs/containers-storage-wipe.md: -------------------------------------------------------------------------------- 1 | ## containers-storage-wipe 1 "August 2016" 2 | 3 | ## NAME 4 | containers-storage wipe - Delete all containers, images, and layers 5 | 6 | ## SYNOPSIS 7 | **containers-storage** **wipe** 8 | 9 | ## DESCRIPTION 10 | Deletes all known containers, images, and layers. Depending on your use case, 11 | use with caution or abandon. 12 | 13 | ## EXAMPLE 14 | **containers-storage wipe** 15 | -------------------------------------------------------------------------------- /drivers/aufs/mount.go: -------------------------------------------------------------------------------- 1 | //go:build linux 2 | 3 | package aufs 4 | 5 | import ( 6 | "os/exec" 7 | 8 | "github.com/sirupsen/logrus" 9 | "golang.org/x/sys/unix" 10 | ) 11 | 12 | // Unmount the target specified. 13 | func Unmount(target string) error { 14 | if err := exec.Command("auplink", target, "flush").Run(); err != nil { 15 | logrus.Warnf("Couldn't run auplink before unmount %s: %s", target, err) 16 | } 17 | if err := unix.Unmount(target, 0); err != nil { 18 | return err 19 | } 20 | return nil 21 | } 22 | -------------------------------------------------------------------------------- /drivers/aufs/mount_linux.go: -------------------------------------------------------------------------------- 1 | package aufs 2 | 3 | import "golang.org/x/sys/unix" 4 | 5 | func mount(source string, target string, fstype string, flags uintptr, data string) error { 6 | return unix.Mount(source, target, fstype, flags, data) 7 | } 8 | -------------------------------------------------------------------------------- /drivers/btrfs/dummy_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux || !cgo 2 | 3 | package btrfs 4 | -------------------------------------------------------------------------------- /drivers/btrfs/version.go: -------------------------------------------------------------------------------- 1 | //go:build linux && cgo 2 | 3 | package btrfs 4 | 5 | /* 6 | #include 7 | 8 | // around version 3.16, they did not define lib version yet 9 | #ifndef BTRFS_LIB_VERSION 10 | #define BTRFS_LIB_VERSION -1 11 | #endif 12 | 13 | // upstream had removed it, but now it will be coming back 14 | #ifndef BTRFS_BUILD_VERSION 15 | #define BTRFS_BUILD_VERSION "-" 16 | #endif 17 | */ 18 | import "C" 19 | 20 | func btrfsBuildVersion() string { 21 | return string(C.BTRFS_BUILD_VERSION) 22 | } 23 | 24 | func btrfsLibVersion() int { 25 | return int(C.BTRFS_LIB_VERSION) 26 | } 27 | -------------------------------------------------------------------------------- /drivers/btrfs/version_test.go: -------------------------------------------------------------------------------- 1 | //go:build linux && cgo 2 | 3 | package btrfs 4 | 5 | import ( 6 | "testing" 7 | ) 8 | 9 | func TestLibVersion(t *testing.T) { 10 | if btrfsLibVersion() <= 0 { 11 | t.Error("expected output from btrfs lib version > 0") 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /drivers/chown_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package graphdriver 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | 9 | "github.com/containers/storage/pkg/idtools" 10 | ) 11 | 12 | type platformChowner struct{} 13 | 14 | func newLChowner() *platformChowner { 15 | return &platformChowner{} 16 | } 17 | 18 | func (c *platformChowner) LChown(path string, info os.FileInfo, toHost, toContainer *idtools.IDMappings) error { 19 | return &os.PathError{"lchown", path, syscall.EWINDOWS} 20 | } 21 | -------------------------------------------------------------------------------- /drivers/chroot_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package graphdriver 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | // chrootOrChdir() is either a chdir() to the specified path, or a chroot() to the 12 | // specified path followed by chdir() to the new root directory 13 | func chrootOrChdir(path string) error { 14 | if err := syscall.Chroot(path); err != nil { 15 | return fmt.Errorf("chrooting to %q: %w", path, err) 16 | } 17 | if err := syscall.Chdir(string(os.PathSeparator)); err != nil { 18 | return fmt.Errorf("changing to %q: %w", path, err) 19 | } 20 | return nil 21 | } 22 | -------------------------------------------------------------------------------- /drivers/chroot_windows.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | import ( 4 | "fmt" 5 | "syscall" 6 | ) 7 | 8 | // chrootOrChdir() is either a chdir() to the specified path, or a chroot() to the 9 | // specified path followed by chdir() to the new root directory 10 | func chrootOrChdir(path string) error { 11 | if err := syscall.Chdir(path); err != nil { 12 | return fmt.Errorf("changing to %q: %w", path, err) 13 | } 14 | return nil 15 | } 16 | -------------------------------------------------------------------------------- /drivers/driver_darwin.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | // Slice of drivers that should be used in order 4 | var Priority = []string{ 5 | "vfs", 6 | } 7 | 8 | // GetFSMagic returns the filesystem id given the path. 9 | func GetFSMagic(rootpath string) (FsMagic, error) { 10 | // Note it is OK to return FsMagicUnsupported on Windows. 11 | return FsMagicUnsupported, nil 12 | } 13 | -------------------------------------------------------------------------------- /drivers/driver_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !windows && !freebsd && !solaris && !darwin 2 | 3 | package graphdriver 4 | 5 | // Slice of drivers that should be used in an order 6 | var Priority = []string{ 7 | "unsupported", 8 | } 9 | 10 | // GetFSMagic returns the filesystem id given the path. 11 | func GetFSMagic(rootpath string) (FsMagic, error) { 12 | return FsMagicUnsupported, nil 13 | } 14 | -------------------------------------------------------------------------------- /drivers/driver_windows.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | // Slice of drivers that should be used in order 4 | var Priority = []string{ 5 | "windowsfilter", 6 | } 7 | 8 | // GetFSMagic returns the filesystem id given the path. 9 | func GetFSMagic(rootpath string) (FsMagic, error) { 10 | // Note it is OK to return FsMagicUnsupported on Windows. 11 | return FsMagicUnsupported, nil 12 | } 13 | -------------------------------------------------------------------------------- /drivers/graphtest/graphtest_windows.go: -------------------------------------------------------------------------------- 1 | package graphtest 2 | -------------------------------------------------------------------------------- /drivers/jsoniter.go: -------------------------------------------------------------------------------- 1 | package graphdriver 2 | 3 | import jsoniter "github.com/json-iterator/go" 4 | 5 | var json = jsoniter.ConfigCompatibleWithStandardLibrary 6 | -------------------------------------------------------------------------------- /drivers/overlay/jsoniter.go: -------------------------------------------------------------------------------- 1 | //go:build linux 2 | 3 | package overlay 4 | 5 | import jsoniter "github.com/json-iterator/go" 6 | 7 | var json = jsoniter.ConfigCompatibleWithStandardLibrary 8 | -------------------------------------------------------------------------------- /drivers/overlay/overlay_disk_quota_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build linux && (!cgo || exclude_disk_quota) 2 | 3 | package overlay 4 | 5 | import ( 6 | "path" 7 | 8 | "github.com/containers/storage/pkg/directory" 9 | ) 10 | 11 | // ReadWriteDiskUsage returns the disk usage of the writable directory for the ID. 12 | // For Overlay, it attempts to check the XFS quota for size, and falls back to 13 | // finding the size of the "diff" directory. 14 | func (d *Driver) ReadWriteDiskUsage(id string) (*directory.DiskUsage, error) { 15 | return directory.Usage(path.Join(d.dir(id), "diff")) 16 | } 17 | -------------------------------------------------------------------------------- /drivers/overlay/overlay_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package overlay 4 | 5 | func SupportsNativeOverlay(graphroot, rundir string) (bool, error) { 6 | return false, nil 7 | } 8 | -------------------------------------------------------------------------------- /drivers/quota/projectquota.go: -------------------------------------------------------------------------------- 1 | package quota 2 | 3 | // BackingFsBlockDeviceLink is the name of a file that we place in 4 | // the home directory of a driver that uses this package. 5 | const BackingFsBlockDeviceLink = "backingFsBlockDev" 6 | -------------------------------------------------------------------------------- /drivers/register/register_aufs.go: -------------------------------------------------------------------------------- 1 | //go:build !exclude_graphdriver_aufs && linux 2 | 3 | package register 4 | 5 | import ( 6 | // register the aufs graphdriver 7 | _ "github.com/containers/storage/drivers/aufs" 8 | ) 9 | -------------------------------------------------------------------------------- /drivers/register/register_btrfs.go: -------------------------------------------------------------------------------- 1 | //go:build !exclude_graphdriver_btrfs && linux 2 | 3 | package register 4 | 5 | import ( 6 | // register the btrfs graphdriver 7 | _ "github.com/containers/storage/drivers/btrfs" 8 | ) 9 | -------------------------------------------------------------------------------- /drivers/register/register_overlay.go: -------------------------------------------------------------------------------- 1 | //go:build !exclude_graphdriver_overlay && linux 2 | 3 | package register 4 | 5 | import ( 6 | // register the overlay graphdriver 7 | _ "github.com/containers/storage/drivers/overlay" 8 | ) 9 | -------------------------------------------------------------------------------- /drivers/register/register_vfs.go: -------------------------------------------------------------------------------- 1 | package register 2 | 3 | import ( 4 | // register vfs 5 | _ "github.com/containers/storage/drivers/vfs" 6 | ) 7 | -------------------------------------------------------------------------------- /drivers/register/register_windows.go: -------------------------------------------------------------------------------- 1 | package register 2 | 3 | import ( 4 | // register the windows graph driver 5 | _ "github.com/containers/storage/drivers/windows" 6 | ) 7 | -------------------------------------------------------------------------------- /drivers/register/register_zfs.go: -------------------------------------------------------------------------------- 1 | //go:build (!exclude_graphdriver_zfs && linux) || (!exclude_graphdriver_zfs && freebsd) || solaris 2 | 3 | package register 4 | 5 | import ( 6 | // register the zfs driver 7 | _ "github.com/containers/storage/drivers/zfs" 8 | ) 9 | -------------------------------------------------------------------------------- /drivers/vfs/copy_linux.go: -------------------------------------------------------------------------------- 1 | package vfs 2 | 3 | import "github.com/containers/storage/drivers/copy" 4 | 5 | func dirCopy(srcDir, dstDir string) error { 6 | return copy.DirCopy(srcDir, dstDir, copy.Content, true) 7 | } 8 | -------------------------------------------------------------------------------- /drivers/vfs/copy_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package vfs // import "github.com/containers/storage/drivers/vfs" 4 | 5 | import "github.com/containers/storage/pkg/chrootarchive" 6 | 7 | func dirCopy(srcDir, dstDir string) error { 8 | return chrootarchive.NewArchiver(nil).CopyWithTar(srcDir, dstDir) 9 | } 10 | -------------------------------------------------------------------------------- /drivers/windows/jsoniter_windows.go: -------------------------------------------------------------------------------- 1 | package windows 2 | 3 | import jsoniter "github.com/json-iterator/go" 4 | 5 | var json = jsoniter.ConfigCompatibleWithStandardLibrary 6 | -------------------------------------------------------------------------------- /drivers/windows/windows_windows_test.go: -------------------------------------------------------------------------------- 1 | package windows 2 | 3 | import "testing" 4 | 5 | func TestAddAceToSddlDacl(t *testing.T) { 6 | cases := [][3]string{ 7 | {"D:", "(A;;;)", "D:(A;;;)"}, 8 | {"D:(A;;;)", "(A;;;)", "D:(A;;;)"}, 9 | {"O:D:(A;;;stuff)", "(A;;;new)", "O:D:(A;;;new)(A;;;stuff)"}, 10 | {"O:D:(D;;;no)(A;;;stuff)", "(A;;;new)", "O:D:(D;;;no)(A;;;new)(A;;;stuff)"}, 11 | } 12 | 13 | for _, c := range cases { 14 | if newSddl, worked := addAceToSddlDacl(c[0], c[1]); !worked || newSddl != c[2] { 15 | t.Errorf("%s + %s == %s, expected %s (%v)", c[0], c[1], newSddl, c[2], worked) 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /drivers/zfs/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Jörg Thalheim (@Mic92) 2 | Arthur Gautier (@baloose) 3 | -------------------------------------------------------------------------------- /drivers/zfs/zfs_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !freebsd 2 | 3 | package zfs 4 | -------------------------------------------------------------------------------- /hack/btrfs_tag.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if test $(${GO:-go} env GOOS) != "linux"; then 3 | exit 0 4 | fi 5 | cc -E - >/dev/null 2>/dev/null <<-EOF 6 | #include 7 | EOF 8 | if test $? -ne 0; then 9 | echo exclude_graphdriver_btrfs 10 | fi 11 | -------------------------------------------------------------------------------- /hack/gccgo-wrapper.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # Work around, based on one described in https://github.com/golang/go/issues/15628 4 | # 5 | addflags= 6 | for arg in "$@" ; do 7 | if test -d "$arg"/github.com/containers/storage/vendor ; then 8 | addflags="$addflags -I $arg/github.com/containers/storage/vendor" 9 | fi 10 | done 11 | exec gccgo $addflags "$@" 12 | -------------------------------------------------------------------------------- /hack/generate-authors.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | cd "$(dirname "$(readlink -f "$BASH_SOURCE")")/.." 5 | 6 | # see also ".mailmap" for how email addresses and names are deduplicated 7 | 8 | { 9 | cat <<-'EOH' 10 | # This file lists all individuals having contributed content to the repository. 11 | # For how it is generated, see `hack/generate-authors.sh`. 12 | EOH 13 | echo 14 | git log --format='%aN <%aE>' | LC_ALL=C.UTF-8 sort -uf 15 | } > AUTHORS 16 | -------------------------------------------------------------------------------- /hack/git-validation.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | export GIT_VALIDATION=tests/tools/build/git-validation 3 | if [ ! -x "$GIT_VALIDATION" ]; then 4 | echo git-validation is not installed. 5 | echo Try installing it with \"make install.tools\" 6 | exit 1 7 | fi 8 | 9 | EPOCH_TEST_COMMIT=$CIRRUS_BASE_SHA 10 | if [ -z "${EPOCH_TEST_COMMIT}" ]; then 11 | EPOCH_TEST_COMMIT=$(git merge-base ${DEST_BRANCH:-main} HEAD) 12 | fi 13 | exec "$GIT_VALIDATION" -q -run DCO,short-subject -range "${EPOCH_TEST_COMMIT}..HEAD" 14 | -------------------------------------------------------------------------------- /hack/govet.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | for package in $(go list ./... | grep -v /vendor/) ; do 3 | if ! go vet ${package} ; then 4 | echo Error: source package ${package} does not pass go vet. 5 | exit 1 6 | fi 7 | done 8 | exit 0 9 | -------------------------------------------------------------------------------- /hack/tree_status.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | STATUS=$(git status --porcelain) 5 | if [[ -z $STATUS ]] 6 | then 7 | echo "tree is clean" 8 | else 9 | echo "tree is dirty, please commit all changes" 10 | echo "" 11 | echo "$STATUS" 12 | exit 1 13 | fi 14 | -------------------------------------------------------------------------------- /jsoniter.go: -------------------------------------------------------------------------------- 1 | package storage 2 | 3 | import jsoniter "github.com/json-iterator/go" 4 | 5 | var json = jsoniter.ConfigCompatibleWithStandardLibrary 6 | -------------------------------------------------------------------------------- /lockfile_compat.go: -------------------------------------------------------------------------------- 1 | package storage 2 | 3 | import ( 4 | "github.com/containers/storage/pkg/lockfile" 5 | ) 6 | 7 | // Deprecated: Use lockfile.*LockFile. 8 | type Locker = lockfile.Locker //nolint:staticcheck // SA1019 lockfile.Locker is deprecated 9 | 10 | // Deprecated: Use lockfile.GetLockFile. 11 | func GetLockfile(path string) (lockfile.Locker, error) { 12 | return lockfile.GetLockfile(path) 13 | } 14 | 15 | // Deprecated: Use lockfile.GetROLockFile. 16 | func GetROLockfile(path string) (lockfile.Locker, error) { 17 | return lockfile.GetROLockfile(path) 18 | } 19 | -------------------------------------------------------------------------------- /pkg/archive/README.md: -------------------------------------------------------------------------------- 1 | This code provides helper functions for dealing with archive files. 2 | -------------------------------------------------------------------------------- /pkg/archive/archive_19.go: -------------------------------------------------------------------------------- 1 | //go:build !go1.10 2 | 3 | package archive 4 | 5 | import ( 6 | "archive/tar" 7 | ) 8 | 9 | func copyPassHeader(hdr *tar.Header) { 10 | } 11 | 12 | func maybeTruncateHeaderModTime(hdr *tar.Header) { 13 | } 14 | -------------------------------------------------------------------------------- /pkg/archive/archive_bsd.go: -------------------------------------------------------------------------------- 1 | //go:build netbsd || freebsd || darwin 2 | 3 | package archive 4 | 5 | import ( 6 | "archive/tar" 7 | "os" 8 | 9 | "golang.org/x/sys/unix" 10 | ) 11 | 12 | func handleLChmod(hdr *tar.Header, path string, hdrInfo os.FileInfo, forceMask *os.FileMode) error { 13 | permissionsMask := hdrInfo.Mode() 14 | if forceMask != nil { 15 | permissionsMask = *forceMask 16 | } 17 | return unix.Fchmodat(unix.AT_FDCWD, path, uint32(permissionsMask), unix.AT_SYMLINK_NOFOLLOW) 18 | } 19 | -------------------------------------------------------------------------------- /pkg/archive/archive_other.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package archive 4 | 5 | func GetWhiteoutConverter(format WhiteoutFormat, data interface{}) TarWhiteoutConverter { 6 | return nil 7 | } 8 | 9 | func GetFileOwner(path string) (uint32, uint32, uint32, error) { 10 | return 0, 0, 0, nil 11 | } 12 | -------------------------------------------------------------------------------- /pkg/archive/changes_unix_test.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | ) 6 | 7 | // resetSymlinkTimes sets the atime and mtime of a symlink to a known value, to test 8 | // whether changes to the symlink target are detected correctly. 9 | func resetSymlinkTimes(path string) error { 10 | ts := []unix.Timeval{unix.NsecToTimeval(0), unix.NsecToTimeval(0)} 11 | return unix.Lutimes(path, ts) 12 | } 13 | -------------------------------------------------------------------------------- /pkg/archive/changes_windows_test.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | func resetSymlinkTimes(path string) error { 4 | return nil 5 | } 6 | -------------------------------------------------------------------------------- /pkg/archive/copy_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package archive 4 | 5 | import ( 6 | "path/filepath" 7 | ) 8 | 9 | func normalizePath(path string) string { 10 | return filepath.ToSlash(path) 11 | } 12 | -------------------------------------------------------------------------------- /pkg/archive/copy_windows.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "path/filepath" 5 | ) 6 | 7 | func normalizePath(path string) string { 8 | return filepath.FromSlash(path) 9 | } 10 | -------------------------------------------------------------------------------- /pkg/archive/fflags_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !freebsd 2 | 3 | package archive 4 | 5 | import ( 6 | "archive/tar" 7 | "os" 8 | ) 9 | 10 | func ReadFileFlagsToTarHeader(path string, hdr *tar.Header) error { 11 | return nil 12 | } 13 | 14 | func WriteFileFlagsFromTarHeader(path string, hdr *tar.Header) error { 15 | return nil 16 | } 17 | 18 | func resetImmutable(path string, fi *os.FileInfo) error { 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /pkg/archive/testdata/broken.tar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/pkg/archive/testdata/broken.tar -------------------------------------------------------------------------------- /pkg/archive/time_linux.go: -------------------------------------------------------------------------------- 1 | package archive 2 | 3 | import ( 4 | "syscall" 5 | "time" 6 | ) 7 | 8 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 9 | if time.IsZero() { 10 | // Return UTIME_OMIT special value 11 | ts.Sec = 0 12 | ts.Nsec = ((1 << 30) - 2) 13 | return 14 | } 15 | return syscall.NsecToTimespec(time.UnixNano()) 16 | } 17 | -------------------------------------------------------------------------------- /pkg/archive/time_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package archive 4 | 5 | import ( 6 | "syscall" 7 | "time" 8 | ) 9 | 10 | func timeToTimespec(time time.Time) (ts syscall.Timespec) { 11 | nsec := int64(0) 12 | if !time.IsZero() { 13 | nsec = time.UnixNano() 14 | } 15 | return syscall.NsecToTimespec(nsec) 16 | } 17 | -------------------------------------------------------------------------------- /pkg/chrootarchive/chroot_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !linux && !darwin 2 | 3 | package chrootarchive 4 | 5 | import "golang.org/x/sys/unix" 6 | 7 | func realChroot(path string) error { 8 | if err := unix.Chroot(path); err != nil { 9 | return err 10 | } 11 | return unix.Chdir("/") 12 | } 13 | 14 | func chroot(path string) error { 15 | return realChroot(path) 16 | } 17 | -------------------------------------------------------------------------------- /pkg/chrootarchive/jsoniter.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !darwin 2 | 3 | package chrootarchive 4 | 5 | import jsoniter "github.com/json-iterator/go" 6 | 7 | var json = jsoniter.ConfigCompatibleWithStandardLibrary 8 | -------------------------------------------------------------------------------- /pkg/dmesg/dmesg_linux.go: -------------------------------------------------------------------------------- 1 | //go:build linux 2 | 3 | package dmesg 4 | 5 | import ( 6 | "unsafe" 7 | 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // Dmesg returns last messages from the kernel log, up to size bytes 12 | func Dmesg(size int) []byte { 13 | t := uintptr(3) // SYSLOG_ACTION_READ_ALL 14 | b := make([]byte, size) 15 | amt, _, err := unix.Syscall(unix.SYS_SYSLOG, t, uintptr(unsafe.Pointer(&b[0])), uintptr(len(b))) 16 | if err != 0 { 17 | return []byte{} 18 | } 19 | return b[:amt] 20 | } 21 | -------------------------------------------------------------------------------- /pkg/dmesg/dmesg_linux_test.go: -------------------------------------------------------------------------------- 1 | package dmesg 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestDmesg(t *testing.T) { 8 | t.Logf("dmesg output follows:\n%v", string(Dmesg(512))) 9 | } 10 | -------------------------------------------------------------------------------- /pkg/fileutils/exists_windows.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | import ( 4 | "os" 5 | ) 6 | 7 | // Exists checks whether a file or directory exists at the given path. 8 | func Exists(path string) error { 9 | _, err := os.Stat(path) 10 | return err 11 | } 12 | 13 | // Lexists checks whether a file or directory exists at the given path, without 14 | // resolving symlinks 15 | func Lexists(path string) error { 16 | _, err := os.Lstat(path) 17 | return err 18 | } 19 | -------------------------------------------------------------------------------- /pkg/fileutils/fileutils_darwin.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | import ( 4 | "os" 5 | "os/exec" 6 | "strconv" 7 | "strings" 8 | ) 9 | 10 | // GetTotalUsedFds returns the number of used File Descriptors by 11 | // executing `lsof -p PID` 12 | func GetTotalUsedFds() int { 13 | pid := os.Getpid() 14 | 15 | cmd := exec.Command("lsof", "-p", strconv.Itoa(pid)) 16 | 17 | output, err := cmd.CombinedOutput() 18 | if err != nil { 19 | return -1 20 | } 21 | 22 | outputStr := strings.TrimSpace(string(output)) 23 | 24 | fds := strings.Split(outputStr, "\n") 25 | 26 | return len(fds) - 1 27 | } 28 | -------------------------------------------------------------------------------- /pkg/fileutils/fileutils_solaris.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. 4 | // On Solaris these limits are per process and not systemwide 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /pkg/fileutils/fileutils_unix.go: -------------------------------------------------------------------------------- 1 | //go:build linux || freebsd 2 | 3 | package fileutils 4 | 5 | import ( 6 | "fmt" 7 | "os" 8 | 9 | "github.com/sirupsen/logrus" 10 | ) 11 | 12 | // GetTotalUsedFds Returns the number of used File Descriptors by 13 | // reading it via /proc filesystem. 14 | func GetTotalUsedFds() int { 15 | if fds, err := os.ReadDir(fmt.Sprintf("/proc/%d/fd", os.Getpid())); err != nil { 16 | logrus.Errorf("%v", err) 17 | } else { 18 | return len(fds) 19 | } 20 | return -1 21 | } 22 | -------------------------------------------------------------------------------- /pkg/fileutils/fileutils_windows.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | // GetTotalUsedFds Returns the number of used File Descriptors. Not supported 4 | // on Windows. 5 | func GetTotalUsedFds() int { 6 | return -1 7 | } 8 | -------------------------------------------------------------------------------- /pkg/fileutils/reflink_linux.go: -------------------------------------------------------------------------------- 1 | package fileutils 2 | 3 | import ( 4 | "io" 5 | "os" 6 | 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // ReflinkOrCopy attempts to reflink the source to the destination fd. 11 | // If reflinking fails or is unsupported, it falls back to io.Copy(). 12 | func ReflinkOrCopy(src, dst *os.File) error { 13 | err := unix.IoctlFileClone(int(dst.Fd()), int(src.Fd())) 14 | if err == nil { 15 | return nil 16 | } 17 | 18 | _, err = io.Copy(dst, src) 19 | return err 20 | } 21 | -------------------------------------------------------------------------------- /pkg/fileutils/reflink_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package fileutils 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | // ReflinkOrCopy attempts to reflink the source to the destination fd. 11 | // If reflinking fails or is unsupported, it falls back to io.Copy(). 12 | func ReflinkOrCopy(src, dst *os.File) error { 13 | _, err := io.Copy(dst, src) 14 | return err 15 | } 16 | -------------------------------------------------------------------------------- /pkg/idtools/idtools_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux || !libsubid || !cgo 2 | 3 | package idtools 4 | 5 | func readSubuid(username string) (ranges, error) { 6 | return parseSubidFile(subuidFileName, username) 7 | } 8 | 9 | func readSubgid(username string) (ranges, error) { 10 | return parseSubidFile(subgidFileName, username) 11 | } 12 | -------------------------------------------------------------------------------- /pkg/idtools/usergroupadd_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package idtools 4 | 5 | import "fmt" 6 | 7 | // AddNamespaceRangesUser takes a name and finds an unused uid, gid pair 8 | // and calls the appropriate helper function to add the group and then 9 | // the user to the group in /etc/group and /etc/passwd respectively. 10 | func AddNamespaceRangesUser(name string) (int, int, error) { 11 | return -1, -1, fmt.Errorf("no support for adding users or groups on this OS") 12 | } 13 | -------------------------------------------------------------------------------- /pkg/ioutils/fswriters_linux.go: -------------------------------------------------------------------------------- 1 | package ioutils 2 | 3 | import ( 4 | "os" 5 | 6 | "golang.org/x/sys/unix" 7 | ) 8 | 9 | func dataOrFullSync(f *os.File) error { 10 | return unix.Fdatasync(int(f.Fd())) 11 | } 12 | 13 | func (w *atomicFileWriter) postDataWrittenSync() error { 14 | if w.noSync { 15 | return nil 16 | } 17 | return unix.Fdatasync(int(w.f.Fd())) 18 | } 19 | 20 | func (w *atomicFileWriter) preRenameSync() error { 21 | // On Linux data can be reliably flushed to media without metadata, so defer 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /pkg/ioutils/fswriters_other.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package ioutils 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | func dataOrFullSync(f *os.File) error { 10 | return f.Sync() 11 | } 12 | 13 | func (w *atomicFileWriter) postDataWrittenSync() error { 14 | // many platforms (Mac, Windows) require a full sync to reliably flush to media 15 | return nil 16 | } 17 | 18 | func (w *atomicFileWriter) preRenameSync() error { 19 | if w.noSync { 20 | return nil 21 | } 22 | 23 | // fsync() on Non-linux Unix, FlushFileBuffers (Windows), F_FULLFSYNC (Mac) 24 | return w.f.Sync() 25 | } 26 | -------------------------------------------------------------------------------- /pkg/ioutils/temp_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package ioutils 4 | 5 | import "os" 6 | 7 | // TempDir on Unix systems is equivalent to os.MkdirTemp. 8 | func TempDir(dir, prefix string) (string, error) { 9 | return os.MkdirTemp(dir, prefix) 10 | } 11 | -------------------------------------------------------------------------------- /pkg/ioutils/temp_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package ioutils 4 | 5 | import ( 6 | "os" 7 | 8 | "github.com/containers/storage/pkg/longpath" 9 | ) 10 | 11 | // TempDir is the equivalent of os.MkdirTemp, except that the result is in Windows longpath format. 12 | func TempDir(dir, prefix string) (string, error) { 13 | tempDir, err := os.MkdirTemp(dir, prefix) 14 | if err != nil { 15 | return "", err 16 | } 17 | return longpath.AddPrefix(tempDir), nil 18 | } 19 | -------------------------------------------------------------------------------- /pkg/longpath/longpath_test.go: -------------------------------------------------------------------------------- 1 | package longpath 2 | 3 | import ( 4 | "strings" 5 | "testing" 6 | ) 7 | 8 | func TestStandardLongPath(t *testing.T) { 9 | c := `C:\simple\path` 10 | longC := AddPrefix(c) 11 | if !strings.EqualFold(longC, `\\?\C:\simple\path`) { 12 | t.Errorf("Wrong long path returned. Original = %s ; Long = %s", c, longC) 13 | } 14 | } 15 | 16 | func TestUNCLongPath(t *testing.T) { 17 | c := `\\server\share\path` 18 | longC := AddPrefix(c) 19 | if !strings.EqualFold(longC, `\\?\UNC\server\share\path`) { 20 | t.Errorf("Wrong UNC long path returned. Original = %s ; Long = %s", c, longC) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /pkg/loopback/loopback_unsupported.go: -------------------------------------------------------------------------------- 1 | package loopback 2 | -------------------------------------------------------------------------------- /pkg/mount/mounter_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !(freebsd && cgo) 2 | 3 | package mount 4 | 5 | func mount(device, target, mType string, flag uintptr, data string) error { 6 | panic("Not implemented") 7 | } 8 | -------------------------------------------------------------------------------- /pkg/mount/mountinfo.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | import ( 4 | "github.com/moby/sys/mountinfo" 5 | ) 6 | 7 | type Info = mountinfo.Info 8 | 9 | var Mounted = mountinfo.Mounted 10 | 11 | func GetMounts() ([]*Info, error) { 12 | return mountinfo.GetMounts(nil) 13 | } 14 | -------------------------------------------------------------------------------- /pkg/mount/mountinfo_linux.go: -------------------------------------------------------------------------------- 1 | package mount 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/moby/sys/mountinfo" 8 | ) 9 | 10 | func PidMountInfo(pid int) ([]*Info, error) { 11 | f, err := os.Open(fmt.Sprintf("/proc/%d/mountinfo", pid)) 12 | if err != nil { 13 | return nil, err 14 | } 15 | defer f.Close() 16 | 17 | return mountinfo.GetMountsFromReader(f, nil) 18 | } 19 | -------------------------------------------------------------------------------- /pkg/mount/unmount_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package mount 4 | 5 | func unmount(target string, flag int) error { 6 | panic("Not implemented") 7 | } 8 | -------------------------------------------------------------------------------- /pkg/parsers/kernel/kernel_unix.go: -------------------------------------------------------------------------------- 1 | //go:build unix && !darwin 2 | 3 | // Package kernel provides helper function to get, parse and compare kernel 4 | // versions for different platforms. 5 | package kernel 6 | 7 | import ( 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // GetKernelVersion gets the current kernel version. 12 | func GetKernelVersion() (*VersionInfo, error) { 13 | uts := &unix.Utsname{} 14 | 15 | if err := unix.Uname(uts); err != nil { 16 | return nil, err 17 | } 18 | 19 | return ParseRelease(unix.ByteSliceToString(uts.Release[:])) 20 | } 21 | -------------------------------------------------------------------------------- /pkg/promise/promise.go: -------------------------------------------------------------------------------- 1 | package promise 2 | 3 | // Go is a basic promise implementation: it wraps calls a function in a goroutine, 4 | // and returns a channel which will later return the function's return value. 5 | func Go(f func() error) chan error { 6 | ch := make(chan error, 1) 7 | go func() { 8 | ch <- f() 9 | }() 10 | return ch 11 | } 12 | -------------------------------------------------------------------------------- /pkg/promise/promise_test.go: -------------------------------------------------------------------------------- 1 | package promise 2 | 3 | import ( 4 | "errors" 5 | "testing" 6 | 7 | "github.com/stretchr/testify/require" 8 | ) 9 | 10 | func TestGo(t *testing.T) { 11 | errCh := Go(functionWithError) 12 | er := <-errCh 13 | require.EqualValues(t, "Error Occurred", er.Error()) 14 | 15 | noErrCh := Go(functionWithNoError) 16 | er = <-noErrCh 17 | require.Nil(t, er) 18 | } 19 | 20 | func functionWithError() (err error) { 21 | return errors.New("Error Occurred") 22 | } 23 | 24 | func functionWithNoError() (err error) { 25 | return nil 26 | } 27 | -------------------------------------------------------------------------------- /pkg/reexec/README.md: -------------------------------------------------------------------------------- 1 | # reexec 2 | 3 | The `reexec` package facilitates the busybox style reexec of the docker binary that we require because 4 | of the forking limitations of using Go. Handlers can be registered with a name and the argv 0 of 5 | the exec of the binary will be used to find and execute custom init paths. 6 | -------------------------------------------------------------------------------- /pkg/reexec/command_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !windows && !freebsd && !solaris && !darwin 2 | 3 | package reexec 4 | 5 | import ( 6 | "context" 7 | "os/exec" 8 | ) 9 | 10 | // Command is unsupported on operating systems apart from Linux, Windows, Solaris and Darwin. 11 | func Command(args ...string) *exec.Cmd { 12 | panicIfNotInitialized() 13 | return nil 14 | } 15 | 16 | // CommandContext is unsupported on operating systems apart from Linux, Windows, Solaris and Darwin. 17 | func CommandContext(ctx context.Context, args ...string) *exec.Cmd { 18 | panicIfNotInitialized() 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /pkg/regexp/regexp_dontprecompile.go: -------------------------------------------------------------------------------- 1 | //go:build !regexp_precompile 2 | 3 | package regexp 4 | 5 | const precompile = false 6 | -------------------------------------------------------------------------------- /pkg/regexp/regexp_precompile.go: -------------------------------------------------------------------------------- 1 | //go:build regexp_precompile 2 | 3 | package regexp 4 | 5 | const precompile = true 6 | -------------------------------------------------------------------------------- /pkg/stringid/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with string identifiers 2 | -------------------------------------------------------------------------------- /pkg/stringutils/README.md: -------------------------------------------------------------------------------- 1 | This package provides helper functions for dealing with strings 2 | -------------------------------------------------------------------------------- /pkg/system/chmod.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "errors" 5 | "os" 6 | "syscall" 7 | ) 8 | 9 | func Chmod(name string, mode os.FileMode) error { 10 | err := os.Chmod(name, mode) 11 | 12 | for err != nil && errors.Is(err, syscall.EINTR) { 13 | err = os.Chmod(name, mode) 14 | } 15 | 16 | return err 17 | } 18 | -------------------------------------------------------------------------------- /pkg/system/chtimes_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "time" 7 | ) 8 | 9 | // setCTime will set the create time on a file. On Unix, the create 10 | // time is updated as a side effect of setting the modified time, so 11 | // no action is required. 12 | func setCTime(path string, ctime time.Time) error { 13 | return nil 14 | } 15 | -------------------------------------------------------------------------------- /pkg/system/errors.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // ErrNotSupportedPlatform means the platform is not supported. 8 | var ErrNotSupportedPlatform = errors.New("platform and architecture is not supported") 9 | -------------------------------------------------------------------------------- /pkg/system/init.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "syscall" 5 | "time" 6 | "unsafe" 7 | ) 8 | 9 | // maxTime is used by chtimes. 10 | var maxTime time.Time 11 | 12 | func init() { 13 | // chtimes initialization 14 | if unsafe.Sizeof(syscall.Timespec{}.Nsec) == 8 { 15 | // This is a 64 bit timespec 16 | // os.Chtimes limits time to the following 17 | maxTime = time.Unix(0, 1<<63-1) 18 | } else { 19 | // This is a 32 bit timespec 20 | maxTime = time.Unix(1<<31-1, 0) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /pkg/system/init_windows.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "os" 4 | 5 | // LCOWSupported determines if Linux Containers on Windows are supported. 6 | // Note: This feature is in development (06/17) and enabled through an 7 | // environment variable. At a future time, it will be enabled based 8 | // on build number. @jhowardmsft 9 | var lcowSupported = false 10 | 11 | func init() { 12 | // LCOW initialization 13 | if os.Getenv("LCOW_SUPPORTED") != "" { 14 | lcowSupported = true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /pkg/system/lchown.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "os" 5 | "syscall" 6 | ) 7 | 8 | func Lchown(name string, uid, gid int) error { 9 | err := syscall.Lchown(name, uid, gid) 10 | 11 | for err == syscall.EINTR { 12 | err = syscall.Lchown(name, uid, gid) 13 | } 14 | 15 | if err != nil { 16 | return &os.PathError{Op: "lchown", Path: name, Err: err} 17 | } 18 | 19 | return nil 20 | } 21 | -------------------------------------------------------------------------------- /pkg/system/lcow_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package system 4 | 5 | // LCOWSupported returns true if Linux containers on Windows are supported. 6 | func LCOWSupported() bool { 7 | return false 8 | } 9 | -------------------------------------------------------------------------------- /pkg/system/lcow_windows.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | // LCOWSupported returns true if Linux containers on Windows are supported. 4 | func LCOWSupported() bool { 5 | return lcowSupported 6 | } 7 | -------------------------------------------------------------------------------- /pkg/system/lstat_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "os" 7 | "syscall" 8 | ) 9 | 10 | // Lstat takes a path to a file and returns 11 | // a system.StatT type pertaining to that file. 12 | // 13 | // Throws an error if the file does not exist 14 | func Lstat(path string) (*StatT, error) { 15 | s := &syscall.Stat_t{} 16 | if err := syscall.Lstat(path, s); err != nil { 17 | return nil, &os.PathError{Op: "Lstat", Path: path, Err: err} 18 | } 19 | return fromStatT(s) 20 | } 21 | -------------------------------------------------------------------------------- /pkg/system/lstat_windows.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "os" 4 | 5 | // Lstat calls os.Lstat to get a fileinfo interface back. 6 | // This is then copied into our own locally defined structure. 7 | func Lstat(path string) (*StatT, error) { 8 | fi, err := os.Lstat(path) 9 | if err != nil { 10 | return nil, err 11 | } 12 | 13 | return fromStatT(&fi) 14 | } 15 | -------------------------------------------------------------------------------- /pkg/system/meminfo.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | // MemInfo contains memory statistics of the host system. 4 | type MemInfo struct { 5 | // Total usable RAM (i.e. physical RAM minus a few reserved bits and the 6 | // kernel binary code). 7 | MemTotal int64 8 | 9 | // Amount of free memory. 10 | MemFree int64 11 | 12 | // Total amount of swap space available. 13 | SwapTotal int64 14 | 15 | // Amount of swap space that is currently unused. 16 | SwapFree int64 17 | } 18 | -------------------------------------------------------------------------------- /pkg/system/meminfo_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !windows && !solaris && !(freebsd && cgo) 2 | 3 | package system 4 | 5 | // ReadMemInfo is not supported on platforms other than linux and windows. 6 | func ReadMemInfo() (*MemInfo, error) { 7 | return nil, ErrNotSupportedPlatform 8 | } 9 | -------------------------------------------------------------------------------- /pkg/system/mknod_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package system 4 | 5 | // Mknod is not implemented on Windows. 6 | func Mknod(path string, mode uint32, dev int) error { 7 | return ErrNotSupportedPlatform 8 | } 9 | 10 | // Mkdev is not implemented on Windows. 11 | func Mkdev(major int64, minor int64) uint32 { 12 | panic("Mkdev not implemented on Windows.") 13 | } 14 | -------------------------------------------------------------------------------- /pkg/system/path_unix.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package system 4 | 5 | // CheckSystemDriveAndRemoveDriveLetter verifies that a path, if it includes a drive letter, 6 | // is the system drive. This is a no-op on Linux. 7 | func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error) { 8 | return path, nil 9 | } 10 | -------------------------------------------------------------------------------- /pkg/system/process_unix.go: -------------------------------------------------------------------------------- 1 | //go:build linux || freebsd || solaris || darwin 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // IsProcessAlive returns true if process with a given pid is running. 12 | func IsProcessAlive(pid int) bool { 13 | err := unix.Kill(pid, syscall.Signal(0)) 14 | if err == nil || err == unix.EPERM { 15 | return true 16 | } 17 | 18 | return false 19 | } 20 | 21 | // KillProcess force-stops a process. 22 | func KillProcess(pid int) { 23 | _ = unix.Kill(pid, unix.SIGKILL) 24 | } 25 | -------------------------------------------------------------------------------- /pkg/system/rm_common.go: -------------------------------------------------------------------------------- 1 | //go:build !freebsd 2 | 3 | package system 4 | 5 | // Reset file flags in a directory tree. This allows EnsureRemoveAll 6 | // to delete trees which have the immutable flag set. 7 | func resetFileFlags(dir string) error { 8 | return nil 9 | } 10 | -------------------------------------------------------------------------------- /pkg/system/rm_freebsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import ( 4 | "io/fs" 5 | "path/filepath" 6 | ) 7 | 8 | // Reset file flags in a directory tree. This allows EnsureRemoveAll 9 | // to delete trees which have the immutable flag set. 10 | func resetFileFlags(dir string) error { 11 | return filepath.WalkDir(dir, func(path string, d fs.DirEntry, err error) error { 12 | if err := Lchflags(path, 0); err != nil { 13 | return err 14 | } 15 | return nil 16 | }) 17 | } 18 | -------------------------------------------------------------------------------- /pkg/system/stat_common.go: -------------------------------------------------------------------------------- 1 | //go:build !freebsd 2 | 3 | package system 4 | 5 | type platformStatT struct{} 6 | 7 | // Flags return file flags if supported or zero otherwise 8 | func (s StatT) Flags() uint32 { 9 | _ = s.platformStatT // Silence warnings that StatT.platformStatT is unused (on these platforms) 10 | return 0 11 | } 12 | -------------------------------------------------------------------------------- /pkg/system/stat_darwin.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 6 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 7 | return &StatT{ 8 | size: s.Size, 9 | mode: uint32(s.Mode), 10 | uid: s.Uid, 11 | gid: s.Gid, 12 | rdev: uint64(s.Rdev), 13 | mtim: s.Mtimespec, 14 | }, nil 15 | } 16 | -------------------------------------------------------------------------------- /pkg/system/stat_linux_test.go: -------------------------------------------------------------------------------- 1 | //go:build linux 2 | 3 | package system 4 | 5 | import ( 6 | "syscall" 7 | "testing" 8 | ) 9 | 10 | // TestFromStatT tests fromStatT for a tempfile 11 | func platformTestFromStatT(t *testing.T, stat *syscall.Stat_t, s *StatT) { 12 | if stat.Mode != s.Mode() { 13 | t.Fatal("got invalid mode") 14 | } 15 | if stat.Mtim != s.Mtim() { 16 | t.Fatal("got invalid mtim") 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pkg/system/stat_netbsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 6 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 7 | return &StatT{size: s.Size, 8 | mode: uint32(s.Mode), 9 | uid: s.Uid, 10 | gid: s.Gid, 11 | rdev: uint64(s.Rdev), 12 | mtim: s.Mtimespec}, nil 13 | } 14 | -------------------------------------------------------------------------------- /pkg/system/stat_openbsd.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 6 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 7 | return &StatT{ 8 | size: s.Size, 9 | mode: uint32(s.Mode), 10 | uid: s.Uid, 11 | gid: s.Gid, 12 | rdev: uint64(s.Rdev), 13 | mtim: s.Mtim, 14 | }, nil 15 | } 16 | -------------------------------------------------------------------------------- /pkg/system/stat_solaris.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "syscall" 4 | 5 | // fromStatT converts a syscall.Stat_t type to a system.Stat_t type 6 | func fromStatT(s *syscall.Stat_t) (*StatT, error) { 7 | return &StatT{ 8 | size: s.Size, 9 | mode: uint32(s.Mode), 10 | uid: s.Uid, 11 | gid: s.Gid, 12 | rdev: uint64(s.Rdev), 13 | mtim: s.Mtim, 14 | }, nil 15 | } 16 | -------------------------------------------------------------------------------- /pkg/system/syscall_windows_test.go: -------------------------------------------------------------------------------- 1 | package system 2 | 3 | import "testing" 4 | 5 | func TestHasWin32KSupport(t *testing.T) { 6 | s := HasWin32KSupport() // make sure this doesn't panic 7 | 8 | t.Logf("win32k: %v", s) // will be different on different platforms -- informative only 9 | } 10 | -------------------------------------------------------------------------------- /pkg/system/umask.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | 3 | package system 4 | 5 | import ( 6 | "golang.org/x/sys/unix" 7 | ) 8 | 9 | // Umask sets current process's file mode creation mask to newmask 10 | // and returns oldmask. 11 | func Umask(newmask int) (oldmask int, err error) { 12 | return unix.Umask(newmask), nil 13 | } 14 | -------------------------------------------------------------------------------- /pkg/system/umask_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package system 4 | 5 | // Umask is not supported on the windows platform. 6 | func Umask(newmask int) (oldmask int, err error) { 7 | // should not be called on cli code path 8 | return 0, ErrNotSupportedPlatform 9 | } 10 | -------------------------------------------------------------------------------- /pkg/system/utimes_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux && !freebsd 2 | 3 | package system 4 | 5 | import "syscall" 6 | 7 | // LUtimesNano is only supported on linux and freebsd. 8 | func LUtimesNano(path string, ts []syscall.Timespec) error { 9 | return ErrNotSupportedPlatform 10 | } 11 | -------------------------------------------------------------------------------- /pkg/unshare/getenv_linux_cgo.go: -------------------------------------------------------------------------------- 1 | //go:build linux && cgo 2 | 3 | package unshare 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | /* 10 | #cgo remoteclient CFLAGS: -Wall -Werror 11 | #include 12 | */ 13 | import "C" 14 | 15 | func getenv(name string) string { 16 | cName := C.CString(name) 17 | defer C.free(unsafe.Pointer(cName)) 18 | 19 | value := C.GoString(C.getenv(cName)) 20 | 21 | return value 22 | } 23 | -------------------------------------------------------------------------------- /pkg/unshare/getenv_linux_nocgo.go: -------------------------------------------------------------------------------- 1 | //go:build linux && !cgo 2 | 3 | package unshare 4 | 5 | import ( 6 | "os" 7 | ) 8 | 9 | func getenv(name string) string { 10 | return os.Getenv(name) 11 | } 12 | -------------------------------------------------------------------------------- /pkg/unshare/unshare_cgo.go: -------------------------------------------------------------------------------- 1 | //go:build (linux && cgo && !gccgo) || (freebsd && cgo) 2 | 3 | package unshare 4 | 5 | // #cgo CFLAGS: -Wall 6 | // extern void _containers_unshare(void); 7 | // static void __attribute__((constructor)) init(void) { 8 | // _containers_unshare(); 9 | // } 10 | import "C" 11 | -------------------------------------------------------------------------------- /pkg/unshare/unshare_unsupported_cgo.go: -------------------------------------------------------------------------------- 1 | //go:build cgo && !(linux || freebsd) 2 | 3 | package unshare 4 | 5 | // Go refuses to compile a subpackage with CGO_ENABLED=1 if there is a *.c file but no 'import "C"'. 6 | // OTOH if we did have an 'import "C"', the Linux-only code would fail to compile. 7 | // So, satisfy the Go compiler by using import "C" but #ifdef-ing out all of the code. 8 | 9 | // #cgo CPPFLAGS: -DUNSHARE_NO_CODE_AT_ALL 10 | import "C" 11 | -------------------------------------------------------------------------------- /tests/abs.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | load helpers 4 | 5 | @test "absolute-paths" { 6 | cd ${TESTDIR} 7 | storage --graph tmp1a/deep/root --run tmp1b/deep/runroot layers 8 | storage --graph ./tmp2a/deep/root --run ./tmp2b/deep/runroot layers 9 | storage --graph tmp1a/deep/root --run tmp1b/deep/runroot shutdown 10 | storage --graph ./tmp2a/deep/root --run ./tmp2b/deep/runroot shutdown 11 | } 12 | -------------------------------------------------------------------------------- /tests/cleanup-layer.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | load helpers 4 | 5 | @test "cleanup-layer" { 6 | # Create a layer. 7 | run storage --debug=false create-layer 8 | [ "$status" -eq 0 ] 9 | [ "$output" != "" ] 10 | sed -i -e 's/"id":/"flags":{"incomplete":true},"id":/g' ${TESTDIR}/root/${STORAGE_DRIVER}-layers/layers.json 11 | 12 | # Get a list of the layers, which should clean it up. 13 | run storage --debug=false layers 14 | [ "$status" -eq 0 ] 15 | echo "$output" 16 | [ "${#lines[*]}" -eq 0 ] 17 | } 18 | -------------------------------------------------------------------------------- /tests/diffsize.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | load helpers 4 | 5 | @test "diffsize" { 6 | # Create and populate three interesting layers. 7 | populate 8 | 9 | # Mount the layers. 10 | run storage --debug=false diffsize "$lowerlayer" 11 | [ "$status" -eq 0 ] 12 | echo size:"$output": 13 | [ "$output" -ne 0 ] 14 | run storage --debug=false diffsize "$midlayer" 15 | [ "$status" -eq 0 ] 16 | echo size:"$output": 17 | [ "$output" -ne 0 ] 18 | run storage --debug=false diffsize "$upperlayer" 19 | [ "$status" -eq 0 ] 20 | echo size:"$output": 21 | [ "$output" -ne 0 ] 22 | } 23 | -------------------------------------------------------------------------------- /tests/test_runner.bash: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e 3 | 4 | cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" 5 | 6 | # Load the helpers. 7 | . helpers.bash 8 | 9 | function execute() { 10 | >&2 echo "++ $@" 11 | eval "$@" 12 | } 13 | 14 | # Tests to run. Defaults to all. 15 | TESTS=${@:-.} 16 | 17 | # Run the tests. 18 | execute time bats --tap $TESTS 19 | -------------------------------------------------------------------------------- /tests/tools/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/containers/storage/tests/tools 2 | 3 | go 1.18 4 | 5 | require ( 6 | github.com/cpuguy83/go-md2man v1.0.10 7 | github.com/vbatts/git-validation v1.0.0 8 | ) 9 | 10 | require ( 11 | github.com/hashicorp/go-version v1.2.0 // indirect 12 | github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect 13 | github.com/russross/blackfriday v1.5.2 // indirect 14 | github.com/sirupsen/logrus v1.4.1 // indirect 15 | golang.org/x/sys v0.5.0 // indirect 16 | ) 17 | -------------------------------------------------------------------------------- /tests/tools/tools.go: -------------------------------------------------------------------------------- 1 | //go:build tools 2 | // +build tools 3 | 4 | package tools 5 | 6 | // Importing the packages here will allow to vendor those via 7 | // `go mod vendor`. 8 | 9 | import ( 10 | _ "github.com/cpuguy83/go-md2man" 11 | _ "github.com/vbatts/git-validation" 12 | ) 13 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/cpuguy83/go-md2man/.gitignore: -------------------------------------------------------------------------------- 1 | go-md2man 2 | bin 3 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/cpuguy83/go-md2man/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - "1.8.x" 4 | - "1.9.x" 5 | - "1.10.x" 6 | - "1.11.x" 7 | - "stable" 8 | - tip 9 | 10 | env: 11 | - GO111MODULE: "on" 12 | 13 | matrix: 14 | allow_failures: 15 | - go: tip 16 | 17 | script: 18 | - if [ "${TRAVIS_GO_VERSION}" = "stable" ]; then make check-mod; fi 19 | - if [ "${TRAVIS_GO_VERSION}" = "stable" ]; then make golangci-lint; fi 20 | - if [ "${TRAVIS_GO_VERSION}" = "stable" ]; then echo running check scripts; make check; fi 21 | - make build 22 | - make TEST_FLAGS="-v" test 23 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/cpuguy83/go-md2man/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.8 AS build 2 | COPY . /go/src/github.com/cpuguy83/go-md2man 3 | WORKDIR /go/src/github.com/cpuguy83/go-md2man 4 | RUN CGO_ENABLED=0 go build 5 | 6 | FROM scratch 7 | COPY --from=build /go/src/github.com/cpuguy83/go-md2man/go-md2man /go-md2man 8 | ENTRYPOINT ["/go-md2man"] 9 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/cpuguy83/go-md2man/README.md: -------------------------------------------------------------------------------- 1 | go-md2man 2 | ========= 3 | 4 | ** Work in Progress ** 5 | This still needs a lot of help to be complete, or even usable! 6 | 7 | Uses blackfriday to process markdown into man pages. 8 | 9 | ### Usage 10 | 11 | ./md2man -in /path/to/markdownfile.md -out /manfile/output/path 12 | 13 | ### How to contribute 14 | 15 | We use [dep](https://github.com/golang/dep/) for vendoring Go packages. 16 | See dep documentation for how to update. 17 | 18 | ### TODO 19 | 20 | - Needs oh so much testing love 21 | - Look into blackfriday's 2.0 API 22 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/hashicorp/go-version/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.9 8 | - "1.10" 9 | - 1.11 10 | - 1.12 11 | 12 | script: 13 | - go test 14 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/hashicorp/go-version/version_collection.go: -------------------------------------------------------------------------------- 1 | package version 2 | 3 | // Collection is a type that implements the sort.Interface interface 4 | // so that versions can be sorted. 5 | type Collection []*Version 6 | 7 | func (v Collection) Len() int { 8 | return len(v) 9 | } 10 | 11 | func (v Collection) Less(i, j int) bool { 12 | return v[i].LessThan(v[j]) 13 | } 14 | 15 | func (v Collection) Swap(i, j int) { 16 | v[i], v[j] = v[j], v[i] 17 | } 18 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/russross/blackfriday/.gitignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.swp 3 | *.8 4 | *.6 5 | _obj 6 | _test* 7 | markdown 8 | tags 9 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/russross/blackfriday/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - "1.9.x" 5 | - "1.10.x" 6 | - tip 7 | matrix: 8 | fast_finish: true 9 | allow_failures: 10 | - go: tip 11 | install: 12 | - # Do nothing. This is needed to prevent default install action "go get -t -v ./..." from happening here (we want it to happen inside script step). 13 | script: 14 | - go get -t -v ./... 15 | - diff -u <(echo -n) <(gofmt -d -s .) 16 | - go tool vet . 17 | - go test -v -race ./... 18 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | vendor 3 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | platform: x64 3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus 4 | environment: 5 | GOPATH: c:\gopath 6 | branches: 7 | only: 8 | - master 9 | install: 10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 11 | - go version 12 | build_script: 13 | - go get -t 14 | - go test 15 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return true 11 | } 12 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd netbsd openbsd 2 | 3 | package logrus 4 | 5 | import "golang.org/x/sys/unix" 6 | 7 | const ioctlReadTermios = unix.TIOCGETA 8 | 9 | func isTerminal(fd int) bool { 10 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 11 | return err == nil 12 | } 13 | 14 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_js.go: -------------------------------------------------------------------------------- 1 | // +build js 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,!windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | func checkIfTerminal(w io.Writer) bool { 11 | switch v := w.(type) { 12 | case *os.File: 13 | return isTerminal(int(v.Fd())) 14 | default: 15 | return false 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux aix 2 | 3 | package logrus 4 | 5 | import "golang.org/x/sys/unix" 6 | 7 | const ioctlReadTermios = unix.TCGETS 8 | 9 | func isTerminal(fd int) bool { 10 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 11 | return err == nil 12 | } 13 | 14 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_check_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | "syscall" 9 | ) 10 | 11 | func checkIfTerminal(w io.Writer) bool { 12 | switch v := w.(type) { 13 | case *os.File: 14 | var mode uint32 15 | err := syscall.GetConsoleMode(syscall.Handle(v.Fd()), &mode) 16 | return err == nil 17 | default: 18 | return false 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package logrus 4 | 5 | import "io" 6 | 7 | func initTerminal(w io.Writer) { 8 | } 9 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,windows 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | "syscall" 9 | 10 | sequences "github.com/konsorten/go-windows-terminal-sequences" 11 | ) 12 | 13 | func initTerminal(w io.Writer) { 14 | switch v := w.(type) { 15 | case *os.File: 16 | sequences.EnableVirtualTerminalProcessing(syscall.Handle(v.Fd()), true) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /tests/tools/vendor/github.com/vbatts/git-validation/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | git-validation 3 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | // +build go1.9 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | type Signal = syscall.Signal 14 | type Errno = syscall.Errno 15 | type SysProcAttr = syscall.SysProcAttr 16 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 12 | // 13 | 14 | TEXT ·syscall6(SB),NOSPLIT,$0-88 15 | JMP syscall·syscall6(SB) 16 | 17 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSyscall6(SB) 19 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | // +build gc 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 12 | // 13 | 14 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 15 | JMP syscall·sysvicall6(SB) 16 | 17 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 18 | JMP syscall·rawSysvicall6(SB) 19 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos 7 | 8 | package unix 9 | 10 | const ( 11 | R_OK = 0x4 12 | W_OK = 0x2 13 | X_OK = 0x1 14 | ) 15 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | // +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64 7 | 8 | package unix 9 | 10 | const isBigEndian = true 11 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | // +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh 7 | 8 | package unix 9 | 10 | const isBigEndian = false 11 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | // +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc 7 | 8 | package unix 9 | 10 | func init() { 11 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 12 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 13 | fcntl64Syscall = SYS_FCNTL64 14 | } 15 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | // +build gccgo,linux,amd64 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //extern gettimeofday 13 | func realGettimeofday(*Timeval, *byte) int32 14 | 15 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 16 | r := realGettimeofday(tv, nil) 17 | if r < 0 { 18 | return syscall.GetErrno() 19 | } 20 | return 0 21 | } 22 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris 6 | // +build aix darwin dragonfly freebsd linux netbsd openbsd solaris 7 | 8 | // For Unix, get the pagesize from the runtime. 9 | 10 | package unix 11 | 12 | import "syscall" 13 | 14 | func Getpagesize() int { 15 | return syscall.Getpagesize() 16 | } 17 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 11 | return ptrace1(request, pid, addr, data) 12 | } 13 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | // +build ios 7 | 8 | package unix 9 | 10 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 11 | return ENOTSUP 12 | } 13 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | // +build aix dragonfly freebsd linux netbsd openbsd 7 | 8 | package unix 9 | 10 | // ReadDirent reads directory entries from fd and writes them into buf. 11 | func ReadDirent(fd int, buf []byte) (n int, err error) { 12 | return Getdents(fd, buf) 13 | } 14 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/syscall_hurd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build hurd 6 | // +build hurd 7 | 8 | package unix 9 | 10 | /* 11 | #include 12 | int ioctl(int, unsigned long int, uintptr_t); 13 | */ 14 | import "C" 15 | 16 | func ioctl(fd int, req uint, arg uintptr) (err error) { 17 | r0, er := C.ioctl(C.int(fd), C.ulong(req), C.uintptr_t(arg)) 18 | if r0 == -1 && er != nil { 19 | err = er 20 | } 21 | return 22 | } 23 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | // +build linux 7 | // +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64 8 | 9 | package unix 10 | 11 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 12 | // values. 13 | 14 | //sys Alarm(seconds uint) (remaining uint, err error) 15 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | // +build amd64,linux,gc 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //go:noescape 13 | func gettimeofday(tv *Timeval) (err syscall.Errno) 14 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | // +build linux,gc 7 | 8 | package unix 9 | 10 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 11 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 12 | 13 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 14 | // fail. 15 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 16 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | // +build arm,gc,linux 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | // Underlying system call writes to newoffset via pointer. 13 | // Implemented in assembly to avoid allocation. 14 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 15 | -------------------------------------------------------------------------------- /tests/tools/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | // +build darwin,!ios 7 | 8 | package unix 9 | 10 | // SysvShmCtl performs control operations on the shared memory segment 11 | // specified by id. 12 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 13 | return shmctl(id, cmd, desc) 14 | } 15 | -------------------------------------------------------------------------------- /types/default_override_test.conf: -------------------------------------------------------------------------------- 1 | [storage] 2 | 3 | # Default Storage Driver 4 | driver = "" 5 | 6 | # Primary Read/Write location of container storage 7 | graphroot = "environment_override_graphroot" 8 | 9 | # Storage path for rootless users 10 | # 11 | rootless_storage_path = "environment_override_rootless_storage_path" 12 | -------------------------------------------------------------------------------- /types/options_darwin.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | const ( 4 | // these are default path for run and graph root for rootful users 5 | // for rootless path is constructed via getRootlessStorageOpts 6 | defaultRunRoot string = "/run/containers/storage" 7 | defaultGraphRoot string = "/var/lib/containers/storage" 8 | SystemConfigFile = "/usr/share/containers/storage.conf" 9 | ) 10 | 11 | var defaultOverrideConfigFile = "/etc/containers/storage.conf" 12 | 13 | // canUseRootlessOverlay returns true if the overlay driver can be used for rootless containers 14 | func canUseRootlessOverlay() bool { 15 | return false 16 | } 17 | -------------------------------------------------------------------------------- /types/storage_broken.conf: -------------------------------------------------------------------------------- 1 | # This file is is a TEST configuration file for all tools 2 | # that use the containers/storage library. 3 | # See man 5 containers-storage.conf for more information 4 | # The "container storage" table contains all of the server options. 5 | foo = "bar" 6 | 7 | [storage] 8 | 9 | # Default Storage Driver 10 | driver = "" 11 | 12 | # Temporary storage location 13 | runroot = "/run/containers/test" 14 | 15 | [storage.options] 16 | # Primary Read/Write location of container storage 17 | graphroot = "/var/lib/containers/storage" 18 | 19 | -------------------------------------------------------------------------------- /userns_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !linux 2 | 3 | package storage 4 | 5 | import ( 6 | "errors" 7 | 8 | "github.com/containers/storage/pkg/idtools" 9 | "github.com/containers/storage/types" 10 | ) 11 | 12 | func (s *store) getAutoUserNS(_ *types.AutoUserNsOptions, _ *Image, _ rwLayerStore, _ []roLayerStore) ([]idtools.IDMap, []idtools.IDMap, error) { 13 | return nil, nil, errors.New("user namespaces are not supported on this platform") 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/.gitignore: -------------------------------------------------------------------------------- 1 | /toml.test 2 | /toml-test 3 | -------------------------------------------------------------------------------- /vendor/github.com/BurntSushi/toml/doc.go: -------------------------------------------------------------------------------- 1 | // Package toml implements decoding and encoding of TOML files. 2 | // 3 | // This package supports TOML v1.0.0, as specified at https://toml.io 4 | // 5 | // The github.com/BurntSushi/toml/cmd/tomlv package implements a TOML validator, 6 | // and can be used to verify if TOML document is valid. It can also be used to 7 | // print the type of each key. 8 | package toml 9 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | 3 | *.exe 4 | 5 | # testing 6 | testdata 7 | 8 | # go workspaces 9 | go.work 10 | go.work.sum 11 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @microsoft/containerplat 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/backuptar/doc.go: -------------------------------------------------------------------------------- 1 | // This file only exists to allow go get on non-Windows platforms. 2 | 3 | package backuptar 4 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/internal/fs/doc.go: -------------------------------------------------------------------------------- 1 | // This package contains Win32 filesystem functionality. 2 | package fs 3 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/internal/fs/security.go: -------------------------------------------------------------------------------- 1 | package fs 2 | 3 | // https://learn.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-security_impersonation_level 4 | type SecurityImpersonationLevel int32 // C default enums underlying type is `int`, which is Go `int32` 5 | 6 | // Impersonation levels 7 | const ( 8 | SecurityAnonymous SecurityImpersonationLevel = 0 9 | SecurityIdentification SecurityImpersonationLevel = 1 10 | SecurityImpersonation SecurityImpersonationLevel = 2 11 | SecurityDelegation SecurityImpersonationLevel = 3 12 | ) 13 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/pkg/guid/guid_nonwindows.go: -------------------------------------------------------------------------------- 1 | //go:build !windows 2 | // +build !windows 3 | 4 | package guid 5 | 6 | // GUID represents a GUID/UUID. It has the same structure as 7 | // golang.org/x/sys/windows.GUID so that it can be used with functions expecting 8 | // that type. It is defined as its own type as that is only available to builds 9 | // targeted at `windows`. The representation matches that used by native Windows 10 | // code. 11 | type GUID struct { 12 | Data1 uint32 13 | Data2 uint16 14 | Data3 uint16 15 | Data4 [8]byte 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/pkg/guid/guid_windows.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | // +build windows 3 | 4 | package guid 5 | 6 | import "golang.org/x/sys/windows" 7 | 8 | // GUID represents a GUID/UUID. It has the same structure as 9 | // golang.org/x/sys/windows.GUID so that it can be used with functions expecting 10 | // that type. It is defined as its own type so that stringification and 11 | // marshaling can be supported. The representation matches that used by native 12 | // Windows code. 13 | type GUID windows.GUID 14 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/go-winio/syscall.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package winio 4 | 5 | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go ./*.go 6 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/.clang-format: -------------------------------------------------------------------------------- 1 | Language: Cpp 2 | BasedOnStyle: Microsoft 3 | BreakBeforeBraces: Attach 4 | PointerAlignment: Left 5 | AllowShortFunctionsOnASingleLine: All 6 | # match Go style 7 | IndentCaseLabels: false 8 | # don't break comments over line limit (needed for CodeQL exceptions) 9 | ReflowComments: false 10 | InsertNewlineAtEOF: true 11 | KeepEmptyLines: 12 | AtEndOfFile: true 13 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | vendor/** -text 3 | test/vendor/** -text -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @microsoft/containerplat -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/hnsglobals.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package hcsshim 4 | 5 | import ( 6 | "github.com/Microsoft/hcsshim/internal/hns" 7 | ) 8 | 9 | type HNSGlobals = hns.HNSGlobals 10 | type HNSVersion = hns.HNSVersion 11 | 12 | var ( 13 | HNSVersion1803 = hns.HNSVersion1803 14 | ) 15 | 16 | func GetHNSGlobals() (*HNSGlobals, error) { 17 | return hns.GetHNSGlobals() 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/hnssupport.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package hcsshim 4 | 5 | import ( 6 | "github.com/Microsoft/hcsshim/internal/hns" 7 | ) 8 | 9 | type HNSSupportedFeatures = hns.HNSSupportedFeatures 10 | 11 | type HNSAclFeatures = hns.HNSAclFeatures 12 | 13 | func GetHNSSupportedFeatures() HNSSupportedFeatures { 14 | return hns.GetHNSSupportedFeatures() 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/doc.go: -------------------------------------------------------------------------------- 1 | package hcs 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/battery.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Battery struct { 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cache_query_stats_response.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type CacheQueryStatsResponse struct { 13 | L3OccupancyBytes int32 `json:"L3OccupancyBytes,omitempty"` 14 | 15 | L3TotalBwBytes int32 `json:"L3TotalBwBytes,omitempty"` 16 | 17 | L3LocalBwBytes int32 `json:"L3LocalBwBytes,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cimfs.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.5 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type CimMount struct { 13 | ImagePath string `json:"ImagePath,omitempty"` 14 | FileSystemName string `json:"FileSystemName,omitempty"` 15 | VolumeGuid string `json:"VolumeGuid,omitempty"` 16 | MountFlags uint32 `json:"MountFlags,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/close_handle.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | import "github.com/Microsoft/hcsshim/internal/protocol/guestrequest" 13 | 14 | type CloseHandle struct { 15 | Handle guestrequest.STDIOHandle `json:"Handle,omitempty"` // NOTE: Swagger generated as string. Locally updated. 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/com_port.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // ComPort specifies the named pipe that will be used for the port, with empty string indicating a disconnected port. 13 | type ComPort struct { 14 | NamedPipe string `json:"NamedPipe,omitempty"` 15 | 16 | OptimizeForDebugger bool `json:"OptimizeForDebugger,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/container_credential_guard_add_instance_request.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerCredentialGuardAddInstanceRequest struct { 13 | Id string `json:"Id,omitempty"` 14 | CredentialSpec string `json:"CredentialSpec,omitempty"` 15 | Transport string `json:"Transport,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/container_credential_guard_hv_socket_service_config.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerCredentialGuardHvSocketServiceConfig struct { 13 | ServiceId string `json:"ServiceId,omitempty"` 14 | ServiceConfig *HvSocketServiceConfig `json:"ServiceConfig,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/container_credential_guard_modify_operation.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerCredentialGuardModifyOperation string 13 | 14 | const ( 15 | AddInstance ContainerCredentialGuardModifyOperation = "AddInstance" 16 | RemoveInstance ContainerCredentialGuardModifyOperation = "RemoveInstance" 17 | ) 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/container_credential_guard_remove_instance_request.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerCredentialGuardRemoveInstanceRequest struct { 13 | Id string `json:"Id,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/container_credential_guard_system_info.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerCredentialGuardSystemInfo struct { 13 | Instances []ContainerCredentialGuardInstance `json:"Instances,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cpu_group.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // CPU groups allow Hyper-V administrators to better manage and allocate the host's CPU resources across guest virtual machines 13 | type CpuGroup struct { 14 | Id string `json:"Id,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cpu_group_affinity.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type CpuGroupAffinity struct { 13 | LogicalProcessorCount int32 `json:"LogicalProcessorCount,omitempty"` 14 | LogicalProcessors []int32 `json:"LogicalProcessors,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cpu_group_configurations.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // Structure used to return cpu groups for a Service property query 13 | type CpuGroupConfigurations struct { 14 | CpuGroups []CpuGroupConfig `json:"CpuGroups,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cpu_group_operations.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type CPUGroupOperation string 13 | 14 | const ( 15 | CreateGroup CPUGroupOperation = "CreateGroup" 16 | DeleteGroup CPUGroupOperation = "DeleteGroup" 17 | SetProperty CPUGroupOperation = "SetProperty" 18 | ) 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/delete_group_operation.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // Delete group operation settings 13 | type DeleteGroupOperation struct { 14 | GroupId string `json:"GroupId,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/enhanced_mode_video.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type EnhancedModeVideo struct { 13 | ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/firmware.go: -------------------------------------------------------------------------------- 1 | package hcsschema 2 | 3 | type FirmwareFile struct { 4 | // Parameters is an experimental/pre-release field. The field itself or its 5 | // behavior can change in future iterations of the schema. Avoid taking a hard 6 | // dependency on this field. 7 | Parameters []byte `json:"Parameters,omitempty"` 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/flexible_io_device.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type FlexibleIoDevice struct { 13 | EmulatorId string `json:"EmulatorId,omitempty"` 14 | 15 | HostingModel string `json:"HostingModel,omitempty"` 16 | 17 | Configuration []string `json:"Configuration,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/guest_crash_reporting.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type GuestCrashReporting struct { 13 | WindowsCrashSettings *WindowsCrashReporting `json:"WindowsCrashSettings,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/guest_os.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type GuestOs struct { 13 | HostName string `json:"HostName,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/hosted_system.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type HostedSystem struct { 13 | SchemaVersion *Version `json:"SchemaVersion,omitempty"` 14 | 15 | Container *Container `json:"Container,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/hv_socket.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type HvSocket struct { 13 | Config *HvSocketSystemConfig `json:"Config,omitempty"` 14 | 15 | EnablePowerShellDirect bool `json:"EnablePowerShellDirect,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/hv_socket_2.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // HvSocket configuration for a VM 13 | type HvSocket2 struct { 14 | HvSocketConfig *HvSocketSystemConfig `json:"HvSocketConfig,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/hv_socket_address.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // This class defines address settings applied to a VM 13 | // by the GCS every time a VM starts or restores. 14 | type HvSocketAddress struct { 15 | LocalAddress string `json:"LocalAddress,omitempty"` 16 | ParentAddress string `json:"ParentAddress,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/keyboard.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Keyboard struct { 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/linux_kernel_direct.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.2 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type LinuxKernelDirect struct { 13 | KernelFilePath string `json:"KernelFilePath,omitempty"` 14 | 15 | InitRdPath string `json:"InitRdPath,omitempty"` 16 | 17 | KernelCmdLine string `json:"KernelCmdLine,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/mapped_directory.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type MappedDirectory struct { 13 | HostPath string `json:"HostPath,omitempty"` 14 | 15 | HostPathType string `json:"HostPathType,omitempty"` 16 | 17 | ContainerPath string `json:"ContainerPath,omitempty"` 18 | 19 | ReadOnly bool `json:"ReadOnly,omitempty"` 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/mapped_pipe.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type MappedPipe struct { 13 | ContainerPipeName string `json:"ContainerPipeName,omitempty"` 14 | 15 | HostPath string `json:"HostPath,omitempty"` 16 | 17 | HostPathType string `json:"HostPathType,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/memory.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Memory struct { 13 | SizeInMB uint64 `json:"SizeInMB,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_container_definition_device.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ContainerDefinitionDevice struct { 13 | DeviceExtension []DeviceExtension `json:"device_extension,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_device_category.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type DeviceCategory struct { 13 | Name string `json:"name,omitempty"` 14 | InterfaceClass []InterfaceClass `json:"interface_class,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_device_extension.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type DeviceExtension struct { 13 | DeviceCategory *DeviceCategory `json:"device_category,omitempty"` 14 | Namespace *DeviceExtensionNamespace `json:"namespace,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_interface_class.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type InterfaceClass struct { 13 | Type_ string `json:"type,omitempty"` 14 | Identifier string `json:"identifier,omitempty"` 15 | Recurse bool `json:"recurse,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_namespace.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type DeviceExtensionNamespace struct { 13 | Ob *ObjectNamespace `json:"ob,omitempty"` 14 | Device *DeviceNamespace `json:"device,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/model_object_namespace.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ObjectNamespace struct { 13 | Shadow string `json:"shadow,omitempty"` 14 | Symlink []ObjectSymlink `json:"symlink,omitempty"` 15 | Objdir []ObjectDirectory `json:"objdir,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/modification_request.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ModificationRequest struct { 13 | PropertyType PropertyType `json:"PropertyType,omitempty"` 14 | Settings interface{} `json:"Settings,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/mouse.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Mouse struct { 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/network_adapter.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type NetworkAdapter struct { 13 | EndpointId string `json:"EndpointId,omitempty"` 14 | MacAddress string `json:"MacAddress,omitempty"` 15 | // The I/O virtualization (IOV) offloading configuration. 16 | IovSettings *IovSettings `json:"IovSettings,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/numa_node.go: -------------------------------------------------------------------------------- 1 | // Autogenerated code; DO NOT EDIT. 2 | 3 | /* 4 | * Schema Open API 5 | * 6 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 7 | * 8 | * API version: 2.4 9 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 | */ 11 | 12 | package hcsschema 13 | 14 | type NumaNode struct { 15 | VirtualNodeIndex uint32 `json:"VirtualNodeIndex,omitempty"` 16 | PhysicalNodeIndex uint32 `json:"PhysicalNodeIndex,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/numa_node_processor.go: -------------------------------------------------------------------------------- 1 | // Autogenerated code; DO NOT EDIT. 2 | 3 | /* 4 | * Schema Open API 5 | * 6 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 7 | * 8 | * API version: 2.4 9 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 | */ 11 | 12 | package hcsschema 13 | 14 | type NumaNodeProcessor struct { 15 | TotalAssignedProcessors uint32 `json:"TotalAssignedProcessors,omitempty"` 16 | TotalAvailableProcessors uint32 `json:"TotalAvailableProcessors,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/pause_notification.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // Notification data that is indicated to components running in the Virtual Machine. 13 | type PauseNotification struct { 14 | Reason string `json:"Reason,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/pause_options.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // Options for HcsPauseComputeSystem 13 | type PauseOptions struct { 14 | SuspensionLevel string `json:"SuspensionLevel,omitempty"` 15 | 16 | HostedNotification *PauseNotification `json:"HostedNotification,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/plan9.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Plan9 struct { 13 | Shares []Plan9Share `json:"Shares,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/processor.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Processor struct { 13 | Count int32 `json:"Count,omitempty"` 14 | 15 | Maximum int32 `json:"Maximum,omitempty"` 16 | 17 | Weight int32 `json:"Weight,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/processor_topology.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type ProcessorTopology struct { 13 | LogicalProcessorCount uint32 `json:"LogicalProcessorCount,omitempty"` 14 | LogicalProcessors []LogicalProcessor `json:"LogicalProcessors,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/property_query.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // By default the basic properties will be returned. This query provides a way to request specific properties. 13 | type PropertyQuery struct { 14 | PropertyTypes []PropertyType `json:"PropertyTypes,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/rdp_connection_options.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type RdpConnectionOptions struct { 13 | AccessSids []string `json:"AccessSids,omitempty"` 14 | 15 | NamedPipe string `json:"NamedPipe,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/registry_changes.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type RegistryChanges struct { 13 | AddValues []RegistryValue `json:"AddValues,omitempty"` 14 | 15 | DeleteKeys []RegistryKey `json:"DeleteKeys,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/registry_hive.go: -------------------------------------------------------------------------------- 1 | package hcsschema 2 | 3 | // NOTE: manually added 4 | 5 | type RegistryHive string 6 | 7 | // List of RegistryHive 8 | const ( 9 | RegistryHive_SYSTEM RegistryHive = "System" 10 | RegistryHive_SOFTWARE RegistryHive = "Software" 11 | RegistryHive_SECURITY RegistryHive = "Security" 12 | RegistryHive_SAM RegistryHive = "Sam" 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/registry_key.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type RegistryKey struct { 13 | Hive RegistryHive `json:"Hive,omitempty"` 14 | 15 | Name string `json:"Name,omitempty"` 16 | 17 | Volatile bool `json:"Volatile,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/scsi.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Scsi struct { 13 | 14 | // Map of attachments, where the key is the integer LUN number on the controller. 15 | Attachments map[string]Attachment `json:"Attachments,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/security_settings.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type SecuritySettings struct { 13 | // Enablement of Trusted Platform Module on the computer system 14 | EnableTpm bool `json:"EnableTpm,omitempty"` 15 | Isolation *IsolationSettings `json:"Isolation,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/shared_memory_configuration.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type SharedMemoryConfiguration struct { 13 | Regions []SharedMemoryRegion `json:"Regions,omitempty"` 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/shared_memory_region_info.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type SharedMemoryRegionInfo struct { 13 | SectionName string `json:"SectionName,omitempty"` 14 | 15 | GuestPhysicalAddress int32 `json:"GuestPhysicalAddress,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/silo_properties.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | // Silo job information 13 | type SiloProperties struct { 14 | Enabled bool `json:"Enabled,omitempty"` 15 | 16 | JobName string `json:"JobName,omitempty"` 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/storage_qo_s.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type StorageQoS struct { 13 | IopsMaximum int32 `json:"IopsMaximum,omitempty"` 14 | 15 | BandwidthMaximum int32 `json:"BandwidthMaximum,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/version.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type Version struct { 13 | Major int32 `json:"Major,omitempty"` 14 | 15 | Minor int32 `json:"Minor,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/video_monitor.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type VideoMonitor struct { 13 | HorizontalResolution int32 `json:"HorizontalResolution,omitempty"` 14 | 15 | VerticalResolution int32 `json:"VerticalResolution,omitempty"` 16 | 17 | ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_p_mem_device.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type VirtualPMemDevice struct { 13 | HostPath string `json:"HostPath,omitempty"` 14 | 15 | ReadOnly bool `json:"ReadOnly,omitempty"` 16 | 17 | ImageFormat string `json:"ImageFormat,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_p_mem_mapping.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.4 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type VirtualPMemMapping struct { 13 | HostPath string `json:"HostPath,omitempty"` 14 | ImageFormat string `json:"ImageFormat,omitempty"` 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_smb.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type VirtualSmb struct { 13 | Shares []VirtualSmbShare `json:"Shares,omitempty"` 14 | 15 | DirectFileMappingInMB int64 `json:"DirectFileMappingInMB,omitempty"` 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/virtual_smb_share.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type VirtualSmbShare struct { 13 | Name string `json:"Name,omitempty"` 14 | 15 | Path string `json:"Path,omitempty"` 16 | 17 | AllowedFiles []string `json:"AllowedFiles,omitempty"` 18 | 19 | Options *VirtualSmbShareOptions `json:"Options,omitempty"` 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/windows_crash_reporting.go: -------------------------------------------------------------------------------- 1 | /* 2 | * HCS API 3 | * 4 | * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) 5 | * 6 | * API version: 2.1 7 | * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 8 | */ 9 | 10 | package hcsschema 11 | 12 | type WindowsCrashReporting struct { 13 | DumpFileName string `json:"DumpFileName,omitempty"` 14 | 15 | MaxDumpSize int64 `json:"MaxDumpSize,omitempty"` 16 | 17 | DumpType string `json:"DumpType,omitempty"` 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hcserror/doc.go: -------------------------------------------------------------------------------- 1 | package hcserror 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/hns/doc.go: -------------------------------------------------------------------------------- 1 | package hns 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/interop/doc.go: -------------------------------------------------------------------------------- 1 | package interop 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/jobobject/doc.go: -------------------------------------------------------------------------------- 1 | // This package provides higher level constructs for the win32 job object API. 2 | // Most of the core creation and management functions are already present in "golang.org/x/sys/windows" 3 | // (CreateJobObject, AssignProcessToJobObject, etc.) as well as most of the limit information 4 | // structs and associated limit flags. Whatever is not present from the job object API 5 | // in golang.org/x/sys/windows is located in /internal/winapi. 6 | // 7 | // https://docs.microsoft.com/en-us/windows/win32/procthread/job-objects 8 | package jobobject 9 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/log/nopformatter.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | "github.com/sirupsen/logrus" 5 | ) 6 | 7 | type NopFormatter struct{} 8 | 9 | var _ logrus.Formatter = NopFormatter{} 10 | 11 | // Format does nothing and returns a nil slice. 12 | func (NopFormatter) Format(*logrus.Entry) ([]byte, error) { return nil, nil } 13 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/safefile/do.go: -------------------------------------------------------------------------------- 1 | package safefile 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/vmcompute/doc.go: -------------------------------------------------------------------------------- 1 | package vmcompute 2 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/wclayer/doc.go: -------------------------------------------------------------------------------- 1 | // Package wclayer provides bindings to HCS's legacy layer management API and 2 | // provides a higher level interface around these calls for container layer 3 | // management. 4 | package wclayer 5 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/doc.go: -------------------------------------------------------------------------------- 1 | // Package winapi contains various low-level bindings to Windows APIs. It can 2 | // be thought of as an extension to golang.org/x/sys/windows. 3 | package winapi 4 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/elevation.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package winapi 4 | 5 | import ( 6 | "golang.org/x/sys/windows" 7 | ) 8 | 9 | func IsElevated() bool { 10 | return windows.GetCurrentProcessToken().IsElevated() 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/errors.go: -------------------------------------------------------------------------------- 1 | //go:build windows 2 | 3 | package winapi 4 | 5 | import "syscall" 6 | 7 | //sys RtlNtStatusToDosError(status uint32) (winerr error) = ntdll.RtlNtStatusToDosError 8 | 9 | const ( 10 | STATUS_REPARSE_POINT_ENCOUNTERED = 0xC000050B 11 | ERROR_NO_MORE_ITEMS = 0x103 12 | ERROR_MORE_DATA syscall.Errno = 234 13 | ) 14 | 15 | func NTSuccess(status uint32) bool { 16 | return status == 0 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/memory.go: -------------------------------------------------------------------------------- 1 | package winapi 2 | 3 | //sys LocalAlloc(flags uint32, size int) (ptr uintptr) = kernel32.LocalAlloc 4 | //sys LocalFree(ptr uintptr) = kernel32.LocalFree 5 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/net.go: -------------------------------------------------------------------------------- 1 | package winapi 2 | 3 | //sys SetJobCompartmentId(handle windows.Handle, compartmentId uint32) (win32Err error) = iphlpapi.SetJobCompartmentId 4 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/path.go: -------------------------------------------------------------------------------- 1 | package winapi 2 | 3 | // DWORD SearchPathW( 4 | // LPCWSTR lpPath, 5 | // LPCWSTR lpFileName, 6 | // LPCWSTR lpExtension, 7 | // DWORD nBufferLength, 8 | // LPWSTR lpBuffer, 9 | // LPWSTR *lpFilePart 10 | // ); 11 | // 12 | //sys SearchPath(lpPath *uint16, lpFileName *uint16, lpExtension *uint16, nBufferLength uint32, lpBuffer *uint16, lpFilePath *uint16) (size uint32, err error) = kernel32.SearchPathW 13 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/processor.go: -------------------------------------------------------------------------------- 1 | package winapi 2 | 3 | // Get count from all processor groups. 4 | // https://docs.microsoft.com/en-us/windows/win32/procthread/processor-groups 5 | const ALL_PROCESSOR_GROUPS = 0xFFFF 6 | 7 | //sys GetActiveProcessorCount(groupNumber uint16) (amount uint32) = kernel32.GetActiveProcessorCount 8 | -------------------------------------------------------------------------------- /vendor/github.com/Microsoft/hcsshim/internal/winapi/winapi.go: -------------------------------------------------------------------------------- 1 | package winapi 2 | 3 | //go:generate go run github.com/Microsoft/go-winio/tools/mkwinsyscall -output zsyscall_windows.go ./*.go 4 | -------------------------------------------------------------------------------- /vendor/github.com/containerd/typeurl/v2/.gitignore: -------------------------------------------------------------------------------- 1 | *.test 2 | coverage.txt 3 | -------------------------------------------------------------------------------- /vendor/github.com/cyphar/filepath-securejoin/VERSION: -------------------------------------------------------------------------------- 1 | 0.4.1 2 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/README.md: -------------------------------------------------------------------------------- 1 | [![GoDoc](https://godoc.org/github.com/docker/go-units?status.svg)](https://godoc.org/github.com/docker/go-units) 2 | 3 | # Introduction 4 | 5 | go-units is a library to transform human friendly measurements into machine friendly values. 6 | 7 | ## Usage 8 | 9 | See the [docs in godoc](https://godoc.org/github.com/docker/go-units) for examples and documentation. 10 | 11 | ## Copyright and license 12 | 13 | Copyright © 2015 Docker, Inc. 14 | 15 | go-units is licensed under the Apache License, Version 2.0. 16 | See [LICENSE](LICENSE) for the full text of the license. 17 | -------------------------------------------------------------------------------- /vendor/github.com/docker/go-units/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | post: 3 | # install golint 4 | - go get golang.org/x/lint/golint 5 | 6 | test: 7 | pre: 8 | # run analysis before tests 9 | - go vet ./... 10 | - test -z "$(golint ./... | tee /dev/stderr)" 11 | - test -z "$(gofmt -s -l . | tee /dev/stderr)" 12 | -------------------------------------------------------------------------------- /vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !cmp_debug 6 | // +build !cmp_debug 7 | 8 | package diff 9 | 10 | var debug debugger 11 | 12 | type debugger struct{} 13 | 14 | func (debugger) Begin(_, _ int, f EqualFunc, _, _ *EditScript) EqualFunc { 15 | return f 16 | } 17 | func (debugger) Update() {} 18 | func (debugger) Finish() {} 19 | -------------------------------------------------------------------------------- /vendor/github.com/google/go-cmp/cmp/internal/flags/flags.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019, The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package flags 6 | 7 | // Deterministic controls whether the output of Diff should be deterministic. 8 | // This is only used for testing. 9 | var Deterministic bool 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | Paul Borman 2 | bmatsuo 3 | shawnps 4 | theory 5 | jboverfelt 6 | dsymonds 7 | cd1 8 | wallclockbuilder 9 | dansouza 10 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package uuid generates and inspects UUIDs. 6 | // 7 | // UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security 8 | // Services. 9 | // 10 | // A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to 11 | // maps or compared directly. 12 | package uuid 13 | -------------------------------------------------------------------------------- /vendor/github.com/google/uuid/node_js.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Google Inc. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build js 6 | 7 | package uuid 8 | 9 | // getHardwareInterface returns nil values for the JS version of the code. 10 | // This removes the "net" dependency, because it is not used in the browser. 11 | // Using the "net" library inflates the size of the transpiled JS code by 673k bytes. 12 | func getHardwareInterface(name string) (string, []byte) { return "", nil } 13 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "output_tests/.*" 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /bug_test.go 3 | /coverage.txt 4 | /.idea 5 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then 6 | mkdir -p /tmp/build-golang/src/github.com/json-iterator 7 | ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go 8 | fi 9 | export GOPATH=/tmp/build-golang 10 | go get -u github.com/golang/dep/cmd/dep 11 | cd /tmp/build-golang/src/github.com/json-iterator/go 12 | exec $GOPATH/bin/dep ensure -update 13 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/json-iterator/go $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/.gitattributes: -------------------------------------------------------------------------------- 1 | * -text 2 | *.bin -text -diff 3 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | /s2/cmd/_s2sx/sfx-exe 26 | 27 | # Linux perf files 28 | perf.data 29 | perf.data.old 30 | 31 | # gdb history 32 | .gdb_history 33 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/gen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd s2/cmd/_s2sx/ || exit 1 4 | go generate . 5 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/huff0/.gitignore: -------------------------------------------------------------------------------- 1 | /huff0-fuzz.zip 2 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go: -------------------------------------------------------------------------------- 1 | //go:build amd64 && !appengine && !noasm && gc 2 | // +build amd64,!appengine,!noasm,gc 3 | 4 | package cpuinfo 5 | 6 | // go:noescape 7 | func x86extensions() (bmi1, bmi2 bool) 8 | 9 | func init() { 10 | hasBMI1, hasBMI2 = x86extensions() 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/internal/le/le.go: -------------------------------------------------------------------------------- 1 | package le 2 | 3 | type Indexer interface { 4 | int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/s2sx.mod: -------------------------------------------------------------------------------- 1 | module github.com/klauspost/compress 2 | 3 | go 1.22 4 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/s2sx.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/klauspost/compress/s2sx.sum -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go: -------------------------------------------------------------------------------- 1 | //go:build (amd64 || arm64) && !appengine && gc && !purego && !noasm 2 | // +build amd64 arm64 3 | // +build !appengine 4 | // +build gc 5 | // +build !purego 6 | // +build !noasm 7 | 8 | package xxhash 9 | 10 | // Sum64 computes the 64-bit xxHash digest of b. 11 | // 12 | //go:noescape 13 | func Sum64(b []byte) uint64 14 | 15 | //go:noescape 16 | func writeBlocks(s *Digest, b []byte) int 17 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go: -------------------------------------------------------------------------------- 1 | package xxhash 2 | 3 | // Sum64String computes the 64-bit xxHash digest of s. 4 | func Sum64String(s string) uint64 { 5 | return Sum64([]byte(s)) 6 | } 7 | 8 | // WriteString adds more data to d. It always returns len(s), nil. 9 | func (d *Digest) WriteString(s string) (n int, err error) { 10 | return d.Write([]byte(s)) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/compress/zstd/matchlen_amd64.go: -------------------------------------------------------------------------------- 1 | //go:build amd64 && !appengine && !noasm && gc 2 | // +build amd64,!appengine,!noasm,gc 3 | 4 | // Copyright 2019+ Klaus Post. All rights reserved. 5 | // License information can be found in the LICENSE file. 6 | 7 | package zstd 8 | 9 | // matchLen returns how many bytes match in a and b 10 | // 11 | // It assumes that: 12 | // 13 | // len(a) <= len(b) and len(a) > 0 14 | // 15 | //go:noescape 16 | func matchLen(a []byte, b []byte) int 17 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/pgzip/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/pgzip/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | arch: 3 | - amd64 4 | - ppc64le 5 | language: go 6 | 7 | os: 8 | - linux 9 | - osx 10 | 11 | go: 12 | - 1.13.x 13 | - 1.14.x 14 | - 1.15.x 15 | - master 16 | 17 | env: 18 | - GO111MODULE=off 19 | 20 | script: 21 | - diff <(gofmt -d .) <(printf "") 22 | - go test -v -cpu=1,2,4 . 23 | - go test -v -cpu=2 -race -short . 24 | 25 | matrix: 26 | allow_failures: 27 | - go: 'master' 28 | fast_finish: true 29 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-shellwords/.travis.yml: -------------------------------------------------------------------------------- 1 | arch: 2 | - amd64 3 | - ppc64le 4 | language: go 5 | sudo: false 6 | go: 7 | - tip 8 | 9 | before_install: 10 | - go get -t -v ./... 11 | 12 | script: 13 | - ./go.test.sh 14 | 15 | after_success: 16 | - bash <(curl -s https://codecov.io/bash) 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-shellwords/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -covermode=atomic "$d" 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/.envrc: -------------------------------------------------------------------------------- 1 | has nix && use nix 2 | dotenv_if_exists 3 | PATH_add bin 4 | path_add GOBIN bin 5 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | go-zfs.test 3 | .vagrant 4 | 5 | # added by lint-install 6 | out/ 7 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | 4 | rules: 5 | braces: 6 | max-spaces-inside: 1 7 | brackets: 8 | max-spaces-inside: 1 9 | comments: disable 10 | comments-indentation: disable 11 | document-start: disable 12 | line-length: 13 | level: warning 14 | max: 160 15 | allow-non-breakable-inline-mappings: true 16 | truthy: disable 17 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/Makefile: -------------------------------------------------------------------------------- 1 | help: ## Print this help 2 | @grep --no-filename -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sed 's/:.*## /·/' | sort | column -t -W 2 -s '·' -c $(shell tput cols) 3 | 4 | all: test ## Run tests 5 | 6 | -include rules.mk 7 | -include lint.mk 8 | 9 | test: ## Run tests 10 | go test ./... 11 | 12 | verify: gofumpt prettier lint ## Verify code style, is lint free, freshness ... 13 | git diff | (! grep .) 14 | 15 | fix: gofumpt-fix prettier-fix ## Fix code formatting errors 16 | 17 | tools: ${toolsBins} ## Build Go based build tools 18 | 19 | .PHONY: all help test tools verify 20 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/error.go: -------------------------------------------------------------------------------- 1 | package zfs 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | // Error is an error which is returned when the `zfs` or `zpool` shell 8 | // commands return with a non-zero exit code. 9 | type Error struct { 10 | Err error 11 | Debug string 12 | Stderr string 13 | } 14 | 15 | // Error returns the string representation of an Error. 16 | func (e Error) Error() string { 17 | return fmt.Sprintf("%s: %q => %s", e.Err, e.Debug, e.Stderr) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mistifyio/go-zfs/v3/shell.nix: -------------------------------------------------------------------------------- 1 | let _pkgs = import { }; 2 | in { pkgs ? import (_pkgs.fetchFromGitHub { 3 | owner = "NixOS"; 4 | repo = "nixpkgs"; 5 | #branch@date: 21.11@2022-02-13 6 | rev = "560ad8a2f89586ab1a14290f128ad6a393046065"; 7 | sha256 = "0s0dv1clfpjyzy4p6ywxvzmwx9ddbr2yl77jf1wqdbr0x1206hb8"; 8 | }) { } }: 9 | 10 | with pkgs; 11 | 12 | mkShell { 13 | buildInputs = [ 14 | git 15 | gnumake 16 | gnused 17 | go 18 | nixfmt 19 | nodePackages.prettier 20 | python3Packages.pip 21 | python3Packages.setuptools 22 | rufo 23 | shfmt 24 | vagrant 25 | ]; 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/capability/README.md: -------------------------------------------------------------------------------- 1 | This is a fork of (apparently no longer maintained) 2 | https://github.com/syndtr/gocapability package. It provides basic primitives to 3 | work with [Linux capabilities][capabilities(7)]. 4 | 5 | For changes, see [CHANGELOG.md](./CHANGELOG.md). 6 | 7 | [![Go Reference](https://pkg.go.dev/badge/github.com/moby/sys/capability/capability.svg)](https://pkg.go.dev/github.com/moby/sys/capability) 8 | 9 | ## Alternatives 10 | 11 | * https://pkg.go.dev/kernel.org/pub/linux/libs/security/libcap/cap 12 | 13 | [capabilities(7)]: https://man7.org/linux/man-pages/man7/capabilities.7.html 14 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/mountinfo/mountinfo_freebsdlike.go: -------------------------------------------------------------------------------- 1 | //go:build freebsd || darwin 2 | // +build freebsd darwin 3 | 4 | package mountinfo 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | func getMountinfo(entry *unix.Statfs_t) *Info { 9 | return &Info{ 10 | Mountpoint: unix.ByteSliceToString(entry.Mntonname[:]), 11 | FSType: unix.ByteSliceToString(entry.Fstypename[:]), 12 | Source: unix.ByteSliceToString(entry.Mntfromname[:]), 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/mountinfo/mountinfo_openbsd.go: -------------------------------------------------------------------------------- 1 | package mountinfo 2 | 3 | import "golang.org/x/sys/unix" 4 | 5 | func getMountinfo(entry *unix.Statfs_t) *Info { 6 | return &Info{ 7 | Mountpoint: unix.ByteSliceToString(entry.F_mntonname[:]), 8 | FSType: unix.ByteSliceToString(entry.F_fstypename[:]), 9 | Source: unix.ByteSliceToString(entry.F_mntfromname[:]), 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/mountinfo/mountinfo_unsupported.go: -------------------------------------------------------------------------------- 1 | //go:build !windows && !linux && !freebsd && !openbsd && !darwin 2 | // +build !windows,!linux,!freebsd,!openbsd,!darwin 3 | 4 | package mountinfo 5 | 6 | import ( 7 | "fmt" 8 | "runtime" 9 | ) 10 | 11 | var errNotImplemented = fmt.Errorf("not implemented on %s/%s", runtime.GOOS, runtime.GOARCH) 12 | 13 | func parseMountTable(_ FilterFunc) ([]*Info, error) { 14 | return nil, errNotImplemented 15 | } 16 | 17 | func mounted(path string) (bool, error) { 18 | return false, errNotImplemented 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/mountinfo/mountinfo_windows.go: -------------------------------------------------------------------------------- 1 | package mountinfo 2 | 3 | func parseMountTable(_ FilterFunc) ([]*Info, error) { 4 | // Do NOT return an error! 5 | return nil, nil 6 | } 7 | 8 | func mounted(_ string) (bool, error) { 9 | return false, nil 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/moby/sys/user/idtools_windows.go: -------------------------------------------------------------------------------- 1 | package user 2 | 3 | import ( 4 | "os" 5 | ) 6 | 7 | // This is currently a wrapper around [os.MkdirAll] since currently 8 | // permissions aren't set through this path, the identity isn't utilized. 9 | // Ownership is handled elsewhere, but in the future could be support here 10 | // too. 11 | func mkdirAs(path string, _ os.FileMode, _, _ int, _, _ bool) error { 12 | return os.MkdirAll(path, 0) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.gitignore: -------------------------------------------------------------------------------- 1 | /coverage.txt 2 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package concurrent 4 | 5 | import "sync" 6 | 7 | // Map is a wrapper for sync.Map introduced in go1.9 8 | type Map struct { 9 | sync.Map 10 | } 11 | 12 | // NewMap creates a thread safe Map 13 | func NewMap() *Map { 14 | return &Map{} 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/log.go: -------------------------------------------------------------------------------- 1 | package concurrent 2 | 3 | import ( 4 | "os" 5 | "log" 6 | "io/ioutil" 7 | ) 8 | 9 | // ErrorLogger is used to print out error, can be set to writer other than stderr 10 | var ErrorLogger = log.New(os.Stderr, "", 0) 11 | 12 | // InfoLogger is used to print informational message, default to off 13 | var InfoLogger = log.New(ioutil.Discard, "", 0) -------------------------------------------------------------------------------- /vendor/github.com/modern-go/concurrent/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out -coverpkg=github.com/modern-go/concurrent $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /coverage.txt 3 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.9.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | - go get -t -v github.com/modern-go/reflect2-tests/... 10 | 11 | script: 12 | - ./test.sh 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [solve-meta] 5 | analyzer-name = "dep" 6 | analyzer-version = 1 7 | input-imports = [] 8 | solver-name = "gps-cdcl" 9 | solver-version = 1 10 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/go_above_19.go: -------------------------------------------------------------------------------- 1 | //+build go1.9 2 | 3 | package reflect2 4 | 5 | import ( 6 | "unsafe" 7 | ) 8 | 9 | //go:linkname resolveTypeOff reflect.resolveTypeOff 10 | func resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer 11 | 12 | //go:linkname makemap reflect.makemap 13 | func makemap(rtype unsafe.Pointer, cap int) (m unsafe.Pointer) 14 | 15 | func makeMapWithSize(rtype unsafe.Pointer, cap int) unsafe.Pointer { 16 | return makemap(rtype, cap) 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/reflect2_amd64.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/reflect2_amd64.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_386.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_386.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_arm.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_arm64.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_arm64.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mips64x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_mips64x.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_mipsx.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_mipsx.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s -------------------------------------------------------------------------------- /vendor/github.com/modern-go/reflect2/relfect2_s390x.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/modern-go/reflect2/relfect2_s390x.s -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/go-digest/.mailmap: -------------------------------------------------------------------------------- 1 | Aaron Lehmann 2 | Derek McGowan 3 | Stephen J Day 4 | Haibing Zhou 5 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/go-digest/.pullapprove.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | requirements: 4 | signed_off_by: 5 | required: true 6 | 7 | always_pending: 8 | title_regex: '^WIP' 9 | explanation: 'Work in progress...' 10 | 11 | group_defaults: 12 | required: 2 13 | approve_by_comment: 14 | enabled: true 15 | approve_regex: '^LGTM' 16 | reject_regex: '^Rejected' 17 | reset_on_push: 18 | enabled: true 19 | author_approval: 20 | ignored: true 21 | conditions: 22 | branches: 23 | - master 24 | 25 | groups: 26 | go-digest: 27 | teams: 28 | - go-digest-maintainers 29 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/go-digest/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.12.x 4 | - 1.13.x 5 | - master 6 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/go-digest/MAINTAINERS: -------------------------------------------------------------------------------- 1 | Derek McGowan (@dmcgowan) 2 | Stephen Day (@stevvooe) 3 | Vincent Batts (@vbatts) 4 | Akihiro Suda (@AkihiroSuda) 5 | Sebastiaan van Stijn (@thaJeztah) 6 | -------------------------------------------------------------------------------- /vendor/github.com/opencontainers/selinux/go-selinux/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package selinux provides a high-level interface for interacting with selinux. 3 | 4 | Usage: 5 | 6 | import "github.com/opencontainers/selinux/go-selinux" 7 | 8 | // Ensure that selinux is enforcing mode. 9 | if selinux.EnforceMode() != selinux.Enforcing { 10 | selinux.SetEnforceMode(selinux.Enforcing) 11 | } 12 | */ 13 | package selinux 14 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.11.x 5 | - 1.12.x 6 | - 1.13.x 7 | - tip 8 | 9 | script: 10 | - make check 11 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/.gitignore: -------------------------------------------------------------------------------- 1 | logrus 2 | vendor 3 | 4 | .idea/ 5 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/sirupsen/logrus 3 | git: 4 | depth: 1 5 | env: 6 | - GO111MODULE=on 7 | go: 1.15.x 8 | os: linux 9 | install: 10 | - ./travis/install.sh 11 | script: 12 | - cd ci 13 | - go run mage.go -v -w ../ crossBuild 14 | - go run mage.go -v -w ../ lint 15 | - go run mage.go -v -w ../ test 16 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | platform: x64 3 | clone_folder: c:\gopath\src\github.com\sirupsen\logrus 4 | environment: 5 | GOPATH: c:\gopath 6 | branches: 7 | only: 8 | - master 9 | install: 10 | - set PATH=%GOPATH%\bin;c:\go\bin;%PATH% 11 | - go version 12 | build_script: 13 | - go get -t 14 | - go test 15 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return true 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin dragonfly freebsd netbsd openbsd 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TIOCGETA 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_js.go: -------------------------------------------------------------------------------- 1 | // +build js 2 | 3 | package logrus 4 | 5 | func isTerminal(fd int) bool { 6 | return false 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go: -------------------------------------------------------------------------------- 1 | // +build js nacl plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | ) 8 | 9 | func checkIfTerminal(w io.Writer) bool { 10 | return false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go: -------------------------------------------------------------------------------- 1 | // +build !appengine,!js,!windows,!nacl,!plan9 2 | 3 | package logrus 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | func checkIfTerminal(w io.Writer) bool { 11 | switch v := w.(type) { 12 | case *os.File: 13 | return isTerminal(int(v.Fd())) 14 | default: 15 | return false 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_solaris.go: -------------------------------------------------------------------------------- 1 | package logrus 2 | 3 | import ( 4 | "golang.org/x/sys/unix" 5 | ) 6 | 7 | // IsTerminal returns true if the given file descriptor is a terminal. 8 | func isTerminal(fd int) bool { 9 | _, err := unix.IoctlGetTermio(fd, unix.TCGETA) 10 | return err == nil 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/sirupsen/logrus/terminal_check_unix.go: -------------------------------------------------------------------------------- 1 | // +build linux aix zos 2 | // +build !js 3 | 4 | package logrus 5 | 6 | import "golang.org/x/sys/unix" 7 | 8 | const ioctlReadTermios = unix.TCGETS 9 | 10 | func isTerminal(fd int) bool { 11 | _, err := unix.IoctlGetTermios(fd, ioctlReadTermios) 12 | return err == nil 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentFormat}} 2 | func {{.DocInfo.Name}}f(t TestingT, {{.ParamsFormat}}) bool { 3 | if h, ok := t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(t, {{.ForwardedParamsFormat}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { 3 | if h, ok := a.t.(tHelper); ok { h.Helper() } 4 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/assert/forward_assertions.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=assert -template=assertion_forward.go.tmpl -include-format-funcs" 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/forward_requirements.go: -------------------------------------------------------------------------------- 1 | package require 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate sh -c "cd ../_codegen && go build && cd - && ../_codegen/_codegen -output-package=require -template=require_forward.go.tmpl -include-format-funcs" 17 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/require.go.tmpl: -------------------------------------------------------------------------------- 1 | {{ replace .Comment "assert." "require."}} 2 | func {{.DocInfo.Name}}(t TestingT, {{.Params}}) { 3 | if h, ok := t.(tHelper); ok { h.Helper() } 4 | if assert.{{.DocInfo.Name}}(t, {{.ForwardedParams}}) { return } 5 | t.FailNow() 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/stretchr/testify/require/require_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) { 3 | if h, ok := a.t.(tHelper); ok { h.Helper() } 4 | {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 5 | } 6 | -------------------------------------------------------------------------------- /vendor/github.com/tchap/go-patricia/v2/AUTHORS: -------------------------------------------------------------------------------- 1 | This is the complete list of go-patricia copyright holders: 2 | 3 | Ondřej Kupka 4 | -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/.gitignore: -------------------------------------------------------------------------------- 1 | # .gitignore 2 | 3 | TODO.html 4 | README.html 5 | 6 | lzma/writer.txt 7 | lzma/reader.txt 8 | 9 | cmd/gxz/gxz 10 | cmd/xb/xb 11 | 12 | # test executables 13 | *.test 14 | 15 | # profile files 16 | *.out 17 | 18 | # vim swap file 19 | .*.swp 20 | 21 | # executables on windows 22 | *.exe 23 | 24 | # default compression test file 25 | enwik8* 26 | 27 | # file generated by example 28 | example.xz -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/fox-check-none.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/ulikunitz/xz/fox-check-none.xz -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/fox.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/ulikunitz/xz/fox.xz -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/internal/hash/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014-2022 Ulrich Kunitz. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | /* 6 | Package hash provides rolling hashes. 7 | 8 | Rolling hashes have to be used for maintaining the positions of n-byte 9 | sequences in the dictionary buffer. 10 | 11 | The package provides currently the Rabin-Karp rolling hash and a Cyclic 12 | Polynomial hash. Both support the Hashes method to be used with an interface. 13 | */ 14 | package hash 15 | -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/lzma/fox.lzma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/github.com/ulikunitz/xz/lzma/fox.lzma -------------------------------------------------------------------------------- /vendor/github.com/ulikunitz/xz/make-docs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -x 4 | pandoc -t html5 -f markdown -s --css=doc/md.css -o README.html README.md 5 | pandoc -t html5 -f markdown -s --css=doc/md.css -o TODO.html TODO.md 6 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/archive/tar/stat_actime1.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux dragonfly openbsd solaris 6 | 7 | package tar 8 | 9 | import ( 10 | "syscall" 11 | "time" 12 | ) 13 | 14 | func statAtime(st *syscall.Stat_t) time.Time { 15 | return time.Unix(st.Atim.Unix()) 16 | } 17 | 18 | func statCtime(st *syscall.Stat_t) time.Time { 19 | return time.Unix(st.Ctim.Unix()) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/archive/tar/stat_actime2.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin freebsd netbsd 6 | 7 | package tar 8 | 9 | import ( 10 | "syscall" 11 | "time" 12 | ) 13 | 14 | func statAtime(st *syscall.Stat_t) time.Time { 15 | return time.Unix(st.Atimespec.Unix()) 16 | } 17 | 18 | func statCtime(st *syscall.Stat_t) time.Time { 19 | return time.Unix(st.Ctimespec.Unix()) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/tar/asm/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package asm provides the API for streaming assembly and disassembly of tar 3 | archives. 4 | 5 | Using the `github.com/vbatts/tar-split/tar/storage` for Packing/Unpacking the 6 | metadata for a stream, as well as an implementation of Getting/Putting the file 7 | entries' payload. 8 | */ 9 | package asm 10 | -------------------------------------------------------------------------------- /vendor/github.com/vbatts/tar-split/tar/storage/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package storage is for metadata of a tar archive. 3 | 4 | Packing and unpacking the Entries of the stream. The types of streams are 5 | either segments of raw bytes (for the raw headers and various padding) and for 6 | an entry marking a file payload. 7 | 8 | The raw bytes are stored precisely in the packed (marshalled) Entry, whereas 9 | the file payload marker include the name of the file, size, and crc64 checksum 10 | (for basic file integrity). 11 | */ 12 | package storage 13 | -------------------------------------------------------------------------------- /vendor/go.opencensus.io/.gitignore: -------------------------------------------------------------------------------- 1 | /.idea/ 2 | 3 | # go.opencensus.io/exporter/aws 4 | /exporter/aws/ 5 | 6 | # Exclude vendor, use dep ensure after checkout: 7 | /vendor/github.com/ 8 | /vendor/golang.org/ 9 | /vendor/google.golang.org/ 10 | -------------------------------------------------------------------------------- /vendor/go.opencensus.io/AUTHORS: -------------------------------------------------------------------------------- 1 | Google Inc. 2 | -------------------------------------------------------------------------------- /vendor/go.opencensus.io/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "{build}" 2 | 3 | platform: x64 4 | 5 | clone_folder: c:\gopath\src\go.opencensus.io 6 | 7 | environment: 8 | GOPATH: 'c:\gopath' 9 | GO111MODULE: 'on' 10 | CGO_ENABLED: '0' # See: https://github.com/appveyor/ci/issues/2613 11 | 12 | stack: go 1.11 13 | 14 | before_test: 15 | - go version 16 | - go env 17 | 18 | build: false 19 | deploy: false 20 | 21 | test_script: 22 | - cd %APPVEYOR_BUILD_FOLDER% 23 | - go build -v .\... 24 | - go test -v .\... # No -race because cgo is disabled 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | unix.test 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | type Signal = syscall.Signal 12 | type Errno = syscall.Errno 13 | type SysProcAttr = syscall.SysProcAttr 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_aix_ppc64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for ppc64, AIX are implemented in runtime/syscall_aix.go 11 | // 12 | 13 | TEXT ·syscall6(SB),NOSPLIT,$0-88 14 | JMP syscall·syscall6(SB) 15 | 16 | TEXT ·rawSyscall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSyscall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gc 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/auxv_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2025 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !go1.21 && (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Auxv() ([][2]uintptr, error) { 12 | return nil, syscall.ENOTSUP 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | //go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc) 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build gccgo && linux && amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/mmap_nomremap.go: -------------------------------------------------------------------------------- 1 | // Copyright 2023 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || openbsd || solaris || zos 6 | 7 | package unix 8 | 9 | var mapper = &mmapper{ 10 | active: make(map[*byte][]byte), 11 | mmap: mmap, 12 | munmap: munmap, 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/pagesize_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos 6 | 7 | // For Unix, get the pagesize from the runtime. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getpagesize() int { 14 | return syscall.Getpagesize() 15 | } 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build darwin && !ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) error { 10 | return ptrace1(request, pid, addr, data) 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/ptrace_ios.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build ios 6 | 7 | package unix 8 | 9 | func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) { 10 | return ENOTSUP 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/readdirent_getdents.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build aix || dragonfly || freebsd || linux || netbsd || openbsd 6 | 7 | package unix 8 | 9 | // ReadDirent reads directory entries from fd and writes them into buf. 10 | func ReadDirent(fd int, buf []byte) (n int, err error) { 11 | return Getdents(fd, buf) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_hurd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build 386 && hurd 6 | 7 | package unix 8 | 9 | const ( 10 | TIOCGETA = 0x62251713 11 | ) 12 | 13 | type Winsize struct { 14 | Row uint16 15 | Col uint16 16 | Xpixel uint16 17 | Ypixel uint16 18 | } 19 | 20 | type Termios struct { 21 | Iflag uint32 22 | Oflag uint32 23 | Cflag uint32 24 | Lflag uint32 25 | Cc [20]uint8 26 | Ispeed int32 27 | Ospeed int32 28 | } 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_alarm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2022 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64) 6 | 7 | package unix 8 | 9 | // SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH 10 | // values. 11 | 12 | //sys Alarm(seconds uint) (remaining uint, err error) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build amd64 && linux && gc 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //go:noescape 12 | func gettimeofday(tv *Timeval) (err syscall.Errno) 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && gc 6 | 7 | package unix 8 | 9 | // SyscallNoError may be used instead of Syscall for syscalls that don't fail. 10 | func SyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 11 | 12 | // RawSyscallNoError may be used instead of RawSyscall for syscalls that don't 13 | // fail. 14 | func RawSyscallNoError(trap, a1, a2, a3 uintptr) (r1, r2 uintptr) 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build arm && gc && linux 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | // Underlying system call writes to newoffset via pointer. 12 | // Implemented in assembly to avoid allocation. 13 | func seek(fd int, offset int64, whence int) (newoffset int64, err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/sysvshm_unix_other.go: -------------------------------------------------------------------------------- 1 | // Copyright 2021 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build (darwin && !ios) || zos 6 | 7 | package unix 8 | 9 | // SysvShmCtl performs control operations on the shared memory segment 10 | // specified by id. 11 | func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) { 12 | return shmctl(id, cmd, desc) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/vgetrandom_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build linux && go1.24 6 | 7 | package unix 8 | 9 | import _ "unsafe" 10 | 11 | //go:linkname vgetrandom runtime.vgetrandom 12 | //go:noescape 13 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/vgetrandom_unsupported.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !linux || !go1.24 6 | 7 | package unix 8 | 9 | func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { 10 | return -1, false 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/aliases.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | import "syscall" 10 | 11 | type Errno = syscall.Errno 12 | type SysProcAttr = syscall.SysProcAttr 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package windows 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go eventlog.go service.go syscall_windows.go security_windows.go setupapi_windows.go 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows && !race 6 | 7 | package windows 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/registry/mksyscall.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build generate 6 | 7 | package registry 8 | 9 | //go:generate go run golang.org/x/sys/windows/mkwinsyscall -output zsyscall_windows.go syscall.go 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/windows/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build windows 6 | 7 | package windows 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + itoa(-val) 12 | } 13 | var buf [32]byte // big enough for int64 14 | i := len(buf) - 1 15 | for val >= 10 { 16 | buf[i] = byte(val%10 + '0') 17 | i-- 18 | val /= 10 19 | } 20 | buf[i] = byte(val + '0') 21 | return string(buf[i:]) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/AUTHORS: -------------------------------------------------------------------------------- 1 | Google Inc. 2 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/NOTICE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014 gRPC authors. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/encoding/protojson/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package protojson marshals and unmarshals protocol buffer messages as JSON 6 | // format. It follows the guide at 7 | // https://protobuf.dev/programming-guides/proto3#json. 8 | // 9 | // This package produces a different output than the standard [encoding/json] 10 | // package, which does not operate correctly on protocol buffer messages. 11 | package protojson 12 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/encoding/prototext/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package prototext marshals and unmarshals protocol buffer messages as the 6 | // textproto format. 7 | package prototext 8 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/defaults.go: -------------------------------------------------------------------------------- 1 | // Copyright 2024 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package editiondefaults contains the binary representation of the editions 6 | // defaults. 7 | package editiondefaults 8 | 9 | import _ "embed" 10 | 11 | //go:embed editions_defaults.binpb 12 | var Defaults []byte 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/containers/storage/78f4258b2bd9abb338a407e6799cf99565eabb10/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/errors/is_go113.go: -------------------------------------------------------------------------------- 1 | // Copyright 2020 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.13 6 | // +build go1.13 7 | 8 | package errors 9 | 10 | import "errors" 11 | 12 | // Is is errors.Is. 13 | func Is(err, target error) bool { return errors.Is(err, target) } 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build !protolegacy 6 | // +build !protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = false 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build protolegacy 6 | // +build protolegacy 7 | 8 | package flags 9 | 10 | const protoLegacy = true 11 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Package genid contains constants for declarations in descriptor.proto 6 | // and the well-known types. 7 | package genid 8 | 9 | import "google.golang.org/protobuf/reflect/protoreflect" 10 | 11 | const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" 12 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/genid/wrappers.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package genid 6 | 7 | import "google.golang.org/protobuf/reflect/protoreflect" 8 | 9 | // Generic field name and number for messages in wrappers.proto. 10 | const ( 11 | WrapperValue_Value_field_name protoreflect.Name = "value" 12 | WrapperValue_Value_field_number protoreflect.FieldNumber = 1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | //go:build go1.12 6 | // +build go1.12 7 | 8 | package impl 9 | 10 | import "reflect" 11 | 12 | func mapRange(v reflect.Value) *reflect.MapIter { return v.MapRange() } 13 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go: -------------------------------------------------------------------------------- 1 | // Copyright 2019 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package impl 6 | 7 | // When using unsafe pointers, we can just treat enum values as int32s. 8 | 9 | var ( 10 | coderEnumNoZero = coderInt32NoZero 11 | coderEnum = coderInt32 12 | coderEnumPtr = coderInt32Ptr 13 | coderEnumSlice = coderInt32Slice 14 | coderEnumPackedSlice = coderInt32PackedSlice 15 | ) 16 | -------------------------------------------------------------------------------- /vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go: -------------------------------------------------------------------------------- 1 | // Copyright 2018 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package protoiface 6 | 7 | type MessageV1 interface { 8 | Reset() 9 | String() string 10 | ProtoMessage() 11 | } 12 | 13 | type ExtensionRangeV1 struct { 14 | Start, End int32 // both inclusive 15 | } 16 | -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v3/NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/gotest.tools/v3/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 gotest.tools authors 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | --------------------------------------------------------------------------------