Helm Repository API
Standard Helm chart repository endpoints for index and chart download. These endpoints are required for any Helm-compatible chart repository.
Standard Helm chart repository endpoints for index and chart download. These endpoints are required for any Helm-compatible chart repository.
openapi: 3.1.0
info:
title: Helm Chart ChartMuseum Repository API
description: The Helm Chart Repository API defines the HTTP endpoints used by Helm clients to discover and download charts from a repository server. A chart repository is an HTTP server that houses an index.yaml file listing all available charts and optionally packaged chart archives (.tgz files). ChartMuseum and compatible implementations extend this with a JSON-based management API for listing, uploading, and deleting charts programmatically.
version: v3.17.0
contact:
name: Helm Project
url: https://helm.sh
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{repository-host}
description: Helm Chart Repository Server
variables:
repository-host:
default: charts.example.com
description: The hostname of the chart repository
tags:
- name: Repository
description: Standard Helm chart repository endpoints for index and chart download. These endpoints are required for any Helm-compatible chart repository.
paths:
/index.yaml:
get:
operationId: getRepositoryIndex
summary: Helm Get repository index
description: Retrieves the repository index file which contains metadata about all charts available in the repository. The index.yaml file lists every chart version along with its description, maintainers, download URLs, and content digests. Helm clients use this endpoint to search and resolve chart dependencies.
tags:
- Repository
responses:
'200':
description: Repository index returned successfully
content:
application/x-yaml:
schema:
$ref: '#/components/schemas/RepositoryIndex'
text/yaml:
schema:
$ref: '#/components/schemas/RepositoryIndex'
'404':
description: Repository index not found
/health:
get:
operationId: getHealth
summary: Helm Get repository health
description: Returns the health status of the chart repository server. Useful for liveness and readiness probes in Kubernetes deployments.
tags:
- Repository
responses:
'200':
description: Server is healthy
content:
application/json:
schema:
type: object
properties:
healthy:
type: boolean
description: Whether the server is healthy
example: true
components:
schemas:
Maintainer:
type: object
description: Contact information for a chart maintainer.
required:
- name
properties:
name:
type: string
description: The maintainer name.
email:
type: string
format: email
description: The maintainer email address.
url:
type: string
format: uri
description: The maintainer URL.
ChartVersion:
type: object
description: Metadata describing a specific version of a Helm chart as it appears in the repository index.
required:
- apiVersion
- name
- version
properties:
apiVersion:
type: string
description: The chart API version (v1 for Helm 2, v2 for Helm 3).
enum:
- v1
- v2
example: v2
name:
type: string
description: The name of the chart.
example: nginx
version:
type: string
description: The SemVer 2 version of the chart.
example: 1.2.3
kubeVersion:
type: string
description: A SemVer range of compatible Kubernetes versions.
example: '>= 1.19.0'
description:
type: string
description: A single-sentence description of the chart.
type:
type: string
description: The type of chart — application for installable charts, library for utility charts.
enum:
- application
- library
default: application
keywords:
type: array
items:
type: string
description: Keywords associated with the chart for search and categorization.
home:
type: string
format: uri
description: The URL of the project home page.
sources:
type: array
items:
type: string
format: uri
description: URLs to source code for the chart.
maintainers:
type: array
items:
$ref: '#/components/schemas/Maintainer'
description: List of chart maintainers.
icon:
type: string
format: uri
description: URL to an SVG or PNG icon for the chart.
appVersion:
type: string
description: The version of the application contained in the chart.
example: 1.21.0
deprecated:
type: boolean
description: Whether this chart version is deprecated.
default: false
annotations:
type: object
additionalProperties:
type: string
description: Annotations are key-value pairs used by Artifact Hub and other tools for additional metadata.
urls:
type: array
items:
type: string
format: uri
description: Download URLs for the chart package.
created:
type: string
format: date-time
description: Timestamp when this version was added to the index.
digest:
type: string
description: SHA-256 digest of the chart package for integrity verification.
example: sha256:abc123def456
dependencies:
type: array
items:
$ref: '#/components/schemas/Dependency'
description: List of chart dependencies declared in Chart.yaml.
Dependency:
type: object
description: A chart dependency specifying another chart required by this chart.
required:
- name
- version
properties:
name:
type: string
description: The name of the dependency chart.
version:
type: string
description: The SemVer range for the dependency version.
repository:
type: string
format: uri
description: The URL of the chart repository where the dependency is hosted.
condition:
type: string
description: A YAML path that resolves to a boolean to enable or disable the dependency.
tags:
type: array
items:
type: string
description: Tags used to group dependencies for enable/disable.
alias:
type: string
description: Alias name for the dependency chart.
RepositoryIndex:
type: object
description: The repository index file listing all available charts and their versions. This is the primary discovery mechanism for Helm clients.
required:
- apiVersion
- entries
properties:
apiVersion:
type: string
description: The API version of the index file format.
example: v1
generated:
type: string
format: date-time
description: Timestamp when the index was last generated.
entries:
type: object
description: Map of chart names to their available versions. Each key is a chart name and the value is an array of chart version metadata objects.
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ChartVersion'
serverInfo:
type: object
description: Optional server information included by some repository implementations.
properties:
contextPath:
type: string
description: Context path for the server.
externalDocs:
description: Helm Chart Repository Guide
url: https://helm.sh/docs/topics/chart_repository/