Description
I've created simple SBT plugin which enables creating Helm Charts
The main reasons:
- in Helm it is impossible to 'fetch' external files: https://github.com/helm/helm/issues/3276 which is very cumbersome when dealing with applications that are packaged multiple times with different configurations.
- want to package my application from one tool: SBT (I'm using sbt-native-packager to create the Docker image)
- didn't find already existing SBT plugin that enables Helm Charts creation
The description and usage can be found in the Github repository README.md
The main plugin source: https://github.com/kiemlicz/shelm/blob/master/src/main/scala/com/shelm/HelmPlugin.scala
SBT plugins tests: https://github.com/kiemlicz/shelm/tree/master/src/sbt-test/shelm
Questions
First and foremost: I would gladly receive any input and thoughts about this project
- What do you think about plugin rationale?
- What is your opinion about the
HelmPlugin.scalaitself? Did I properly create SBT'stasks andsettings? - When running plugin in parallel for multiple projects (the SBT parallelizes tasks by default) sometimes I encountered: https://github.com/helm/helm/issues/2258#issuecomment-306498450. The linked ticket somehow suggests it is an issue with Helm. Yet I've created a workaround which simply retries the
helmcommands. I'm unsure if it is indeed issue with Helm or my code wrongly spawning thehelmprocess - I've created dedicated SBT
Configurationfor my tasks, is it created and used properly? - Should I implement dedicated
cleantask or appending any artifacts tocleanFilesis sufficient?
Thank you