Show HN: OpenAPI to Terraform Provider Code Generation
speakeasyapi.dev10 pointsby ThomasRooney4 comments
1. Filtering out automated beg-bounty outreach from any actual security issues by having some form of LLM responder: ideally having a bit of semi-automated back/forth (e.g. approved with a rich Slack button) to help determine if someone is serious or not (after two years of operating, I'm still at 100% of messages (over 1-2 messages per month per company) to [email protected] being spam; suspect over the mid-term it'll still be 98%+).
2. Filtering out spam where people are accidentally reaching out to the wrong company.
3. Filtering out spam where people are trying to sell us products we're not interested in. E.g. we attend conferences, for every actual conference email we get maybe 5 or 6 trying to sell us attendee email lists.
(would be happy to chat more, if you want to interview a potential customer; if you could really solve these above problems I'd pay you way more than your highest monthly rate on your pricing tier in a heartbeat, ideally scaling per email inbox rather than seat which would be likely be more lucrative for you, and more predictable for me) Metadata: 4KB JSON [0] * ~15 OS/arch combinations * ~50 versions * ~3000 providers = ~10GB in total
Docs: ~700Kb [1] * ~50 versions * ~3000 providers = ~100GB in total
In my mind the analagous behaviour would be if the golang checksum database added in license terms that stated "you need to abide by a BSL to use data from this service". What that actually would mean is so nebulous that it feels threatening. 1. Path Parameters as ES6 Template strings (e.g. `"/v1/apis/{apiID}/api_endpoints"` => `/v1/apis/${props.apiID}/api_endpoints`)
2. Query params into axios parameters
3. Body params as an additional argument to the SDK
It's not perfect, but we've used this to help run our own unit tests (and have a few customers trying it out too)! Happy to answer any questions
Whilst both Stainless and Speakeasy ended up with a very different configuration paradigm, they can generate very similar code once the configuration is migrated from Stainless-form (stainless.yml) to Speakeasy-form (OpenAPI Overlays). This process is not entirely deterministic, but a good few prompts into a coding agent can do the vast bulk of the work.
We've already been working with a few companies to:
Source: I work at Speakeasy.
2. There are a lot of OSS SDK generators -- this one is probably the biggest aggregator https://openapi.tools/categories/sdk-generators