-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
docker cli experimental flag for plugins #1897
Comments
After going over feedback from implementation PR, I'm putting some constraints on this change request to help with the flow of developers installing and cli plugins... Requirements:
Implementation:
In this way, a user of docker-ce can install a |
Talked through some of the implementation steps with @tiborvass and having a scan of directories seem the way to go for keeping binaries separate. So, if the client config
If the client config
|
Is the |
Also, in the steps above, it seems that the |
Some quick blurbs from discussions I had; A. Separate directories for experimental plugins:
B. Using a
|
E. Don't change anything. Let distributions ship what they want.
Distributors are responsible of what they provide to end users. They manage the changelog and have the responsability to ship something that work and to support it for 2 years. Let them do their work. |
@mat007 @gtardif A user installing a plugin themselves is already an act of opting in, they shouldn't need to enable experimental on top of it, bringing in a whole bunch of new commands they didn't ask for. For this same reason, I'm fine with having just one agreed-upon directory for experimental instead of doubling the number of directories, including user directories.
Whatever package managers do today. And they do remove binaries they installed. Even if you've overwritten them. And I'm fine not considering the case where people put things in system paths.
Currently, the non-experimental takes precedence over experimental.
This is what I don't quite understand. Isn't it just putting things in a different directory for now and when things graduate from experimental, adding a "remove binary from experimental folder" line? |
I think the complication (or at least: additional work) is that docker desktop creates symlinks for all plugins. In case of version-packs, different versions would have a different set of plugins (or same plugins but either experimental or non-experimental). I don't have insight in the amount of additional work required though |
Agree with @guillaumerose on letting distros ship what they want. I just hope they don't want to support plugins that aren't ready. My personal favorite option would be to not ship any plugins and let users download them easily, documented via docs. But I guess that ship has sailed. |
Upon @ijc's request I changed precedence to:
|
For the packaging side of things, to get docker-ce and docker desktop managing cli plugins as experimental, it has become more clear that #1898 seems like the fastest path to ground. I'll open a separate issue to track proper treatment of lifecycle management of docker cli plugins which is the thing that we want to really get to for installing cli plugins, update cli plugins and have plugin authors promote to GA. |
change request for docker cli plugin lifecycle management #1904 |
Change request...
Have the docker cli experimental flag in
~/.docker/config.json
:Control whether experimental docker cli plugins are enabled.
This would imply a need for plugins to be marked as experimental if desired.
Related: #1564
The text was updated successfully, but these errors were encountered: