5 ms·
Show HN: Unobin compiles Infrastructure as Code to one binary
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).
- tekacs 3mo agoThis 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.
- joseph 3mo agoI 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.
- ilacolombo 3mo ago[dead]
- theIntangible 3mo agoHow does this compare to using Pulumi with golang?
- joseph 3mo agoI 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.