an [abandoned] attempt to slice out the docker/docker/pkg package
Find a file
Phil Estes 4b79ea2a3c Clean up localhost resolv logic and add IPv6 support to regexp
Addresses #5811

This cleans up an error in the logic which removes localhost resolvers
from the host resolv.conf at container creation start time. Specifically
when the determination is made if any nameservers are left after
removing localhost resolvers, it was using a string match on the word
"nameserver", which could have been anywhere (including commented out)
leading to incorrect situations where no nameservers were left but the
default ones were not added.

This also adds some complexity to the regular expressions for finding
nameservers in general, as well as matching on localhost resolvers due
to the recent addition of IPv6 support.  Because of IPv6 support now
available in the Docker daemon, the resolvconf code is now aware of
IPv6 enable/disable state and uses that for both filter/cleaning of
nameservers as well as adding default Google DNS (IPv4 only vs. IPv4
and IPv6 if IPv6 enabled).  For all these changes, tests have been
added/strengthened to test these additional capabilities.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
2015-01-19 19:35:55 -05:00
archive Have .dockerignore support Dockerfile/.dockerignore 2015-01-06 10:57:48 -08:00
broadcastwriter Mass gofmt 2014-10-24 15:11:48 -07:00
chrootarchive Have .dockerignore support Dockerfile/.dockerignore 2015-01-06 10:57:48 -08:00
devicemapper devmapper: Use device id as specified by caller 2014-12-03 13:06:43 -05:00
fileutils Use logrus everywhere for logging 2014-10-24 15:03:06 -07:00
graphdb pkg/graphdb: use transactions for transactions 2014-12-19 13:57:21 +02:00
httputils Use logrus everywhere for logging 2014-10-24 15:03:06 -07:00
ioutils pkg/ioutils: add ReaderErrWrapper to readers 2014-09-03 11:36:21 +03:00
iptables Create tests for pkg/iptables 2014-12-21 12:57:32 +10:00
jsonlog update sysinfo to logrus 2014-10-27 18:59:02 +00:00
listenbuffer adding configuration for timeout and disable it by default 2014-03-17 15:12:02 -07:00
mflag Handle bad options better 2015-01-06 13:44:27 +01:00
mount Fix output format where no variable specified in mount pkg 2014-12-03 19:02:51 -08:00
namesgenerator Add descriptions for bell, lumiere, morse, nobel, ptolemy, and wright 2014-12-26 16:53:40 -07:00
networkfs Clean up localhost resolv logic and add IPv6 support to regexp 2015-01-19 19:35:55 -05:00
parsers add ability to publish range of ports 2015-01-02 23:21:26 +00:00
pools pkg/pool: add pools for bufio readers & writers 2014-09-03 11:36:39 +03:00
promise Move Go() promise-like func from utils to pkg/promise 2014-09-29 23:16:27 -07:00
proxy pkg/proxy: Bump the maximum size of a UDP packet. 2014-10-31 18:56:07 +00:00
reexec add pkg/chrootarchive and use it on the daemon 2014-11-25 01:03:40 +02:00
signal Removed race condition 2014-12-06 22:52:19 +08:00
stdcopy Use logrus everywhere for logging 2014-10-24 15:03:06 -07:00
symlink Fix vet errors about formatting directives 2014-12-12 10:58:56 -08:00
sysinfo update sysinfo to logrus 2014-10-27 18:59:02 +00:00
system pkg/system: fix cleanup in tests 2014-11-20 19:33:15 +02:00
systemd Add systemd.SdBooted() 2014-03-27 22:44:31 +01:00
tailfile Implement tail for docker logs 2014-07-01 23:44:12 +04:00
tarsum Have .dockerignore support Dockerfile/.dockerignore 2015-01-06 10:57:48 -08:00
term Use termios via CGO only on Linux 2014-11-25 20:49:01 +09:00
testutils Graphtest is ok to compile normally 2014-08-07 14:33:09 -07:00
timeutils pkg/timeutils: lint and add comments 2014-10-06 22:27:56 +03:00
truncindex Log when truncindex.Get returns >1 container 2014-12-13 17:43:05 +00:00
units pkg/units: fix size_test.go compilation 2014-12-19 18:38:12 +02:00
urlutil Move git and url checks into pkg 2014-11-24 18:10:37 -05:00
version pkg/version: lint and add comments 2014-10-06 18:41:53 +03: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!