✦ For everyone, free.

Practical knowledge for real and everyday life

Home

Chart Types

Chart Types in Helm define structured, reusable configurations for Kubernetes applications, enabling consistent deployment and management across environments.

Chart Types in Helm refer to the different categories or classifications of Helm charts based on their purpose, content, and how they are intended to be used within Kubernetes environments. These types define the structural conventions and usage patterns for the charts, guiding developers and operators on how to package, distribute, and deploy applications or infrastructure components efficiently using Helm.


Overview of Chart Types

Helm charts encapsulate Kubernetes manifests and configuration templates, and depending on their design and intent, charts are generally divided into several types. Each type serves a distinct role in the lifecycle of Kubernetes deployments and management, influencing how the chart is maintained, upgraded, and integrated.


Application Charts

Definition

Application charts are Helm charts designed to deploy and manage user applications on Kubernetes clusters. These charts bundle all Kubernetes resources necessary for running an application, which often includes Deployments, Services, ConfigMaps, Secrets, Ingresses, and other resource types.

Characteristics

  • Focus on a specific application or microservice.
  • Include templates for application components and their dependencies.
  • Allow customization through values files to modify application behavior, resource allocation, and integration points.
  • Typically versioned and maintained by application developers or DevOps teams.
  • Support lifecycle operations such as installation, upgrade, rollback, and deletion of applications.

Example Use Cases

  • Deploying web applications, APIs, databases, or middleware.
  • Packaging complex multi-component microservices.
  • Managing application configuration and secrets securely.

Library Charts

Definition

Library charts are reusable Helm charts that provide helper templates, functions, or partial manifests that other charts can import and use. They do not deploy resources themselves but serve as building blocks to be shared across multiple charts.

Characteristics

  • Contain only template helper functions and partials (e.g., template snippets for labels, annotations, or common resource definitions).
  • Not installable standalone; they are dependencies for other charts.
  • Facilitate code reuse and standardization of template logic.
  • Help reduce duplication and improve maintainability in large Helm chart repositories.

Example Use Cases

  • Providing standardized labels and annotations for all charts in an organization.
  • Defining common resource templates like probes or volume mounts.
  • Abstracting complex template logic for reuse.

Umbrella Charts

Definition

Umbrella charts are charts designed to aggregate and manage multiple dependent subcharts. They act as a parent chart that bundles together several other charts (dependencies) to deploy complex applications or systems composed of multiple components.

Characteristics

  • Define dependencies in Chart.yaml under the dependencies section.
  • Manage versions and configurations of subcharts centrally.
  • Provide a single installation point for multi-component applications.
  • Facilitate coordinated upgrades and configuration management across components.
  • Support override values to customize subchart settings.

Example Use Cases

  • Deploying an entire platform consisting of several microservices, databases, and supporting infrastructure components.
  • Installing complex applications with optional modules.
  • Coordinating version compatibility among multiple related charts.

Starter Charts

Definition

Starter charts are templates or skeleton charts provided as a starting point for developers to create new Helm charts quickly. They provide a predefined directory structure, example manifests, and templates to accelerate chart development.

Characteristics

  • Contain minimal default templates and example files.
  • Encourage best practices and consistent chart structure.
  • Used with helm create or as templates for custom starter kits.
  • Facilitate onboarding of new Helm users and standardization of chart development within organizations.

Example Use Cases

  • Bootstrapping new charts for internal applications.
  • Providing standardized base charts for a development team.
  • Teaching Helm chart authoring.

Chart Types Summary Table

Chart TypePurposeDeploymentUsage
Application ChartDeploy user applicationsYesMain application packaging
Library ChartProvide reusable templates and helpersNoDependency for other charts
Umbrella ChartAggregate multiple subchartsYesComplex multi-component apps
Starter ChartTemplate for creating new chartsNoChart development bootstrap

Implications of Chart Types on Helm Operations

Each chart type influences Helm's behavior during installation, upgrade, and dependency management:

  • Application Charts are installed and managed directly by Helm commands and are the primary unit of deployment.
  • Library Charts are ignored during installation but are processed during template rendering as dependencies. Helm ensures these are available but does not create resources for them.
  • Umbrella Charts trigger installation or upgrade of all dependent subcharts, allowing complex deployments to be managed as a single unit.
  • Starter Charts are not deployed but serve as scaffolding for building new charts, affecting developer workflows rather than runtime operations.

Understanding chart types enables effective Helm chart design, reuse, and deployment strategies consistent with Kubernetes best practices.


Best Practices for Using Chart Types

  • Use Application Charts for packaging and deploying standalone applications or services.
  • Leverage Library Charts to centralize common template logic and reduce duplication.
  • Employ Umbrella Charts to orchestrate multi-component systems, ensuring consistent configuration and versioning of dependencies.
  • Adopt Starter Charts as templates to enforce conventions and accelerate chart creation.

This classification improves maintainability, scalability, and clarity in Helm-based Kubernetes deployments.