ankur-AJ
ankur-AJ

Reputation: 29

How to refrence pod's shell env variable in configmap data section

I have a configmap.yaml file as below :

apiVersion: v1
kind: ConfigMap
metadata:
  name: abc
  namespace: monitoring
  labels:
    app: abc
    version: 0.17.0
data:
  application.yml: |-
    myjava:
      security:
        enabled: true
    abc:
      server:
        access-log: 
          enabled: ${myvar}. ## this is not working

"myvar" value is available in pod as shell environment variable from secretkeyref field in deployment file.

Now I want to replace myvar shell environment variable in configmap above i.e before application.yml file is available in pod it should have replaced myvar value. which is not working i tried ${myvar} and $(myvar) and "#{ENV['myvar']}"

Is that possible in kubernetes configmap to reference with in data section pod's environment variable if yes how or should i need to write a script to replace with sed -i application.yml etc.

Upvotes: 0

Views: 1820

Answers (1)

larsks
larsks

Reputation: 312400

Is that possible in kubernetes configmap to reference with in data section pod's environment variable

That's not possible. A ConfigMap is not associated with a particular pod, so there's no way to perform the sort of variable substitution you're asking about. You would need to implement this logic inside your containers (fetch the ConfigMap, perform variable substitution yourself, then consume the data).

Upvotes: 1

Related Questions