Hi Pulumi team/community! We’re working on bringin...
# getting-started
f
Hi Pulumi team/community! We’re working on bringing full IaC support to our SaaS platform, DevRev — a product-led startup focused on connecting developers and customers. We’ve been experimenting/PoC'ing with dynamic providers, and are now looking to move toward building native providers using the Pulumi Provider SDK (Go). Context & Use Cases We're aiming to support both: • Internal teams managing infrastructure via code (with full versioning, preview, rollback, etc.) • External customers using IaC indirectly to replicate and sandbox configurations between orgs (e.g. prod → staging) Questions we’re trying to answer: 1. OpenAPI support – We have an OpenAPI spec. Can provider code/schemas be generated from it (e.g. via
pulschema
)? How mature is that workflow? 2. YAML support – What’s the best way to allow users to define config in YAML and feed it into native providers/components? 3. Rollback capabilities – If a configuration fails or introduces issues, what built-in mechanisms (or patterns) exist for rolling back to a previous state? 4. Dynamic schemas – Our platform’s schemas are sometimes returned dynamically at runtime. Can Pulumi native providers support this, or would we need to regenerate the provider each time? 5. Multi-language SDKs – Once we have our packaged provider written in Go, what’s the process to generate and distribute SDKs for different languages? How does this work from the standpoint of publishing/distributing to end users (e.g. via npm, PyPI, etc.)? Any advice, resources, or war stories would be hugely appreciated. Thanks in advance!
c
Hello @flat-battery-22309 👋, I am the maintainer for
pulschema
and
pulumi-provider-framework
. What would you like to know about generating a provider using OpenAPI for your product? In my opinion, the workflow is mature. If there's something missing, I'd be happy to collaborate with your team to add it. For your OpenAPI spec, I've drafted a conformance doc to help you get the best results for a provider generated from your API spec: https://github.com/cloudy-sky-software/cloud-provider-api-conformance