AWS Infrastructure as React JSX: Terraform Generation via Component Syntax
Description
A product landing page screenshot for a tool branded 'Infrastructure as Code, Reimagined' that lets users write AWS infrastructure definitions using React JSX with Tailwind-inspired className syntax and generates production-ready Terraform. The dark-themed page features the headline 'AWS infrastructure as <React/>' with React in green and the closing tag in orange. Below are 'Open Studio' (orange button) and 'View on GitHub' buttons. A code editor shows a file 'infrastructure.jsx' with status 'Ready to deploy', containing JSX components like <Infrastructure>, <VPC className="cidr-10.0.0.0/16 region-us-east-1">, <RDS className="engine-postgres multi-az" />, <Fargate className="mem-2gb cpu-1 port-8080" />, and <Lambda className="runtime-nodejs22" />. Output shows generated Terraform files: main.tf, variables.tf, outputs.tf, backend.tf
Comments
31Comment deleted
Finally, frontend developers can provision infrastructure without learning anything new -- just slap className on it and pray the Terraform plan doesn't have 47 resources to destroy
PH-ahhh color scheme Comment deleted
Because we, eh, LOVE to work with infra! Comment deleted
no. in aws you don't love to work with infra. infra loves to work you;) Comment deleted
https://www.react2aws.xyz/ Comment deleted
I have strong flashbacks of XML-like CloudFormation notation Comment deleted
Precisely Comment deleted
<Comment mode="well-actually"> An entire infrastructure cannot, in general, be correctly modeled as a rooted ordered directed tree; it is more accurately represented as a directed acyclic graph (DAG). </Comment> Comment deleted
i see you're using xml not in the spirit of the spec, that would be <comment mode="well-actually"> thank you very much Comment deleted
Rewritten in jsx👌 Thanks for review! Comment deleted
jsx would imply there's js, this is just x(ml) Comment deleted
Based Comment deleted
You have ids to link to other nodes Comment deleted
exactly so you end up with plain resources list linked with ids, which isn't that nice https://t.me/dev_meme/7663?comment=186254 Comment deleted
It's a solved problem if you have an editor made in this century and has "highlight occurrences" function and/or "go-to next". Also, if you can recreate an HTML page from JSX, you can highlight related nodes on hover/click. Comment deleted
It is solved for json, yaml and even hcl using this-century-made editor, no need to get backward step into xml notation, lmao Comment deleted
HCL sucks, actually. Comment deleted
ur mom tried it once, came back somewhat satisfied idk what else to say here Comment deleted
I see you work for HashiCorp Comment deleted
we can, but for what reason? Comment deleted
you can represent a DAG with a single protobuf string encoded in base64, doesn't make it good DX at all i think people sleep on visual tools, because visual tools all have a million issues and not enough flexibility Comment deleted
so we have weird schemas which try to encode relationship information in a fundamentally linear text format Comment deleted
also fucking directed graphs, i recently finished reading several chapters of a book on graph theory to make this shit Comment deleted
visual tools have only one fundamental issue — they are all visuals Comment deleted
text is also visual if you think about it Comment deleted
isn't that nice, huh? Comment deleted
this is one of these moments that i think that the humanity needs to be hit by a meteorite Comment deleted
• You already know jsx, thus you should know js, which implies you know json • Visual hierarchy - Nested components show relationships at a glance - as long as you're not brainwashed by google and use 4-space-sized indentation in your json (or got your eyes trained for 2 spaces, whatever) • Semantically relevant property names in your config • Instant feedback - because what can possibly be easier to parse by js (which, in turn, will generate the output) than js-fucking-object-notation Comment deleted
Literally XML Comment deleted
it really isn't, but I wanted to have full mental model of the mathematical concept Comment deleted
https://beta.enka.network/endfield/aic/ Comment deleted