Skip to main content
Version: 1.6.1

Customization point: Application Charts

Epinio uses Application charts as templates for the structure of deployed applications, i.e. of the kubernetes resources used to run an application image.

An installation of Epinio provides a single standard application chart.

If custom application charts adapted to the local environment are desired or needed please follow the instructions on How To create custom application Helm charts and How To use custom application Helm charts.

Application charts are expected to create the following resources:

  • A Deployment, StatefulSet, or similar main controller, specifying the Pod and its containers running the application image.

  • A Service to route web requests to the application.

  • An Ingress per specified route to front the Service.


Up to version 1 Epinio allowed only Deployment resources as the main controller of applications.

Further Expectations

Application Charts are expected to heed the following contraints to enable their use by Epinio:

  1. It has to support all of the configuration values described in section Configuration below.

  2. Pod resources have to have a number of annotations and labels for Epinio to locate and use them, as described in section Pods below.


While a custom chart is free to support more configuration values Epinio will have no knowledge of them, and will not use them.


All configuration fields below are provied in the epinio hierarchy:

appNamestringThe application's name
configurationssequence (string)The names of the configurations to import into the application
envsequence (assignment)The application's environment variables and their values
imageURLstringA reference to the app image in Epinio's registry
ingressstringThe ingress class name to use, if any
replicaCountintegerThe desired number of instances (pods) to deploy
routessequence (route)The routes (= domain+path+id) the app has to be reachable at
stageIDstringId of the stage run which generated the app image
startintegerOptional. The time of deployment, in nanoseconds
tlsIssuerstringThe name of the cert issuer to use for route certs
usernamestringThe name of the user deploying the application

Routes are maps composed of four keys:

domainstringThe domain of the route
idstringA unique id to name route Ingress and Certificate resources with
pathstringThe sub-path of the route, if any
secretstringOptional. Name of a Secret to directly use in securing the Ingress

The Routing Secrets reference explains more about the secrets field.

Environment assigment are maps composed of two keys:

namestringThe name of the variable
valuestringThe value of the variable


Epinio adds the following annotations to the Pods:

AnnotationMeaning application's name. time of deployment, in nanoseconds, if provided by Epinio

Epinio adds the following labels to the Pods:

LabelMeaning application name of the user deploying the application epinio application's name. application's namespace name of the main Pod container, running the app image of the stage run which generated the app image name and version used to deploy the application