Deploy with Pulumi button
The “Deploy with Pulumi” button lets you easily create new Pulumi projects from the browser. You can embed the button in README files within GitHub repositories or gists, blog posts, or other web pages.
For example, select the Deploy button to configure and create a new empty JavaScript project:
Rather than right-clicking the button to recover its image URL, copy the Markdown snippet below and drop it straight into a README, gist, or blog post:
[](https://app.pulumi.com/new?template=https://github.com/pulumi/templates/javascript)
Swap the template query parameter for the URL of your own project template to point the button at your repository instead. See Creating a Pulumi Button below for the full Markdown and HTML forms, plus the complete set of button image variants.
To create a Deploy with Pulumi button:
- Include optional template metadata in your
Pulumi.yaml. - Create a button in Markdown or HTML.
Preparing your Template
The “Deploy with Pulumi” button works with project templates hosted in public or private GitHub repositories or gists.
A template is a Pulumi project that has the required Pulumi.yaml file describing the project. The project template can be in the root of the GitHub repository, or within a subdirectory. Multiple projects can be hosted within subdirectories of a single repository.
A large number of templates are provided by Pulumi in https://github.com/pulumi/examples and https://github.com/pulumi/templates.
To learn more about building your own custom templates, see Custom Templates.
Testing
You can test your template via the Pulumi CLI or a web browser.
CLI
$ pulumi new https://github.com/pulumi/examples/aws-js-s3-folder
Browser
https://app.pulumi.com/new?template=https://github.com/pulumi/examples/aws-js-s3-folder

Creating a Pulumi Button
After you’ve verified your project template works as expected, you can add a button to the README in your repository or gist. You will need to specify a template parameter that points to the project.
Here’s an example in Markdown:
[](https://app.pulumi.com/new?template=https://github.com/pulumi/examples/aws-js-s3-folder)
Or, the equivalent HTML:
<a href="https://app.pulumi.com/new?template=https://github.com/pulumi/examples/aws-js-s3-folder">
<img src="https://www.pulumi.com/images/deploy-with-pulumi/dark.svg" alt="Deploy">
</a>
Use the fully qualified image URL rather than a relative path — a relative path only resolves on pulumi.com and renders as a broken image once the snippet is pasted into a README hosted elsewhere.
Button Image
Pulumi provides both SVG and PNG versions of the button image at the following URLs in both light and dark themes:
Dark Theme
https://pulumi.com/images/deploy-with-pulumi/dark.svghttps://pulumi.com/images/deploy-with-pulumi/dark.png
Light Theme
https://pulumi.com/images/deploy-with-pulumi/light.svghttps://pulumi.com/images/deploy-with-pulumi/light.png
Custom Git Branches
You can use a fully qualified GitHub URL with the template parameter to reference the template at a specific Git branch, tag, or commit:
https://github.com/pulumi/examples/tree/master/aws-js-s3-folder