Add framework for adding new drivers at runtime, for instance for cloud #2007
Replies: 3 comments 12 replies
-
Having pluggable drivers might be useful, but they should be maintained in separate repos (like Random memory: I think |
Beta Was this translation helpful? Give feedback.
-
A simplified approach, for drivers that are internal to the program but have a lot of dependencies and bloat the binary, is to use the It would not be a solution for random cloud vendor drivers, that would be shipped independent of the Those would need some kind of RPC solution, perhaps wrapped in a framework like https://github.com/hashicorp/go-plugin |
Beta Was this translation helpful? Give feedback.
-
Yes, during the initial driver interface as well the idea was to provide support via external plugin mechanism on future. We should be easily able to expose a external plugin via https://pkg.go.dev/plugin with current code. Will just need driverutil to load the external drivers. |
Beta Was this translation helpful? Give feedback.
-
The
docker-machine
program had a plugin system, so that you could provide new drivers besides the built-in ones.This would be a good option to provide drivers for various proprietary hypervisors and cloud vendors, for instance.
They typically come with a big SDK, that might require certain hardware and large downloads when building.
So it would be nice if those were kept out of the Lima code base, but is still a nice addition to enable them...
https://github.com/machine-drivers/docker.github.io/blob/173d3c65f8e7df2a8c0323594419c18086fc3a30/machine/AVAILABLE_DRIVER_PLUGINS.md
https://github.com/machine-drivers/docker.github.io/blob/173d3c65f8e7df2a8c0323594419c18086fc3a30/machine/DRIVER_SPEC.md
Beta Was this translation helpful? Give feedback.
All reactions