{"repo":"cloudboss/unobin","free":true,"listed":false,"github":"https://github.com/cloudboss/unobin","clone":"git clone https://github.com/cloudboss/unobin.git","description":"IaC Factories in One Binary","language":"Go","stars":16,"topics":["configuration-management","automation","cloud","iac","infrastructure-as-code"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Unobin Unobin means one binary . It's a tool for infrastructure automation inspired by Terraform, Ansible, and others, but unlike those, unobin compiles your code to a standalone binary called a factory. Read the full docs. Quickstart Install unobin: To start a new factory, use the unobin generate factory command. Now you will have a new directory appdeploy (given by -o ) containing a factory.ub file. Edit factory.ub to import libraries and add resources. When you compile, give it a library path with --library-path . This is similar to Go's module-path when running go mod init . It will normally be the git repo where your library will live. In the appdeploy directory, run: Now there will be an executable called ./appdeploy-compiled/appdeploy . You can use it to generate a stack file from the factory's input schema: Edit the generated dev.ub if necessary. Then run plan and apply. A factory cannot apply without first planning. See the examples directory for various example stacks that you can compile and run. Editor support Unobin includes editor support for authoring .ub files: - unobin lsp starts the language server used by editors. It provides diagnostics, formatting, document symbols, definitions, completions, and hover. - unobin lsp --trace trace.json --log server.log records JSON-RPC traffic and server events for debugging. Trace files can include source text. - Emacs support lives in editors/emacs and uses the Tree-sitter grammar plus Eglot registration. - VS Code suppor","default_branch":null,"files":null,"tree":[],"storefront":"/r/cloudboss","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cloudboss/unobin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}