We use terraform for everything, so it's generally preferable. But more than that, it solves a lot of problems that a custom-built CLI wouldn't have. For example:
⢠Centralized state management
⢠The ability to plan to see changes before they're applied
⢠Github pull request integration
⢠Atlantis monitoring and management
⢠Native IDE support
⢠Ability to create modules
⢠Pull parameters from different secure mechanisms
I'm sure there are more that I'm forgetting. Plus it creates a single tool for managing all the infrastructure, from the EC2 instance to the connectors installed to the configuration deployed. Right now the CLI is awful trying to keep things in sync, etc. Even with the bugs fixed, we'd have to re-create all of the above around a different tool.
This also doesn't cover the fact that we want to only control the platform through automation. We need RBAC so that we can have automation users only able to make changes, with regular users only able to view and trigger jobs.