I finally started automating some or my bash functions and scripts with Ansible. I have found chezmoi to be an incredible tool to manage your dot files, but it isn't made to really manage files outside your home directory and run scripts. While you can still do it their FAQ recommends against it, and it becomes semi-obvious why.
I've worked with Ansible in the past both professionally and in my free time. I found it to be incredibly useful, but I have been burned many times by poor playbooks, documentation, etc.
Running a bunch of plays in Ansible can feel like you're submitting a job to a CI server. If you're used to running them in scripts, you'll notice that what used to take a second or two may now take 15 or 20 seconds.
The thing that also baffled me is how slow it can be, especially running modules on localhost. File operations where you may want to delete some temporary paths is insane how much slower it is then a simple shell script.
chezmoi is different though. It is pretty much instantaneous. What is even more incredible is that with templates, includes and more, there is no noticeable slow down.
Having used Hugo as a SSG and creating Helm charts, I got used to using Go Templates. While I am not a huge fan of Go templating, the functions seem equally as powerful as Ansible, even more so because it is fast.
Which brings me to the point of all this, why has no one replaced Ansible with a Go-based tool? Sort of like a hybrid between Ansible and chezmoi.
Are people just using CI now for automation and if so what can you recommend that is lightweight?
I made a career out of shell scripting and learned most automation scripts are not written with the rigor other software is. Most shell scripts written by my peers would not pass a legitimate code review. Things like input validation, error handling and such are not typically considered by sysadmins writing automation scripts.
Tools like Ansible have these patterns built-in already, for the most part.