moby--moby/pkg
Brian Goff ebcb7d6b40 Remove string checking in API error handling
Use strongly typed errors to set HTTP status codes.
Error interfaces are defined in the api/errors package and errors
returned from controllers are checked against these interfaces.

Errors can be wraeped in a pkg/errors.Causer, as long as somewhere in the
line of causes one of the interfaces is implemented. The special error
interfaces take precedence over Causer, meaning if both Causer and one
of the new error interfaces are implemented, the Causer is not
traversed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2017-08-15 16:01:11 -04:00
..
aaparser apparmor: make pkg/aaparser work on read-only root 2017-05-18 00:05:13 +10:00
archive Merge pull request #34276 from keloyang/testcase-docker-cp-hardlink 2017-08-09 07:29:09 -07:00
authorization Remove string checking in API error handling 2017-08-15 16:01:11 -04:00
broadcaster
chrootarchive [project] change syscall to /x/sys/unix|windows 2017-07-11 08:00:32 -04:00
devicemapper Merge pull request #34362 from kolyshkin/update-libdevmapper 2017-08-14 09:56:43 -04:00
directory Fix filepath.Walk misusage in pkg/directory 2016-05-30 07:40:46 +00:00
discovery Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
filenotify Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
fileutils Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
fsutils [project] change syscall to /x/sys/unix|windows 2017-07-11 08:00:32 -04:00
homedir Split homedir files by operating system 2017-07-10 14:10:43 +01:00
idtools Switch Stat syscalls to x/sys/unix 2017-07-27 10:09:02 +02:00
ioutils move multireader out of /pkg 2017-06-01 16:22:00 -07:00
jsonlog gofmt: 5 files 2017-07-03 10:32:47 -07:00
jsonmessage Update the stream formatter to display custom unit numbers. 2017-05-11 11:13:11 -07:00
locker fix some typos 2016-12-28 09:43:27 +08:00
longpath
loopback Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
mount In the case of remounting with changed data, need to call mount 2017-07-13 15:48:58 +01:00
namesgenerator pkg: remove random package 2017-05-08 17:02:02 -07:00
parsers Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
pidfile [project] change syscall to /x/sys/unix|windows 2017-07-11 08:00:32 -04:00
platform Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
plugingetter plugingetter: Avoid all caps for constant declarations 2017-01-04 10:19:04 -08:00
plugins Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
pools pkg/pools: add buffer32KPool & use it for copy 2017-06-10 21:12:48 +03:00
progress Update the stream formatter to display custom unit numbers. 2017-05-11 11:13:11 -07:00
promise Added Test Case Coverage for PKG/PROMISE 2017-06-13 15:17:40 +05:00
pubsub Make plugin emit strongly typed, consumable events 2017-07-06 14:26:06 -04:00
reexec [project] change syscall to /x/sys/unix|windows 2017-07-11 08:00:32 -04:00
signal Add test coverage to signal/trap.go 2017-08-09 15:13:38 +05:00
stdcopy Spelling fixes 2017-07-03 13:13:09 -07:00
streamformatter Increase the Coverage of pkg/streamformatter 2017-06-22 12:29:10 +05:00
stringid pkg: remove random package 2017-05-08 17:02:02 -07:00
stringutils pkg: remove random package 2017-05-08 17:02:02 -07:00
symlink [project] change syscall to /x/sys/unix|windows 2017-07-11 08:00:32 -04:00
sysinfo Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
system Update logrus to v1.0.1 2017-07-31 13:16:46 -07:00
tailfile Change reading order of tailfile 2016-11-13 20:08:51 -08:00
tarsum Add support for COPY from previous rootfs 2017-03-23 15:12:15 -07:00
term pkg/term: set termios VMIN and VTIME in MakeRaw on Linux 2017-08-03 13:21:42 +02:00
testutil Spelling fixes 2017-07-03 13:13:09 -07:00
tlsconfig Remove Go 1.6 code from moby 2017-06-19 15:59:00 +03:00
truncindex Fix non thread-safe Iteration around go-patricia 2017-01-09 17:06:50 +00:00
urlutil Move IsGitTransport() to gitutils 2017-06-26 10:07:04 -07:00
useragent
README.md

README.md

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

Utility packages are kept separate from the docker 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 Docker 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!