Before You Begin
Before you get started using Pulumi, let’s run through a few quick steps to ensure your environment is set up correctly.
Install Pulumi on macOS through Homebrew:
$ brew install pulumi/tap/pulumi
Install Pulumi on Linux by running the installation script:
$ curl -fsSL https://get.pulumi.com | sh
Install Pulumi on Windows using elevated permissions through the Chocolatey package manager:
> choco install pulumi
For alternative installation instructions (e.g. script-based installation, binaries, etc.) or troubleshooting, see Download and Install.
Next, install the required language runtime, if you have not already.
Install Language Runtime
Choose Your Language
If you're having trouble setting up Node.js up on your machine, see Installing Node.js via Package Manager for alternative installation options.
Install Python version 3.7 or later. To reduce potential issues with setting up your Python environment on Windows or macOS, you should install Python through the official Python installer.
pip is required to install dependencies. If you installed Python from source, with an installer from
python.org, or via Homebrew you should
pip. If Python is installed using your OS package manager, you may have to install
pip separately, see
Installing pip/setuptools/wheel with Linux Package Managers. For example, on Debian/Ubuntu you must run
sudo apt install python3-venv python3-pip.
If you're having trouble setting up Python on your machine, see Python 3 Installation & Setup Guide for detailed installation instructions on various operating systems and distributions.
Pulumi requires a supported version of Go— this typically refers to the two most recent minor releases. If
you're using Linux, your distribution may not provide an up to date version of the Go compiler. To check what version of Go you have installed, use:
Install .NET SDK.
Pulumi will need the
dotnet executable in order to build and run your Pulumi .NET application. Ensure that the
dotnet executable can be found
on your path after installation.
Install Java 11 or later and Apache Maven 3.6.1 or later.
Pulumi will need the
mvn executables in order to build and run your Pulumi Java application. Ensure that these
executables can be found on your path after installation.
Finally, configure Pulumi with Google Cloud.
Configure Pulumi to access your Google Cloud account
Pulumi requires cloud credentials to manage and provision resources. You must use an IAM user or service account that has Programmatic access with rights to deploy and manage your Google Cloud resources.
In this guide, you will need an IAM user account with permissions that can create and populate a Cloud Storage bucket, such as those in the predefined Storage Admin (
roles/storage.admin) or the Storage Legacy Bucket Owner (
When developing locally, we recommend that you install the Google Cloud SDK and then authorize access with a user
account. Next, Pulumi requires default application credentials to interact with your Google Cloud
resources, so run
auth application-default login command to obtain those credentials:
$ gcloud auth application-default login
To configure Pulumi to interact with your Google Cloud project, set it with the
pulumi config command using the project’s ID:
$ pulumi config set gcp:project your-gcp-project-id
You may also set your GCP Project via environment variable (listed in order of precedence):
$ export GOOGLE_PROJECT=your-gcp-project-id
For additional information on setting and using Google Cloud credentials, see Google Cloud Setup.
Next, you’ll create a new Pulumi project.