I want to make several different deployments that will run the same containers with specific startup arguments for every deployment. I use HELM to template yaml files and do not produce copy paste. As far as I understand, I can pass different deploy arguments either using HELM templates or by creating several ConfigMaps and specifying one of them at a startup. I don't know what to choose, can someone please tell me which of these approaches is better and why?
With Helm, I like to think of the Chart as the function and the values.yaml as the arguments. If you are selectively including and excluding certain ConfigMaps, you are changing the function and will have to have a separate Helm Chart for each deployment. It will also complicate things like updating, since you'll have to update each Helm Chart individually.
Unless there was some strange extenuating circumstance I would just create different values.yaml files for the different deployments. An added benefit is that when you list your Helm releases, you can easily bring up the .yaml file for any of them to load the config.