-
Notifications
You must be signed in to change notification settings - Fork 258
kargo with pko for change management #16669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Documentation ReviewI've reviewed PR #16669 and found several issues that need to be addressed before merging. Overall, the blog post provides valuable technical content about integrating PKO with Kargo for change management, but there are style, consistency, and accuracy issues to fix. Issues FoundCritical Issues1. Title exceeds 60-character limit (index.md:2) The title "Change Management with the Pulumi Kubernetes Operator and Kargo" is 65 characters, exceeding the strict 60-character SEO limit specified in BLOGGING.md. Suggestion: title: "Change Management with PKO and Kargo"
h1: "Change Management with the Pulumi Kubernetes Operator and Kargo"Add 2. Missing The blog post is missing the required Suggestion: The [Pulumi Kubernetes Operator](https://www.pulumi.com/docs/iac/guides/continuous-delivery/pulumi-kubernetes-operator/) enables you to manage Pulumi stacks as Kubernetes resources, but it doesn't provide much guidance on change management. [Kargo](https://kargo.io/) fills this gap by providing controlled, staged promotions with verification steps. Together, they let you keep your infrastructure defined in Pulumi while managing multi-environment rollouts in a systematic way.
<!--more-->
## What you can do with Argo CD, PKO, and KargoStyle and Consistency Issues3. Inconsistent heading capitalization (index.md:19, 32) Several H2 headings use Title Case instead of Sentence case as required by STYLE-GUIDE.md. Issues:
Suggestion for line 32: ## About Kargo4. Inconsistent product naming (throughout) The blog post uses "Pulumi Kubernetes Operator" and "PKO" interchangeably without establishing the acronym properly at first use. Suggestion for index.md:15: The [Pulumi Kubernetes Operator (PKO)](https://www.pulumi.com/docs/iac/guides/continuous-delivery/pulumi-kubernetes-operator/) enables you to manage Pulumi stacks as Kubernetes resources...After establishing PKO as the acronym, it's fine to use it throughout. 5. Use of "click" instead of "select" (index.md:162) Line 162 says "create a secret in your project through the Kargo UI" and instructs to "Navigate to your project" and "Go to Settings > Credentials." The style guide specifies using "select" instead of "click" and "navigate" instead of "go to." Suggestion for index.md:160-167: ### Pulumi access token
Kargo needs access to the Pulumi API to verify that infrastructure deployments completed successfully. Create a secret in your project through the Kargo UI:
1. Navigate to your project in the Kargo UI
1. Navigate to **Settings** → **Credentials**
1. Select **Create a new credential** with:
- Name: `pulumi-api-token`
- Type: `Opaque`
- Key: `PULUMI_ACCESS_TOKEN`
- Value: Your Pulumi access tokenNote: Also added proper navigation arrow (→) and bolded UI elements per style guide. 6. Ordered list items not starting with "1." (index.md:77-82) The style guide requires all ordered list items to begin with "1." to minimize diff noise. Current (index.md:77-82): **cluster**: Creates a basic Amazon EKS cluster where everything will run.
**cluster-setup**: Installs the required dependencies including PKO, cert-manager, Argo CD, Argo Rollouts, and AWS Cognito for authentication.
**kargo**: Deploys Kargo via Helm and provides examples to set up the project with stages, approval gates, and analysis templates for the promotion pipeline.Suggestion: 1. **cluster**: Creates a basic Amazon EKS cluster where everything will run.
1. **cluster-setup**: Installs the required dependencies including PKO, cert-manager, Argo CD, Argo Rollouts, and AWS Cognito for authentication.
1. **kargo**: Deploys Kargo via Helm and provides examples to set up the project with stages, approval gates, and analysis templates for the promotion pipeline.7. Mixed list formatting in workflow description (index.md:52-65) The workflow section uses a numbered list (1-6) but should use ordered list syntax with "1." for each item per style guide. Current format uses: 1. **[Security Scanner repository]...**
1. **Kargo**: ...This is actually correct! However, ensure consistency throughout. Content and Accuracy Issues8. Incomplete or vague phrasing (index.md:32) "What is Kargo" as a heading is a bit abrupt. Consider "About Kargo" or "What Kargo is" for better flow. 9. Long paragraph in Dashboard section (index.md:68-69) The Dashboard and Management section contains a very long paragraph (6+ sentences) that should be broken up per style guide recommendation of ≤3 sentences per paragraph. Suggestion for index.md:68-69: ### Dashboard and Management

The Kargo dashboard brings operational visibility to this entire workflow. The timeline view at the top shows every freight version moving through your pipeline, making it immediately clear which infrastructure code version is running in each environment and how long it has been there.
The flow diagram below maps out your complete promotion path with color-coded stages. You can see at a glance where changes are flowing smoothly and where they are waiting at approval gates or blocked by failed verifications.
Status indicators on each stage show real-time health information, eliminating the need to manually check multiple systems or run status commands. This single-pane view reduces context switching, speeds up troubleshooting when issues arise, and gives both operators and stakeholders a shared understanding of exactly what infrastructure is deployed where.10. Missing alt text for images While images are included, verify they have descriptive alt text. The current markdown shows:
These are good, but could be more descriptive. Consider:
Minor Issues11. Inconsistent spacing around code blocks Ensure blank lines before and after all code blocks for consistency. 12. Consider adding a canonical_url If there's corresponding documentation for PKO + Kargo integration in the docs, consider adding a Recommendations
Positive Aspects
The content is solid and valuable for users looking to implement change management with PKO and Kargo. Once these style and formatting issues are addressed, this will be a great addition to the Pulumi blog. Please mention me (@claude) if you'd like additional reviews or help implementing these fixes! |
|
Your site preview for commit c5d8e5a is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-16669-c5d8e5a4.s3-website.us-west-2.amazonaws.com. |
|
Your site preview for commit d4954af is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-16669-d4954af1.s3-website.us-west-2.amazonaws.com. |
EronWright
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PKO Subject Matter Review ✅
I've reviewed the PKO-related technical content in this blog post. All claims are accurate.
Verified Technical Claims
| Claim | Status |
|---|---|
| PKO manages Pulumi stacks as Kubernetes resources | ✅ Correct |
| Kargo updates Stack with new Git reference, PKO reconciles | ✅ Correct (spec.commit, spec.branch) |
Preview stages run pulumi preview |
✅ Correct (spec.preview: true) |
Update stages run pulumi up |
✅ Correct (default behavior) |
| Architecture: Kargo → manifests → Argo CD → PKO → Pulumi | ✅ Valid GitOps pattern |
| Verification via Pulumi API | ✅ Correct (status.lastUpdate.state) |
Optional Enhancements
These would make the post more actionable but aren't blocking:
-
Preview mode Stack example: Consider showing
spec.preview: trueon a Stack manifest, since the post mentions "Preview stages runpulumi preview" -
Analysis template snippet: The verification section describes what analysis templates do but doesn't show the YAML. Consider linking to the example in the repo or showing a snippet of the Pulumi API query.
-
Promotion mechanism: A brief example showing how Kargo updates
spec.commitduring promotion would complete the picture of how Kargo connects to PKO.
Great post! The integration pattern is valuable for teams managing multi-environment infrastructure rollouts.
Proposed changes
Add a blog post about using PKO with Kargo for change management
Unreleased product version (optional)
Related issues (optional)