Skip to content

Commit d043d86

Browse files
authored
Merge branch 'master' into copilot-neo-redirect-audit
2 parents d5313c0 + 6809da9 commit d043d86

File tree

15 files changed

+69
-22
lines changed

15 files changed

+69
-22
lines changed

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

content/blog/golden-paths-infrastructure-components-and-templates/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ This post is part of our IDP Best Practices series:
3636
- [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/)
3737
- **Build Golden Paths: Guide to Reusable Infrastructure with Pulumi Components and Templates** (you are here)
3838
- [Policy as Code for Safer IDPs: Enabling Developer Self-Service with Guardrails](/blog/deployment-guardrails-with-policy-as-code)
39-
- Day 2 Platform Operations: Automating Drift Detection and Remediation
39+
- [Day 2 Operations: Drift Detection and Remediation](/blog/day-2-operations-drift-detection-and-remediation)
4040
- Extend Your IDP for AI Applications: GPUs, Models, and Cost Controls
4141
- Next-Gen IDPs: How to Modernize Legacy Infrastructure with Pulumi
4242

content/blog/idp-strategy-planning-self-service-infrastructure-that-balances-developer-autonomy-with-operational-control/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ This post is part of our IDP Best Practices series. You can explore the full ser
8282
- **How to Build an Internal Developer Platform: Strategy, Best Practices, and Self-Service Infrastructure** (you are here)
8383
- [Build Golden Paths: Guide to Reusable Infrastructure with Pulumi Components and Templates](/blog/golden-paths-infrastructure-components-and-templates/)
8484
- [Policy as Code for Safer IDPs: Enabling Developer Self-Service with Guardrails](/blog/deployment-guardrails-with-policy-as-code)
85-
- Day 2 Platform Operations: Automating Drift Detection and Remediation
85+
- [Day 2 Operations: Drift Detection and Remediation](/blog/day-2-operations-drift-detection-and-remediation)
8686
- Extend Your IDP for AI Applications: GPUs, Models, and Cost Controls
8787
- Next-Gen IDPs: How to Modernize Legacy Infrastructure with Pulumi
8888

content/docs/iac/guides/building-extending/components/build-a-component.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ Pulumi Components are implemented as custom classes in any Pulumi-supported lang
4141

4242
Pulumi Components inherently support multi-language use. Regardless of the language a component was written in, it is a fast one-step process to generate a SDK, allowing you to use it in all Pulumi-supported languages.
4343

