Commit graph

1049 commits

Author SHA1 Message Date
Tibor Vass
102724700b Merge pull request #13698 from cpuguy83/split_api_routes_from_setup
Move api handlers to separate file
2015-08-03 14:03:15 -04:00
Brian Goff
1a77580030 Split API handlers into domain specific files
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-08-03 11:12:44 -04:00
Derek McGowan
6ce76cd9ed Updated to use latest version of notary
Update UX to use aliases for root, snapshot, and target key

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-31 17:32:35 -07:00
David Calavera
8f2dca5386 Merge pull request #15144 from aaronlehmann/graph-cleanup
Documentation improvements and code cleanups for graph package
2015-07-31 15:11:34 -07:00
Zhang Wei
6a4ac63aaa Docker stats: display Block IO stats
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-07-31 21:26:32 +08:00
Tibor Vass
3face3c521 Use default no-op uuid.Loggerf for client cli
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-30 21:19:51 -04:00
Aaron Lehmann
d4836cd7ec Documentation improvements and code cleanups for graph package
Expand the godoc documentation for the graph package.

Centralize DefaultTag in the graphs/tag package instead of defining it
twice.

Remove some unnecessary "config" structs that are only used to pass
a few parameters to a function.

Simplify the GetParentsSize function - there's no reason for it to take
an accumulator argument.

Unexport some functions that aren't needed outside the package.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-30 14:27:10 -07:00
Alexander Morozov
8505183252 Merge pull request #14950 from ottok/master
Multiple fixes to 'docker stats' output
2015-07-30 14:02:35 -07:00
David Calavera
030f61df3d Merge pull request #14885 from jlhawn/fix_cp_symlink
Fix copying of symlinks in containers
2015-07-30 13:42:40 -07:00
Tibor Vass
2f1a7c903f Merge pull request #14844 from WeiZhang555/golint-api
fix golint errors/warnings of pkg api/
2015-07-30 16:02:06 -04:00
Josh Hawn
75f6929b44 Fix docker cp Behavior With Symlinks
[pkg/archive] Update archive/copy path handling

  - Remove unused TarOptions.Name field.
  - Add new TarOptions.RebaseNames field.
  - Update some of the logic around path dir/base splitting.
  - Update some of the logic behind archive entry name rebasing.

[api/types] Add LinkTarget field to PathStat

[daemon] Fix stat, archive, extract of symlinks

  These operations *should* resolve symlinks that are in the path but if the
  resource itself is a symlink then it *should not* be resolved. This patch
  puts this logic into a common function `resolvePath` which resolves symlinks
  of the path's dir in scope of the container rootfs but does not resolve the
  final element of the path. Now archive, extract, and stat operations will
  return symlinks if the path is indeed a symlink.

[api/client] Update cp path hanling

[docs/reference/api] Update description of stat

  Add the linkTarget field to the header of the archive endpoint.
  Remove path field.

[integration-cli] Fix/Add cp symlink test cases

  Copying a symlink should do just that: copy the symlink NOT
  copy the target of the symlink. Also, the resulting file from
  the copy should have the name of the symlink NOT the name of
  the target file.

  Copying to a symlink should copy to the symlink target and not
  modify the symlink itself.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-30 12:14:28 -07:00
Otto Kekäläinen
b619220ce1 Multiple fixes to 'docker stats' output:
* Add space between values in docker stats output for easier parsing

  Old output could not be parsed easily because there were columns
  that did not have any separator. Also values that are together
  without any space is difficult to read even for humans.

* Update unit.HumanSize comment to match what the does actually does

