Commit Graph

138 Commits

Author SHA1 Message Date
672083e3c3 Implement plugins for logging drivers
Logging plugins use the same HTTP interface as other plugins for basic
command operations meanwhile actual logging operations are handled (on
Unix) via a fifo.

The plugin interface looks like so:

```go
type loggingPlugin interface {
  StartLogging(fifoPath string, loggingContext Context) error
  StopLogging(fifoPath)
```

This means a plugin must implement `LoggingDriver.StartLogging` and
`LoggingDriver.StopLogging` endpoints and be able to consume the passed
in fifo.

Logs are sent via stream encoder to the fifo encoded with protobuf.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 114cc6ca3a
Component: cli
2017-06-02 00:11:02 +00:00
4543d90ce0 Escape some double brackets
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 0e86bfb1e0
Component: cli
2017-06-02 00:11:01 +00:00
cdb0625836 Merge pull request #32265 from breuner/patch-1
Updated legacy_plugins.md to include BeeGFS plugin
(cherry picked from commit d0057bd12dae5276b83e931e9e9ea185c58486a2)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 82f097e8d5
Component: cli
2017-06-02 00:11:01 +00:00
93d2fdc531 Delete extraneous H1 title
Signed-off-by: JimGalasyn <jim.galasyn@docker.com>
Upstream-commit: 64704a2a80
Component: cli
2017-06-02 00:11:00 +00:00
8d5753a63e Add pid host support
Tested using global-net-plugin-ipc which sets PidHost in config.json.

Plugins might need access to host pid namespace. Add support for that.
Tested using aragunathan/global-net-plugin-ipc which sets "pidhost" in
config.json. Observed using `readlink /proc/self/ns/pid` that plugin and
host have the same ns.

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: c9f1050226
Component: cli
2017-06-02 00:10:59 +00:00
fa8eda09f4 Add support in plugin config for accessing host ipc namespace.
Plugins might need access to host ipc namespace. A good usecase is
a volume plugin running iscsi multipath commands that need access to
host kernel locks.
Tested with a custom plugin (aragunathan/global-net-plugin-full) that's
built with `"ipchost" : true` in config.json. Observed using
`readlink /proc/self/ns/ipc` that plugin and host have the same ns.

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: 9111051d98
Component: cli
2017-06-02 00:10:59 +00:00
9d0fc67762 modify docker plugin sshfs entrypoint
Signed-off-by: Jimmy Song <rootsongjc@gmail.com>
Upstream-commit: 3e4d1cacf4
Component: cli
2017-06-02 00:10:58 +00:00
985040a0a9 added listing for Nimble Storage's volume plugin
Signed-off-by: Keith Hudgins <greenman@greenman.org>

updated nimble plugin url
Upstream-commit: 01468292d6
Component: cli
2017-06-02 00:10:57 +00:00
4a9d19fc63 Update index.md
Signed-off-by: Wang Jie <wangjie5@chinaskycloud.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 2c9f862eaf
Component: cli
2017-06-02 00:10:56 +00:00
bcb5191002 Service creation using network plugin filters.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: 93344b57f3
Component: cli
2017-06-02 00:10:56 +00:00
4ddd044359 Fix some Liquid errors
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: f36bcf1acd
Component: cli
2017-06-02 00:10:55 +00:00
5c08d35278 Update plugin_volume apidocs for v2
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 38ac6860eb
Component: cli
2017-06-02 00:10:55 +00:00
be42fef480 Add plugin socket related debug docs.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: ab7522c939
Component: cli
2017-06-02 00:10:55 +00:00
7805da2f23 Add plugin debug docs.
Doc fix for #30761

Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: c76dcd33f7
Component: cli
2017-06-02 00:10:53 +00:00
6a8ef9223f Make propagated mount persist outside rootfs
This persists the "propagated mount" for plugins outside the main
rootfs. This enables `docker plugin upgrade` to not remove potentially
important data during upgrade rather than forcing plugin authors to hard
code a host path to persist data to.

