Subject: [ansible-project] Transible - convert your current cloud state to Ansible playbooks


Hi, all

I'd like to present you a new tool I wrote recently, although it's under
heavy development, but it can be already used and can be helpful in some of
your DevOps/CloudOps tasks. I'd appreciate any feedback on it.

Transible [1] (TRansformANSIBLE) - converts existing cloud state to ansible
playbooks.
It's a tool that takes your current cloud resources and represents them as
Ansible playbooks. Running these playbooks you *ideally* will get no
"changed" tasks and the same cloud configuration. Currently Openstack cloud
is supported.

Currently, it works with Openstack servers, security rules, security
groups, images, volumes, servers, routers, networks, subnets, users,
domains and projects which your cloud includes and defines their config as
tasks in Ansible playbooks that are ready for deployment. By running these
playbooks you actually can deploy or redeploy your current cloud.

What are the possible use cases?

1. Freezing cloud config for further IaaC management
   If you have a ton of deployed resources and lost your tracking, better
to start to manage them according to Infrastructure as Code principles.
Creating a configuration of everything you have now allows you to change,
delete, add things now via code.
2. Keeping current cloud configuration
   Sometimes it's required to have a "snapshot" of mandatory resources on
the cloud and keep them the same no matter what happens in the cloud, like
heavy testing for example. Running these playbooks will ensure you have all
you need in the cloud in the required configuration.
3. Moving current infrastructure to another tenant, cloud, provider,
whatever
   If you move to another provider but want to keep all you need and as
it's configured right now, you can create playbooks with Transible and use
them in the new cloud or provider.
4. In the future, I plan to add translation from one cloud configuration to
another and it may help with releasing from vendor lock. Of course, because
of various clouds' differences, it'll be limited.

Can you come up with more?

More details about the tool and how it can be configured for various use
cases you can read in my longer article on Medium [2] or Dev.to [3].
I'd appreciate your feedback here or in issues of Transible project. [4]

Thanks

[1] https://github.com/sshnaidm/transible
[2]
https://medium.com/@einarum/https-medium-com-einarum-transible-represents-cloud-configuration-as-ansible-playbooks-a75b067105a7
[3]
https://dev.to/sshnaidm/transible-represents-cloud-configuration-as-ansible-playbooks-42dm
[4] https://github.com/sshnaidm/transible/issues

--
Best regards
Sagi Shnaidman

--