DEV Community

Cover image for HELM application chart on 2025

HELM application chart on 2025

Application Helm Chart

A universal Helm chart for streamlined Kubernetes deployments with simplified configuration.
Creates standard resources like Deployments, Ingress, PodMonitors (Prometheus), and more.

Introduction

Writing a Helm chart for even a small application can get really tedious, as it involves a lot of repetitive tasks and templating is not very user-friendly. However, with the Helm application, you can make the task much easier and fun to use!

We developed this unified chart because our applications share common deployment patterns. Managing multiple similar charts became time-consuming and maintenance-heavy.

This chart manages extended standard Kubernetes objects to simplify application deployment using only YAML configuration. While staying close to native Kubernetes syntax, it allows all settings to be overridden in sub-values YAML files using dictionaries with meaningful keys.

Features

  • Support for multiple workloads (Deployment, CronJob, Job, or StatefulSet)
  • Internal resource linking (Secret, ConfigMap, and ExternalSecret to env and volume, ...)
  • Environment variable management from various sources (values, ConfigMap, Secret, ExternalSecret)

Kubernetes Adaptations

While staying close to standard Kubernetes manifests, this chart implements these enhancements:

  • Converts lists to dictionaries for easier value overrides
  • Provides flexible environment variable definitions
  • Implements image configuration with hash pinning and metadata storage
  • Adds standard Kubernetes labels to all components:
    • app.kubernetes.io/name
    • app.kubernetes.io/instance
    • app.kubernetes.io/component
    • helm.sh/chart
    • app.kubernetes.io/version
    • app.kubernetes.io/managed-by
  • Links components using standard labels:
    • app.kubernetes.io/name
    • app.kubernetes.io/instance
    • app.kubernetes.io/component
  • Supports special selectors (self, self-metadata, self-external) for internal resources
  • Handles Docker registry secret configuration automatically
  • Supports metadata ConfigMap generation

Supported Resources

Kubernetes standard objects:

Common third-party objects:

Planned additions:

Examples

An example showing how to deploy a Deployment with an ExternalSecret and Docker registry configuration.

The example below demonstrates how to set up a simple deployment that:

  • Uses an external Docker registry (GitHub Container Registry)
  • Configures an ExternalSecret to manage sensitive data
  • Creates a basic deployment with service and ingress
application:
  dockerregistry:
    external: true
    content:
      ghcr_io:
        externalEmail: ghcr-email
        externalUsername: ghcr-username
        externalPassword: ghcr-password
        externalUrl: ghcr-url

  externalSecrets:
    app:
      enabled: true
      refreshInterval: 1h
      secretStoreRef:
        name: my-secret-store
        kind: SecretStore
      data:
        my-secret:
          remoteRef:
            key: my-secret

  services:
    my-deployment:
      enabled: true

      pdb:
        enabled: false

      ingress:
        enabled: true
        path: /

      service:
        type: ClusterIP
        servicePort: 8080
        ports:
          - name: http
            port: 8080
            protocol: TCP
            targetPort: http

      containers:
        my-container:
          image:
            repository: camptocamp/my-image
            tag: latest

          command:
            - sleep
            - '3600'

          env:
            SECRET:
              type: secret
              name: self-external-secret-app
              key: my-secret
Enter fullscreen mode Exit fullscreen mode

Additional Resources

Conclusion

This chart is not perfect, but it can be used for major simple cases and some big applications.

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

While many AI coding tools operate as simple command-response systems, Qodo Gen 1.0 represents the next generation: autonomous, multi-step problem-solving agents that work alongside you.

Read full post

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs