moby--moby/pkg
Tonis Tiigi 3d86b0c79b Implement content addressability for plugins
Move plugins to shared distribution stack with images.

Create immutable plugin config that matches schema2 requirements.

Ensure data being pushed is same as pulled/created.

Store distribution artifacts in a blobstore.

Run init layer setup for every plugin start.

Fix breakouts from unsafe file accesses.

Add support for `docker plugin install --alias`

Uses normalized references for default names to avoid collisions when using default hosts/tags.

Some refactoring of the plugin manager to support the change, like removing the singleton manager and adding manager config struct.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2016-12-23 13:29:58 -08:00
..
aaparser pkg: return directly without ifs where possible 2016-12-13 22:10:11 +02:00
archive rectify function and variable referred in pkg/archive/changes_linux.go 2016-12-16 14:58:47 +08:00
authorization Rename Remote API to Engine API 2016-11-22 12:49:38 +00:00
broadcaster
chrootarchive Use wrong ApplyLayer in diff_windows.go 2016-12-19 17:21:18 +08:00
devicemapper several function names fixed in devmapper.go 2016-12-21 10:45:28 +08:00
directory
discovery fix typo 2016-11-18 15:51:36 +08:00
filenotify
fileutils Fix use of **/ in .dockerignore 2016-12-02 03:58:54 -08:00
fsutils pkg: return directly without ifs where possible 2016-12-13 22:10:11 +02:00
gitutils
graphdb Windows: Factor out sqlite 2016-12-01 09:38:08 -08:00
homedir
httputils duplicated the 2016-12-21 20:16:19 +08:00
idtools pkg: return directly without ifs where possible 2016-12-13 22:10:11 +02:00
integration change minor mistake of spelling 2016-12-20 21:05:19 +08:00
ioutils
jsonlog
jsonmessage
listeners
locker duplicated the 2016-12-21 20:16:19 +08:00
longpath
loopback
mount
namesgenerator Add some adjectives to the namesgenerator 2016-11-24 18:38:04 +01:00
parsers
pidfile pkg: return directly without ifs where possible 2016-12-13 22:10:11 +02:00
platform Swap usage of LazyDLL and LoadDLL to LazySystemDLL. 2016-11-22 14:57:11 -08:00
plugingetter Add a GetAll function that returns only managed plugins supported by V2 2016-12-22 10:26:04 -08:00
plugins duplicated the 2016-12-21 20:16:19 +08:00
pools
progress Implement content addressability for plugins 2016-12-23 13:29:58 -08:00
promise
pubsub
random
reexec First header should be a top level header 2016-11-22 09:33:21 +08:00
registrar
signal
stdcopy
streamformatter
stringid
stringutils change minor mistake of spelling 2016-12-20 21:05:19 +08:00
symlink
sysinfo Only show global warnings once 2016-11-30 10:11:42 -08:00
system Move process functions to pkg/system 2016-12-12 09:28:41 +01:00
tailfile
tarsum
templates Move templates to pkg/templates 2016-12-12 09:34:03 +01:00
term Windows: Fix crash in docker system prune 2016-12-09 14:23:25 -08:00
testutil Merge pull request #29314 from vdemeester/no-more-utils 2016-12-22 15:21:05 +01:00
tlsconfig
truncindex pkg: return directly without ifs where possible 2016-12-13 22:10:11 +02:00
urlutil
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!