Managing my DNS with Pulumi

David Flanagan David Flanagan
Managing my DNS with Pulumi

Managing DNS records efficiently is crucial for anyone who owns multiple domains. Whether you’re handling infrastructure for a business, securing brand assets, or just keeping personal projects organized, having a structured approach to DNS management can save time and prevent headaches.

With Pulumi, you can automate DNS configuration, ensure consistency across providers, and make changes programmatically—reducing manual work and human error. In this post, we’ll walk through how to use Pulumi to manage DNS records dynamically and effectively.

Read more →

Announcing v5.0.0 of the Pulumi AWS Provider

Paul Stack Paul Stack
Announcing v5.0.0 of the Pulumi AWS Provider

We are excited to announce v5.0.0 of the Pulumi AWS provider. The AWS provider is one of the most heavily used providers across the Pulumi ecosystem, and offers access to the full surface area of the upstream Terraform AWS Provider from within Pulumi projects in all supported Pulumi languages. The v5.0.0 release brings a substantial set of fixes and improvements to the provider, including a number of breaking changes as part of the major version release.

Read more →

How we manage GitHub at Pulumi with Pulumi

Guinevere Saenger Guinevere Saenger
How we manage GitHub at Pulumi with Pulumi

We recently updated this article to reflect that parentTeamId of the Team resource accepts a string instead of an int since v5.9.1 of the Pulumi Github package.

Ah, GitHub. The home of all developers. The place where we share code. The world’s most awkward social media site. The secret LinkedIn for techies. The tool we use for company org structure, work planning, code ownership, and permissions…

Wait.

That’s quite a lot.

GitHub is good at many things, but a full-on organization management tool it is not.

Have you ever needed your manager to manually enable admin permission on a repo for you? Or have you needed to page the CEO to add you to a team, because your manager was out that day? Have you ever wondered who is on what team? Or which team owns a repo? What if you change teams, or a team changes names? A reorg happens, and the “platform-integrations” team is no more, but we still need to call it that on GitHub because it is the team with all the repository accesses?

When I joined Pulumi in 2021, all of the above happened to me within my first few weeks.

We at Pulumi wanted to reduce this kind of management friction, and we decided to solve it the Pulumi way: with declarative infrastructure using the Pulumi GitHub provider.

Read more →

Pulumi Release Notes: Pulumi Import Improvements, RetainOnDelete as a resource option, and more!

Meagan Cojocar Meagan Cojocar
Pulumi Release Notes: Pulumi Import Improvements, RetainOnDelete as a resource option, and more!

The team has been busy releasing new features and improvements in the last 3 weeks. Read on to learn about what’s new in this release!

Read more →

Hierarchical Config: The Interim Solution

David Flanagan David Flanagan
Hierarchical Config: The Interim Solution

A really common question that we receive on the Pulumi team is, “How can we set config at a project level, that can be used across all stacks?”.

When I say “really common” … I mean really, really common.

This issue was first open in 2018 and has received 52 votes from the community. Not only that, we’ve had plenty of similar issues created over the years too.

This is clearly a feature that our community has asked for! We’re happy to say that we delivered the first part of our plans to support hierarchical config in early November 2022. While we believe this new functionality satisfies most customer requests, below are some other approaches you can also use.

Read more →

Easier IaC adoption with improved `pulumi import` experience

Fraser Waters Fraser Waters David Flanagan David Flanagan
Easier IaC adoption with improved `pulumi import` experience

Last year, we introduced a new Pulumi feature that allows you to import existing infrastructure into your Pulumi program. Not only did it bring the resource into the Pulumi state file, but it could generate the source code for your Pulumi program too. Today, we’re excited to announce that we’ve listened to feedback and delivered a plethora of updates and fixes to streamline the import experience; to make it more useful, more convenient, and more powerful.

Read more →

Deploy MERN Stack on DigitalOcean with Pulumi [Guide]

Christian Nunciato Christian Nunciato
Deploy MERN Stack on DigitalOcean with Pulumi [Guide]

As a developer, I get lots of ideas for web apps—little things, mostly: nifty ways to keep track of my kids’ allowances, habit trackers, shopping lists. Most of them, however, never see the light of day, and not just because I’m lazy; I also tend to get hung up trying to decide what to use for the technology stack.

Read more →

Upgrade Strategies: An Introduction for IaC

Laura Santamaria Laura Santamaria
Upgrade Strategies: An Introduction for IaC

When you’re working with infrastructure, you’re inevitably going to need to upgrade or update that infrastructure. Whether it’s an operating system update or a desire to get CPU or memory upgrades, you will need the ability to pick resources and change them as necessary. In the past, this kind of upgrade would be done on the basis of individual resources, with each one being updated and checked either by hand or programmatically before moving onto the next resource. If you’ve ever done a database migration or if you ever did the recommended way of upgrading your computer’s operating system including all of the backup steps, you’re familiar with this process. Stand up the new resource. Check everything works. Move over the data. Check again. Tear down the old infrastructure. In a cloud computing environment, though, you’re often dealing with hundreds or thousands of resources, and doing one-by-one replacement is a nightmare that takes ages. However, there are other options, many borrowed from the application deployment world, that we have available to us because we write infrastructure as code.

Read more →