feature: on demand docker environments
Adds support for on demand Docker images. Open for discussion
open todo's
- [x] add fallback to
condaenvironment when executing locally with--environment docker - [x] add support for imagebakery endpoint auth
- [x] cache bakery image tags locally to avoid environment drift with consecutive deployments when using loosely pinned versions
python for.py --environment=docker run without @kubernetes immediately returns an error that Image Bakery is not configured. Perhaps it shouldn't throw the error?
the changes allow an extension to implement
def conda_supported_virtual_envs():
return ["docker"]
in org_ext/config/mfextinit_org_ext.py
to support --environment docker for @pypi and @conda
also possible to fallback to a Conda environment for steps that can not be handled by another env implementation:
def init_environment(self, echo):
self.delegate = CondaEnvironment(self.flow)
...
if self.steps_to_delegate:
self.delegate.validate_environment(echo, self.datastore_type)
self.delegate.init_environment(echo, self.steps_to_delegate) # skips steps that were already handled.
closing this in favour of developing the feature as an extension now that #1902 has been merged.