Skip to content

Commit bc13657

Browse files
authored
Merge branch 'master' into gads-categories
2 parents 56b736f + 8333867 commit bc13657

File tree

492 files changed

+1692
-1384
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

492 files changed

+1692
-1384
lines changed

.devcontainer/devcontainer.json

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
{
22
"name": "Pulumi Docs Author Environment",
3-
"image": "mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm",
3+
"image": "mcr.microsoft.com/devcontainers/base:trixie",
44
"features": {
5+
"ghcr.io/devcontainers/features/node:1": {
6+
"version": "22"
7+
},
58
"ghcr.io/devcontainers/features/dotnet:2": {
69
"version": "lts"
710
},
@@ -13,7 +16,7 @@
1316
},
1417
"ghcr.io/devcontainers/features/python:1": {
1518
"installTools": true,
16-
"version": "latest"
19+
"version": "os-provided"
1720
},
1821
"ghcr.io/devcontainers/features/github-cli:1": {
1922
"installDirectlyFromGitHubRelease": true,
@@ -31,6 +34,5 @@
3134
]
3235
}
3336
},
34-
35-
"postCreateCommand": "./.devcontainer/scripts/post-create.sh"
36-
}
37+
"postCreateCommand": "./.devcontainer/scripts/post-create.sh"
38+
}

.devcontainer/scripts/post-create.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,13 @@ curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
1111
sudo apt-get update -y
1212
sudo apt-get install -y google-cloud-cli
1313

14+
# Install TypeScript
15+
npm install -g typescript
1416

17+
# Install Pulumi CLI
1518
curl -fsSL https://get.pulumi.com | sh
1619
echo 'export PATH=$HOME/.pulumi/bin:$PATH' >> ~/.bashrc
1720
echo 'export PATH=$HOME/.pulumi/bin:$PATH' >> ~/.profile
1821
export PATH=$HOME/.pulumi/bin:$PATH
1922
pulumi version
23+

content/blog/cli-ai-extensions/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ social:
1818
linkedin: "Excited to announce AI-powered features in the Pulumi CLI! ✨ Our new 'explain' feature translates complex infrastructure changes into clear, human-readable summaries, while our AI error analysis transforms cryptic cloud provider error messages into actionable guidance. Enable with --copilot flag and let us know what you think!"
1919
---
2020

21+
{{< notes type="info" >}}
22+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
23+
{{< /notes >}}
24+
2125
We're excited to announce the new AI capabilities for Pulumi CLI powered by Pulumi Copilot that translate complex infrastructure changes into clear, human-readable explanations and help resolve deployment errors with actionable guidance. Enable these preview features with the `--copilot` flag.
2226

2327
<!--more-->

content/blog/codegen-learnings/index.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ tags:
1515

1616
---
1717

18+
{{< notes type="info" >}}
19+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
20+
{{< /notes >}}
21+
1822
When asked about his research process, Anthony Bourdain would describe how he'd blend his formal culinary training with deep dives into local food culture - from market stalls to family recipes. Modern AI code generation follows a similar path: it can't just rely on what it knows - it must tap into continuously evolving, domain-specific knowledge bases. Just as Bourdain would combine his classical French training with techniques learned from local kitchens, AI code generators blend their built-in knowledge with retrieved code snippets and type definitions to generate code that accurately represents the user's intent.
1923

2024
This fusion of base knowledge with contextual understanding is especially valuable for Infrastructure as Code (IaC), where rapidly evolving cloud providers and libraries make manual development challenging, traditional debugging cycles impractical, and errors catastrophically expensive.
@@ -232,9 +236,9 @@ As we continue to evolve Pulumi's code generation capabilities, we're excited ab
232236

233237
We invite you to try these capabilities in your own projects and share your experiences. Your feedback helps us continue improving and advancing the state of AI-assisted infrastructure development.
234238

235-
<!--raw material
239+
<!--raw material
236240
237-
1.2. get multiple "Pulumi Registry schema" elements (40 in our case, 29 unique) - some of them less relevant.
241+
1.2. get multiple "Pulumi Registry schema" elements (40 in our case, 29 unique) - some of them less relevant.
238242
(We call them tokens internally but they are really type names)
239243
This search uses vector embeddings
240244
@@ -283,15 +287,15 @@ Resulting generated prompt can be 1K or more lines of Yaml
283287
284288
4. Full text search and BM25
285289
286-
BM25:
290+
BM25:
287291
- Inverse Document Frequency: how rare is the query term
288292
- Term frequency in the document: how often does the term appear in the document
289293
Detailed explanation: https://emschwartz.me/understanding-the-bm25-full-text-search-algorithm/
290294
291295
5. Vector embeddings, combine the two
292296
similarity metrics like cosine similarity.
293297
294-
6. Reranking
298+
6. Reranking
295299
296300
6.1. It's good to have good recall - you can throw everything and the kitchen sink at the LLM - but too much information can actually be counterproductive:
297301
@@ -318,6 +322,6 @@ How do we assess the quality of our RAG? Intuitively, we want two things to be t
318322
319323
- Recall
320324
- Typecheck
321-
- `pulumi up` - a "dry run" before the actual deployment and can detect many real or potential problems such potentially destructive actions, incorrect configurations that cannot be detected at compile time, dependency conflicts and policy violations.
325+
- `pulumi up` - a "dry run" before the actual deployment and can detect many real or potential problems such potentially destructive actions, incorrect configurations that cannot be detected at compile time, dependency conflicts and policy violations.
322326
323327
-->

