Commit Graph

149 Commits

Author SHA1 Message Date
0d15a1c160 Fix "liquid" warning on logging plugins page
Noticed this warning in the documentation CI:

    Liquid Warning: Liquid syntax error (line 210): Expected end_of_string but found id in "{{ log stream }}" in engine/extend/plugins_logging.md

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: d30987f85f
Component: cli
2017-08-17 00:56:54 +02:00
48c6aae018 Fix invalid plugin references in docs
The plugins `tiborvass/sample-volume-plugins` and `tiborvass/no-remove`
do not exist.

Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: 2dca576a4c
Component: cli
2017-08-07 11:15:39 +02:00
593d56a228 Add Infinit plugin
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: 83e8551876
Component: cli
2017-08-01 15:50:42 -07:00
c16c5f3db8 Fix repo references in docs
Since CLI was moved to a separate repo, these references are incorrect.
Fixed with the help of sed script, verified manually.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Upstream-commit: 6d85a4f5f8
Component: cli
2017-07-28 10:32:42 -07:00
08cdfb1fb9 Fix small typo
Signed-off-by: Misty Stanley-Jones <misty@docker.com>
Upstream-commit: ede69a38c2
Component: cli
2017-06-21 11:06:26 -07:00
786d489f99 Merge pull request #33572 from hsluoyz/patch-1
Add Casbin plugin to the list of Authorization plugins in docs.
(cherry picked from commit 220831d541bfe9bf566c1038773198d431560dd3)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 0ad3e3294e74f443130b5e1fb1ef6b31f4f92366)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 8b11d46ecd
Component: cli
2017-06-14 02:48:46 +00:00
c564ad3f69 Add support for metrics plugins
Allows for a plugin type that can be used to scrape metrics.
This is useful because metrics are not neccessarily at a standard
location... `--metrics-addr` must be set, and must currently be a TCP
socket.
Even if metrics are done via a unix socket, there's no guarentee where
the socket may be located on the system, making bind-mounting such a
socket into a container difficult (and racey, failure-prone on daemon
restart).

Metrics plugins side-step this issue by always listening on a unix
socket and then bind-mounting that into a known path in the plugin
container.

Note there has been similar work in the past (and ultimately punted at
the time) for consistent access to the Docker API from within a
container.

Why not add metrics to the Docker API and just provide a plugin with
access to the Docker API? Certainly this can be useful, but gives a lot
of control/access to a plugin that may only need the metrics. We can
look at supporting API plugins separately for this reason.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: d8e04f68d3
Component: cli
2017-06-02 00:11:05 +00:00
e81f095ee1 fix typo in plugins_logging.md
Signed-off-by: Michael Friis <friism@gmail.com>
Upstream-commit: 542af38ce5
Component: cli
2017-06-02 00:11:04 +00:00
ea8bb1038b fix errors in config
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>
Upstream-commit: 852a861b8e
Component: cli
2017-06-02 00:11:04 +00:00
adb2595ded Update legacy_plugins.md to include HBM authz plugin
Signed-off-by: Julien Kassar <github@kassisol.com>
Upstream-commit: ba5a2dc787
Component: cli
2017-06-02 00:11:04 +00:00
3dc1ae6e35 Let graphdrivers declare diff stream fidelity
This allows graphdrivers to declare that they can reproduce the original
diff stream for a layer. If they do so, the layer store will not use
tar-split processing, but will still verify the digest on layer export.
This makes it easier to experiment with non-default diff formats.

Signed-off-by: Alfred Landrum <alfred.landrum@docker.com>
Upstream-commit: 4b8712eacb
Component: cli
2017-06-02 00:11:02 +00:00
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