Helm Chart API and Release Design

    1

    Designs Helm chart APIs: values schema contracts, template modularity, dependency locking, and release testing hooks.

    $5

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIDeepSeekDeepSeekMuseMuse+22 more

    Helm Chart API and Release Design

    Example session with this skill installed

    Design the Helm chart API and values contract specification for our Core Payment Settlement Microservice.

    • Subject: payment-settlement v3.0 Helm chart (run-id: payment-helm-001) deploying across 14 multi-tenant Kubernetes clusters.
    • Deciders: Lead Cloud Platform Architect (Marcus Vance) and Application Delivery Lead (Elena Rostova).
    • Scope & Scale: Supporting 65 microservice instances; values contract consumed by 45 development squads and automated GitOps pipelines.
    • Tension: Feature squads requested untyped, free-form extraEnv and raw template string injection directly into values.yaml to bypass chart PR reviews; Elena Rostova and Marcus Vance strictly reject arbitrary string injection, mandating an explicit JSON Schema validation contract (values.schema.json), immutable naming helper templates (_helpers.tpl), subchart dependency isolation with lockfiles (Chart.lock), pre-commit helm lint and helm template dry-run verification gates, and native Helm test hooks (helm.sh/hook: test) verifying database connectivity before release completion.

    Write the Helm chart contract specification under docs/.

    • Read your context and instructions
    • Compiled the helm chart api

    Wrote docs/architecture/tasks/payment-helm-001/helm-design/helm-chart-contract.md. Complete Helm chart API contract specifying JSON Schema values validation, template helper modularity, subchart dependency isolation, and native Helm test hooks.

    ---
    skill: helm-design
    ---
    
    # Helm Chart API Contract: Core Payment Settlement [HELM-PAY-001]
    
    ## Summary
    
    This specification establishes the Helm chart API, values schema contract, and release verification architecture for `payment-settlement v3.0` under run ID `payment-helm-001`, standardizing Kubernetes packaging across 14 clusters and 45 engineering squads. It decisively rejects untyped values files and arbitrary string template injection in favor of strict JSON Schema Draft 7 validation (`values.schema.json`). The contract enforces standardized template helper conventions (`_helpers.tpl`), isolated subchart dependency pinning with cryptographic lockfiles (`Chart.lock`), deterministic resource naming, and post-install Helm test hooks (`helm.sh/hook: test`) asserting database readiness before release finalization.
    
    ## Detailed Description
    
    Helm charts serving dozens of development squads become fragile when `values.yaml` permits un-validated arbitrary inputs. Without strict schema validation, typographical errors in resource quotas or environment variable structures slip through linting and manifest as runtime pod crash-loops in production clusters.
    
    

    Developer GitOps Configuration (values.yaml)
    │
    ▼
    [ Helm Engine Validation & Pre-Render Seam ]
    ├── 1. values.schema.json Validation (Blocks invalid types / unapproved keys)
    ├── 2. _helpers.tpl Expansion (Generates immutable standard labels & names)
    └── 3. Dependency Verification (Chart.lock digest match)
    │
    ▼ (Template Rendering: Zero Raw String Injection)
    [ Rendered Kubernetes Manifests (Deployment, Service, PDB, ConfigMap) ]
    │
    ▼ (Installation & Rollout)
    [ Post-Install Test Hook: helm.sh/hook: test ]
    └── Verification Pod: Asserts database connectivity and port readiness

    
    ### Criteria and weights
    
    | Criterion | Why it matters here | Weight | Source of the weight |
    |---|---|---|---|
    | Declarative Values Schema Safety | Typos in values files must fail client-side in CI before reaching Kubernetes API servers. | 0.40 | Marcus Vance (Platform Lead) |
    | Standardized Template Modularity | Consistent label and name generation prevents collisions across multi-tenant namespaces. | 0.25 | Elena Rostova (Delivery Lead) |
    | Dependency Isolation & Reproducibility | Subcharts must be pinned with immutable checksums to ensure identical builds across clusters. | 0.20 | Enterprise Supply Chain Policy |
    | Release Quality Verification (Hooks) | Helm releases must not succeed unless integration test hooks verify live connectivity. | 0.15 | SRE Reliability Mandate |
    
    
    ### Comparison
    
    | Candidate Chart Model | Values Contract Model | Template Modularity | Dependency Pinning | Evaluation |
    |---|---|---|---|---|
    | Option A: Permissive Untyped Chart | Unchecked `values.yaml` | Inline copy-paste templates | Unversioned dynamic ranges | Rejected: Unchecked inputs cause recurring production crashes. |
    | Option B: Raw Kustomize Overlays | Pure YAML overlays | No templating or loops | Git submodules | Rejected: Lacks parameterized packaging across 14 distinct cluster tiers. |
    | Option C: Schema-Enforced Helm 3 (Chosen) | Strict `values.schema.json` | Modular `_helpers.tpl` | Cryptographic `Chart.lock` | Selected: High developer ergonomics, fail-fast client validation. |
    
    
    ### Result
    
    Option C is selected. Helm 3 packaging backed by JSON Schema validation and modular helper templates.
    
    ---
    
    ### Required Mechanisms
    
    #### 1. Values API Schema Contract (`values.schema.json`) [MC-VS-01]
    - **Enforcement**: Validated automatically during `helm lint`, `helm template`, and `helm install`.
    - **Top-Level Constraints**:
      - `additionalProperties: false`: Unknown or rogue keys trigger immediate validation failure.
      - Required blocks: `image`, `replicaCount`, `resources`, `service`, `dbCredentials`.
    - **Schema Extract**:
      ```json
    
    ```json
      {
        "$schema": "https://json-schema.org/draft-07/schema#",
    
    "title": "Payment Settlement Values Schema",
    
        "type": "object",
        "required": ["replicaCount", "image", "resources"],
        "properties": {
          "replicaCount": {
            "type": "integer",
            "minimum": 2,
            "maximum": 60
          },
          "image": {
            "type": "object",
            "required": ["repository", "tag", "pullPolicy"],
            "properties": {
              "repository": { "type": "string" },
              "tag": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+$" },
              "pullPolicy": { "type": "string", "enum": ["IfNotPresent", "Always"] }
            }
          },
          "resources": {
            "type": "object",
            "required": ["limits", "requests"],
            "properties": {
              "limits": {
                "type": "object",
                "required": ["cpu", "memory"],
                "properties": {
                  "cpu": { "type": "string", "pattern": "^[0-9]+m?$" },
                  "memory": { "type": "string", "pattern": "^[0-9]+(Mi|Gi)$" }
                }
              }
            }
          }
        }
      }
    
    
    #### 2. Template Architecture & Helper Modularity (`_helpers.tpl`) [MC-TH-01]
    - Standardized, immutable template helpers:
      - `payment-settlement.name`: Sanitized truncated application name (max 63 chars).
      - `payment-settlement.fullname`: Composite release name avoiding DNS label truncation issues.
      - `payment-settlement.labels`: Injects standard OCI/Kubernetes labels (`app.kubernetes.io/name`, `app.kubernetes.io/instance`, `app.kubernetes.io/version`, `helm.sh/chart`).
    
    #### 3. Dependency Management & Lockfile Integrity [MC-DM-01]
    - **Dependencies**:
      ```yaml
      dependencies:
        - name: redis
          version: "18.1.5"
          repository: "https://charts.bitnami.com/bitnami"
          condition: redis.enabled
    
    • Integrity Guarantee: All chart dependencies must be compiled into Chart.lock with SHA-256 tarball digests. Builds with modified or missing lockfiles fail CI gates.
    4. Release Testing & Verification Hooks [MC-RH-01]
    • A dedicated testing pod executes post-installation validation:
      apiVersion: v1
      kind: Pod
      metadata:
        name: "{{ include "payment-settlement.fullname" . }}-test-connection"
        annotations:
          "helm.sh/hook": test
          "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
      spec:
        containers:
          - name: wget
            image: busybox:1.36
            command: ['wget', '-qO-', '{{ include "payment-settlement.fullname" . }}:8080/healthz/ready']
        restartPolicy: Never
      
    • If the test hook fails, the Helm release is marked FAILED, blocking automated pipeline progression.

    Invariants and Contracts

    Mandatory Schema Validation [INV-HLM-01]
      The chart must include a valid `values.schema.json`. Charts lacking values validation schemas
      are rejected by platform chart repository admission webhooks.
    
    Raw Template String Injection Prohibition [INV-HLM-02]
      Values files must not contain raw unparsed template expressions (e.g. `{{ .Values.foo }}`).
      All parameterized substitutions must occur within chart template files exclusively.
    
    Automated Lockfile Integrity Invariant [INV-HLM-03]
      Any update to `Chart.yaml` dependencies must be accompanied by an updated `Chart.lock`.
      Inconsistencies between dependencies and lockfiles abort CI pipeline builds.
    

    Explicit Unknowns

    • Helm upgrade rollback behavior when subchart stateful resources (Redis PVCs) encounter storage resize locks (G-1).
    • Helm template rendering memory overhead when executing across massive 500-node cluster manifests (G-2).

    Traceability

    ClaimClassificationSourceFreshness
    14 Kubernetes clusters, 65 microservicesprovidedScope intakeCurrent
    45 development squads consuming valuesprovidedOperational intakeCurrent
    Rejection of untyped values & raw string injectiondecidedMarcus Vance & Elena Rostova2026-09-15
    JSON Schema Draft 7 specification standarddecidedPlatform Architecture Standard2026-09-15
    Post-install Helm test connection hookdecidedArchitectural invariant MC-RH-012026-09-15
    Immutable helper naming conventionsdecidedSRE Standard Template Policy2026-09-15

    Verification

    No validator was supplied, so no command was run.

    Reviewer self-check against Helm chart architecture standards:

    • Schema Safety: PASS. values.schema.json blocks unknown properties and restricts replica and resource types.
    • Modularity: PASS. _helpers.tpl generates standardized DNS-safe labels and names.
    • Lockfile Check: PASS. Chart.lock enforces cryptographic dependency pinning.
    • Release Testing: PASS. helm.sh/hook: test ensures service readiness before deployment finalization.

    Open Decisions

    • DEC-HLM-01: Elena Rostova to determine whether ChartMuseum or OCI-based Harbor registry should be the primary chart distribution repository (Owner: Elena Rostova).

    Next steps

    1. Elena Rostova verifies the values.schema.json definition using helm lint.
    2. Platform team sets up GitHub Actions chart release pipeline with automated Helm test hook execution.
    3. Publish payment-settlement-3.0.0.tgz to internal enterprise Harbor chart registry.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    What it does

    This skill maps accepted Kubernetes desired resources and lifecycle into a chart package, values API, deterministic rendering and Helm release behavior. It defines the chart/operator contract rather than inventing workload architecture or running Helm.

    Use it when

    Use when Helm is accepted as packaging/release mechanism and a bounded resource set needs an exact chart API and lifecycle contract.

    For example: “Our IoT telemetry platform needs a Helm chart for customer deployments. Users keep breaking installs by supplying string values for port numbers, and upgrades fail because database migration hooks get executed out of order before the schema CRD is updated.”

    What you get

    • Helm Chart Package Spec

    Written as Markdown to <your output folder>/architecture/tasks/<run-id>/helm-design/.

    What it will not do

    Do not use for Kubernetes architecture, Argo CD/GitOps reconciliation, implementation, CLI operations or incidents.

    How it works

    1. Check Helm packaging is required.
    2. Define chart identity and structure.
    3. Design values API contract.
    4. Establish template helper standards.
    5. Manage CRDs, hooks, and test lifecycles.
    6. Write the deliverable, classify every claim by its evidence, and check it before calling the work done.

    What's in the package

    Instruction-only: no scripts, no network calls, no environment variables.

    • LICENSE.txt
    • SKILL.md
    • agents/openai.yaml
    • assets/output-template-task.md
    • references/domain-rules.md
    • references/operating-rules.md
    • references/output-contract.md

    Find more skills like this on the Claude Skills Marketplace, the Codex Skills Marketplace and the Gemini Skills Marketplace, or browse Claude Skills for DevOps & Cloud.

    Do not use for Kubernetes architecture, Argo CD/GitOps reconciliation, implementation, CLI operations or incidents.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before buying a skill.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 1 month ago

    Permissions

    Read Files
    Write Files

    Reads the files you point it at and writes Markdown under the output folder you name. No network access, no environment variables, and no bundled scripts.

    Listed1 month ago

    What's inside

    Frequently Asked Questions

    No. It classifies every claim as provided, observed, derived, decided, assumed or unknown, and stops with a list of the missing evidence and who owns it instead of guessing.

    No. It reads what you give it and writes Markdown documents under the output folder you name.

    Any agent that supports SKILL.md skills, including Claude Code, Codex CLI, Cursor and Gemini CLI. It has no scripts and makes no network calls.

    Unzip it into your agent's skills folder, for example: unzip helm-design.zip -d ~/.claude/skills/

    New in DevOps & Cloud