beginners

doojin 2026-03-02T04:18:54.527909Z

If I want to orchestrate docker containers or virtual machines in a simple way, what should I use?

amiorin 2026-03-02T11:08:37.556629Z

Maybe https://bigconfig.it can help here.

doojin 2026-03-02T12:43:57.218999Z

bigconfig looks like a step toward a full clojure orchestration system. Delegating to ansible and terraform doesn't make sense to me.

doojin 2026-03-02T13:11:16.663249Z

Something like gnu guix for IaC in clojure would be cool.

doojin 2026-03-02T13:11:33.776939Z

Gnu guix specifies an entire OS in guile scheme. I prefer doing everything in one language.

doojin 2026-03-02T13:26:57.322509Z

I also don't feel comfortable about using terraform because hashicorp threatened opentofu for forking terraform.

amiorin 2026-03-02T15:10:23.360869Z

@mr.doojin Please share the code of the final solution if you can. I'm curious to see new ideas applied to this problem. I'm replacing Terraform with Terraform/Tofu in the documentation to avoid the misunderstanding that BigConfig works Terraform but not with Opentofu.

doojin 2026-03-02T16:37:37.356829Z

I don't have anything, yet. I just have ideas for now. In the absence of a final solution, your solution may be good enough if you actually prefer terraform and ansible. I know what ansible is. I'm just getting familiar with terraform. I had been away from professional development for 10 years. I'm just getting back. I was thinking about using platform-specific(AWS, GCP, ...) orchestration APIs in clojure and using gnu guix for specifying an OS, but that's already two languages. If I use cloud APIs, then I don't cover on-premise deployment. Kubernetes seems a lot more complex than it can be. I'm just getting to know.

amiorin 2026-03-02T19:46:27.989869Z

Welcome back to professional development. When choosing between the AWS API and Terraform, I recommend Terraform for its declarative power. Think of BigConfig as a workflow engine where each step is simply a function. These functions are highly versatile; they can execute anything from internal logic to subprocesses like OpenTofu. While Kubernetes offers a powerful programmable platform, it’s likely overkill for your initial needs. The ultimate goal of a BigConfig Package is universal portability, it’s essentially a single workflow that uses branching logic to adapt to different destination environments. https://bigconfig.it/use-cases/package/

doojin 2026-03-03T03:50:57.993519Z

I studied file formats and APIs for declarative cloud configuration. If I want to programmatically declare cloud infrastructure in one language, it seems my choice is either self-hosted pulumi server and pulumi java library or (bigconfig) terraform generation in clojure.

doojin 2026-03-03T03:57:15.486039Z

Unless and until I use nixos or gnu guix, ansible is a good choice for declaring OS configuration.

doojin 2026-03-03T04:13:20.447819Z

You don't recommend pulumi?

doojin 2026-03-03T05:32:43.111849Z

After comparing pulumi and terraform, I concluded that generating terraform JSON config in clojure is better. If I don't want to pay pulumi, I have to manage a self-hosted pulumi instance. That's extra burden. I get programmable declarative configuration from either programmatic terraform config or pulumi java API. Pulumi employees said pulumi is declarative. If both pulumi and terraform are declarative, terraform also can be programmatically orchestrated and doesn't require an extra server.

doojin 2026-03-03T05:34:20.478689Z

So, I will be generating terraform and ansible from clojure.

doojin 2026-03-03T05:37:28.647719Z

docker compose may be handy in addition to terraform and ansible if I want to orchestrate working app snapshots. I can also generate docker compose config from clojure?

Harold 2026-03-02T04:33:31.951599Z

probably docker compose

doojin 2026-03-02T04:48:23.087669Z

If docker containers run in one host, docker compose is good enough.

👍 1
doojin 2026-03-02T05:37:56.741589Z

I think there is value in picking small-scale solutions for small businesses.

doojin 2026-03-02T05:38:33.049709Z

If your business is growing, you can always learn the right tools for higher-scale operations on the fly.

doojin 2026-03-02T06:02:59.336269Z

I think docker containers are good for capturing a working snapshot of an application and its operating environment. It might be difficult to reproduce that environment in the future.