Q1 2023 Updates And Announcements
Our last announcement was back in January when we announced the launch of a new Pulumi provider for Render. Well, it's time for another round of announcements!
Desktop App For Pulumi
Deskypus is a desktop application for Pulumi users who are looking to streamline their local development. Especially if you are using a self-managed backend for your Pulumi state and have to deal with multiple backend URLs! Deskypus gives you that missing UI so you can view all the details about your projects. Or if you working on multiple Pulumi projects, you might find yourself opening multiple terminal tabs to run various pulumi
CLI commands to learn more about the projects.
But this is not a new app! This is the app's first minor version bump and it's because we believe in its purpose. For more than a year the app has been used under various situations. We've more recently added support for WSL too!
There are many more features in the app and I highly recommend checking out the dedicated website for the app to learn all about them.
Deep-linking Pulumi Console
Deeplink is finally available for Chrome and Firefox from their respective web stores.
Deeplink allows you to browse your stacks page on Pulumi Console as you normally would but with the added benefit of opening the project locally so you can work on any infrastructure project in your organization. Of course, you need to have access to the git repo where the project's source is hosted.
Native Pulumi Providers
Buried in our January announcement was another announcement about pulschema
. It's an open-source library for building Pulumi providers from OpenAPI specs. It's seriously a game-changer for building native providers for Pulumi. To refresh your memory, native providers are crucial for staying as close as possible to the cloud provider REST API, provided the API is kept up-to-date, of course.
With that said, we are happy to announce two more providers. Scaleway Instances and Tailscale. Both of these are based on their respective public REST APIs.
Scaleway Instances
Scaleway is a leading cloud provider in Europe. To quote them directly:
Build, deploy and scale applications on Europe's most complete cloud ecosystem.
This provider specifically covers Scaleway's instances API. There are 24 different API groups in total! And this is just one of them.
Note that Pulumi's registry has had a Scaleway provider based on the upstream Terraform provider.
Tailscale
If you haven't already heard about Tailscale, here's a direct quote from them:
Tailscale connects your team's devices and development environments for easy access to remote resources.
Implementing the native provider for Tailscale was quite interesting. There wasn't an OpenAPI spec to use. It's documented in their repo in a markdown file. So having the API spec was a necessity and as timely as it was Microsoft's TypeSpec (formerly known as CADL) was great for this purpose. It was also the perfect opportunity to take TypeSpec for a spin! You can checkout the API implementation in TypeSpec in the api
folder of the repo.
Why these providers?
You might be wondering about the usefulness of the native version of these providers when a TF-bridged provider already exists in both cases. Not only that, both the Scaleway Terraform provider and the Tailscale Terraform provider are owned by the respective organizations themselves. A rarity in this space!
Native providers give Pulumi users an API-first experience rather than consuming a provider that was originally written for TF. There isn't anything wrong with using a TF-bridged provider but there may be situations where it's preferable to use a native provider that doesn't hit issues with the Terraform-specific implementation. Issues are easier to fix as well as a Pulumi-focused customization can be applied more easily.
The other purpose for these providers is that they also serve as a proving ground for pulschema
and pulumi-provider-framework
. pulumi-provider-framework
provides all of the heavy-lifting for REST API-based providers and delegates only what is necessary down to the provider implementation; it's also closed-source right now.
Closing Thoughts
It's been a wild Q1 and for Q2 we are planning to keep pushing the native provider train. We hope you'll find something in these announcements that will help you with your cloud infrastructure journey in some way.
By the way, don't forget that you can hire us to help you! :)