Skip to content

Add new examples from pulumi/guides - #2995

Merged
cnunciato merged 5 commits into
masterfrom
examples/pulumi-guides-aws-solutions
Sep 3, 2026
Merged

Add new examples from pulumi/guides#2995
cnunciato merged 5 commits into
masterfrom
examples/pulumi-guides-aws-solutions

Conversation

@cnunciato

@cnunciato cnunciato commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Adds four AWS TypeScript examples adapted from the Pulumi Guides solutions, listed in the AWS/TypeScript section of the README:

  • aws-ts-ai-app-infrastructure — a Lambda Function URL that invokes an Amazon Bedrock model, scoped to least privilege.
  • aws-ts-landing-zone — a single-account landing zone (two-AZ VPC, KMS key, VPC flow logs, deployer/read-only roles, encrypted CloudTrail) that downstream stacks reference.
  • aws-ts-production-observability — baseline Lambda monitoring: log retention, SNS alerting, error/latency alarms, a CloudWatch dashboard, and X-Ray tracing.
  • aws-ts-serverless-react-postgres — a React SPA on CloudFront with a same-origin Lambda API and a private Aurora Serverless v2 (PostgreSQL) database, layered on the landing-zone example via a StackReference.

All four type-check; the serverless website and API bundles build. Not wired into misc/test.

--

Note for reviewers: This brings the four highest-performing "solutions" from https://pulumi.com/guides into this repo so we can retire /guides (it's being replaced with the new Dev Center), but still keep the little bit of SEO goodness it's built up so far. (By adding these as examples, they'll automatically flow into the Examples collection in the Dev center.)

All four verified deployed successfully.

Adds aws-ts-ai-app-infrastructure, aws-ts-landing-zone,
aws-ts-production-observability, and aws-ts-serverless-react-postgres,
and lists them in the AWS/TypeScript section of the README.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cnunciato
cnunciato requested a review from jkodroff September 2, 2026 23:21
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@cnunciato cnunciato changed the title Add four AWS TypeScript examples from Pulumi Guides solutions Add new examples from pulumi/guides Sep 3, 2026
…d-to-end

- index.ts: default Aurora PostgreSQL 16.4 is no longer offered; use 16.8.
- edge.ts: add HTTPS egress so the VPC Lambda can reach Secrets Manager (its
  GetSecretValue call otherwise hangs until the function times out).
- api/src/index.ts: parse the secret JSON and use DATABASE_URL instead of
  passing the whole JSON blob to pg as a connection string.
- database.ts: use sslmode=no-verify; modern pg treats sslmode=require as
  verify-full and fails against Aurora's RDS CA cert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment thread aws-ts-landing-zone/components/landing-zone.ts Outdated

@jkodroff jkodroff left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with suggestions - this doesn't make anything worse, but I think these examples could be made more rigorous (possibly as a follow-up, since right now we're probably just trying to get things in the right place).

Comment thread aws-ts-landing-zone/README.md
Comment thread aws-ts-landing-zone/README.md Outdated
Comment thread aws-ts-landing-zone/components/landing-zone.ts Outdated
Comment thread aws-ts-production-observability/README.md Outdated
1. [Configure your AWS credentials](https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/)
1. [Install Node.js](https://www.pulumi.com/docs/intro/languages/javascript/)

## Deploying and running the program

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd love for us to stop repeating these everywhere. The super beginner-oriented instructions really only have value for people who are totally new to Pulumi. You learn these pretty quickly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this is a great candidate for templatizing, much like what you're doing in the Registry now with config. We can easily discern this from the project config, and should be relatively easy to apply uniformly too. I'll file a follow-up for it.

Comment thread aws-ts-production-observability/components/observability.ts Outdated
cnunciato and others added 2 commits September 3, 2026 11:39
…r, drop deploy buttons

- landing-zone: rebuild the VPC on awsx.ec2.Vpc across three AZs (replaces the
  hand-rolled subnets/route-tables/NAT), and note in the README + docstring that
  this is an illustrative, not production-ready, landing zone.
- production-observability: rename the Observability component to ObservableLambda
  so the name describes what it provisions.
- Remove the "Deploy this example with Pulumi" buttons from the four new READMEs;
  Dev Center templates these in.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extend pulumi.ComponentResource, parent every child resource to the component,
and register the outputs, so the landing zone nests under a single logical
resource in the CLI/Console like the other components in these examples.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
cnunciato added a commit that referenced this pull request Sep 3, 2026
Folds content from several handwritten registry how-to guides into their
corresponding pulumi/examples entries, ahead of retiring those guides in
favor of Dev Center (examples auto-flow into the Examples collection
there). Companion to #2995.

New example:
- `aws-ts-s3-folder-component` — the TypeScript component version of the
S3 static-website example, filling the gap left by the removed
`aws-js-s3-folder-component`. Type-checks clean.

README enrichments (light — only where the guide had unique content the
example README lacked):
- `aws-ts-thumbnailer` — architecture summary + YouTube walkthrough link
- `aws-ts-eks-migrate-nodegroups` — Day-2 migration context
(create-before-delete + HA settings)
- `azure-py-aks` — Azure AD propagation-delay retry note
- `kubernetes-ts-configmap-rollout` — why Pulumi triggers a rollout
where kubectl doesn't
- `kubernetes-ts-guestbook` — TypeScript-vs-YAML framing
- `gcp-py-webserver`, `gcp-go-webserver` — one-line overview of what's
deployed

The remaining example-able guides needed no change; their READMEs
already cover the material. Migration guides and true tutorials are
handled separately.

Draft: examples haven't all been run end-to-end yet.

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Josh Kodroff <jkodroff@users.noreply.github.com>
@cnunciato
cnunciato merged commit 2d507c1 into master Sep 3, 2026
14 checks passed
@cnunciato
cnunciato deleted the examples/pulumi-guides-aws-solutions branch September 3, 2026 19:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants