Welcome to the second development log for the WASM/Rust support for Pulumi! This week, I focused on key improvements related to module generation, cloud provider support, and CI optimization. Here's what's new:
Module filtering
Compiling large cloud providers like AWS can be time-consuming and resource-intensive. For example, building the entire AWS provider can take over 10 minutes and use 10GB of RAM. This is often unnecessary since most users only need specific functionality.
To address this, I’ve added module filtering support. Now, you can use the new generate_with_filter
function to generate only the modules you need.
Example Use Case
If your project only uses AWS S3, you can specify just the s3
module to dramatically reduce compilation time and memory usage.
generate_with_filter("aws", "6.66.2", &["s3"]);
This feature saves time and reduces resource usage, and improves efficiency during development.
AWS/Azure/GCP Classic
I’m excited to announce that the three largest cloud providers — AWS, Azure, and GCP — are now officially supported and tested. A subset of their APIs is available for preview in the documentation:
When using these providers, I recommend using the module filtering mentioned earlier to customize your build to include only what you need.
CI
To ensure stability and reliability, I’ve made significant improvements to the CI pipeline. Previously, all integration tests ran in a single CI job, which slowed feedback. Now, each provider is tested in its own dedicated job which reduces CI time significantly.
Thank you for following along with this journey! If you’re interested in contributing or trying it out, check out the main and example repositories for more details. Your feedback is invaluable — feel free to open an issue or share your thoughts!
Top comments (0)