moby/pkg
Paweł Gronowski 43c2952a31
pkg/ioutils: Make subsequent Close attempts noop
Turn subsequent `Close` calls into a no-op and produce a warning with an
optional stack trace (if debug mode is enabled).

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
(cherry picked from commit 585d74bad1)
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2024-01-25 15:23:28 +01:00
..
aaparser Also trim "~..." from AppArmor versions 2020-10-08 17:03:51 -07:00
archive Migrate away from things deprecated in Go 1.20 2023-02-22 16:32:33 -05:00
authorization pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
broadcaster Various code-cleanup 2018-05-23 17:50:54 +02:00
capabilities Add more import comments 2019-04-10 16:59:33 +02:00
chrootarchive Disable chrootarchive.init() on Windows 2023-01-18 17:06:11 +01:00
containerfs Finish refactor of UID/GID usage to a new struct 2022-03-14 16:28:57 -04:00
devicemapper pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
directory pkg/directory: remove unused MoveToSubdir() utility 2022-11-05 18:31:05 +01:00
dmesg Use Klogctl from x/sys/unix to read Linux kernel log 2019-08-22 08:25:13 +02:00
fileutils pkg/fileutils: GetTotalUsedFds(): use fast-path for Kernel 6.2 and up 2023-06-30 19:54:13 -06:00
fsutils pkg/fsutils: deprecate in favor of containerd/continuity/fs 2022-10-05 23:52:55 +02:00
homedir Add GetLibHome stub for non-linux OS 2023-01-18 13:04:57 +01:00
idtools pkg/system: move GetExitCode() to pkg/idtools, and un-export 2022-11-05 18:30:44 +01:00
ioutils pkg/ioutils: Make subsequent Close attempts noop 2024-01-25 15:23:28 +01:00
jsonmessage test: use T.Setenv to set env vars in tests 2022-04-23 17:44:16 +08:00
longpath Add canonical import comment 2018-02-05 16:51:57 -05:00
loopback pkg/loopback: use ioctl helpers from x/sys/unix 2022-11-15 14:55:17 +01:00
namesgenerator pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
parsers Merge pull request #43806 from thaJeztah/22.06_backport_fix_import 2022-07-14 08:19:15 -07:00
pidfile refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
platform all: use unix.ByteSliceToString for utsname fields 2022-05-18 17:13:20 -07:00
plugingetter Move plugin client to separate interface 2018-05-30 15:22:10 -04:00
plugins pkg/plugins: use a dummy hostname for local connections 2023-07-14 22:50:18 +02:00
pools bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
progress refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
pubsub migrate pkg/pubsub to github.com/moby/pubsub 2022-09-30 22:32:43 +02:00
reexec Update to Go 1.17.0, and gofmt with Go 1.17 2021-08-24 23:33:27 +02:00
rootless Limit OOMScoreAdj when running in UserNS ("Rootful-in-Rootless") 2023-10-12 07:41:39 +09:00
signal pkg/signal: remove DefaultStopSignal const 2021-08-11 10:31:29 +02:00
stack all: replace strings.Replace with strings.ReplaceAll 2022-05-09 19:45:40 +08:00
stdcopy refactor: move from io/ioutil to io and os package 2021-08-27 14:56:57 +08:00
streamformatter bump gotest.tools v3.0.1 for compatibility with Go 1.14 2020-02-11 00:06:42 +01:00
stringid Entropy cannot be saved 2019-06-07 11:54:45 +01:00
sysinfo pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
system pkg/system: unconvert 2022-11-05 18:30:44 +01:00
tailfile pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
tarsum pkg/*: fix "empty-lines" (revive) 2022-09-30 23:59:25 +02:00
truncindex Entropy cannot be saved 2019-06-07 11:54:45 +01:00
urlutil pkg/urlutil: deprecate, and move to builder/remotecontext/urlutil 2022-04-12 19:58:05 +02:00
useragent Add canonical import comment 2018-02-05 16:51:57 -05:00
README.md Rename a few docker to moby 2017-10-25 13:56:12 +02:00

pkg/ is a collection of utility packages used by the Moby project without being specific to its internals.

Utility packages are kept separate from the moby core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the Moby organization, to facilitate re-use by other projects. However that is not the priority.

The directory pkg is named after the same directory in the camlistore project. Since Brad is a core Go maintainer, we thought it made sense to copy his methods for organizing Go code :) Thanks Brad!

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!