an [abandoned] attempt to slice out the docker/docker/pkg package
Find a file
Derek McGowan 9f1a11056c Use notary library for trusted image fetch and signing
Add a trusted flag to force the cli to resolve a tag into a digest via the notary trust library and pull by digest.
On push the flag the trust flag will indicate the digest and size of a manifest should be signed and push to a notary server.
If a tag is given, the cli will resolve the tag into a digest and pull by digest.
After pulling, if a tag is given the cli makes a request to tag the image.

Use certificate directory for notary requests

Read certificates using same logic used by daemon for registry requests.

Catch JSON syntax errors from Notary client

When an uncaught error occurs in Notary it may show up in Docker as a JSON syntax error, causing a confusing error message to the user.
Provide a generic error when a JSON syntax error occurs.

Catch expiration errors and wrap in additional context.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 14:08:20 -07:00
ansiescape Use notary library for trusted image fetch and signing 2015-07-24 14:08:20 -07:00
archive pkg/archive: new utilities for copying resources 2015-07-21 11:03:25 -07:00
broadcastwriter remove dead code after decoupling from jsonlog 2015-07-21 20:47:35 -04:00
chrootarchive Enable validate-lint as part of CI 2015-07-22 15:23:34 -07:00
devicemapper devicemapper: Check loop devices of existing pool 2015-07-07 14:13:29 -04:00
directory Makes directory pkg compilable on Windows. 2015-03-12 15:54:22 +01:00
fileutils Add missing tests and docs for pkg/fileutils 2015-07-12 22:43:42 +02:00
graphdb Windows: Statically linkable SQLite3 2015-07-21 09:33:46 -07:00
homedir Update libcontainer 2015-07-16 16:02:26 -07:00
httputils Fixed outdated comment. 2015-07-02 08:17:11 -03:00
ioutils Split reader interface from logger interface 2015-07-21 20:47:31 -04:00
jsonlog remove dead code after decoupling from jsonlog 2015-07-21 20:47:35 -04:00
jsonmessage Add test coverage to pkg/jsonmessage 2015-06-02 21:19:38 +02:00
listenbuffer linting changes 2015-06-17 01:16:57 +03:00
mflag cli: new daemon command and new cli package 2015-07-23 19:44:46 -04:00
mount pkg: mount: golint 2015-07-22 10:26:10 +02:00
namesgenerator golint: Lint pkg/namesgenerator 2015-07-21 16:33:34 +01:00
nat golint: Fix issues in pkg/nat 2015-07-22 00:47:41 +01:00
parsers Allow starting a container with an existing hostConfig which contains links 2015-07-21 22:10:00 +02:00
pidfile Remove redundant log in pkg/pidfile/pidfile.go 2015-05-15 15:26:00 +08:00
plugins Merge pull request #13951 from calavera/plugins_path 2015-07-17 21:11:31 +02:00
pools daemon: lower allocations 2015-06-30 01:45:31 +03:00
progressreader Modified progress reader to close silently when read is complete. 2015-05-28 14:09:30 -03:00
promise Move Go() promise-like func from utils to pkg/promise 2014-09-29 23:16:27 -07:00
proxy Replace aliased imports of logrus, fixes #11762 2015-03-26 23:22:04 +01:00
pubsub Don't use time.After if there is no timeout 2015-07-14 09:14:51 -07:00
random Use goroutine-safe version of rand.Source 2015-05-19 12:32:40 -07:00
reexec reexec: Use in-memory binary on linux instead of os.Args[0] 2015-07-24 14:15:50 -04:00
signal Add SIGUSR1 handler for dumping stack/goroutine traces 2015-05-12 10:09:23 +10:00
sockets Update libcontainer 2015-07-16 16:02:26 -07:00
stdcopy Fix Typo in stdcopy.go 2015-06-24 15:00:14 +08:00
streamformatter Refactor pkg/stremformatter with custom constructors instead of passing a boolean 2015-05-13 00:09:41 +02:00
stringid pkg/stringid: precompile regexp 2015-05-13 21:48:48 +03:00
stringutils Add test coverage for pkg/stringutils 2015-05-29 15:49:29 +02:00
symlink Remove subdirectories MAINTAINERS files 2015-03-06 18:21:51 -08:00
sysinfo Update libcontainer 2015-07-16 16:02:26 -07:00
system Windows: Win32 event for sigusr1 linux equivalence 2015-07-06 18:58:53 -07:00
systemd Remove subdirectories MAINTAINERS files 2015-03-06 18:21:51 -08:00
tailfile Split reader interface from logger interface 2015-07-21 20:47:31 -04:00
tarsum Carry of PR #13520 2015-06-13 09:27:30 -07:00
term Fix windows tag in pkg/term 2015-07-01 13:16:16 -07:00
timeoutconn Small if err cleaning 2015-04-27 21:50:33 +02:00
timeutils Merge pull request #13165 from ahmetalpbalkan/durations 2015-06-03 22:14:42 +02:00
tlsconfig cli: new daemon command and new cli package 2015-07-23 19:44:46 -04:00
truncindex added ability to iterate over all indexes and use index.Iterate() instead of ReadDir() to walk over the graph 2015-07-07 22:13:28 +03:00
ulimit Fixes pointer error 2015-03-25 20:45:17 -07:00
units Remove useless conversion 2015-06-24 00:47:08 +08:00
urlutil Add syslog-address log-opt 2015-05-29 00:42:11 +02:00
useragent requestdecorator: repurpose the package and rename to useragent 2015-05-18 21:51:54 -04:00
version Fix minor typo 2015-03-25 00:46:22 +08:00
README.md Add README to pkg 2013-12-23 23:12:19 +00:00

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!