使用 Helm 循环 dotenv 文件行并在 ConfigMap 中渲染为键值对

2024-01-08

我有这个.env file :

REACT_APP_API_ENDPOINT=http://api.app:8080
REACT_APP_GOOGLE_ANALY=xyz1234ezyz

我想从此 .env 文件构建一个配置映射,如下所示:

apiVersion: v1
kind: ConfigMap
metadata:
  name: frontend-config

data:
 REACT_APP_API_ENDPOINT: 'http://api.app:8080'
 REACT_APP_GOOGLE_ANALY: 'xyz1234ezyz'
  

该算法很简单:

 forEach Line of `.env` content
    > Split by "="
    > key <- first part , value <- second part
    > render key, value in 

我的舵图默认值是:

# chart/values.yaml

# using --set-file
frontendEnv: |
 REACT_APP_API_ENDPOINT=http://api.app:8080
 REACT_APP_GOOGLE_ANALY=xyz1234ezyz

我的配置图模板:

apiVersion: v1
kind: ConfigMap
metadata:
 #...

data:

# MY QUESTION is what to put Here ????

我试过这个循环:

# ...
# ..
data:
{{- range $line := splitList "\n" .Values.frontendEnv -}}
{{/* Break the line into words */}}
{{- $kv := split "=" $line -}}
  $kv._0: {{ $kv._1 | quote }}
{{- end -}}

但它不起作用


Fixed .

  • use {{- range ... }} not {{- range... -}}为每次迭代保留新行。

  • 使用splitList而不是split

  • 检查行是否不为空

{{- range $line := splitList "\n" .Values.frontendEnv }}
  {{/* Break the line into words */}}
  {{- $kv := splitList "=" $line -}}
  {{- $k := first $kv -}}
  {{- if $k }}
    {{ $k }}: {{ last $kv | quote }}
  {{- end }}

{{- end }}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Helm 循环 dotenv 文件行并在 ConfigMap 中渲染为键值对 的相关文章

随机推荐

  • InteractivePopGestureRecognizer 导致应用程序冻结

    在我的应用程序中 我有不同的控制器 当我将controller1推到导航控制器并滑动到后面时 一切正常 但是 如果我推导航控制器1 然后推入控制器1推控制器2并尝试向后滑动 我会得到一个冻结的应用程序 如果通过后退按钮返回一切正常 我怎样才
  • 如何在 Android Studio 运行时获取构建变体?

    我想在运行时获取构建变体 这是否可能不需要任何额外的配置或代码 查看生成的BuildConfig class public final class BuildConfig public static final boolean DEBUG
  • sqlite3_fts5使用标点符号时出错

    我有一个问题字符串变量 其中包含 我的车在哪里 一词 当我尝试对此运行选择时 它崩溃了 String sql Select from tblHALv2001 WHERE tblHALv2001 MATCH question fts5 附近的
  • plotly.js 中的分类轴顺序

    我有一个plotly js 条形图 我试图使 calcategories 轴的顺序正确 每个类别都有一个条形 但有时它们是绿色的 有时是黄色的 条形图应按从最高到最低的顺序排列 但情节似乎是根据不同的填充对它们进行排序 数据 var dat
  • 不可选择的下拉列表

    有没有什么方法可以让下拉列表中没有任何项目可供选择 所以基本上 我只是想用它作为显示 隐藏列表的一种方式 我不想要任何悬停突出显示 也不希望能够更改所选项目 您能否建议这是否可能 或者如果有人有任何其他想法来实现类似的目标 您能否给我指出一
  • 如何更改用户控件的访问修饰符

    我在 xaml 中创建了一个用户控件 将其命名为 View 在 View xaml cs 中 我将类 View 的访问修饰符更改为内部 internal partial class View ViewBase 更改访问修饰符后 编译器会显示
  • 如何在 linux (RedHat 6) 上检查 java 版本

    I am trying to check what java version I have installed in my linux machine I have tried which java 我得到 usr bin java 但是当
  • XAML - 设置样式后文本未显示在我的文本框中

    因此 我在正在开发的应用程序中设置了文本框的样式 突然间我看不到绑定到文本框的任何文本 我觉得我缺少某种 ContentPresenter 无论如何 这是样式
  • 如何对 kubernetes 中运行的 Inception 服务的部署进行故障排除

    我正在关注使用 TensorFlow Serving 和 Kubernetes 服务 Inception 模型 https tensorflow github io serving serving inception html当我尝试从本地
  • 类型没有成员

    我正在 Swift 游乐场上玩一个新课程 由于某种原因 我不断收到错误 该类 没有成员类型 其名称是前面三行定义的常量 这是代码 import Foundation class DataModel let myCalendar NSCale
  • 如何按名称或类型查找 WPF 控件?

    我需要在 WPF 控件层次结构中搜索与给定名称或类型匹配的控件 我怎样才能做到这一点 我将 John Myczek 使用的模板格式与上面的 Tri Q 算法结合起来 创建了一个可用于任何父级的 findChild 算法 请记住 向下递归搜索
  • 如何创建每行库存的二进制矩阵? (右)

    我有一个由 9 列组成的数据框 其中包含一系列因素 每行可以填充全部 9 列 因为该行包含 9 个 东西 但大多数没有 大多数有 3 4 个 这些列也不具体 就像第 200 项出现在第 1 列和第 3 列中一样 这是同一件事 我想为包含所有
  • 为什么文字字符串 """"""" (七个引号)会出错?[重复]

    这个问题在这里已经有答案了 处理客户的输入我们经常使用strip 方法 如果我们想从某个特定集合中删除开始结束符号 我们只需将其全部放入参数中即可 代码 yes strip 显然给出 yes 字符串作为结果 当我尝试删除集合时 结果取决于该
  • 如何使用 OpenGL 将像素数组直接绘制到屏幕上?

    我想将像素直接写入屏幕 不使用顶点和多边形 我调查了类似问题的各种答案 其中最著名的是here https stackoverflow com questions 10040961 opengl pixel perfect 2d drawi
  • 在列表框中找到控件?

  • 关闭 ECSlidingViewController 菜单

    我想以按 菜单 按钮将显示我的菜单并再次按 菜单 将隐藏它的方式实现滑动菜单 但我不明白如何使用 ECSlidingViewController 来做到这一点 将不胜感激任何帮助 ECSlidingViewController 有这样的方法
  • 从 Json 数组中获取数据 Json 数组 Android Java

    您好 如何从另一个 Json 数组中的 Json 数组获取数据我已获取数据直至附件 但附件不起作用 所有代码均有效直至附件如何从附件获取数据我需要从中获取 photo 75 Json response count 3 items id 3
  • 在android中你可以在ui线程之外加载资源吗

    我有一个希望是一个简单的问题 我想知道是否可以安全地从非 ui 线程加载资源 我说的是 res 文件夹中的东西 我只是找不到任何明确回答这个问题的文档 SDK 中有很多与 UI 线程上不允许的内容相关的内容 我从未见过任何提到以这种方式加载
  • heroku rollback 没有更新 HEAD 远程分支,是吗?

    我错误地推送了heroku并使用heroku回滚将其回滚到以前的版本 效果很好 因为我的 Heroku 应用程序现在正在提供回滚版本 但是 当一位拉出 损坏 推送的同事试图在回滚后签出 正确 版本时 他从 master 分支的 git ch
  • 使用 Helm 循环 dotenv 文件行并在 ConfigMap 中渲染为键值对

    我有这个 env file REACT APP API ENDPOINT http api app 8080 REACT APP GOOGLE ANALY xyz1234ezyz 我想从此 env 文件构建一个配置映射 如下所示 apiVe