Signed-off-by: Otto Kekäläinen <otto@seravo.fi>
2015-07-30 10:14:57 +03:00
John Howard
b43dc0d93c Windows: Daemon build is broken
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-29 20:08:51 -07:00
root
cfeab585c0 fix golint errors/warnings of pkg api/
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-07-30 09:46:25 +08:00
Arnaud Porterie
d94aeb2876 Merge pull request #14980 from jlhawn/build_tag_resolved_digests
[api/client] Tag resolved digest from Dockerfile
2015-07-29 16:52:14 -07:00
Arnaud Porterie
4a71323ec3 Merge pull request #15098 from calavera/backwards_compat_kill_error
Keep backwards compatibility in kill api.
2015-07-29 16:42:36 -07:00
Tibor Vass
28ac78c02f Merge pull request #15139 from tiborvass/fix-uuid-loggerf
Set uuid.Loggerf to nop on client and to logrus.Warnf on daemon
2015-07-29 18:17:54 -04:00
Jessie Frazelle
75f8bdd970 Merge pull request #13542 from kvasdopil/freebsd-work
Make docker build on FreeBSD
2015-07-29 15:15:37 -07:00
Tibor Vass
7841d6ab9a Set uuid.Loggerf to nop on client and to logrus.Warnf on daemon
Signed-off-by: Tibor Vass <tibor@docker.com>
2015-07-29 17:49:59 -04:00
Alexey Guskov
26c03d561a make docker compile on freebsd
Signed-off-by: Alexey Guskov <lexag@mail.ru>
2015-07-29 21:25:56 +03:00
root
929f2c2f40 api/client fix golint errors/warnings
Addresses #14756

Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-29 17:20:54 +00:00
Tibor Vass
2cd058ce4f Merge pull request #14785 from brahmaroutu/lint_api_server
fix golint errors/warnings
2015-07-29 13:09:31 -04:00
Tibor Vass
9d3ad6d892 Merge pull request #15107 from LK4D4/unsafe_random
Use non-crypto version of random to generate ids.
2015-07-29 11:47:38 -04:00
Alexander Morozov
6bca8ec3c9 Replace GenerateRandomID with GenerateNonCryptoID
This allow us to avoid entropy usage in non-crypto critical places.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2015-07-28 22:31:01 -07:00
Tibor Vass
c19a00d4cb Merge pull request #15060 from jlhawn/fix_build_renamed_dockerfile
[api/client] update check Dockerfile in Context
2015-07-28 21:30:19 -04:00
Josh Hawn
bb2e6c72d2 [api/client] Tag resolved digest from Dockerfile
Builds where the base images have been resolved to trusted digest
references will now be tagged with the original tag reference from
the Dockerfile on a successful build.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-28 17:54:48 -07:00
root
351f6b8ec0 api/server fix golint errors/warnings.
Addresses #14756
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
2015-07-28 22:44:39 +00:00
David Calavera
621e3d8587 Keep backwards compatibility in kill api.
Return an error when the container is stopped only in api versions
equal or greater than 1.20 (docker 1.8).

Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-28 12:25:36 -07:00
John Howard
47c56e4353 Windows: Factoring out unused fields
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-07-27 17:44:18 -07:00
Josh Hawn
af06d289e4 [api/client] update check Dockerfile in Context
Actually determine the relative path of the Dockerfile to the context
directory. Error out if the relative path starts with "../".

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-27 16:11:36 -07:00
Jessie Frazelle
25c42cc0d0 Merge pull request #14759 from vdemeester/pkg-golint
golint on some pkg/* packages
2015-07-27 15:19:46 -07:00
Michael Crosby
bdc55be9b4 Merge pull request #15039 from jlhawn/fix_build_context_is_symlink
[api/client] Fix build when context dir is symlink
2015-07-27 15:11:36 -07:00
Vincent Demeester
18c7c67308 Lint on pkg/* packages
- pkg/useragent
- pkg/units
- pkg/ulimit
- pkg/truncindex
- pkg/timeoutconn
- pkg/term
- pkg/tarsum
- pkg/tailfile
- pkg/systemd
- pkg/stringutils
- pkg/stringid
- pkg/streamformatter
- pkg/sockets
- pkg/signal
- pkg/proxy
- pkg/progressreader
- pkg/pools
- pkg/plugins
- pkg/pidfile
- pkg/parsers
- pkg/parsers/filters
- pkg/parsers/kernel
- pkg/parsers/operatingsystem

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-27 21:26:21 +02:00
Vincent Demeester
5170a2c096 Lint fixes on runconfig
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2015-07-27 21:23:15 +02:00
Josh Hawn
01d570ad30 [api/client] Fix build when context dir is symlink
Symbolic links in the context directory path are now evaluated.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-27 12:01:13 -07:00
Jessie Frazelle
2f5dc43ca2 Merge pull request #14852 from rhatdan/relabel
Rename internal field Relabel to Mode
2015-07-27 10:31:08 -07:00
Jessie Frazelle
912bafcf36 Merge pull request #14981 from calavera/bump_api_version
Bump api version to 1.21.
2015-07-27 10:17:24 -07:00
David Calavera
c451d597f2 Merge pull request #15028 from vbatts/typo
api/client/build: typo in error
2015-07-27 10:13:05 -07:00
David Calavera
e89aec0dfb Merge pull request #15010 from runcom/14947-fix-inspect-time-RFC3339Nano
Format times in inspect command with a template as RFC3339Nano
2015-07-27 10:08:21 -07:00
David Calavera
0eb88a0751 Bump api version to 1.21.
Signed-off-by: David Calavera <david.calavera@gmail.com>
2015-07-27 09:48:47 -07:00
Vincent Batts
0e697ebe6e api/client/build: typo in error
Signed-off-by: Vincent Batts <vbatts@redhat.com>
2015-07-27 11:01:26 -04:00
Stephen Rust
c358a4cd35 Check for nil before using HostConfig to adjustCpuShares
Fix #14915. Add unit test for #14915.
Thanks @runcom for the test case: when the client calls 1.18 api
version w/o hostconfig it results in a nil pointer dereference.

Signed-off-by: Stephen Rust <srust@blockbridge.com>
2015-07-26 20:33:04 -04:00
Antonio Murdaca
c9207bc0aa Format times in inspect command with a template as RFC3339Nano
In 1.6.2 we were decoding inspect API response into interface{}.
time.Time fields were JSON encoded as RFC3339Nano in the response
and when decoded into interface{} they were just strings so the inspect
template treated them as just strings.
From 1.7 we are decoding into types.ContainerJSON and when the template
gets executed it now gets a time.Time and it's formatted as
2015-07-22 05:02:38.091530369 +0000 UTC.
This patch brings back the old behavior by typing time.Time fields
as string so they gets formatted as they were encoded in JSON -- RCF3339Nano

Signed-off-by: Antonio Murdaca <runcom@linux.com>
2015-07-26 15:25:08 +02:00
Derek McGowan
259cadb0b1 Rename to flags and environment variables to content trust
Update help line to allow 90 characters instead of 80

The trust flag pushes out the help description column wider, requiring more room to display help messages.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-24 16:31:18 -07:00
Josh Hawn
578b1521df Add notary integration to docker build
The Dockerfile is rewritten with images references on FROM
instructions resolved to trusted digests. The rewritten Dockerfile
is swapped with the original one during context upload.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-24 14:08:20 -07:00
Josh Hawn
3021b7a4a0 Refactor api/client/build.go
Separated preparation of context and Dockerfile for
the various different methods of specifying them.

Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
2015-07-24 14:08:20 -07:00
Derek McGowan
ed13c3abfb 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
Dan Walsh
4cb9479ce4 Rename internel field Relabel to Mode
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
2015-07-24 07:14:37 -04:00
Aaron Lehmann
4fcb9ac40c Improve documentation and golint compliance of registry package
* Add godoc documentation where it was missing

* Change identifier names that don't match Go style, such as INDEX_NAME

* Rename RegistryInfo to PingResult, which more accurately describes
  what this structure is for. It also has the benefit of making the name
  not stutter if used outside the package.

Updates #14756

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-24 11:55:07 -07:00
Jessie Frazelle
7674f21686 Merge pull request #13771 from tiborvass/daemon-cli
New `docker daemon` command
2015-07-23 19:30:39 -07:00