Commit Graph

1394 Commits

Author SHA1 Message Date
2491643ccf Docker authorization plug-in infrastructure enables extending the functionality of the Docker daemon with respect to user authorization. The infrastructure enables registering a set of external authorization plug-in. Each plug-in receives information about the user and the request and decides whether to allow or deny the request. Only in case all plug-ins allow accessing the resource the access is granted.
Each plug-in operates as a separate service, and registers with Docker
through general (plug-ins API)
[https://blog.docker.com/2015/06/extending-docker-with-plugins/]. No
Docker daemon recompilation is required in order to add / remove an
authentication plug-in. Each plug-in is notified twice for each
operation: 1) before the operation is performed and, 2) before the
response is returned to the client. The plug-ins can modify the response
that is returned to the client.

The authorization depends on the authorization effort that takes place
in parallel [https://github.com/docker/docker/issues/13697].

This is the official issue of the authorization effort:
https://github.com/docker/docker/issues/14674

(Here)[https://github.com/rhatdan/docker-rbac] you can find an open
document that discusses a default RBAC plug-in for Docker.

Signed-off-by: Liron Levin <liron@twistlock.com>
Added container create flow test and extended the verification for ps
Upstream-commit: 75c353f0ad73bd83ed18e92857dd99a103bb47e3
Component: engine
2015-12-08 17:34:15 +02:00
d76bf17816 Merge pull request #18442 from MHBauer/move-configs
move configs structs to remove dependency on deamon
Upstream-commit: 41ae615aa13508b8f8958dc1c338fce5bccb8e6b
Component: engine
2015-12-07 13:38:43 -05:00
b12523fdf4 move configs structs to remove dependency on daemon
- Moved the following config structs to api/types
   - ContainerRmConfig
   - ContainerCommitConfig

Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 63fb931a0b7298c6281898bcc5f53ab0655ad1a6
Component: engine
2015-12-07 09:03:25 -08:00
1af1c81aab Merge pull request #18123 from aidanhs/aphs-fail-on-broken-tar
Ensure adding a broken tar doesn't silently fail
Upstream-commit: 1f8efc687cdf8ba98a7332cf9d4401afb8108be6
Component: engine
2015-12-07 14:38:21 +01:00
76e21ed7ad Merge pull request #18463 from haoshuwei/modify-containerinspect-tocheckstatuscode
Modify docker inspect client to check statusCode instead of strings c…
Upstream-commit: 2ecbc9774b0b942b5314faa60b566039f31ba90b
Component: engine
2015-12-07 07:55:26 -05:00
c2790f1174 Merge pull request #18425 from wenchma/18424-ErrorCodeNoSuchContainer
Correct the message of ErrorCodeNoSuchContainer to "No such container"
Upstream-commit: 0bb4f82d2d9f3d741fea6251dc4b2925576a8d02
Component: engine
2015-12-07 07:48:04 -05:00
bcccc8a2e2 Modify docker network inspect client to check statusCode instead of string contain
Signed-off-by: Shuwei Hao <haoshuwei24@gmail.com>
Upstream-commit: 6306eb3cd320bed914104cfd7110fe0aac2c3e4f
Component: engine
2015-12-07 10:11:46 +00:00
ab0fd6f0f5 Modufy docker inspect client to check statusCode instead of strings contains
Signed-off-by: Shuwei Hao <haosw@cn.ibm.com>
Upstream-commit: e719c9225cb4dd6e415c06f6fa4f625a87bfc861
Component: engine
2015-12-07 10:03:46 +00:00
d6d57d5554 Merge pull request #17788 from haoshuwei/modify-volume-inspect-multi
Modify docker volume inspect to return existed volumes and the names of the unexsited volumes
Upstream-commit: 5b4734aaa543243ba076bf606286bbc46fed9e38
Component: engine
2015-12-06 14:03:46 +01:00
d7dafeedd3 Merge pull request #18398 from calavera/system_backend
Move docker system information to a dedicated router and backend.
Upstream-commit: 51b0f23127f115ce24b45dac2d565db58d25458e
Component: engine
2015-12-04 12:56:57 -05:00
cae2a5b6ac Correct the message of ErrorCodeNoSuchContainer to "No such container"
Fixes issue #18424

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: c424c8c32c86d5e02964ad84802e9f9fa4e55522
Component: engine
2015-12-04 15:00:08 +08:00
0b8eb4aacf Merge pull request #18374 from calavera/volume_inspect_exit
Return error code when `volume inspect` fails with a template.
Upstream-commit: 29c69ce2a9158899257aa3e015b4db098f662bdd
Component: engine
2015-12-03 13:31:47 -08:00
9f99937185 Merge pull request #17481 from vdemeester/17446-network-inspect-format
Add format flag to network inspect
Upstream-commit: 4d849619d48f9ad9ad7b8c7d5bc1481dae3230e4
Component: engine
2015-12-03 16:16:04 -05:00
13f897ae0e Move docker system information to a dedicated router and backend.
Because I like the name `system` better than `local` :)

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 867f432985d6b4a46c2f66225d70a4ffdb28d8a3
Component: engine
2015-12-03 13:38:56 -05:00
33e1a90c6b Return error code when volume inspect fails with a template.
Following `docker inspect` conventions:

- Keep partial info in a buffer to not print incomplete template outputs.
- Break execution when template parsing or decoding fail.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: b9d30280f6eb2f817b1315c22953a133f1b66e69
Component: engine
2015-12-03 13:22:55 -05:00
0082efd193 Merge pull request #18266 from calavera/events_pub_sub
Event PubSub topics + linear filtering.
Upstream-commit: 33ab2bb52c130380e038013d68fdd8ad3c663360
Component: engine
2015-12-03 17:11:40 +01:00
d555e15f77 Add PubSub topics.
A TopicFunc is an interface to let the pubisher decide whether it needs
to send a message to a subscriber or not. It returns true if the
publisher must send the message and false otherwise.

Users of the pubsub package can create a subscriber with a topic
function by calling `pubsub.SubscribeTopic`.

Message delivery has also been modified to use concurrent channels per
subscriber. That way, topic verification and message delivery is not
o(N+M) anymore, based on the number of subscribers and topic verification
complexity.

Using pubsub topics, the API stops controlling the message delivery,
delegating that function to a topic generated with the filtering
provided by the user. The publisher sends every message to the
subscriber if there is no filter, but the api doesn't have to select
messages to return anymore.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 434d2e8745696255a204d9eefc6a2854ff74e5c2
Component: engine
2015-12-02 16:43:49 -05:00
f437e2a3c8 Add format flag to network inspect
…for consistency as docker inspect and docker volume inspect supports it too

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 295c27388dd1e7cc4196fbb8ffe0646b33bacb5b
Component: engine
2015-12-02 22:32:10 +01:00
15181abee7 Merge pull request #18309 from WeiZhang555/time
Consolidate time format for API
Upstream-commit: 6deec021e5bbfd1942cfacb34c6593379e8b8c30
Component: engine
2015-12-02 22:28:28 +01:00
cf1f5d3461 Merge pull request #18350 from duglin/Issue9798a
Deprecate -f flag from docker tag
Upstream-commit: fcccf2dae4770bdb7781d57e20ae94b9565b67ac
Component: engine
2015-12-02 08:16:09 -08:00
79750c94df Make filtering a linear operation.
Improves the current filtering implementation complixity.
Currently, the best case is O(N) and worst case O(N^2) for key-value filtering.
In the new implementation, the best case is O(1) and worst case O(N), again for key-value filtering.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 93d1dd8036d57f5cf1e5cbbbad875ae9a6fa6180
Component: engine
2015-12-02 11:12:42 -05:00
c529eb3ce9 Consolidate time format for API
Consolidate all the API to same time format: RFC3339, and it will be
client's responsibility to present it in more user friendly way.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 9daca1222adabf3aeae97a2c4e5f4ed1bb8c15e1
Component: engine
2015-12-02 22:40:18 +08:00
22eaa04494 Move defaultSHMSize in daemon pkg
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: 2969abc6c55a9ab126b90d0af4b67860b4103f3f
Component: engine
2015-12-02 10:28:10 +01:00
2603d9d05a Deprecate -f flag from docker tag
Closes #9798

@maintainers please note that this is a change to the UX. We no longer
require the -f flag on `docker tag` to move a tag from an existing image.
However, this does make us more consistent across our commands,
see https://github.com/docker/docker/issues/9798 for the history.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: 8d4fe141c4c3f456df9c2be75ffe5071d1665717
Component: engine
2015-12-01 19:53:49 -08:00
a68d03ab84 Merge pull request #18343 from calavera/unify_debug_logging
[Carry 18260] Remove info logging from every api call.
Upstream-commit: 3962fe5d7b47383b752383b48adf7e1ac0a6f202
Component: engine
2015-12-01 13:42:57 -08:00
d583bad1ef Unify both debug logging middlewares.
We can remove one function from the stack by injecting the middleware
only when logging in enabled and the level is debug.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 82323294db96e8043244027c262481af6c8f478d
Component: engine
2015-12-01 14:33:33 -05:00
ec12c4920e fix shm size handling
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: ef1d410b0270fa7309d76aded34113396def7fb2
Component: engine
2015-12-01 16:29:40 +01:00
bd71e2ab92 Modify docker volume inspect to return existed volumes
Signed-off-by: Shuwei Hao <haoshuwei24@gmail.com>
Upstream-commit: 6295345005b5c251b465f18fd6e77edad50a50b7
Component: engine
2015-12-01 01:43:02 +00:00
59911bba39 Remove usage of listenbuffer package
It actually adds nothing to queuing requests.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: ca5795cef810c85f101eb0aa3efe3ec8d756490b
Component: engine
2015-11-30 09:04:55 -08:00
681dc550e7 The loggingMiddleware function is adding lots of messages to the log
When tools like kubernetes and cockpit are talking to the docker daemon
actively, we are seeing large number of log messages that look like debug
information.

For example

docker info adds the following line to journald.

Nov 26 07:09:23 dhcp-10-19-62-196.boston.devel.redhat.com docker[32686]: time="2015-11-26T07:09:23.124503455-05:00" level=info msg="GET /v1.22/info"

We think this should be Debug level not Info level.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
Upstream-commit: cf4fb150880ec5f4153c291e67238e28f3cbdf9b
Component: engine
2015-11-26 07:10:38 -05:00
c862a7ae5b Revert "Return listenbuffer behavior"
This reverts commit 281a48d092fa84500c63b984ad45c59a06f301c4.

Signed-off-by: Alex Crawford <alex.crawford@coreos.com>
Upstream-commit: a8b84cd8fb63d237b488f8b137b45187a6efaa5a
Component: engine
2015-11-24 18:32:57 -08:00
08fb779389 Split container backend into several specialized interfaces.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 85c3c6865ef4eb334f9fbdec6dd270d525b68914
Component: engine
2015-11-24 14:03:39 -05:00
b1098ef990 Move versioned references of inspect functions to the daemon.
Leaving only one versioned main function that a backend must implement.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 38abba9e2c8f7ac27bd26bf98685b51585922317
Component: engine
2015-11-24 14:03:39 -05:00
15fa54f208 Add container package for container APIs.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
Upstream-commit: fa8d96ebe21f5bb83e4d2da8e59234e701a8ee70
Component: engine
2015-11-24 14:03:07 -05:00
a62c883d3d move container files to a separate folder. Following changes will update them.
Signed-off-by: Dong Chen <dongluo.chen@docker.com>
Upstream-commit: a5bf10f37e150873fe5c0a6b5bccd8ac145bee58
Component: engine
2015-11-24 14:03:07 -05:00
e105a29374 Update daemon and docker core to use new content addressable storage
Add distribution package for managing pulls and pushes. This is based on
the old code in the graph package, with major changes to work with the
new image/layer model.

Add v1 migration code.

Update registry, api/*, and daemon packages to use the reference
package's types where applicable.

Update daemon package to use image/layer/tag stores instead of the graph
package

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 4352da7803d182a6013a5238ce20a7c749db979a
Component: engine
2015-11-24 09:40:25 -08:00
f78f99b00a Merge pull request #17356 from HuKeping/warn-on-oom
Warning out when disalbe oom killer but not set the memory limit
Upstream-commit: aa22191093e5becfa8167e4961b617f15a81894a
Component: engine
2015-11-23 12:43:04 -08:00
8923491bd9 Add more to tag's -f flag's help
Was noticed in #9798

Signed-off-by: Doug Davis <dug@us.ibm.com>
Upstream-commit: a70079ea23e8a36f9b3b517f7e7e87b8e24f3526
Component: engine
2015-11-23 07:20:10 -08:00
60942ba73e Ensure adding a broken tar doesn't silently fail
Signed-off-by: Aidan Hobson Sayers <aidanhs@cantab.net>
Upstream-commit: 3243e504d01ea1efa141f3e3cc296903d7d62ca4
Component: engine
2015-11-23 14:18:58 +00:00
6e71f2c42e Merge pull request #17489 from WeiZhang555/network-rm-multi
Enhance `docker network rm` to delete multi net
Upstream-commit: a600bf4eab48a19ea9d1919f95f612cdb229c893
Component: engine
2015-11-23 08:25:33 +01:00
3a475c3707 Enhance docker network rm to delete multi net
This commit enhance `docker network rm` command to allow user to delete
multi networks at the same time.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: e7eb6687ef7da34cd69b27cfbaf3fd8112073530
Component: engine
2015-11-22 05:37:00 +08:00
9f0c131692 Merge pull request #16613 from WeiZhang555/docker-cp-symlink
Add option `-L` to allow `docker cp` follow symbol link
Upstream-commit: 3ff9bb53326312a66fee19bc56dd2ad9c642b133
Component: engine
2015-11-21 17:03:24 +01:00
b97ed2a561 Merge pull request #17495 from mikebrow/docker-tz-and-nanosecond-updates
modifying docker --since and --until to support nanoseconds and time …
Upstream-commit: 6653f827965b431139af141fa2cc68a6513abe71
Component: engine
2015-11-20 23:37:44 +01:00
9479751884 Merge pull request #17718 from wenchma/17716_before_filter_doc
Re-implement --before and --since as options for --filter
Upstream-commit: 8fa09749fb7b5560ffc7f0a73005302f99d89d01
Component: engine
2015-11-20 11:24:19 -08:00
27af07df7b Add '-L' option for cp
Fixes #16555

Original docker `cp` always copy symbol link itself instead of target,
now we provide '-L' option to allow docker to follow symbol link to real
target.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: 92600bdec1284f9031868751f61bef476d2e1dbd
Component: engine
2015-11-21 00:36:56 +08:00
9380772bfb Re-implement --before and --since as options for --filter
* This commit will mark --before and --since as deprecated, but leave their behavior
  unchanged until they are removed, then re-implement them as options for --filter.

* And update the related docs.

* Update the integration tests.

Fixes issue #17716

Signed-off-by: Wen Cheng Ma <wenchma@cn.ibm.com>
Upstream-commit: 1921c629381d25ebff7b8b8c8348a0a81525f264
Component: engine
2015-11-20 13:10:13 +08:00
4581692a0e Addition of "--shm-size" to which size of /dev/shm is changed.
- Optional "--shm-size=" was added to the sub-command(run, create,and build).
- The size of /dev/shm in the container can be changed
  when container is made.
- Being able to specify is a numerical value that applies number,
  b, k, m, and g.
- The default value is 64MB, when this option is not set.
- It deals with both native and lxc drivers.

Signed-off-by: NIWA Hideyuki <niwa.hiedyuki@jp.fujitsu.com>
Upstream-commit: 5aeaf2a0c4236711e0981515d8627b30e22a1637
Component: engine
2015-11-20 09:24:18 +09:00
c4d89a3f60 Merge pull request #17478 from vdemeester/pr-13921
Carry#13921 : Expand /info: Expose OSType (GOOS), Architecture (GOARCH)
Upstream-commit: 104dab87ea73fbf7e4e592c2045b4f1ab56c6cfe
Component: engine
2015-11-17 15:44:57 -08:00
22f6a379ae Merge pull request #17300 from kunalkushwaha/plugin-info
Patch for Plugin drivers in docker info 
Upstream-commit: f18d5da6a7d148581f8de041ada62b1724839957
Component: engine
2015-11-17 10:46:29 -08:00
98dbfb535e Merge pull request #17724 from runcom/remove-depreciated-cli-flags
Remove depreciated cli flags
Upstream-commit: d507acb17564986af17f653d8fa1b774993451b4
Component: engine
2015-11-17 16:40:06 +01:00