lithops-cloud / lithops

A multi-cloud framework for big data analytics and embarrassingly parallel jobs, that provides an universal API for building parallel applications in the cloud ☁️🚀
http://lithops.cloud
Apache License 2.0
317 stars 105 forks source link

Load runtime data only on invocation #919

Closed JosepSampe closed 2 years ago

JosepSampe commented 2 years ago

Kubernetes backends (kubernetes, code_engine and knative) needs docker installed in the local machine to build the default runtime if no runtime is provided in config. In this sense, all these backends (config.py files) contains a block of logic that checks whether docker is installed or not. This is a limitation when using the lithops cli, since for almost all the lithops cli commands it is not needed to check whether docker is installed or not.

This patch moves the logic that checks if docker is installed within a method that it only called during the invocation.

Developer's Certificate of Origin 1.1

   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.