content/blog/copilot-in-docs/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ social:
1616
twitter: "Pulumi Copilot is now available across Pulumi Documentation and pulumi.com, and comes equipped with a powerful new Documentation Skill! Learn more by reading our blog:"
1717
---
1818

19+
{{< notes type="info" >}}
20+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
21+
{{< /notes >}}
22+
1923
[Pulumi Copilot](/docs/pulumi-cloud/copilot/) has been making our customers' day-to-day tasks easier since its release, and today we’re excited to expand its capabilities—Pulumi Copilot is now available across Pulumi Documentation and pulumi.com, and comes equipped with a powerful new Documentation Skill!
2024

2125
<!--more-->

content/blog/copilot-in-vscode/index.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,16 @@ tags:
4242

4343
social:
4444
twitter: "🎉 Pulumi Copilot is now available in Visual Studio Code! Offload tasks to Pulumi Copilot right in your IDE by typing @pulumi in Copilot Chat. Build, deploy, and manage cloud infrastructure more efficiently than ever."
45-
linkedin: "Exciting news! Pulumi Copilot is now available in Visual Studio Code Copilot, bringing AI-powered cloud infrastructure management directly to your IDE. Simply install the Pulumi extension and type @pulumi in Copilot Chat to access Pulumi's cloud intelligence and streamline your infrastructure workflows.
46-
45+
linkedin: "Exciting news! Pulumi Copilot is now available in Visual Studio Code Copilot, bringing AI-powered cloud infrastructure management directly to your IDE. Simply install the Pulumi extension and type @pulumi in Copilot Chat to access Pulumi's cloud intelligence and streamline your infrastructure workflows.
46+
4747
Learn how Pulumi Copilot is revolutionizing cloud development: [Link]"
4848

4949
---
50+
51+
{{< notes type="info" >}}
52+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
53+
{{< /notes >}}
54+
5055
Programming languages offer dozens of advantages for writing Infrastructure as Code (IaC). One of them is that Large Language Models are effective at using general-purpose programming languages, thanks to the vast amount of high-quality training data available. Building on this advantage, we introduced Pulumi AI and Pulumi Copilot last year to enhance Infrastructure-as-Code development with generative AI capabilities. These tools have significantly streamlined infrastructure deployment for tens of thousands of developers.
5156

