For hosted agents only, a Terraform provider probably makes sense.
The reason I didn’t start there is that Kastor has two paths:
1 - build: compile the spec into framework code, e.g. LangGraph
2 - plan/apply for agents hosted on platforms
Terraform is great for the second path, but awkward as the primary tool for the first one. I want the same agent spec to be able to produce code or manage a remote agent.
So I can imagine a Terraform provider being one target later, but I don’t think Terraform itself is the right tool/place for the whole thing.
Im wondering if you can expand it using TLA+ some how. I like the declarative language that compiles down to langgraph idea. Langgraph or hamilton/burr are two strong contenders for state machines. Maybe mix dbos or Temporal in there and you could almost have something to full declare the whole system
The codegen side is target-agnostic on purpose, LangGraph is just the first target. Burr (thanks for educating about that piece of tech) could be a good N-one, its state/transition model maps onto the spec real pretty.
Vercel's eve made a similar bet btw (files as source of truth, durable execution built in), except it's a runtime with its own platform underneath. With Kastor I want to stay one layer above and emit code for whatever runtime you pick.
Anyways, would love any kind of help to shape the direction, repo discussions and codebase is open :)
UPD: Looked into burr from dagworks deeper, it's actually a good target to support the codegen for, will investigate today and add into the scope of upcoming things.
For hosted agents only, a Terraform provider probably makes sense.
The reason I didn’t start there is that Kastor has two paths:
1 - build: compile the spec into framework code, e.g. LangGraph
2 - plan/apply for agents hosted on platforms
Terraform is great for the second path, but awkward as the primary tool for the first one. I want the same agent spec to be able to produce code or manage a remote agent.
So I can imagine a Terraform provider being one target later, but I don’t think Terraform itself is the right tool/place for the whole thing.