Skip to main content
Chart version 2.x onlyThe additionalManifests feature is available in the v2.x subchart-based Helm chart only.
The additionalManifests value lets you deploy arbitrary Kubernetes objects alongside the ClickStack chart. Use it for resources that the chart does not template natively, such as NetworkPolicy, HorizontalPodAutoscaler, ServiceAccount, PodMonitor, custom Ingress objects, or any other Kubernetes API object.

How it works

Each entry in additionalManifests is a complete Kubernetes resource definition. The chart:
  1. Iterates over each entry in the list
  2. Converts the entry to YAML (toYaml)
  3. Evaluates template expressions in that YAML using Helm tpl
Template expressions can reference:
  • .Release.Name, .Release.Namespace
  • include "clickstack.fullname" . and other chart helpers
  • .Values.*

Values file constraints

additionalManifests is configured in a values file, and values files are parsed as YAML before tpl runs.
  • Any {{ ... }} in a values file must be inside a quoted string
  • Structural template blocks are not valid values YAML (for example, {{- include ... | nindent ... }} by itself)
  • For non-string fields (for example, numeric ports), use literal values or named ports
  • If you need structural templating, use a wrapper chart template instead of a raw values file

Available chart helpers

These helpers are defined in templates/_helpers.tpl:

Examples

ServiceAccount

NetworkPolicy

Restrict ingress traffic to HyperDX pods:

HorizontalPodAutoscaler

PodMonitor (Prometheus Operator)

AWS ALB Ingress

When using the AWS Load Balancer Controller, disable the chart’s built-in nginx Ingress and define a custom ALB Ingress:
For a complete ALB setup example including internal OTEL collector ingress and HPA, see the ALB example values.

TargetGroupBinding

For ALB scenarios that require explicit TargetGroupBinding resources:

Advanced: wrapper chart templates

If you need structural helpers like include "clickstack.labels" . | nindent 4, render them from a wrapper chart template (templates/*.yaml) instead of putting those blocks directly in values files. Example wrapper chart template snippet:

Tips

Helm hooks

Each additionalManifests entry is rendered as a separate YAML document. You can add Helm hook annotations to control install/upgrade ordering:

CRD ordering

If your additional manifests include custom resources (for example, PodMonitor), the CRDs must already exist in the cluster before install/upgrade.

Combining multiple resources

additionalManifests is a list. Entries are rendered in list order, and each entry becomes its own YAML document.

Next steps

Last modified on June 19, 2026