Show HN: Unobin compiles Infrastructure as Code to one binary
4 days ago (cloudboss.co)
Unobin is a language and compiler for Infrastructure as Code (IaC).
IaC source is written and compiled to a binary, called a factory. The factory includes the runtime and all dependencies. To run a factory, pass it a configuration called a stack file that defines backend state and factory inputs. The stack file can only contain configuration, not arbitrary code. Factories can also display a UI in a browser showing progress (animated screenshot in the docs).
This seems absolutely lovely. In my codebase, going back a long way, I built a simple project/company-specific Rust crate called `devops`, which I use to manage all IaC infrastructure building and everything else. And it's been by far and away the best way to manage everything.
I would love to see more frameworks for things like this that are just libraries or similar, so that you can just use normal programs for these sorts of tasks.
I haven't gotten around to it yet, but it's on my TODO list to add an embedded mode so a "factory" can be imported as just another library in a Go program. As of now, it compiles to a standalone binary with the same CLI options as every other factory, so there is a uniform interface.
How does this compare to using Pulumi with golang?
I haven't used Pulumi heavily, but unobin code has its own syntax more similar to terraform that compiles to Go. You can drop into Go for writing libraries however.
[dead]