Is there a framework for automating tasks on a development environment (which involves interacting with cloud services).
For example, lets say I use rsync and to automate backups and various things using my various cloud accounts, how free am I to customize and automate everything?
For example, lets say I use a password manager like keepassx, can I integrate this so rsync can extract things (like usernames/passwords, SSH keys, codes, files etc.) that are stored in there? What about encryption tools like truecrypt?
Am I free to run any custom bash script or python script for example at any time? Can I use this tool to automate things like vagrant, docker, Amazon EC2, Amazon AWS?
The biggest concern I have is making this too cross platform. I switch between Windows and Linux and unfortunately writing batch scripts is a pain in the ass with cygwin, so I would much prefer to write scripts in a cross platform language. Sorry if this post is loaded with questions, I just see how incredibly useful this would be if it works.
The tool will have features that enable 2-way communications between cloud and local development environment. For eample, there may be situations where new SSH certificates where added, or data file containing parameters which instructs the cloud system to add some new environment variables to the linux development environment (or update the registry for Windows)
For web development side of this tool, I need this tool to do things like:
- git pushes and pulls
- backup MySQL databases
Additionally, I need the tool to be able to help in provisioning VMs. So for example, I create a LAMP server VM with vagrant and need to transfer my SSH keys tothe Vagrant VM or docker container, the tool could get the SSH keys from the secure password manager, then use the passwords and instructions to share files between the host and the VM.
I realise theres a whole lot to this, I know I can do this by myself but I don't want to spend God knows how long reinventing the wheel (I made that mistake way too many times). I'm hoping some people here can fill me in on tools that can be integrated as modules into this program.
EDIT: I found a really good starting point, its a program called MultiCloud:
I read about it here. Sounds very promising. Its got the storage sync side of things covered thats for sure. It has WebDAV support. I only came across the term today but from what I read, this might be useful for situations where the cloud storage system needs to make changes to the development environment, i.e. add new environment paramters?