It is quite impressive how hard it is to check a map key in Go templates to do some simple if conditions in your Helm charts or other kubernetes templates.

At least for Helm there is a nice solution. For this you have to know that Helm uses the Sprig template library which has support for dict types. And the dict type provides a hasKey method:

{{- if hasKey .Values.mymap "mykey" }}
    # do something conditional here...
{{- end }}