Skip to content

Commit 208c864

Browse files
authored
Merge branch 'master' into deployments-page-fix
2 parents 95f126e + c317a4c commit 208c864

File tree

497 files changed

+3396
-2329
lines changed

Some content is hidden

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

497 files changed

+3396
-2329
lines changed

.claude/commands/add-borders.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
---
2+
description: Add 1px grey borders to PNG images in a documentation file.
3+
---
4+
5+
# Usage
6+
7+
`/add-borders <doc-file-path>`
8+
9+
Analyze PNG images referenced in the specified markdown file at {{arg}} and add 1px #999999 (medium grey) borders to any images that don't already have them. This improves visual clarity and consistency of screenshots and diagrams in documentation.
10+
11+
---
12+
13+
## Process
14+
15+
### 1. Verify prerequisites
16+
17+
Before running the border tool, ensure dependencies are installed:
18+
19+
```bash
20+
cd /workspaces/src/pulumi/docs/scripts/image-borders && pipenv install
21+
```
22+
23+
If this is the first run or if Pillow is not yet installed, the installation will complete automatically.
24+
25+
### 2. Run the border addition tool
26+
27+
Execute the Python script with the provided documentation file:
28+
29+
```bash
30+
cd /workspaces/src/pulumi/docs && pipenv run python scripts/image-borders/add_borders.py {{arg}}
31+
```
32+
33+
The script will:
34+
- Parse the markdown file to find all PNG image references
35+
- Check each image's edge pixels to detect existing borders
36+
- Add a 1px #999999 border to images that don't have one
37+
- Skip images that already have a grey border (within tolerance)
38+
- Display a summary of modified and skipped images
39+
40+
### 3. Review the results
41+
42+
The script outputs:
43+
- **Modified**: Images that received new borders
44+
- **Skipped**: Images that already had borders
45+
46+
Example output:
47+
```
48+
Found 3 PNG image(s)
49+
50+
✓ Added border: content/docs/esc/assets/create-environment.png
51+
✓ Added border: content/docs/esc/assets/editor-before-save.png
52+
⊘ Skipped (has border): content/docs/esc/assets/editor-after-save.png
53+
54+
Summary:
55+
Modified: 2
56+
Skipped: 1
57+
```
58+
59+
### 4. Verify the changes
60+
61+
After borders are added:
62+
1. View the modified images to ensure borders look correct
63+
2. Check that border width and color (#CCCCCC) are appropriate
64+
3. Verify the images still display correctly in the documentation
65+
66+
You can preview the documentation locally:
67+
```bash
68+
make serve
69+
```
70+
71+
Then navigate to the affected page at http://localhost:1313
72+
73+
### 5. Commit the changes (if appropriate)
74+
75+
If the borders improve the documentation quality, commit the modified images:
76+
77+
```bash
78+
git add <image-files>
79+
git commit -m "Add 1px borders to documentation images for visual clarity"
80+
```
81+
82+
---
83+
84+
## Options
85+
86+
The script supports additional options:
87+
88+
- `--dry-run` - Show what would be done without making changes
89+
- `--repo-root <path>` - Specify repository root (auto-detected by default)
90+
91+
Example with dry run:
92+
```bash
93+
pipenv run python scripts/image-borders/add_borders.py {{arg}} --dry-run
94+
```
95+
96+
---
97+
98+
## Notes
99+
100+
- The script uses edge pixel analysis to detect existing borders with 80% confidence threshold
101+
- Handles RGBA images (preserves transparency)
102+
- Uses #999999 (medium grey) for visibility on both white and light backgrounds
103+
- Only processes PNG files (ignores JPG, GIF, SVG, etc.)
104+
- Modifies images in place (use git to revert if needed)

.claude/commands/glow-up.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,13 @@ Read the entire target file and perform comprehensive analysis:
7676

7777
For each image or diagram referenced in the document:
7878

79-
1. Use the Read tool to view the image
80-
2. Analyze the image for the following issues:
79+
1. **Check for missing borders on PNG images**: Run the border detection script with dry-run mode to deterministically identify which PNG images need borders:
80+
```bash
81+
cd /workspaces/src/pulumi/docs/scripts/image-borders && pipenv run python add_borders.py <file-path> --dry-run
82+
```
83+
The script will report which images would be modified vs skipped.
84+
85+
2. Regardless of existing borders, use the Read tool to view the image and analyze the image for the following issues:
8186

8287
**Screenshots:**
8388
- Missing or inadequate alt text (accessibility requirement)
@@ -163,6 +168,7 @@ Develop a detailed plan organized by issue category:
163168
- Images to convert to Mermaid/GoAT
164169
- Unnecessary images to remove
165170
- File format or size optimizations
171+
- PNG images that need 1px grey borders for visual clarity
166172

167173
**7. Content enhancements** — List specific recommendations:
168174
- Unclear sections that need rewriting
@@ -204,7 +210,8 @@ Once approved, implement the changes in logical order:
204210
4. **Style improvements** (remove filler, simplify sentences, active voice)
205211
5. **Link improvements** (improve link text, add cross-references)
206212
6. **Image improvements** (add alt text, remove unnecessary images, flag outdated screenshots)
207-
7. **Content enhancements** (rewrite unclear sections, add context)
213+
7. **Add borders to PNG images** (run `/add-borders <file-path>` if PNG images need borders)
214+
8. **Content enhancements** (rewrite unclear sections, add context)
208215

209216
Use the TodoWrite tool to track progress through the improvements.
210217

Pipfile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
[[source]]
2+
url = "https://pypi.org/simple"
3+
verify_ssl = true
4+
name = "pypi"
5+
6+
[packages]
7+
8+
[dev-packages]
9+
10+
[requires]
11+
python_version = "3.11"

STYLE-GUIDE.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@ The symbol is not needed in regular in-text links within documentation pages.
7777

7878
---
7979

80+
## Images and Media
81+
82+
- Use relative paths for images stored in the same directory or a subdirectory.
83+
- Provide descriptive alt text for all images.
84+
- For partial screenshots where the image may be hard to distinguish from the page background, add a 1px gray #999999 border.
85+
86+
---
87+
8088
## Notes / Callouts
8189

8290
Use the `{{ notes }}` shortcode sparingly. Supported levels:

content/_index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ customer_logos:
9393
link: /case-studies/
9494
- name: unity
9595
link: /case-studies/
96+
- name: supabase
97+
link: /case-studies/
9698
- name: ae-networks
9799
link: /case-studies/
98100
- name: deloitte
@@ -152,6 +154,12 @@ customer_quotes:
152154
"Pulumi Neo addresses our biggest challenge of <b>eliminating the infrastructure bottleneck</b> that slows down our entire engineering organization. To get to market faster, we require infrastructure intelligence that understands our environment, respects our guardrails, and keeps humans in the loop so we can <b>move faster, safely</b>."
153155
author: Richard Genthner, Chief Information Security Officer
154156
logo: boost-insurance
157+
supabase:
158+
text: |
159+
"Since it's just another programming language with control structures and external packages, it makes for a good transition from application code to infrastructure as code. <b>Infrastructure contributors grew from 1-2 people to over 40 active engineers</b> across the organization."
160+
author: Paul Cioanca, Platform Engineer
161+
logo: supabase
162+
link: /case-studies/supabase/
155163
clear:
156164
text: |
157165
“We’ve spent a lot of time building our internal developer platform. We moved from a lower-level Terraform and HCL-based interface to Pulumi, letting us use a custom, higher-level, and much simpler-to-use YAML schema we’ve defined. <b>We've made cloud infrastructure really easy to use for our developers.</b>”
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: "Enforce AWS Organizations Tag Policies with Pulumi"
3+
date: 2025-11-20T10:00:00-08:00
4+
authors:
5+
- alejandro-cotroneo
6+
meta_desc: "Pulumi partners with AWS to bring AWS Organizations Tag Policies validation to infrastructure as code, enforcing mandatory tagging requirements."
7+
allow_long_title: true
8+
meta_image: "meta.png"
9+
tags:
10+
- aws
11+
- pulumi-service
12+
- policy-as-code
13+
- crossguard
14+
- features
15+
- governance
16+
- compliance
17+
---
18+
19+
Tags are the foundation of cloud governance, enabling cost allocation, ownership tracking, compliance reporting, and automation across your AWS infrastructure. Yet missing or inconsistent tags remain one of the most common governance challenges. Manual tag enforcement is error-prone, and discovering missing tags after deployment means your cost reports and compliance audits are already operating with incomplete data.
20+
21+
Today, we're excited to announce a new pre-built policy pack created in partnership with AWS: **AWS Organizations Tag Policies**. This pack validates your infrastructure as code against tag policies configured in AWS Organizations, blocking deployments when required tags are missing and shifting tag governance left into your development workflow. Define your tag requirements once in AWS Organizations and enforce them consistently across all your Pulumi deployments.
22+
23+
<!--more-->
24+
25+
## How it works
26+
27+
The new policy pack integrates directly with your AWS Organizations Tag Policies as the single source of truth. No separate policy configuration or custom code required. When you run `pulumi up`, the pack retrieves your tag requirements from your AWS organization and validates that every resource has the required tags.
28+
29+
Start by enabling the pack in advisory mode to surface tagging violations in Pulumi Cloud's [Policy Findings](/docs/insights/policy/policy-findings/) hub without blocking deployments. This collaborative workspace allows your team to triage, prioritize, and systematically remediate missing tags. Once your infrastructure is compliant, switch to mandatory mode to prevent future non-compliant deployments.
30+
31+
## Getting started
32+
33+
The pack works with both AWS Classic and AWS Native Pulumi providers, covering the full range of taggable AWS resources. To get started:
34+
35+
1. **Configure tag policies** in AWS Organizations following the [AWS documentation](https://docs.aws.amazon.com/organizations/latest/userguide/enforce-required-tag-keys-iac.html).
36+
1. **Grant required permissions** by adding the `resourcegroupstaggingapi:ListRequiredTags` permission to the IAM role or user that runs your Pulumi deployments.
37+
1. **Enable the pack in Pulumi Cloud**:
38+
1. From within your organization, navigate to the **Policies** tab
39+
1. Under Policy Packs, select the **Available** tab
40+
1. Select **AWS Organizations Tag Policies** and select **Add to organization**
41+
1. From the Organizations tab, apply the policy to a Policy Group
42+
1. **Configure enforcement level**: Set to advisory for warnings or mandatory to block non-compliant deployments.
43+
44+
Within minutes, every Pulumi deployment in your organization will validate tag compliance, ensuring that no resources are created without required tags.
45+
46+
## Try it today
47+
48+
The AWS Organizations Tag Policies policy pack is now available to all Pulumi Team and Enterprise customers.
49+
50+
- [Get started with the integration](/docs/insights/policy/integrations/aws-organizations-tag-policies/)
51+
- [Learn about enforcing tag policies with AWS Organizations Tag Policies](https://docs.aws.amazon.com/organizations/latest/userguide/enforce-required-tag-keys-iac.html)
52+
- [Sign up for Pulumi Cloud](https://app.pulumi.com/signup) if you're new to Pulumi
53+
- [Join the Community Slack](https://slack.pulumi.com/) to share feedback
54+
55+
We're excited to partner with AWS on this capability and help organizations proactively enforce tag governance. Give it a try and let us know what you think!
872 KB
Loading

content/blog/beyond-yaml-kubernetes-2026-automation-era/index.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ Pulumi’s 2025 advancements, including [Pulumi Kubernetes Operator 2.0 GA](http
8383
- [Bring Your YAML and Helm, Then Evolve](/blog/beyond-yaml-kubernetes-2026-automation-era/#bring-your-yaml-and-helm-then-evolve)
8484
- [Begin Your Kubernetes Automation Journey](/blog/beyond-yaml-kubernetes-2026-automation-era/#begin-your-kubernetes-automation-journey)
8585
- [Workshop: From Zero to Production in Kubernetes](/blog/beyond-yaml-kubernetes-2026-automation-era/#workshop-from-zero-to-production-in-kubernetes)
86-
- [Visit Pulumi at KubeCon 2025 Booth 1045](/blog/beyond-yaml-kubernetes-2026-automation-era/#visit-pulumi-at-kubecon-2025-booth-1045)
8786
- [Final Thoughts](/blog/beyond-yaml-kubernetes-2026-automation-era/#final-thoughts)
8887

8988
## Why Kubernetes Needs to Go Beyond YAML
@@ -186,17 +185,6 @@ Join the hands-on workshop [*From Zero to Production in Kubernetes*](https://www
186185

187186
[Register now](https://www.pulumi.com/events/from-zero-to-production-in-kubernetes/).
188187

189-
## Visit Pulumi at KubeCon 2025 Booth #1045
190-
191-
If you plan to attend [KubeCon + CloudNativeCon North America 2025](https://www.pulumi.com/kubecon/), visit **Booth #1045** to see Kubernetes automation in action.
192-
193-
- Live infrastructure automation across multiple clusters
194-
- Pulumi Neo generating production-ready infrastructure code from natural language
195-
- Policy as Code for Kubernetes security and compliance
196-
- Expert sessions with Pulumi engineers for real-world use cases
197-
198-
[Schedule your expert session](https://calendly.com/pulumi-meetings/demo-pulumi-at-kubecon-atlanta) and explore how Pulumi simplifies Kubernetes at scale.
199-
200188
## Final Thoughts
201189

202190
Kubernetes in 2026 and beyond is not just for platform engineers. It is for DevOps professionals, SREs, and cloud teams, big and small, responsible for maintaining infrastructure security, reliability, and performance.

content/case-studies/_index.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ aliases:
1010
- /case-studies/lykke/
1111

1212
featured_customer:
13-
name: unity
14-
headline_stat: 80%
13+
name: supabase
14+
headline_stat: 1 week
1515
headline: |
16-
Reduction in deployment times, from weeks to
17-
hours, significantly improving Unity's time to market.
16+
Infrastructure readiness for new region deployment, enabling rapid global expansion.
1817
quote: |
19-
"Terraform relies on HCL and lacks support for concepts like classes, objects and inheritance.
20-
An equivalent deployment would take more lines of code while yielding IaC that is less reusable."
18+
"The infrastructure team acts as groundkeepers of our Pulumi practices, not gatekeepers, but promoters for the entire org."
2119
2220
customer_logos:
2321
logos:
@@ -27,6 +25,7 @@ customer_logos:
2725
- name: moderna
2826
- name: docker
2927
- name: unity
28+
- name: supabase
3029
- name: ae-networks
3130
- name: deloitte
3231
- name: stokespace

content/docs/administration/access-identity/rbac/teams.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ menu:
1313
aliases:
1414
- /docs/administration/access-identity/rbac/teams/
1515
- /docs/pulumi-cloud/access-management/rbac/teams/
16+
- /docs/pulumi-cloud/access-management/teams/
1617
---
1718

1819
{{% notes "info" %}}

0 commit comments

Comments
 (0)