// the find
poteto/terraform
A simple plug for incrementally transforming an API into Phoenix. Check out the blog post:
A Plug that lets you migrate a legacy HTTP API to Phoenix one endpoint at a time by routing unmatched requests to a fallback proxy you define. Useful when you need to run Phoenix alongside an existing backend rather than doing a big-bang rewrite. The audience is Elixir shops inheriting non-Phoenix services.
The core idea is genuinely useful — strangler-fig migrations are the right way to replace legacy APIs, and having a first-class Plug abstraction for this beats hand-rolling middleware. The DSL stays idiomatic: you write a `Plug.Router` module, so there's nothing new to learn. The library is small enough (single file: `lib/terraform.ex`) that you can read the whole thing before deciding to depend on it.
Dead project — last commit was 2021 and Phoenix compatibility caps at 1.5.x, which is now several major versions behind (Phoenix is at 1.7+). No websocket or LiveView passthrough, so if your legacy backend uses anything other than plain HTTP you're on your own. No connection pooling, timeout configuration, or circuit-breaker primitives in the proxy layer, meaning production use requires you to bolt on reliability yourself. The test suite is minimal and tests only the macro-level wiring, not actual proxy behavior.