Skip to content

Commit c43689d

Browse files
CamSoperactions-usermeagancojocardschallerpulumi-bot
authored
Release/2025 09 15 docs (#15978)
* Wire up Neo release branches * Merge master into release/2025-09-15-docs (#81) * [org templates] add gitlab source instructions (#15903) * [org templates] add gitlab source instructions Updated sections on GitHub App and OAuth requirements for template sources and destinations. Clarified organization settings for template sources. * Fix lint Clarified GitHub OAuth authorization process and its importance for accessing private repositories. Updated instructions for setting up organization template sources. * Wire up Neo release branches * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Regen dev version [email protected] * Fix typo (#15899) * Regen dev version [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Don't imply the CLI isn't required for Auto API (#15917) The intent behind "without requiring invoking the CLI from a shell process" is to highlight that you don't need to run the `pulumi` binary "by hand", but it might lead people to think that you don't need the `pulumi` binary. This change rewords the sentence so it doesn't imply the `pulumi` binary isn't required. * blog post: azure-native v3.8 (#15897) * draft: blog post * meta image, updated text * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * minor updates * updated with a walkthrough * tweaks * move section --------- Co-authored-by: Guinevere Saenger <[email protected]> * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Add dynamic keyword injection placeholders to Google Ads landing pages (#15923) - Added span elements with id="dki-placeholder" to all /gads/ landing pages - Applied bold styling to make dynamic keywords stand out - Configured placeholders to work with GTM script for utm_term parameter replacement - Preserves existing fallback text when no utm_term is present * Regen dev version [email protected] * Add workshops and events (#15901) * Add events + workshops * Lint * Fix slug mismatch * Tweaks and fixes * Update content/events/accelerating-ai-powered-app-modernization-with-pulumi-on-google-cloud/index.md * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Changes to search/insights docs for unified resources. Blog post to announce release (#15888) * Fix page break in unified resource blog post (#15931) --------- Co-authored-by: Derek <[email protected]> Co-authored-by: GH Action - Upstream Sync <[email protected]> Co-authored-by: Meagan <[email protected]> Co-authored-by: Pulumi Bot <[email protected]> Co-authored-by: Dan Siddoway <[email protected]> Co-authored-by: Justin Van Patten <[email protected]> Co-authored-by: Eron Wright <[email protected]> Co-authored-by: Guinevere Saenger <[email protected]> Co-authored-by: asaf <[email protected]> Co-authored-by: Kimberley Mackenzie <[email protected]> Co-authored-by: Michael Fallihee <[email protected]> * neo docs v1 (#94) * [org templates] add gitlab source instructions (#15903) * [org templates] add gitlab source instructions Updated sections on GitHub App and OAuth requirements for template sources and destinations. Clarified organization settings for template sources. * Fix lint Clarified GitHub OAuth authorization process and its importance for accessing private repositories. Updated instructions for setting up organization template sources. * Wire up Neo release branches * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Regen dev version [email protected] * Fix typo (#15899) * Regen dev version [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Don't imply the CLI isn't required for Auto API (#15917) The intent behind "without requiring invoking the CLI from a shell process" is to highlight that you don't need to run the `pulumi` binary "by hand", but it might lead people to think that you don't need the `pulumi` binary. This change rewords the sentence so it doesn't imply the `pulumi` binary isn't required. * blog post: azure-native v3.8 (#15897) * draft: blog post * meta image, updated text * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * Update content/blog/azure-native-defaultazurecredential-and-private-cloud/index.md Co-authored-by: Guinevere Saenger <[email protected]> * minor updates * updated with a walkthrough * tweaks * move section --------- Co-authored-by: Guinevere Saenger <[email protected]> * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Add dynamic keyword injection placeholders to Google Ads landing pages (#15923) - Added span elements with id="dki-placeholder" to all /gads/ landing pages - Applied bold styling to make dynamic keywords stand out - Configured placeholders to work with GTM script for utm_term parameter replacement - Preserves existing fallback text when no utm_term is present * Regen dev version [email protected] * Add workshops and events (#15901) * Add events + workshops * Lint * Fix slug mismatch * Tweaks and fixes * Update content/events/accelerating-ai-powered-app-modernization-with-pulumi-on-google-cloud/index.md * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * Changes to search/insights docs for unified resources. Blog post to announce release (#15888) * Fix page break in unified resource blog post (#15931) * Regen dev version [email protected] * Regen dev version [email protected] * Regen dev version [email protected] * New address in content/legal (#15932) * Improve Infrastructure as Code page for SEO and readability (#15941) - Add concise definition and comprehensive explanation of IaC concepts - Restructure content for better flow and Google AI Overview optimization - Add FAQ section with schema markup for improved search visibility - Include real-world code example demonstrating IaC principles - Enhance Core Elements section with detailed explanations * Regen dev version [email protected] * add note about changes to ignoreChanges resource option (#15919) * add note about changes to ignoreChanges resource option * Update content/docs/iac/concepts/options/ignorechanges.md Co-authored-by: Julien <[email protected]> --------- Co-authored-by: Julien <[email protected]> * Remove note about camel casing in ignoreChanges (#15943) * Regen dev version [email protected] * updated links (#15916) * Fix broken /crosswalk/ redirect to point to correct AWS guides location (#15946) The /crosswalk/ page was redirecting to /crosswalk/aws which doesn't exist, causing a 404 error. This has been broken since the content reorganization in May 2023 when AWS Crosswalk docs were moved from /docs/guides/crosswalk/aws/ to /docs/clouds/aws/guides/ (now at /docs/iac/clouds/aws/guides/). This commit updates the redirect to point to the correct location where the AWS Crosswalk documentation actually resides. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <[email protected]> * Regen docs [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Regen dev version [email protected] * Adds documentation for fn::concat esc built-in function (#15881) * Added example for fn::concat * Added docs for fn::concat * Update node package manager requirements (#15947) Remove the now-obsolete requirement to specify `packageManger` in the `package.json`. This is done automatically when using yarn v2 or greater but is no longer required for other package managers & versions. * Regen dev version [email protected] * Update navigation and pricing organization (#15949) * Nav changes * Title changes for pages linked from nav: * Homepage changes * Pricing changes * More nav changes * Revert "Pricing changes" This reverts commit fb79e66. * Revert "Homepage changes" This reverts commit 682870e. * Pricing take 2 * Revert "Title changes for pages linked from nav:" This reverts commit a934d15. * Remove demo request from product dropdown. * Apply suggestion from @joeduffy Co-authored-by: Joe Duffy <[email protected]> * Update layouts/partials/header.html Co-authored-by: Joe Duffy <[email protected]> * Update content/pricing/_index.md Co-authored-by: Joe Duffy <[email protected]> * PR feedback * One last url update * String change --------- Co-authored-by: Joe Duffy <[email protected]> * Include app.pulumi.com in allowlist instructions (#15956) * neo docs v1 * latest * lint error * latest * Regen dev version [email protected] * Regen dev version [email protected] * rewording * Redirect /neo to /product/neo (#15959) * Redirect /product/neo to /neo - Move neo content from /content/product/neo.md to /content/neo/_index.md - Update event URL to point to /neo instead of /product/neo - Add redirect from /product/neo to /neo * Revert "Redirect /product/neo to /neo" This reverts commit 849922e. * Redirect /neo to /product/neo - Keep Neo content at its original location /content/product/neo.md - Add redirect from /neo to /product/neo for shorter URL access * Remove extra padding to prevent jump on hover (#15960) * Add padding to prevent jump on hover * add min width * Regen dev version [email protected] * Regen dev version [email protected] * Regen docs [email protected] * Regen dev version [email protected] * Add ContainerDays Conference 2025 talk details (#15966) * clarify workflow minute usage for previews * add link * Remove obsolete troubleshooting topics (#15968) Remove some troubleshooting topics dealing with differences between Pulumi v1 and v2, both of which are many years out of support. * Neo API Docs * address lint issues * Fix trailing spaces (#15970) As part of #15468, we have to fix existing violations before we can apply markdownlint rules to files that are mistakenly skipped in their entirety. This commit fixes all errors dealing with trailing spaces. * Regen dev version [email protected] * Left nav blog post (#15972) * Wire up Neo release branches * Blog post for the Cloud Console Left Nav changes * Update blog post to fix build issues and add a meta description * Shortening the meta description so it isn't longer than 160 characters * Update the left nav image in the left nav blog post to include the Neo icon * Replace product left nav image with a version that doesn't include Neo since left nav blog is going out first * Minor punctuation update to remove an extra period and colon for the Left Nav changes blog post * Update left nav blog post to move Deployments to the top level --------- Co-authored-by: GH Action - Upstream Sync <[email protected]> Co-authored-by: Meagan <[email protected]> Co-authored-by: Craig Symonds <[email protected]> * Fix unordered list style violations (#15973) Standardize ul bullet styles across blog posts to ensure consistent formatting. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <[email protected]> * [insights] Policy Management V2 DOCS ONLY (#15975) * foundations * pm docs * remove the blog * leftovers * one more * Add Pulumi Neo integration details to MCP server docs * Fix spaces after list markers in markdown files (#15974) Fixed 65 instances of incorrect spacing after list markers across 6 blog post files to comply with markdown linting rules. All list markers now use exactly 1 space after the marker. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <[email protected]> * Fix fenced code block spacing violations (#15976) Add required blank lines before and after fenced code blocks in 19 markdown files to comply with linting rules. This ensures consistent formatting and improves readability across all blog posts and documentation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <[email protected]> * Fix linting for Pulumi Neo in MCP server documentation --------- Co-authored-by: Derek <[email protected]> Co-authored-by: GH Action - Upstream Sync <[email protected]> Co-authored-by: Meagan <[email protected]> Co-authored-by: Pulumi Bot <[email protected]> Co-authored-by: Dan Siddoway <[email protected]> Co-authored-by: Justin Van Patten <[email protected]> Co-authored-by: Eron Wright <[email protected]> Co-authored-by: Guinevere Saenger <[email protected]> Co-authored-by: asaf <[email protected]> Co-authored-by: Kimberley Mackenzie <[email protected]> Co-authored-by: Michael Fallihee <[email protected]> Co-authored-by: Boris Schlosser <[email protected]> Co-authored-by: Thomas Gummerer <[email protected]> Co-authored-by: Julien <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Pablo Terradillos <[email protected]> Co-authored-by: Daniel Bradley <[email protected]> Co-authored-by: Joe Duffy <[email protected]> Co-authored-by: Piers Karsenbarg <[email protected]> Co-authored-by: Mark <[email protected]> Co-authored-by: Engin Diri <[email protected]> Co-authored-by: Josh Kodroff <[email protected]> Co-authored-by: Craig Symonds <[email protected]> Co-authored-by: Luke Ward <[email protected]> Co-authored-by: Artur Laksberg <[email protected]> --------- Co-authored-by: GH Action - Upstream Sync <[email protected]> Co-authored-by: Meagan <[email protected]> Co-authored-by: Derek <[email protected]> Co-authored-by: Pulumi Bot <[email protected]> Co-authored-by: Dan Siddoway <[email protected]> Co-authored-by: Justin Van Patten <[email protected]> Co-authored-by: Eron Wright <[email protected]> Co-authored-by: Guinevere Saenger <[email protected]> Co-authored-by: asaf <[email protected]> Co-authored-by: Kimberley Mackenzie <[email protected]> Co-authored-by: Michael Fallihee <[email protected]> Co-authored-by: Claude <[email protected]> Co-authored-by: Boris Schlosser <[email protected]> Co-authored-by: Thomas Gummerer <[email protected]> Co-authored-by: Julien <[email protected]> Co-authored-by: Pablo Terradillos <[email protected]> Co-authored-by: Daniel Bradley <[email protected]> Co-authored-by: Joe Duffy <[email protected]> Co-authored-by: Piers Karsenbarg <[email protected]> Co-authored-by: Mark <[email protected]> Co-authored-by: Engin Diri <[email protected]> Co-authored-by: Josh Kodroff <[email protected]> Co-authored-by: Craig Symonds <[email protected]> Co-authored-by: Luke Ward <[email protected]> Co-authored-by: Artur Laksberg <[email protected]>
1 parent 9914502 commit c43689d

File tree

11 files changed

+808
-0
lines changed

11 files changed

+808
-0
lines changed

content/docs/iac/neo/_index.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title_tag: "Pulumi Neo"
3+
meta_desc: Pulumi Neo is an agentic AI that enables conversational infrastructure management through natural language interactions.
4+
title: Pulumi Neo
5+
h1: Pulumi Neo
6+
meta_image: /images/docs/meta-images/docs-meta.png
7+
menu:
8+
iac:
9+
name: Neo
10+
parent: iac-home
11+
weight: 22
12+
identifier: iac-neo
13+
---
14+
15+
## Overview
16+
17+
Neo is a purpose-built infrastructure automation agent that can carry out platform engineering tasks on your behalf. Neo enables platform engineers to make natural language requests, which Neo autonomously plans and executes. Rather than writing code or running CLI commands for routine tasks, you can simply tell Neo what you need:
18+
19+
- "Find all Lambda functions running deprecated runtimes and upgrade them"
20+
- "Fix the S3 buckets that violate our security policies"
21+
- "Analyze what resources depend on our production database"
22+
23+
Beyond maintenance and analysis, Neo can create new infrastructure resources, remove unused components, and refactor code into reusable modules. Neo works across multiple stacks in a single task when needed, like updating connection strings everywhere at once or applying security policies across your entire infrastructure.
24+
25+
Neo understands your intent, creates an execution plan, and handles the implementation through existing [GitHub workflows](/docs/iac/using-pulumi/continuous-delivery/github-actions/) and [Pulumi operations](/docs/iac/cli/).
26+
27+
### Key benefits
28+
29+
#### Accelerate Delivery
30+
31+
Automate multi-step workflows and routine maintenance to respond faster to development team needs and infrastructure requirements.
32+
33+
#### Reduce Context Switching
34+
35+
Platform teams manage infrastructure across multiple repositories, clouds, and tools. Neo understands this complexity and can work across your entire infrastructure landscape, eliminating the need to context-switch between different systems.
36+
37+
#### Focus on Strategic Work
38+
39+
Neo handles routine infrastructure tasks that consume platform engineering time. Policy violations, runtime upgrades, and dependency analysis can be delegated to Neo, freeing your team to focus on architecture, optimization, and innovation.
40+
41+
#### Maintain Control and Compliance
42+
43+
Every change Neo makes goes through [pull requests](/docs/iac/neo/pull-requests/), ensuring human review and your existing CI/CD pipeline validations. Neo operates within the [RBAC boundaries](/docs/pulumi-cloud/access-management/rbac/) of the user making the request and automatically enforces your [Pulumi policies](/docs/iac/crossguard/).
44+
45+
## How Neo Fits into Pulumi
46+
47+
Neo complements and enhances your existing Pulumi workflows
48+
49+
- **Pulumi IaC**: Neo generates and modifies Pulumi infrastructure code, working with your existing [programs](/docs/iac/concepts/projects/) and [stacks](/docs/iac/concepts/stacks/)
50+
- **Pulumi ESC**: Neo uses [ESC](/docs/esc/) for secure credential management, enabling it to run previews and validate changes
51+
- **Pulumi Policies**: Neo automatically respects and enforces your [policy packs](/docs/iac/crossguard/), preventing non-compliant changes
52+
- **Pulumi Cloud**: Neo leverages [Pulumi Cloud's](/docs/pulumi-cloud/) infrastructure graph to understand dependencies and impacts
53+
54+
## Tasks
55+
56+
[Tasks](/docs/iac/neo/tasks/) are how Neo plans and executes multi-step operations while maintaining safety through comprehensive controls.
57+
58+
Safety is maintained through [policy controls](/docs/iac/crossguard/) that define guardrails for Neo's operations, ensuring all changes align with your organization's standards and compliance requirements.
59+
60+
## Human-in-the-loop workflows
61+
62+
Neo ensures that critical decisions require human approval and all infrastructure changes go through your existing review processes. This approach provides:
63+
64+
- **Pull request-based changes**: All infrastructure modifications are proposed through PRs, maintaining your standard code review workflow
65+
- **Approval gates**: Intensive operations, such as running [Pulumi preview](/docs/iac/neo/running-previews/), pause for explicit human authorization before proceeding
66+
- **Audit trails**: Complete visibility into what Neo planned, executed, and why
67+
68+
This design gives you the benefits of automation while preserving the control and oversight essential for production infrastructure management.
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: Getting started with Neo
3+
title_tag: Getting started with Pulumi Neo
4+
h1: Getting started with Pulumi Neo
5+
meta_desc: Learn how to set up Pulumi Neo for your organization and run your first infrastructure task through conversational AI.
6+
meta_image: /images/docs/meta-images/docs-meta.png
7+
menu:
8+
iac:
9+
name: Get started
10+
parent: iac-neo
11+
weight: 10
12+
identifier: iac-neo-get-started
13+
neo:
14+
name: Get started
15+
weight: 1
16+
---
17+
18+
## Public Preview Access
19+
20+
Neo is in public preview and currently free to use. Users will receive ample warning before any pricing changes go into effect. Using Neo to optionally run [`pulumi preview`](/docs/iac/neo/running-previews/) consumes workflow minutes. Lean more about workflow minutes on our [pricing page](https://www.pulumi.com/pricing/#faq-pricing).
21+
22+
## Enabling and Disabling Neo
23+
24+
Neo is enabled by default. To disable Neo for your organization, navigate to the [Access Management page](/docs/pulumi-cloud/access-management/), under the Settings section. AI features can be enabled or disabled in the Pulumi Copilot section. If Copilot was previously disabled, it will need to be enabled to use Neo.
25+
26+
## GitHub App Installation
27+
28+
Installing the [Pulumi GitHub App](/docs/iac/using-pulumi/continuous-delivery/github-app/) significantly enhances Neo's capabilities, though it is not required. The Pulumi GitHub App:
29+
30+
- Allows Neo to read repository content for better context
31+
- Enables pull request creation
32+
- Streamlines the code change workflow
33+
34+
Neo can still provide code change suggestions without the GitHub App, but you'll need to apply the changes and open PRs manually.
35+
36+
To install the GitHub App, see the [GitHub integration guide](/docs/iac/using-pulumi/continuous-delivery/github-app/).
37+
38+
## Neo's Permission Model
39+
40+
Neo operates within the conversing user's [RBAC entitlements](/docs/pulumi-cloud/access-management/rbac/) and cannot perform actions that the user couldn't perform themselves. This means:
41+
42+
- There's no privilege escalation risk or special administrative access required
43+
- Each user's Neo conversations are isolated from other users
44+
45+
## Quick Start Guide
46+
47+
### Enable Neo for Your Organization
48+
49+
Neo is automatically enabled for eligible organizations. To access Neo:
50+
51+
1. Navigate to [Pulumi Cloud](https://app.pulumi.com)
52+
2. Click on **Agent Tasks** within the **Neo** section in the left navigation menu
53+
54+
> If Neo doesn't appear in your navigation, verify that AI features have not been disabled for your organization. AI controls are located on the [Access Management page](/docs/pulumi-cloud/access-management/), in the Pulumi Copilot section.
55+
56+
### Create Your First Task
57+
58+
Each conversation with Neo is called a "task" - a contained unit of work where Neo helps you accomplish a specific infrastructure goal.
59+
60+
Let's run a simple infrastructure [task](/docs/iac/neo/tasks/) to see Neo in action
61+
62+
1. Start with a read-only analysis task by prompting Neo:
63+
64+
`Which of my resources are not using their latest major version?`
65+
66+
2. Neo will:
67+
- Acknowledge your request
68+
- Search through your infrastructure
69+
- Present findings in a clear format
70+
71+
3. As a follow-up, ask Neo what you should address first:
72+
73+
`Which version issue should I address first?`
74+
75+
4. Neo will respond with a plan to address the most important outdated version it found. Go ahead and ask it to propose a change for the highest priority finding:
76+
77+
`Can you propose the necessary code change to address the highest priority item?`
78+
79+
5. Depending on the scale of the issue, Neo may propose a plan for addressing it; or, Neo may get to work right away to create a PR. Neo will then:
80+
81+
- Ask for confirmation before making changes
82+
- Generate the necessary code modifications
83+
- Request approval before opening a [pull request](/docs/iac/neo/pull-requests/)
84+
- Create a [PR](/docs/iac/neo/pull-requests/) with clear documentation of the changes
85+
86+
## Considerations and Limitations
87+
88+
- GitHub Only - Neo only works with GitHub repositories. GitLab, Bitbucket, and other platforms are not supported yet.
89+
- Tasks Cannot Be Shared - Each task is private to the user who created it. Tasks cannot be shared, transferred, or collaborated on between team members.
90+
- Code Changes Only - Neo can only modify infrastructure through code. It cannot perform API or UI actions like configure deployments, updating stack configurations, or managing environments in Pulumi Cloud.
91+
- Cannot Create GitHub Repos - Neo cannot create new GitHub repositories or initialize new Git repos. It only works within existing repositories.
92+
- Cannot Create New Projects - Neo cannot initialize new Pulumi projects. It can only work within existing projects that are already set up.
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: Pull requests
3+
title_tag: Pull requests with Pulumi Neo
4+
h1: Pull requests with Pulumi Neo
5+
meta_desc: Learn how Neo creates and manages pull requests to implement infrastructure changes through your existing review process.
6+
meta_image: /images/docs/meta-images/docs-meta.png
7+
menu:
8+
iac:
9+
name: Pull requests
10+
parent: iac-neo
11+
weight: 30
12+
identifier: iac-neo-pull-requests
13+
neo:
14+
name: Pull requests
15+
weight: 3
16+
---
17+
18+
Pull requests are the bridge between Neo's AI capabilities and your production infrastructure. Every change Neo proposes goes through a PR, ensuring:
19+
20+
- Human review of all changes
21+
- CI/CD pipeline validation
22+
- Team collaboration and knowledge sharing
23+
- Audit trail and rollback capability
24+
25+
## Prerequisites
26+
27+
At this time, Neo only supports reading code from and creating pull requests in GitHub.
28+
29+
### GitHub App Installation
30+
31+
Neo requires the [Pulumi GitHub App](/docs/iac/using-pulumi/continuous-delivery/github-app/) to be installed to create pull requests. Additionally, without the Pulumi GitHub App, Neo will not be able to view the IaC code backing a stack. Neo can still propose code changes, but they will not be fully contextualized to your IaC code.
32+
33+
### Code Access
34+
35+
When a stack is created, its git location is added as stack tags. Neo uses these tags to locate and fetch the git repository.
36+
37+
### Pull Requests
38+
39+
Neo will offer to open a pull request after a preview is run. You can also ask Neo to open or update a pull request at any time. Neo opens a PR with:
40+
41+
- Clear title describing the change
42+
- Description of what problem it solves
43+
- List of modified resources
44+
- Preview output summary
45+
- Link back to the Neo task
46+
47+
![Example PR](pr-example.png)
48+
49+
### Requesting Changes
50+
51+
When reviewing Neo's pull requests, you can ask for modifications through follow-up prompting. Neo understands context from both the PR and your conversation history.
52+
53+
### GitHub Actions Integration
54+
55+
If you use GitHub Actions for CI/CD, Neo's pull requests can automatically trigger your existing workflows. When configured, your Pulumi previews, security scans, policy checks, and tests will run automatically on Neo's PRs, just like any other pull request. If a workflow fails, you can ask Neo to address the specific issue, and it will push fixes to the same PR.
56+
57+
To set up GitHub Actions with Pulumi, see the [GitHub Actions documentation](/docs/iac/using-pulumi/continuous-delivery/github-actions/).
246 KB
Loading
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Previews
3+
title_tag: Running previews with Pulumi Neo
4+
h1: Running previews with Pulumi Neo
5+
meta_desc: Learn how Neo uses Pulumi preview to validate infrastructure changes before creating pull requests.
6+
meta_image: /images/docs/meta-images/docs-meta.png
7+
menu:
8+
iac:
9+
name: Previews
10+
parent: iac-neo
11+
weight: 20
12+
identifier: iac-neo-running-previews
13+
neo:
14+
name: Previews
15+
weight: 2
16+
---
17+
18+
Neo can run [preview](/docs/iac/cli/commands/pulumi_preview/) directly from Pulumi Cloud to validate proposed infrastructure changes before creating pull requests. This capability provides confidence that suggested modifications do not result in unexpected resource changes and comply with [policies](/docs/iac/crossguard/).
19+
20+
## Public Preview Access
21+
22+
Neo is in public preview and currently free to use. Users will receive ample warning before any pricing changes go into effect. Using Neo to optionally run `pulumi preview` consumes workflow minutes. Lean more about workflow minutes on our [pricing page](https://www.pulumi.com/pricing/#faq-pricing).
23+
24+
## Prerequisites
25+
26+
### Configuration and Credentials
27+
28+
To execute a `pulumi preview`, Neo needs the necessary configuration and credentials.
29+
30+
- Applicable cloud provider credentials, such as [AWS](https://www.pulumi.com/registry/packages/aws/installation-configuration/#set-credentials-as-environment-variables), [Azure](https://www.pulumi.com/registry/packages/azure-native/installation-configuration/#set-configuration-using-environment-variables), or [GCP](https://www.pulumi.com/registry/packages/gcp/installation-configuration/#authenticate-using-a-service-account.)
31+
- Any additional configuration required by your Pulumi programs
32+
33+
The configuration and credentials can be supplied via [stack config](/docs/iac/concepts/config/) or an [ESC environment](/docs/esc/environments/).
34+
35+
### Stack Config
36+
37+
[Stack configuration](/docs/iac/concepts/config/) is a method of defining configuration directly on a stack, such as through the Pulumi CLI, a stack config file, or API.
38+
39+
### ESC Stack Association
40+
41+
Using [ESC](https://www.pulumi.com/docs/esc/) is the recommended approach for defining stack configuration and secrets. It is the most flexible and scalable option, and has native OIDC integration with all of the major cloud providers.
42+
43+
Learn more about [ESC](/docs/esc/) and [associating an ESC](/docs/esc/integrations/infrastructure/pulumi-iac/) environment with a stack.
44+
45+
## Using previews
46+
47+
When you ask Neo to make infrastructure changes, it utilizes previews to:
48+
49+
1. **Validate proposed changes**: Ensure the generated code is syntactically correct and will execute successfully
50+
2. **Show impact analysis**: Display what resources will be created, updated, or deleted
51+
3. **Check policy compliance**: Verify changes comply with your organization's [CrossGuard policies](/docs/iac/crossguard/)
52+
53+
### Preview Workflow
54+
55+
Once Neo has arrived at a solution for solving a task, it will request to run a `preview` to validate the changes. You can approve or decline the request. You can also manually run a preview at any time by simply prompting Neo.
56+
57+
![Neo asking to run a preview](preview-prompt.png)
58+
59+
Once the preview has executed, Neo will propose opening a pull request. You can approve opening a PR, or request that Neo make changes to its proposal.
60+
61+
![Neo asking to run a preview](preview-output.png)
62+
63+
### Preview Output
64+
65+
- Number of resources to be modified
66+
- Specific changes for each resource
67+
- Any errors or warnings
68+
- Policy violations if applicable
69+
70+
### Policy Compliance Checking
71+
72+
If the stack executing the `preview` is associated with Pulumi IaC policies, the policies will be exercised as part of the preview, and any warnings or violations will be displayed.
73+
74+
## Troubleshooting
75+
76+
### Missing or Invalid Credentials
77+
78+
If Neo cannot run previews due to missing credentials:
79+
80+
1. Verify your ESC environment contains the necessary credentials
81+
2. Check that the environment is associated with your stack. You can visit the stack details page to view the associated ESC environments.
82+
83+
## Best practices
84+
85+
### Always Preview Before Merging
86+
87+
While Neo runs previews before creating PRs, always run a final preview before merging to catch any changes that occurred since PR creation.
88+
89+
### Review Preview Output Carefully
90+
91+
Pay special attention to:
92+
93+
- Resources marked for replacement (not just update)
94+
- Unexpected resources in the change set
95+
- Policy warnings or violations
96+
97+
## Security Considerations
98+
99+
Neo's preview operations are limited by:
100+
101+
- The permissions of the user initiating the request
102+
- The IAM roles associated with ESC credentials
103+
- Organization-level policies and restrictions
220 KB
Loading
13.7 KB
Loading

content/docs/iac/neo/tasks/_index.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Tasks
3+
title_tag: Tasks in Pulumi Neo
4+
h1: Tasks in Pulumi Neo
5+
meta_desc: Learn about tasks, the primary entity for interacting with Neo to perform infrastructure operations.
6+
meta_image: /images/docs/meta-images/docs-meta.png
7+
menu:
8+
iac:
9+
name: Tasks
10+
parent: iac-neo
11+
weight: 15
12+
identifier: iac-neo-tasks
13+
neo:
14+
name: Tasks
15+
weight: 1.5
16+
---
17+
18+
Tasks are Neo's primary unit of work. Each task represents a distinct conversation where you describe what you want to accomplish, and Neo plans and executes the necessary infrastructure changes. Tasks provide structure, context, and boundaries for Neo's operations.
19+
20+
## Key Characteristics
21+
22+
### User Isolation
23+
24+
Tasks are completely isolated between users:
25+
26+
- Each task belongs exclusively to the user who created it
27+
- Tasks cannot be shared, transferred, or viewed by other users
28+
- User permissions and [RBAC](/docs/pulumi-cloud/access-management/rbac/) are enforced within each task
29+
- Conversation history and context remain private to the creating user
30+
31+
This isolation prevents the opportunity for escalation.
32+
33+
### Task Plans
34+
35+
When you give Neo a complex request, it creates a task plan outlining the steps it will take to accomplish your goal. This plan provides transparency into Neo's approach and gives you the opportunity to adjust the strategy before execution begins.
36+
37+
#### Example Plan
38+
39+
The following is a representative plan in response to a user requesting to locate and update outdated Lambda functions:
40+
41+
1. Identify all Lambda functions using Node.js
42+
2. Determine the appropriate target runtime for each
43+
3. Create code changes to update the runtime versions
44+
4. Run a preview to validate all changes
45+
5. Create a pull request with the updates
46+
47+
### Approvals
48+
49+
Neo will seek approval before opening a PR or running a preview.
50+
51+
### Pulumi Previews
52+
53+
At any time, you can explicitly ask Neo to run a [pulumi preview](/docs/iac/cli/commands/pulumi_preview/). As well, if Neo proposes code changes as part of a task, it will request to run a preview to help obtain feedback on the changes. [Learn more](/docs/iac/neo/running-previews/) about Neo and previews.
54+
55+
### Pull Requests
56+
57+
If a task results in Neo proposing code modifications, it will offer to open a [pull request](/docs/iac/neo/pull-requests/) once the user is satisfied with the implementation. PRs can also be modified after they've been opened.
58+
59+
## Setting the Entity Context
60+
61+
You can explicitly set the [stack](/docs/iac/concepts/stacks/) and [repository](/docs/iac/concepts/projects/) context when initiating a task. This helps Neo understand exactly where to focus its operations.
62+
63+
![Neo asking to run a preview](entity-context.png)
64+
65+
## Interruptions and Resuming
66+
67+
Tasks continue running even if you close your browser or navigate away. When you return to the task later, Neo will have continued working and will show you any progress made while you were away. You can pick up the conversation exactly where you left off, with full context preserved.
68+
69+
## Task History
70+
71+
Neo tasks are saved and accessible through the Agent Tasks page in Pulumi Cloud. Though the entire task history is available at any time, the task cache may be lost if the agent idles for an hour or more.
22.3 KB
Loading

0 commit comments

Comments
 (0)