Can we define which k8s manifests epinio should deploy when a new application is installed ?
c
cuddly-holiday-9089
05/13/2022, 12:03 PM
Since version 0.8.0 (today's release), you can configure the application deployment by creating a custom application helm chart. Documentation is here: https://docs.epinio.io/howtos/create_custom_appcharts
It's the first release which includes this feature so there are probably things to improve. Let us know how it works for you and feel free to open issues for bugs or suggestions
👏 1
there is a story to create some additional applications charts to be used out of the box, mostly to demonstrate how the feature works: https://github.com/epinio/epinio/issues/1273 It's still in TODO though. This doesn't mean you can't create your own chart already.
n
nutritious-application-85076
05/13/2022, 12:28 PM
Do you know that if the developers use dekorate.io, then we can (without the need to write the k8s json or yaml files which is really a pain) generate the k8s manifests or the Helm chart ?
c
cuddly-holiday-9089
05/13/2022, 12:35 PM
I haven't used dekorate (not a Java dev here), but afaict dekorate is run as part of the build process of the app and creates kubernetes yaml that can be used to deploy the app. Epinio expects the outcome of the build process to be a container image, not the helm chart itself (or resource yamls). I wonder if it would be possible to let dekorate.io create those yamls in a pipeline somewhere (outside Epinio) and have that pipeline build a helm chart as well. That pipeline could then update the application helm chart epinio uses behind the scenes. It's hard to come up with a workflow without an actual example of an application though. I could be completely off with my suggestion.
dekorate.io is to app deployment, what buildpacks are to app building. dekorate dynamically changing the way an app is supposed to be deployed. In Epinio the deployment of an app is defined by a human and it's less dynamic (doesn't change with every push).
otoh, one could build a helm chart that runs some Job to generate the yamls to be deployed and the deploy those but this would be a dirty hack