44+
{{< notes type="warning" >}}
45+
If your component uses a local package (such as any Terraform provider via `terraform-provider`, or another component that contains a local package), you must commit the generated SDK code to version control. See [Using components with local packages](/docs/iac/guides/building-extending/packages/local-packages/#components-with-local-packages) for details.
46+
{{< /notes >}}
47+
4448
## Structure of a Component
4549

4650
A Pulumi Component consists of three main parts:

content/docs/iac/guides/building-extending/packages/local-packages.md

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ This clones the repo and executes the source, enabling you to use packages from
6666
#### Using `terraform-provider`
6767

6868
```bash
69-
pulumi package add terraform-provider hashicorp/random
69+
pulumi package add terraform-provider hashicorp/random 3.5.1
7070
```
7171

72-
Refer to the [Terraform Provider documentation](/docs/iac/using-pulumi/pulumi-packages/terraform-provider/) for more details.
72+
Refer to the [Any Terraform Provider documentation](/docs/iac/using-pulumi/pulumi-packages/terraform-provider/) for more details.
7373

7474
## Using generated SDKs
7575

@@ -206,11 +206,42 @@ When working with local packages, it's important to understand how breaking chan
206206
To ensure stability, you should specify the version of both:
207207

208208
```bash
209-
pulumi package add terraform-provider hashicorp/random --version=3.5.1
209+
pulumi package add terraform-provider hashicorp/random 3.5.1
210210
```
211211

212212
This pins the Terraform provider version, protecting you from unexpected breaking changes when the underlying provider is updated.
213213

214+
## Using components with local packages {#components-with-local-packages}
215+
216+
When creating a component that contains a local package, you must ensure the generated SDK is available to consumers of your component. This applies when your component uses:
217+
218+
- Any Terraform provider via [`terraform-provider`](/registry/packages/terraform-provider/)
219+
- Another component that itself contains a local package
220+
- Any other Pulumi plugin that generates code in the `sdk` folder
221+
222+
### Requirements
223+
224+
1. You must be using Pulumi 3.200.0 or later.
225+
1. In your component code, run `pulumi package add` to generate the upstream SDK.
226+
1. Ensure the generated code in the `sdk` folder is committed to version control.
227+
228+
### Why this is necessary
229+
230+
When someone consumes your component, they need access to all the SDKs your component depends on. For published packages from the Pulumi Registry, these dependencies are automatically resolved. However, for local packages generated within your component, the generated SDK code must be available in your repository so that consumers can use it.
231+
232+
### Example workflow
233+
234+
If you're building a component that uses a Terraform provider:
235+
236+
```bash
237+
cd my-component
238+
pulumi package add terraform-provider hashicorp/random 3.5.1
239+
git add sdk/
240+
git commit -m "Add generated SDK for terraform-provider random"
241+
```
242+
243+
Consumers of your component will then be able to use it without needing to regenerate the SDK themselves.
244+
214245
## See also
215246

216247
For more information about developing and publishing your own packages, see the [Publishing Packages](/docs/iac/build-with-pulumi/publishing-packages/) guide.

content/docs/iac/guides/building-extending/packages/publishing-packages.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,26 @@ aliases:
2121
- /docs/iac/build-with-pulumi/publishing-packages/
2222
---
2323

24-
This guide will take you step-by-step through creating and publishing a Pulumi Package. You can use this guide to create any [type of Pulumi Package](/docs/guides/pulumi-packages#types-of-pulumi-packages): a component, custom provider, or an existing Terraform provider packaged for use within Pulumi. This guide assumes you're using GitHub to host your package's source code and GitHub Actions to publish various parts of your package.
24+
This guide will take you through the process to create and publish a [Pulumi Package](/docs/iac/concepts/packages) to the [Pulumi Registry](/registry). You can use this guide to publish the following types of Pulumi Packages:
25+
26+
- A [component](/docs/iac/concepts/components) or related group of components
27+
- A custom provider where you define the CRUD operations for each resource type
28+
- A bridged provider, which wraps an existing Terraform provider and leverages its code to perform the CRUD operations for each resource type
29+
30+
{{% notes type="info" %}}
31+
This guide is for creating packages for public consumption. If you are a looking for information on how to create and publish components for use within your organization, see [Build a Component](/docs/iac/guides/building-extending/components/build-a-component).
32+
{{% /notes %}}
2533

2634
{{% notes type="info" %}}
27-
If you are a cloud or SaaS provider interested in publishing a Pulumi provider or component, please [reach out partners team](/contact/?form=registry) to start publishing to the Pulumi Registry.
35+
If you are a cloud or SaaS provider interested in publishing a Pulumi provider or component, please [reach out to our partners team](/contact).
2836
{{% /notes %}}
2937

3038
## Prerequisites
3139

40+
{{% notes type="info" %}}
41+
This guide assumes you're using GitHub to host your package's source code and GitHub Actions to publish various parts of your package.
42+
{{% /notes %}}
43+
3244
- You need to [install Pulumi](/docs/install/).
3345
- You should be familiar with the Pulumi [Resource and Component model](/docs/concepts/resources/).
3446
- Pulumi Packages are multi-language: you can write your package once in either Go, Python, or TypeScript/JavaScript and then make it available to all Pulumi users, even if they use another language. To develop them, you need to have Git, Go, .NET, Python, and TypeScript installed on your system.
@@ -46,7 +58,7 @@ We've created some template repositories for you to use as a starting point for
4658
- Bridge an existing Terraform Provider to use with Pulumi: [`pulumi/pulumi-tf-provider-boilerplate`](https://github.com/pulumi/pulumi-tf-provider-boilerplate)
4759

4860
{{% notes type="info" %}}
49-
If you need access to a Terraform provider, but don't need the full customisation of a published provider, the ["Any Terraform Provider" Pulumi Provider](/registry/packages/terraform-provider) can provide instant access via locally generating SDKs.
61+
If you need access to a Terraform provider, but don't need the full customization of a published provider, the ["Any Terraform Provider" Pulumi Provider](/registry/packages/terraform-provider) can provide instant access via locally generating SDKs.
5062
{{% /notes %}}
5163

5264
### Name your provider and repository
422 KB
Loading

content/events/getting-started-with-infrastructure-agents/index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Name of the event, <= 60 characters
33
title: "Getting Started with Infrastructure Agents"
44
meta_desc: Learn to add intelligent automation to infrastructure workflows with proper controls and human oversight.
5-
meta_image:
5+
meta_image: /images/resources/get-started-ai-agent.png
66

77
# A featured webinar will display first in the list.
88
featured: false
@@ -12,7 +12,7 @@ unlisted: false
1212

1313
# Gated webinars will have a registration form and the user will need
1414
# to fill out the form before viewing.
15-
gated: true
15+
gated: false
1616

1717
# The layout of the landing page.
1818
type: webinars
@@ -35,13 +35,13 @@ main:
3535
event_type: workshop # workshop | event
3636

3737
# URL for embedding a URL for ungated webinars.
38-
youtube_url:
38+
youtube_url: https://www.youtube.com/embed/_6abaK-dCz0?si=3assXiKb1H-jKMF7
3939

4040
# Sortable date. The datetime Hugo will use to sort the webinars in date order.
4141
sortable_date: 2025-10-14T12:00:00-04:00
4242

4343
# Duration of the webinar.
44-
duration: 90 minutes
44+
duration: 60 minutes
4545

4646
# "virtual" will be shown under "show virtual events only", otherwise shown as City, State (seattle, wa)
4747
location: virtual
@@ -64,7 +64,7 @@ main:
6464
# case-sensitive
6565
tags:
6666
level: Beginner # Beginner, Intermediate, Advanced
67-
topics: ["Pulumi MCP Server"]
67+
topics: ["AI", "Infrastructure as Code", "Platform Engineering", "Pulumi Neo"]
6868
languages: ["Any"]
6969
clouds: ["AWS"]
7070

426 KB
Loading

0 commit comments

Comments
 (0)