Skip to main content
Glama

ako_config_upgrade

Apply AKO Helm upgrade to avi-system release with preview mode that shows blast radius and dry-run output before confirming changes.

Instructions

[WRITE] Apply an AKO Helm upgrade to the avi-system release.

Finds the avi-system release automatically and upgrades the Broadcom OCI chart with --reuse-values. Without confirm=True this only previews: it returns blast_radius (release, the chart and app version it is on, revision and status, the chart it would move to) plus helm_dry_run, the output of helm upgrade --dry-run, and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier: they have not seen what it changes yet.

Refused with confirm=True: a failing dry-run (the real upgrade would fail too), a release with another helm operation pending, and a release whose status cannot be read. Helm output has credential values blanked to <redacted> by this skill. Run ako_config_diff first to review the change.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoFalse (default) returns the blast radius and changes nothing. True applies it.
dry_runNoDeprecated alias; removed in the next minor release. The old contract applied only with dry_run=false and confirmed=true; dry_run=true holds even when confirm=True.
confirmedNoDeprecated alias for confirm; removed in the next minor release. confirmed=False holds even when confirm=True.
chart_versionNoPin the chart, e.g. "1.11.1". Empty = registry latest, resolved at apply time, so it can differ from the preview.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv1.10.0
    • changedInput schema / properties / chart_version / description
      Previous value: -"Pin the chart, e.g. \"1.11.1\". Empty = registry latest."New value: +"Pin the chart, e.g. \"1.11.1\". Empty = registry latest, resolved at apply time, so it can differ from the preview."
    • addedInput schema / properties / confirm
      Added value: +{
      +  "default": false,
      +  "description": "False (default) returns the blast radius and changes nothing. True applies it.",
      +  "title": "Confirm",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / confirmed / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / confirmed / default
      Previous value: -falseNew value: +null
    • changedInput schema / properties / confirmed / description
      Previous value: -"Gates the real upgrade only. With dry_run=false, the default false returns a preview naming the chart version and changes nothing; true runs `helm upgrade --reuse-values` against the avi-system release, rolling the AKO pod. Ignored while dry_run=true, which never writes."New value: +"Deprecated alias for confirm; removed in the next minor release. confirmed=False holds even when confirm=True."
    • removedInput schema / properties / confirmed / type
      Removed value: -"boolean"
    • addedInput schema / properties / dry_run / anyOf
      Added value: +[
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / dry_run / default
      Previous value: -trueNew value: +null
    • changedInput schema / properties / dry_run / description
      Previous value: -"Preview without applying (default true)."New value: +"Deprecated alias; removed in the next minor release. The old contract applied only with dry_run=false and confirmed=true; dry_run=true holds even when confirm=True."
    • removedInput schema / properties / dry_run / type
      Removed value: -"boolean"
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "result": {
      -      "title": "Result",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "result"
      -  ],
      -  "title": "ako_config_upgradeOutput",
      -  "type": "object"
      -}New value: +null
  2. Addedv1.8.14
  3. Removedv1.8.8
  4. Changed1 schema field changedv1.5.38
    • addedInput schema / properties / confirmed
      Added value: +{
      +  "default": false,
      +  "title": "Confirmed",
      +  "type": "boolean"
      +}
  5. Addedv1.5.29
  6. Removedv1.5.28
  7. First observedv1.5.22

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=false and destructiveHint=false, and the description builds on them with rich context: the default preview-only contract that changes nothing, the refusal conditions under confirm=True, credential redaction, and the chart_version resolution-at-apply-time caveat. Nothing contradicts the annotations; the description deepens the safety profile substantially.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Longer than average, but every sentence earns its place given the complexity of a confirm-gated write operation. The [WRITE] tag and core purpose are front-loaded, and the safety contract, refusals, and workflow are each worth stating. Slightly dense but not bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does explain return values (blast_radius, helm_dry_run) and covers the preview/apply contract, refusals, redaction, and prerequisite workflow. Minor gap: it doesn't contrast with apply-like siblings such as ako_restart or ako_sync_force, but for a complex 4-param write tool this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters, including chart_version resolution semantics and the deprecated aliases. The description reinforces the confirm gating contract but doesn't add new parameter meaning beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (upgrade), resource (avi-system release / Broadcom OCI chart), and mechanism (Helm with --reuse-values). The [WRITE] tag and the find-automatically detail make it immediately distinguishable from preview/read siblings like ako_config_diff, ako_config_show, and ako_restart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong workflow guidance: run ako_config_diff first, preview by default, show blast radius, and get an explicit user decision before setting confirm=True. The refusal conditions clarify when it should not be applied. It doesn't explicitly name an alternative to pick instead, but the diff-first prerequisite and the guardrail about not self-confirming give clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.