5257
Today, we are thrilled to announce that Pulumi Copilot is now available directly within [Pulumi Copilot Chat Extension](https://marketplace.visualstudio.com/items?itemName=pulumi.pulumi-vscode-copilot). By simply typing @pulumi in Copilot Chat, developers can now access the power of Pulumi Copilot right within their IDE, saving them time on writing IaC and getting infrastructure deployed.

content/blog/copilot-lessons/index.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,18 @@ tags:
1313
- ai
1414
- iac
1515
social:
16-
twitter: >
16+
twitter: >
1717
Building Pulumi Copilot taught us key lessons about AI-powered tools: hallucinations reveal missing features, prompt engineering isn’t always the answer, and balancing LLMs with traditional code is critical. Learn more: https://www.pulumi.com/blog/copilot-lessons/
1818
linkedin: |
1919
Building AI-powered tools often brings unexpected challenges—and valuable lessons. While developing Pulumi Copilot, we encountered surprising insights: hallucinations revealed missing product features, prompt engineering wasn't always the fix, and balancing LLM capabilities with traditional code proved essential.
2020
One memorable turning point came from user feedback: "Your tool doesn't know anything!" Instead of seeing it as failure, we saw opportunity—leading to significant improvements.
2121
Curious how we turned unexpected challenges into product breakthroughs? Learn more: https://www.pulumi.com/blog/copilot-lessons/
2222
---
23+
24+
{{< notes type="info" >}}
25+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
26+
{{< /notes >}}
27+
2328
Building AI-powered developer tools comes with unique challenges, and now that we've **[launched our REST API](/blog/pulumi-copilot-rest/)**, we want to share some lessons we've learned building Pulumi Copilot, an AI assistant for cloud infrastructure.
2429

2530
One of the big challenges was determining what 'working' really meant. So when a message landed in our feedback channel after months of rigorous testing - 'Your tool doesn't know anything!' - it caused some mild panic. We'd just made some changes, so we braced for the worst. But our evals were still looking strong, so what was going on?
@@ -62,7 +67,7 @@ These early experiences showed the value of Copilot. But they also revealed the
6267

6368
## Skillful Slicing: Modular Mastery
6469

65-
As Copilot grew, we broke it into smaller pieces we call skills. Each skill does one specific job. The Insights skill handles queries about resource usage and configuration ("How many S3 buckets do I have?"), the Cloud Skill interacts with the Pulumi Service API to manage infrastructure ("Show me my stacks."), the Code Skill generates Pulumi code snippets ("Write a Typescript program..."), and the Docs Skill retrieves information from Pulumi documentation ("How do I use [update plans](https://www.pulumi.com/docs/iac/concepts/update-plans/)?").
70+
As Copilot grew, we broke it into smaller pieces we call skills. Each skill does one specific job. The Insights skill handles queries about resource usage and configuration ("How many S3 buckets do I have?"), the Cloud Skill interacts with the Pulumi Service API to manage infrastructure ("Show me my stacks."), the Code Skill generates Pulumi code snippets ("Write a Typescript program..."), and the Docs Skill retrieves information from Pulumi documentation ("How do I use [update plans](https://www.pulumi.com/docs/iac/concepts/update-plans/)?").
6671

6772
When you ask Copilot something, it figures out what you need and picks the right skill for the job – like a manager deciding which expert to send your question to. This [function-calling](https://platform.openai.com/docs/guides/function-calling) approach, orchestrated by a component we call the "outer loop," allows Copilot to access and process information beyond its internal knowledge base.
6873

content/blog/copilot-system-prompts/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ tags:
1313
- releases
1414
---
1515

16+
{{< notes type="info" >}}
17+
Note: This post discusses Pulumi Copilot, which Pulumi Neo has replaced. [Learn about Neo →](/docs/ai/)
18+
{{< /notes >}}
19+
1620
We are excited to announce a new feature for Pulumi Copilot: System Prompts. This enhancement empowers organizations to customize Pulumi Copilot's responses for your organization, making your interactions with our AI assistant even more personalized to save you even more time.
1721

1822
<!--more-->

content/blog/day-2-operations-drift-detection-and-remediation/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Day 2 Operations: Drift Detection and Remediation | IDP Workshop"
2+
title: "Day 2 Operations: Drift Detection and Remediation"
33
allow_long_title: true
44
meta_desc: "Implement automated drift detection for your IDP using Pulumi. Maintain infrastructure integrity with scheduled checks and real-time alerts."
55
meta_image: meta.png
@@ -22,7 +22,7 @@ tags:
2222

2323
social:
2424
twitter: |
25-
Day 2 Operations: Drift Detection and Remediation | IDP Workshop
25+
Day 2 Operations: Drift Detection and Remediation
2626
2727
Learn how to maintain infrastructure integrity with automated drift detection:
2828
• Understand drift in cloud infrastructure
@@ -34,7 +34,7 @@ social:
3434
3535
#IDP #DriftDetection #PlatformEngineering #InfrastructureAsCode #DevOps
3636
linkedin: |
37-
**Day 2 Operations: Drift Detection and Remediation | IDP Workshop**
37+
**Day 2 Operations: Drift Detection and Remediation**
3838
3939
In the fourth post of our IDP Best Practices series, we explore the critical day 2 operations that ensure your infrastructure stays aligned with your intended configuration long after initial deployment.
4040

content/blog/deployment-guardrails-with-policy-as-code/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ This post is part of our IDP Best Practices series:
3131
* [How to Build an Internal Developer Platform: Strategy, Best Practices, and Self-Service Infrastructure](/blog/idp-strategy-planning-self-service-infrastructure-that-balances-developer-autonomy-with-operational-control)
3232
* [Build Golden Paths with Infrastructure Components and Templates](/blog/golden-paths-infrastructure-components-and-templates)
3333
* **Deployment Guardrails with Policy as Code** (you are here)
34-
* Day 2 Platform Operations: Automating Drift Detection and Remediation
34+
* [Day 2 Operations: Drift Detection and Remediation](/blog/day-2-operations-drift-detection-and-remediation)
3535
* Extend Your IDP for AI Applications: GPUs, Models, and Cost Controls
3636
* Next-Gen IDPs: How to Modernize Legacy Infrastructure with Pulumi
3737

0 commit comments

Comments
 (0)