Skip to content

Show HN: Unobin compiles Infrastructure as Code to one binary

cloudboss.co
20 pointsjoseph4 comments
On HN

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).

Comments

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.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.