<p>In deployment.yaml contains the condition:</p>
<pre><code>          {{- if or $.Values.env $.Values.envSecrets }}
          env:
            {{- range $key, $value := $.Values.env }}
            - name: {{ $key }}
              value: {{ $value | quote }}
            {{- end }}
            {{- range $key, $secret := $.Values.envSecrets }}
            - name: {{ $key }}
              valueFrom:
                secretKeyRef:
                  name: {{ $secret }}
                  key: {{ $key | quote }}
            {{- end }}
          {{- end }}
</code></pre>
<p>If I pass the $key = <code>helm install NAME nexus/stand --set env.server.servlet.context-path=/bpm/router-app</code>, then i don't get what i expect:</p>
<pre><code>Containers:

...

    Environment:
      server:   map[servlet:map[context-path:/bpm/router-app]]
</code></pre>
<p>How can I get around this problem and get the environment like:</p>
<pre><code>    Environment:
      server.servlet.context-path:   /bpm/router-app
</code></pre>

Maksim
<p>Use double backslashes.</p>
<pre><code>helm install NAME nexus/stand --set env.server\\.servlet\\.context-path=/bpm/router-app
</code></pre>
<p>That is the equivalent of:</p>
<pre class="lang-yaml prettyprint-override"><code>env:
  server.servlet.context-path: /bpm/router-app
</code></pre>
<p>This is useful particularly for annotations.</p>
<p>Alternatively you should be able to use quotes and single backslashes.</p>
<pre><code>helm install NAME nexus/stand --set 'env.server\.servlet\.context-path'=/bpm/router-app
</code></pre>
