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:
StatefulSet, or similar main controller, specifying the
Podand its containers running the application image.
Serviceto route web requests to the application.
An Ingress per specified route to front the
Up to version 1 Epinio allowed only
Deployment resources as the main controller of
Application Charts are expected to heed the following contraints to enable their use by Epinio:
It has to support all of the configuration values described in section Configuration below.
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 provided in the
|string||The application's name|
|sequence (string)||The names of the configurations to import into the application|
|sequence (assignment)||The application's environment variables and their values|
|string||A reference to the app image in Epinio's registry|
|string||The ingress class name to use, if any|
|integer||The desired number of instances (pods) to deploy|
|sequence (route)||The routes (= domain+path+id) the app has to be reachable at|
|string||Id of the stage run which generated the app image|
|integer||Optional. The time of deployment, in nanoseconds|
|string||The name of the cert issuer to use for route certs|
|string||The name of the user deploying the application|
|map (string -> any)||The names and values of all chart values set by the user|
Routes are maps composed of four keys:
|string||The domain of the route|
|string||A unique id to name route |
|string||The sub-path of the route, if any|
|string||Optional. Name of a |
The Routing Secrets reference explains more about the
Environment assigment are maps composed of two keys:
|string||The name of the variable|
|string||The value of the variable|
The user configuration map is keyed by the names of chart values set by the user, referencing the set values.
Epinio adds the following annotations to the
|The application's name.|
|The time of deployment, in nanoseconds, if provided by Epinio|
Epinio adds the following labels to the
|The name of the user deploying the application|
|The application's name.|
|The application's namespace|
|The name of the main Pod container, running the app image|
|Id of the stage run which generated the app image|
|Chart name and version used to deploy the application|