> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chkk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade Agent

> Part of Chkk's Lifecycle Management Agents. Generates precise, environment-aware IaC diffs and PRs in your IDE. Powered by the Upgrade Context MCP server.

<Info>
  **Public Preview.** Initial support focuses on **Helm-based IaC** across **300+ Cloud Native Projects**. Initial IDE integrations: **Cursor** and **Claude Code**.
</Info>

## What is the Upgrade Agent?

Upgrading a Cloud Native Project or application service is rarely a simple version bump. Between releases, Helm charts evolve, `values.yaml` options change, CRDs rotate, and templates shift. Manually diffing upstream and stitching edits into your IaC is slow and error-prone.

The **Upgrade Agent** is one of Chkk’s **Lifecycle Management Agents**. It runs inside your IDE (Cursor, Claude Code) to apply upgrade workflows to your IaC.

It is powered by the **Chkk Upgrade Context Server (MCP)** which connects your **Chkk Upgrade Plan** (grounded in your environment and policies) to your IDE via the Model Context Protocol. The server vends **just‑enough, just‑in‑time context**: compatible target versions, environment‑specific diffs, and reviewer notes (breaking changes, security fixes, notable features). The Upgrade Agent consumes that context and applies the required edits to your IaC (Helm today), preserving your customizations and opening a focused PR you can review and merge.

**Why it matters**

* **Choose versions that hold in prod.** Targets are computed against your constraints and policies—not simply "latest."
* **Edits are environment-aware and deterministic.** Diffs are scoped to **what you actually run**, ordered for safe apply, and auditable.
* **Reviewer context is built-in.** Breaking changes, compatibility notes, and critical fixes appear next to the change.

## How it fits with Templates & Plans

Chkk lets you **request a Project Upgrade Template**—a curated, pre-verified upgrade workflow that captures exact steps, constraints, and diffs for your environment. Create/approve a template in the Chkk Dashboard (see [Requesting an Upgrade Template](/features/request-upgrade-template#project-upgrade-template)), then instantiate a [Project Upgrade Plan](/resources/glossary#project-and-application-service-upgrade-plan).

The **Upgrade Context MCP server** turns that **Upgrade Plan** into actionable context (specifications, diffs, and reviewer notes) for the **Upgrade Agent** running in your IDE.

## Supported today (Public Preview)

* **IaC format:** Helm charts (templates, values, chart metadata, CRDs). Terraform, Kustomize, raw YAML, Jsonnet and others are on the roadmap.
* **IDE / Coding assistant:** Cursor and Claude Code (MCP). GitHub Copilot and other MCP-capable IDEs coming soon.
* **Ecosystem coverage (examples):** Networking (Istio, Cilium), Databases (PostgreSQL, Redis), Batch/Data Jobs (Argo Workflows, Jenkins), Streams (Kafka, RabbitMQ), Observability (Datadog, Grafana), Security (cert-manager, Kyverno), Autoscaling (Karpenter, KEDA), Dev Tooling (Argo CD, Bitbucket), and more.

## FAQs

**What is a Project Upgrade Plan?**
An AI-curated workflow for a specific [Cloud Native Project](#cloud-native-project), [Application Service](#application-service), or [Operator](#operator) across one or more clusters, instantiated from an [Upgrade Template](/resources/glossary#project-upgrade-template). See [Glossary](/resources/glossary#project-upgrade-plan).

**What is the `upgrade_id` and why does the agent need it?**
`upgrade_id` is the natural key for your Upgrade Plan. The agent uses it to fetch the exact, environment-specific context (target version, diffs, artifacts, reviewer notes) for your cluster(s)—not generic upstream guidance.

**Which IDEs and coding assistants are supported?**
Cursor and Claude Code are available in Public Preview. Support for GitHub Copilot and other MCP-capable IDEs is coming soon.

**Which IaC patterns/formats are supported?**
Helm charts are supported today (templates, values, chart metadata, CRDs). We're expanding to Terraform, Kustomize overlays, raw YAML, Jsonnet, and others.

**Where does temporary data go, and can I delete it?**
Into the **Scratchpad** (by default under `.chkk/scratchpad/` in the repo). It's ignored by Git and safe to delete at any time.

**Does the agent change my running cluster?**
No. It edits your IaC locally and opens a PR. Any apply/rollout steps are up to your CI/CD and change-management process.

**Do I have to use a specific "first prompt"?**
No—use natural language. In your IDE (Cursor or Claude Code), instruct your assistant to **use the Chkk upgrade agent** and **ask you for the `upgrade_id`** to begin.

## Common Variations & Edge Cases

* **Multiple charts** matching the same name/version → you choose explicitly (no guessing).
* **Missing or read-only files** → the agent fails fast with a complete list; nothing partial is committed.
* **Network issues** → the agent stops early; no edits attempted.
* **Unsupported IaC patterns** → Helm is supported today; other formats are on the way.

## Getting started

1. **Create an Upgrade Plan.** Instantiate a [Project Upgrade Plan](/resources/glossary#project-upgrade-plan) from an approved Template ([how-to](/features/instantiate-template-to-plan)). If needed, request a new Template ([instructions](/features/request-upgrade-template#project-upgrade-template)).
2. **Enable the MCP server in your IDE.** In Cursor or Claude Code, add the **Chkk-Upgrade-Context-MCP** server (see [Cursor guide](/resources/installation-guides/cursor) or [Claude Code guide](/resources/installation-guides/claude-code)).
3. **Run the workflow with the Upgrade Agent.** In your editor chat: "Use the Chkk Upgrade Agent to apply the IaC changes. Start by asking for the upgrade ID." Provide the `upgrade_id` when prompted, review the preflight, and let the agent apply the plan and generate the PR summary.
