We from the public cloud dev team regularly upload generic and product images to be available in public cloud systems like Amazon EC2, Google Compute Engine or Microsoft Azure. The task of uploading stuff there is not only about having the tools it's also about having the right environment which provides account credentials as well as access to the image when they are built in the buildservice. Also the location from where the upload happens can make a difference in performance.
Therefore a framework to combine all this into a more clean process should be developed. The basic parts of the project consists of:
- creation of a docker uploader container which has all the tools
- creation of a vagrant uploader configuration which provisions the container and attaches shared volumes for credentials and image pool
- structure definition to store configuration files needed for the various tools on the public cloud internal git repo. The config files contains account information and must not be publicly available
- improve gocloud python tool which implements the sequence of commands to call in order to upload for each CSP
- document the framework setup process
This project is one of its kind!