Also migrates old plugins that have a propagated mount which is in the
rootfs on daemon startup.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: df4e570ff4
Component: cli
2017-06-02 00:10:52 +00:00
1397dfc743 Add capability filter to docker plugin ls
This fix adds `--filter capability=[volumedriver|authz]` to `docker plugin ls`.

The related docs has been updated.

An integration test has been added.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: ecfe6ab218
Component: cli
2017-06-02 00:10:51 +00:00
bf0951b225 Provide password to volume create command
* Depending on the host configuration between the docker engine and the remote host we wish to mount using sshfs, a password may be required.
* Confirmed syntax for optional parameter with @vieux
* Verified change works as desired with engine running on Ubuntu host and mounting a volume from a file system on a Mac.

Signed-off-by: David Williamson <david.williamson@docker.com>
Upstream-commit: b8df00a4b4
Component: cli
2017-06-02 00:10:51 +00:00
f4f2477d26 Add docs for service create based on plugins.
Signed-off-by: Anusha Ragunathan <anusha.ragunathan@docker.com>
Upstream-commit: 79479e040f
Component: cli
2017-06-02 00:10:51 +00:00
eeddb767f3 Fix json format of plugin
Signed-off-by: Janonymous <janonymous.codevulture@gmail.com>
Upstream-commit: 7953201f9d
Component: cli
2017-06-02 00:10:51 +00:00
8b1001e0f8 plugins: add example docs for a rexray plugin
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: f75cb34afa
Component: cli
2017-06-02 00:10:49 +00:00
e8296f67cc Fix some typos
Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
Upstream-commit: b5758e62de
Component: cli
2017-06-02 00:10:49 +00:00
ad57980f55 plugins: rename DeviceCreation to AllowAllDevices
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 8c3f18ca6d
Component: cli
2017-06-02 00:10:48 +00:00
7632076475 replace no-remove by sample-volume-plugin in docs
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 63aa05d3f7
Component: cli
2017-06-02 00:10:47 +00:00
c7464dd765 Reference new DigitalOcean plugin (Closes #29729)
Signed-off-by: Ovidio Mallo <ovidio.mallo@gmail.com>
Upstream-commit: b839363db9
Component: cli
2017-06-02 00:10:47 +00:00
9a4c188913 fix some typos
Signed-off-by: zhenghenghuo <zhenghenghuo@zju.edu.cn>

try to pass test

Signed-off-by: zhenghenghuo <zhenghenghuo@zju.edu.cn>

try to pass the test

Signed-off-by: zhenghenghuo <zhenghenghuo@zju.edu.cn>
Upstream-commit: a724a5d8c9
Component: cli
2017-06-02 00:10:46 +00:00
46ae0221fe Update 'ID' field for 'docker plugin ls'
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
Upstream-commit: fcb3a0e88b
Component: cli
2017-06-02 00:10:46 +00:00
94c8461a3d Moves graphdriver plugn docs out of experimental
Also updates some of the structures being sent so plugins are getting
all the new options.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: a59544ff3d
Component: cli
2017-06-02 00:10:46 +00:00
0a588f27d2 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>
Upstream-commit: b5b3dd4c6b
Component: cli
2017-06-02 00:10:46 +00:00
2998f50108 Add Fuxi Volume Plugin to the docs
Signed-off-by: Hongbin Lu <hongbin034@gmail.com>
Upstream-commit: 08ba19c291
Component: cli
2017-06-02 00:10:45 +00:00
bd7f8f8f9e remove old media type compat for plugins
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 5bfa17e58b
Component: cli
2017-06-02 00:10:44 +00:00
f865a2ecbe replace env description with args in extend config
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: 2373288938
Component: cli
2017-06-02 00:10:44 +00:00
47e77de42d plugins: container-rootfs-relative paths
Legacy plugins expect host-relative paths (such as for Volume.Mount).
However, a containerized plugin cannot respond with a host-relative
path. Therefore, this commit modifies new volume plugins' paths in Mount
and List to prepend the container's rootfs path.

This introduces a new PropagatedMount field in the Plugin Config.
When it is set for volume plugins, RootfsPropagation is set to rshared
and the path specified by PropagatedMount is bind-mounted with rshared
prior to launching the container. This is so that the daemon code can
access the paths returned by the plugin from the host mount namespace.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 5a84f77819
Component: cli
2017-06-02 00:10:43 +00:00
9d6e16b26b update plugin example
Signed-off-by: Victor Vieux <victorvieux@gmail.com>

cleanup whitespace formatting

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: b82e761088
Component: cli
2017-06-02 00:10:42 +00:00
7b298b591a Fix some redirect loops and problems
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: d5b3df0c2f
Component: cli
2017-06-02 00:10:42 +00:00
3fe6f140a8 modify invalid url in plugins_network.md
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: be6e3311f2
Component: cli
2017-06-02 00:10:41 +00:00
faac82a415 plugins: misc fixes
Rename variable to reflect manifest -> config renaming
Populate Description fields when computing privileges.
Refactor/reuse code from daemon/oci_linux.go

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: b70edf410d
Component: cli
2017-06-02 00:10:40 +00:00
74de856edc Rename Remote API to Engine API
Implementation of https://github.com/docker/docker/issues/28319

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
Upstream-commit: 2cfcc8a8fa
Component: cli
2017-06-02 00:10:40 +00:00
aa5b82f8c4 add note that windows does not support managed plugins
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: e0ce0361ba
Component: cli
2017-06-02 00:10:40 +00:00
c8586e1312 Edits to plugin docs after building authz plugin
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
Upstream-commit: 6393eac011
Component: cli
2017-06-02 00:10:39 +00:00
914e0a35ac move plugins out of experimental
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: 410d4ce7ae
Component: cli
2017-06-02 00:10:37 +00:00
2b025b2eb9 rename plugin manifest
Signed-off-by: Victor Vieux <vieux@docker.com>
Upstream-commit: fdfcbe778a
Component: cli
2017-06-02 00:10:36 +00:00
10117b8d2f fix frontmatter keywords value type (string, instead of []string)
Signed-off-by: Gaetan de Villele <gdevillele@gmail.com>
Upstream-commit: 4126b5526c
Component: cli
2017-06-02 00:10:31 +00:00
08be90cdc7 fill all the rest invalid address because no related directory
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: 9b109cd9a7
Component: cli
2017-06-02 00:10:30 +00:00
94054df6ff fill the complete address because of no userguide directory
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: 2603a9c1dd
Component: cli
2017-06-02 00:10:30 +00:00
e01ded192e Rewrites to Developing Plugins topic
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 7ec82562ce
Component: cli
2017-06-02 00:10:26 +00:00
118bce70c4 Sync docker/docker refs with files mistakenly edited in docker.github.io repo
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 7f36c3a1a0
Component: cli
2017-06-02 00:10:26 +00:00
ab67022e57 Fix code block fences and typo.
Signed-off-by: Ding Fei <dingfei@stars.org.cn>
Upstream-commit: a16bba06fd
Component: cli
2017-06-02 00:10:24 +00:00
00298bdacd fix wrong output titile for docker volume ls
Signed-off-by: lixiaobing10051267 <li.xiaobing1@zte.com.cn>
Upstream-commit: ba49f7bfe9
Component: cli
2017-06-02 00:10:24 +00:00
fbc93c2df5 Convert Markdown frontmatter to YAML
Some frontmatter such as the weights, menu stuff, etc is no longer used
'draft=true' becomes 'published: false'

Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 2845676cc2
Component: cli
2017-06-02 00:10:24 +00:00
d3c4ed5409 Add a link to the new build instructions
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 12a3920153
Component: cli
2017-06-02 00:10:24 +00:00