Babashka and Clojure are a game changer for operations!
If you have used Ansible or Terraform, probably you are familiar with their registries. Using BigConfig, I’ve wrapped these tools (and their config files) into a Clojure repo, allowing me to trigger everything via Babashka tasks. I find this way of sharing Ansible and Terraform artifacts way better than their registries.
• bb tofu for creating my Hetzner machine.
• bb ansible for installing the software I use.
• bb resource combines both tofu and ansible together.
{:deps {io.github.amiorin/walter {:git/sha "eaff6fc2964f6982ba13b88d446ead2999d331e9"}}
:tasks
{:requires ([comp-wf :as comp-wf]
[tool-wf :as tool-wf])
tofu {:doc "bb tofu render tofu:init lock tofu:apply:-auto-approve"
:task (tool-wf/tofu* *command-line-args*)}
ansible {:doc "bb ansible render ansible-playbook:main.yml unlock-any"
:task (tool-wf/ansible* *command-line-args*)}
walter {:doc "bb walter create"
:task (comp-wf/walter* *command-line-args*)}}}
You can read more here: https://bigconfig.it/api/workflow/
The repo is: https://github.com/amiorin/walterLet me share a screenshot so that you don't need to run the Babashka task yourself. It fails because it requires the Hetzner token.
I ike the verb render applied to tofu 🙂
me gusta. I'm doing also a lot of devops stuff with babashka. If you write code with bash man thats tedius 😄