---
title: "YAML and Pulumi"
description: "Tutorials, templates, examples, blog posts, and workshops to help you build and manage your infrastructure with YAML."
url: "https://www.pulumi.com/dev/language/yaml/"
image: "https://www.pulumi.com/assets/og/dev/language/yaml.png"
---

# YAML and Pulumi

Tutorials, templates, examples, blog posts, and workshops to help you build and manage your infrastructure with YAML.

## Tutorials

- [ChatGPT clone with Pulumi ESC managed secrets](https://www.pulumi.com/dev/tutorials/esc-managed-chatapp.md): Use the Pulumi CLI and ESC SDK to manage secrets for a basic OpenAI-based ChatGPT clone. — Python, YAML
- [Github actions with Pulumi ESC managed secrets](https://www.pulumi.com/dev/tutorials/esc-github.md): Use Pulumi ESC and Github Actions to manage secrets. — YAML
- [Importing Infrastructure](https://www.pulumi.com/dev/tutorials/importing-aws-infrastructure.md): Learn how to import existing cloud resources into your Pulumi programs in this tutorial. — AWS · TypeScript, Python, Go, .NET, YAML
- [Importing Infrastructure](https://www.pulumi.com/dev/tutorials/importing-azure-infrastructure.md): Learn how to import existing cloud resources into your Pulumi programs in this tutorial. — Azure · TypeScript, Python, Go, .NET, YAML
- [Importing Infrastructure](https://www.pulumi.com/dev/tutorials/importing-gcp-infrastructure.md): Learn how to import existing cloud resources into your Pulumi programs in this tutorial. — Google Cloud · TypeScript, Python, Go, .NET, YAML
- [Install Helm Charts using the Chart resource](https://www.pulumi.com/dev/tutorials/kubernetes-helm-part-two.md): Learn how to use the `Chart` resource from the Pulumi Kubernetes provider to install Helm charts on Kubernetes. — Kubernetes · TypeScript, Python, Go, .NET, YAML
- [Install Helm Charts using the Release resource](https://www.pulumi.com/dev/tutorials/kubernetes-helm-part-one.md): Learn how to use the `Release` resource from the Pulumi Kubernetes provider to install Helm charts on Kubernetes. — Kubernetes · TypeScript, Python, Go, .NET, YAML
- [Integrate Pulumi with Secret Store CSI Driver in Kubernetes](https://www.pulumi.com/dev/tutorials/esc-secret-store-csi-driver.md): Learn how to integrate the Secret Store CSI Driver with Pulumi ESC to securely manage your secrets in Kubernetes. — Kubernetes · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Integrate with External Secrets Operator (ESO)](https://www.pulumi.com/dev/tutorials/esc-external-secret-operator.md): Pulumi ESC integrates with the External Secrets Operator (ESO) to manage and deliver secrets in Kubernetes clusters. — Kubernetes · TypeScript, Python, Go, YAML
- [Pulumi Fundamentals](https://www.pulumi.com/dev/tutorials/pulumi-fundamentals/): Learn how to use Pulumi to build, configure, and deploy a real-world application. — TypeScript, Python, YAML
- [Secure Kubernetes Application Secrets with Pulumi ESC](https://www.pulumi.com/dev/tutorials/secure-kubernetes-app-secrets-with-esc.md): Securely manage secrets and configurations in a Kubernetes app with Pulumi ESC. — Kubernetes · TypeScript, YAML
- [Managing Configuration and Secrets](https://www.pulumi.com/dev/tutorials/managing-config-and-secrets.md): Learn how to manage plain-text and encrypted configuration values in Pulumi. — TypeScript, Python, Go, .NET, Java, YAML
- [Move Resources Between Stacks](https://www.pulumi.com/dev/tutorials/move-resources-between-stacks.md): Learn how to move resources between stacks or projects. — TypeScript, JavaScript, Python, Go, .NET, YAML
- [Inspecting Infrastructure](https://www.pulumi.com/dev/tutorials/inspecting-infrastructure.md): Learn how to inspect your Pulumi resources in this tutorial. — TypeScript, Python, Go, .NET, Java, YAML
- [Building with Pulumi](https://www.pulumi.com/dev/tutorials/building-with-pulumi/): Learn how to use Pulumi for more complex configurations with multiple environments. — TypeScript, Python, Go, .NET, Java, YAML
- [Build and push container images to Amazon ECR](https://www.pulumi.com/dev/tutorials/aws-ecr.md): Provision ECR repositories, build and publish images, and manage lifecycle policies with AWSx. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Build serverless APIs with Amazon API Gateway](https://www.pulumi.com/dev/tutorials/aws-api-gateway.md): Create and manage API Gateway REST APIs — Lambda, S3, HTTP proxies, auth, and more — with AWSx. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Creating Resources](https://www.pulumi.com/dev/tutorials/creating-resources-aws.md): Learn how to define and provision resources on AWS using Pulumi. — AWS · TypeScript, Python, YAML
- [Creating Resources](https://www.pulumi.com/dev/tutorials/creating-resources-azure.md): Learn how to define and provision resources on Azure using Pulumi. — Azure · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Creating Resources](https://www.pulumi.com/dev/tutorials/creating-resources-gcp.md): Learn how to define and provision resources on Google Cloud using Pulumi. — Google Cloud · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Creating Resources](https://www.pulumi.com/dev/tutorials/creating-resources-kubernetes.md): Learn how to define and provision resources on Kubernetes using Pulumi. — Kubernetes · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Deleting Helm Chart Default Values](https://www.pulumi.com/dev/tutorials/deleting-helm-chart-default-values.md): Learn how to remove a Helm chart default value in Pulumi by setting it to null. — Kubernetes · TypeScript, Python, Go, .NET, Java, YAML
- [Deploy containerized applications to Amazon ECS](https://www.pulumi.com/dev/tutorials/aws-ecs.md): Load-balanced Fargate services, custom VPC networking, and automatic container image builds with AWSx. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Detect and Remediate Infrastructure Drift](https://www.pulumi.com/dev/tutorials/drift-detection-and-remediation.md): Learn to detect and remediate infrastructure drift with Pulumi Deployments. — AWS · TypeScript, Python, Go, .NET, YAML
- [Enhanced Region Support in AWS](https://www.pulumi.com/dev/tutorials/aws-enhanced-region-support.md): Manage multi-Region AWS infrastructure with the per-resource region argument in Pulumi AWS Provider v7. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Load-balance traffic on AWS with ELB](https://www.pulumi.com/dev/tutorials/aws-elb.md): Provision Application and Network Load Balancers and wire them to your AWS services with AWSx. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Manage access with AWS IAM](https://www.pulumi.com/dev/tutorials/aws-iam.md): Create and manage AWS users, groups, roles, and policies with Pulumi. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Managing Resources with Server-Side Apply](https://www.pulumi.com/dev/tutorials/managing-resources-with-server-side-apply.md): Manage Kubernetes resources with Server-Side Apply using Pulumi. — Kubernetes · TypeScript, Python, Go, .NET, Java, YAML
- [Provision an AWS VPC](https://www.pulumi.com/dev/tutorials/aws-vpc.md): Out-of-the-box VPC networking that follows AWS best practices, with AWSx. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Run Kubernetes on Amazon EKS](https://www.pulumi.com/dev/tutorials/aws-eks.md): Provision EKS clusters, node groups, and Kubernetes workloads — including Helm charts — with Pulumi. — AWS, Kubernetes · TypeScript, Python, Go, .NET, Java, YAML
- [Run serverless functions on AWS Lambda](https://www.pulumi.com/dev/tutorials/aws-lambda.md): Build serverless applications with AWS Lambda and Pulumi, including magic functions. — AWS · TypeScript, Python, Go, .NET, Java, YAML
- [Stack Outputs & References](https://www.pulumi.com/dev/tutorials/stack-outputs-refs-aws.md): Learn more about exporting and referencing stack outputs in Pulumi. — AWS · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Stack Outputs & References](https://www.pulumi.com/dev/tutorials/stack-outputs-refs-azure.md): Learn more about exporting and referencing stack outputs in Pulumi. — Azure · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Stack Outputs & References](https://www.pulumi.com/dev/tutorials/stack-outputs-refs-gcp.md): Learn more about exporting and referencing stack outputs in Pulumi. — Google Cloud · TypeScript, JavaScript, Python, Go, .NET, YAML
- [Typed CustomResources with Provider Extensions](https://www.pulumi.com/dev/tutorials/typed-customresources-with-provider-extensions.md): Generate typed SDKs for your Kubernetes CRDs with Pulumi provider extensions. — Kubernetes · TypeScript, Python, Go, .NET, Java, YAML

## Templates

- [AWS YAML Starter](https://www.pulumi.com/dev/templates/aws-yaml.md): A minimal AWS Pulumi YAML program — AWS · YAML · One-click deploy
- [Azure YAML Starter](https://www.pulumi.com/dev/templates/azure-yaml.md): A minimal Azure Native Pulumi YAML program — Azure · YAML · One-click deploy
- [Google Cloud YAML Starter](https://www.pulumi.com/dev/templates/gcp-yaml.md): A minimal Google Cloud Pulumi YAML program — Google Cloud · YAML · One-click deploy
- [Kubernetes YAML Starter](https://www.pulumi.com/dev/templates/kubernetes-yaml.md): A minimal Kubernetes Pulumi YAML program — Kubernetes · YAML · One-click deploy
- [Container Service on AWS](https://www.pulumi.com/dev/templates/container-service/aws.md): Deploy a container service on AWS with Pulumi and Amazon ECS. — AWS · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Helm Chart on Kubernetes](https://www.pulumi.com/dev/templates/kubernetes-application/helm-chart.md): Deploy a Helm chart to a Kubernetes cluster with Pulumi. — Kubernetes · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Web Application on Kubernetes](https://www.pulumi.com/dev/templates/kubernetes-application/web-application.md): Deploy a web application to a Kubernetes cluster with Pulumi. — Kubernetes · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Kubernetes Cluster on AWS](https://www.pulumi.com/dev/templates/kubernetes/aws.md): Deploy a Kubernetes cluster on AWS with Pulumi and Amazon EKS. — AWS · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Kubernetes Cluster on Azure](https://www.pulumi.com/dev/templates/kubernetes/azure.md): Deploy a Kubernetes cluster on Azure with Pulumi and Azure Kubernetes Service (AKS). — Azure · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Kubernetes Cluster on Google Cloud](https://www.pulumi.com/dev/templates/kubernetes/gcp.md): Deploy a Kubernetes cluster on Google Cloud with Pulumi and Google Kubernetes Engine (GKE). — Google Cloud · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [AWS Serverless Application](https://www.pulumi.com/dev/templates/serverless-application/aws.md): Deploy a serverless application on AWS with Pulumi, AWS Lambda, and Amazon API Gateway. — AWS · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Azure Serverless Application](https://www.pulumi.com/dev/templates/serverless-application/azure.md): Deploy a serverless application on Azure with Pulumi, Azure Functions, and Azure Blob Storage. — Azure · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Cloudflare Serverless Application](https://www.pulumi.com/dev/templates/serverless-application/cloudflare.md): Deploy a serverless application on Cloudflare with Pulumi, Cloudflare Workers, and Workers KV. — Cloudflare · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Google Cloud Serverless Application](https://www.pulumi.com/dev/templates/serverless-application/gcp.md): Deploy a serverless application on Google Cloud with Pulumi, Cloud Functions, and Cloud Storage. — Google Cloud · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [AWS Static Website](https://www.pulumi.com/dev/templates/static-website/aws.md): Deploy a static website on AWS with Pulumi, Amazon S3, and Amazon CloudFront. — AWS · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Azure Static Website](https://www.pulumi.com/dev/templates/static-website/azure.md): Deploy a static website on Azure with Pulumi, Azure Blob Storage, and Azure CDN. — Azure · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Cloudflare Static Website](https://www.pulumi.com/dev/templates/static-website/cloudflare.md): Deploy a static website on Cloudflare with Pulumi and Cloudflare Workers. — Cloudflare · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Google Cloud Static Website](https://www.pulumi.com/dev/templates/static-website/gcp.md): Deploy a static website on Google Cloud with Pulumi, Cloud Storage, and Cloud CDN. — Google Cloud · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Virtual Machine on AWS](https://www.pulumi.com/dev/templates/virtual-machine/aws.md): Deploy a virtual machine on AWS with Pulumi and Amazon EC2. — AWS · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Virtual Machine on Azure](https://www.pulumi.com/dev/templates/virtual-machine/azure.md): Deploy a virtual machine on Azure with Pulumi and Azure Virtual Machines. — Azure · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Virtual Machine on Google Cloud](https://www.pulumi.com/dev/templates/virtual-machine/gcp.md): Deploy a virtual machine on Google Cloud with Pulumi and Google Compute Engine. — Google Cloud · TypeScript, Python, Go, .NET, YAML, HCL · One-click deploy
- [Alibaba Cloud YAML Starter](https://www.pulumi.com/dev/templates/alicloud-yaml.md): A minimal AliCloud Pulumi YAML program — Alibaba Cloud · YAML · One-click deploy
- [Auth0 YAML Starter](https://www.pulumi.com/dev/templates/auth0-yaml.md): A minimal Auth0 Pulumi YAML program — YAML · One-click deploy
- [Cloudflare YAML Starter](https://www.pulumi.com/dev/templates/cloudflare-yaml.md): A minimal Cloudflare YAML Pulumi program — Cloudflare · YAML · One-click deploy
- [DigitalOcean YAML Starter](https://www.pulumi.com/dev/templates/digitalocean-yaml.md): A minimal DigitalOcean Pulumi YAML program — DigitalOcean · YAML · One-click deploy
- [GitHub YAML Starter](https://www.pulumi.com/dev/templates/github-yaml.md): A minimal GitHub Pulumi YAML program. — YAML · One-click deploy
- [Linode YAML Starter](https://www.pulumi.com/dev/templates/linode-yaml.md): A minimal Linode Pulumi YAML program — Linode · YAML · One-click deploy
- [Oracle Cloud YAML Starter](https://www.pulumi.com/dev/templates/oci-yaml.md): Oracle Cloud · YAML · One-click deploy
- [Pinecone YAML Starter](https://www.pulumi.com/dev/templates/pinecone-yaml.md): A minimal Pinecone Pulumi YAML program — YAML · One-click deploy
- [Random YAML Starter](https://www.pulumi.com/dev/templates/random-yaml.md): A minimal Random Pulumi YAML program. — YAML · One-click deploy
- [YAML Starter](https://www.pulumi.com/dev/templates/yaml.md): A minimal Pulumi YAML program — YAML · One-click deploy

## Examples

- [Deploy WordPress to AWS EC2 using Pulumi and Ansible](https://www.pulumi.com/dev/examples/aws-yaml-ansible-wordpress.md): Deploy an EC2 Wordpress server using Pulumi and Ansible. — AWS · YAML · One-click deploy
- [Amazon EKS cluster](https://www.pulumi.com/dev/examples/aws-yaml-eks.md): An EKS cluster — AWS · YAML · One-click deploy
- [AWS YAML LangServe example](https://www.pulumi.com/dev/examples/aws-yaml-langserve.md): A minimal Langserve AWS YAML Pulumi program — AWS · YAML · One-click deploy
- [Host a static website on Amazon S3 with the AWS Native provider](https://www.pulumi.com/dev/examples/aws-yaml-static-website.md): A static website hosted on AWS S3 — AWS · YAML · One-click deploy
- [Azure Kubernetes Service (AKS) cluster using the native Azure provider](https://www.pulumi.com/dev/examples/azure-yaml-aks-managed-identity.md): A minimal Azure Native Pulumi YAML program — Azure · YAML · One-click deploy
- [Azure App Service with SQL Database and Application Insights](https://www.pulumi.com/dev/examples/azure-yaml-app-service.md): A web app running on Azure App Service — Azure · YAML · One-click deploy
- [Azure Container Apps](https://www.pulumi.com/dev/examples/azure-yaml-container-apps.md): Azure Container Apps example — Azure · YAML · One-click deploy
- [Static website using Azure Blob Storage](https://www.pulumi.com/dev/examples/azure-yaml-static-website.md): A static website hosted on Azure Blob Storage — Azure · YAML · One-click deploy
- [Generate secure random passwords to use in deployments](https://www.pulumi.com/dev/examples/random-yaml.md): Generate secure random passwords to use in deployments — YAML · One-click deploy
- [Example stack README in Pulumi Cloud](https://www.pulumi.com/dev/examples/stack-readme-yaml.md): A minimal Pulumi YAML program demonstrating stack readme feature — YAML · One-click deploy
- [Math, collection, and string manipulation in YAML](https://www.pulumi.com/dev/examples/yaml-math-and-objects.md): A Pulumi YAML program that demonstrates how to do math and manipulate objects in YAML. — YAML · One-click deploy

## Blog Posts

- [Create an AWS Static Website Fast with Angular and Pulumi](https://www.pulumi.com/blog/deploy-aws-static-website-with-angular-components/): Learn how to create and deploy an Angular static website to AWS using the static website component. — AWS · YAML
- [Deploy Static Websites to AWS using 10 lines of YAML](https://www.pulumi.com/blog/deploy-aws-static-website-with-yaml/): Learn how to easily deploy your AWS S3 static website using the AWS Static Website Component and 10 lines of YAML. JSON is also supported. — AWS · YAML
- [How to Create and Share a Pulumi Template](https://www.pulumi.com/blog/how-to-create-and-share-a-pulumi-template/): Learn how to design and build Pulumi project templates and share them with others on GitHub. — AWS · YAML
- [Generate Kubernetes YAML with Familiar Programming Languages](https://www.pulumi.com/blog/kubernetes-yaml-generation/): Stop writing Kubernetes YAML by hand, and start using the power of familiar programming languages! Pulumi now supports rendering YAML for Kubernetes resources. — Kubernetes · YAML
- [Shared configuration stacks with AWS Systems Manager](https://www.pulumi.com/blog/shared-config-with-aws-systems-manager-parameter-store/): Use Pulumi with AWS Systems Manager to build shared stacks that manage configuration across your organization. — AWS · YAML

## Workshops

- [Build a Self-Service Platform for Oracle Cloud with Pulumi](https://www.pulumi.com/events/build-self-service-platform-oracle-cloud-pulumi/): Building a Self-Service Platform for Oracle Cloud Infrastructure (OCI) Services with Backstage and Pulumi — YAML
- [Intro to Infrastructure as Code with YAML](https://www.pulumi.com/events/intro-to-infrastructure-as-code-with-yaml/): Learn the fundamentals of Infrastructure as Code (IaC) with Pulumi, using Docker, and YAML. Build and deploy a full stack app. Source code available. — YAML
