# Terrascope https://github.com/spilliams/terrascope Currently a kitchen-sink of terraform tools But it could be: - a build orchestrator for Terraform monorepos of extreme scale - a powerful visualization tool - an interactive UI for working with Terraform configurations - a [[Dynamicland-RealtalkOS|dynamic environment]] of cloud infrastructure - a test-coverage computer with a framework like [terratest](https://terratest.gruntwork.io/) I have a (private) GitHub Project tracking the things I want to do with it [here](https://github.com/users/spilliams/projects/1). ## UI The frontend handles the display of nodes and edges. It guides the user through edits using modals and forms. The frontend fetches state data from the backend. I suppose it uses a cache, which gets stale / invalid. The frontend pushes graph data and command invocations to the backend. It would be great to have a stream of the terraform logs too. Quick aside: this couldn't be deployed as an obsidian plugin, could it? Translate Canvas blocks into terraform? Ok whoops another side thought: Say we have an architecture where one root provisions a resource and another root provisions a data block with the same id. Can the model detect that as an implicit dependency, and run those roots in the proper order? Can it only do so after the first apply? As in, would it have to use the `id` as known by terraform's state model (the thing we use during `import`) or could the model somehow detect what the id _would be_ before apply? (Sometimes no, sometimes the ID is a UUID generated at apply-time by the backend, not even the provider can know it). After the first apply it could highlight the implicitness to the user.