循环通过--set-file helm选项传递的纯文本文件的行,然后逐列分析每一行

问题描述 投票:0回答:1

我有一个cron文件,我正尝试通过--set-file选项将其传递。我想循环遍历cron文件行,并为每行创建新的CronJob类型的Kubernetes对象。

我像helm instal ... --set-file crons.file=mycron这样使用它>

其中mycron文件看起来像典型的cron文件:

0,10,20,30,40,50 * * * * /usr/bin/cmd1 opta optb
35 2-23/3 * * * /usr/bin/cmd2

我无法遍历此简单纯文本的行:

{{- range $indx, $line := .Values.crons.file }}
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: {{ regexFind "[^/]+$" "$line"}}
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: cron-{{ $indx }}
            image: busybox
            args: 
            - /bin/sh
            - -c
            - {{ regexFind "[^/]+$" "$line"}}
          restartPolicy: OnFailure
{{- end  }}

fromYaml是否具有使range函数可迭代纯文本文件的功能?

我有一个cron文件,我正在尝试通过--set-file选项传递它。我想遍历cron文件行并为每行创建一个新的CronJob Kubernetes对象。我像这样使用头盔...

kubernetes kubernetes-helm sprig-template-functions
1个回答
0
投票

Sprig支持库包括splitting and joining strings into listsmanipulating lists in general的功能。如果splitList文件位于换行符,则将获得行列表。您可以再次在空格处每行splitList,以从单独的cron行中获取单独的时间和命令部分。

© www.soinside.com 2019 - 2024. All rights reserved.