duan97689 2019-07-03 09:40
浏览 40

有没有一种方法可以将名称空间包含在值中?

I have got several namespaces (iso, dev, sandbox, etc.) which correspond to my different environments. For each environment and thus namespace, there is an associated db. When I deploy my pod with Helm, I would like to inject the namespace inside a value to get the appropriate password .

In my values file I have something that looks like this :

db:
  iso: passwordISO
  dev: passwordDEV
  sandbox: passwordSANDBOX
  spec: passwordSPEC
  val: passwordVAL

and in my consumer_config file I have this :

  db_host: DB_HOST-{{ .Release.Namespace }}
  db_port: DB_PORT
  db_name: DB_NAME
  db_user: DB_PORT
  db_password: {{ .Values.db.iso }}

I already tried to use the {{- include }} pattern but with no success. I also tried {{ .Values.db.{{ .Release.Namespace }}}} giving me the following error unexpected <.> in operand

Any insight on how to do this or any workaround ?

  • 写回答

1条回答 默认 最新

  • dongxuanjiao0795 2019-07-03 11:54
    关注

    As Helm is based on the Go-template language, the functions availabe in the go-template language can be of help:

    {{ index .Values.db .Release.Namespace }}
    

    From the docs (go-template docs):

    index Returns the result of indexing its first argument by the following arguments. Thus "index x 1 2 3" is, in Go syntax, x[1][2][3]. Each indexed item must be a map, slice, or array.

    so in this case you index .Values.db with the key .Release.Namespace

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。