A utility chart for creating VerticalPodAutoscaler resources
Find a file
2025-10-18 16:55:49 +01:00
templates First cut 2025-10-18 16:36:32 +01:00
.helmignore First cut 2025-10-18 16:36:32 +01:00
Chart.yaml Tidyup 2025-10-18 16:55:49 +01:00
Makefile Tidyup 2025-10-18 16:55:49 +01:00
README.md First cut 2025-10-18 16:36:32 +01:00
test-values.yaml First cut 2025-10-18 16:36:32 +01:00
values.yaml First cut 2025-10-18 16:36:32 +01:00

A Generic Vertical Pod Autoscaler Chart

Many apps have helm charts which can specify resources, but when you deploy them, you will usually not have any idea of how much resources the app actually takes.

This is where a Vertical Pod Autoscaler comes in handy - like https://github.com/kubernetes/autoscaler and similar. Which go a long way to solving the problem.

But you still have to get the VerticalPodAutoscaler resources installed somehow.

You can obviously do this with various *.yaml files you maintain, and then install those alongside the (application) helm chart of your choice. But if you install everything else with helm, doing "plain yaml" files just gets messy.

This is the problem this chart aims to solve. You get to install your VerticalPodAutoscaler resources using a helm chart, just like everything else. And since this chart is pretty minimal, you can put the VerticalPodAutoscaler information in the same values.yaml - or you can keep it in a separate file if you like.

Parameter Description Default
nameOverride Overrides the prefix for all resources created (chart name only) nil
fullnameOverride Overrides the prefix for all resources created nil
verticalPodAutoScalers An array of VPAs to create. Each entry will become the .spec of a VPA []

An example values.yaml could look like this:

verticalPodAutoScalers:
 - targetRef:
     apiVersion: apps/v1
     kind: Deployment
     name: foo
   updatePolicy:
     updateMode: Auto
 - targetRef:
     apiVersion: apps/v1
     kind: Deployment
     name: bar
   updatePolicy:
     updateMode: Auto