-
Notifications
You must be signed in to change notification settings - Fork 18.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plugins: experimental support for new plugin management #23446
Conversation
This sounds great. This seems like the general solution to the kind of thing I was hoping for when I wrote my thoughts on a generic logging driver that would let you specify the image to use for custom logging. My particular use case was to add Kafka logging support without having to wait for an official driver. Is that the right kind of use case this PR can help with? That would be awesome. |
@subfuzion I don't think this adds support for new type of plugins (yet), so no logging-driver plugins yet |
When denying the initial install, subsequent installs fail;
Logs are below; note that my "deny permissions" does not show up in the logs,
Doing remove, followed by install does not resolve this;
It looks like removing the plugin doesn't work in that case:
|
Looks like CI is failing; https://jenkins.dockerproject.org/job/Docker-PRs-experimental/19809/console
https://jenkins.dockerproject.org/job/Docker-PRs/28607/console
|
"Type": "host" | ||
}, | ||
"Capabilities": null, | ||
"Mounts": [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should reconcile this with moby/swarmkit#918 and #22373
384441c
to
bab6240
Compare
1d854ed
to
8e7bc6d
Compare
1401282
to
2cc6c47
Compare
Super long read! But couldn't find anything that poped out, since this is going into experimental, LGTM (IANAM). |
LGTM |
We need to remove those docs, as the feature is experimental. @tiborvass Can we please gather them in a single document under the |
e866f44
to
f371170
Compare
Signed-off-by: Tibor Vass <tibor@docker.com>
This patch introduces a new experimental engine-level plugin management with a new API and command line. Plugins can be distributed via a Docker registry, and their lifecycle is managed by the engine. This makes plugins a first-class construct. For more background, have a look at issue moby#20363. Documentation is in a separate commit. If you want to understand how the new plugin system works, you can start by reading the documentation. Note: backwards compatibility with existing plugins is maintained, albeit they won't benefit from the advantages of the new system. Signed-off-by: Tibor Vass <tibor@docker.com> Signed-off-by: Anusha Ragunathan <anusha@docker.com>
@tiborvass @icecrime you can also add an
meta header; we added an option to the template to show a "this is an experimental feature" warning |
I think it's better to do as usual and have it in a single page under |
@thaJeztah : experimental advisory can be added to plugin docs. but the "support for advisory" PR is in docker/docs-base-1.12-integration. Do you know when it'll be merged to docker/docker? |
@anusha-ragunathan is see there was a PR to do that but closed, https://github.com/docker/docs-base/pull/263, perhaps the 1.12-docs-base is going to be used, let me check |
8dd36f4
to
e85ed69
Compare
docs LGTM (for the RC) |
e85ed69
to
e79873c
Compare
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
type Errors []error | ||
|
||
func (errs Errors) Error() string { | ||
if len(errs) < 1 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: strings.Join()
for this so you are not going from string to byte to string,etc
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will fix in followup
hi @thaJeztah and @tiborvass where can I found the documentation about this ? |
@thaJeztah I'm not sure how I should handle experimental features in bash completion. If I do a default build from the sources, I will get no experimental features. Having them supported in the completion would mean an inconsistency. My current policy is to ignore experimental features in bash completion. WDYT? |
@albers yes, I think we should indeed ignore the completion for now |
@thaJeztah yeah, I think maintaining two variants would not be adequate. Thanks for confirming. |
Fixes #20363
NOTE: this PR modifies vendor and the vendor check is expected to fail. Once we agree on design we'll do the proper vendoring.
This patch introduces a new experimental engine-level plugin management
with a new API and command line. Plugins can be distributed via a Docker registry,
and their lifecycle is managed by the engine.
This makes plugins a first-class construct.
For more background, have a look at issue #20363.
Documentation is in a separate commit. If you want to understand how the new plugin
system works, you can start by reading the documentation.
Note: backwards compatibility with existing plugins is maintained, albeit they won't
benefit from the advantages of the new system.