Helm: يمكن استبدال سلسلة في ملف؟

تم إنشاؤها على ١٥ مايو ٢٠١٨  ·  3تعليقات  ·  مصدر: helm/helm

أهلا،
أواجه مشكلة عندما أحاول نشر خريطة التكوين باستخدام الدفة. يتم شرح المشكلة على النحو التالي.
لنفترض أن لدي مخطط دفة يحتوي على بنية المجلد على النحو التالي.

├── الرسوم البيانية
├── مخطط. yaml
├── أسيوط
│ └── tee.xml
├── القوالب
│ └── ConfigMap.yaml
└── القيم

يظهر tee.xml أدناه.

<note>
<to>Tove</to>
<from>${name}</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

يتم عرض ConfigMap.yaml أدناه.

apiVersion: v1
kind: ConfigMap
metadata:
  name: mytest-var
xml:
  {{ .Values.from }}
data:
  {{- $file := .Files }}
  {{- $var := .Values.from }}
  {{- range $path, $byte := .Files.Glob "conf/*" }}
  {{- $list := $path | splitList "/"}}
  {{- $length := len $list }}
  {{- $last := add $length -1 }}
  {{ index $list $last }}: |-
    {{- range $file.Lines $path }}
    {{ . }}
    {{- end }}
  {{- end }}

جزء من القيم. yaml موضح أدناه.
from: Shashi

عندما أقوم بتشغيل أمر تثبيت helm ، أريد استبدال القيمة ${name} الموجودة في ملف tee.xml ( <from>${name}</from> ) من قيمة تم تعيينها في القيم. yaml. هل هذا ممكن باستخدام الدفة وإذا كان ذلك ممكنًا هل يمكنك مساعدتي في إجراء التغييرات ذات الصلة؟

questiosupport

التعليق الأكثر فائدة

أهلا،

تمكنت من إيجاد حل للمشكلة أعلاه باستخدام "استبدال". لقد أرفقت ملفات القيادة ذات الصلة أدناه.

ConfigMap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: mytest-var
xml:
  {{ .Values.from }}
data:
  {{- $file := .Files }}
  {{- $var := .Values.from }}
  {{- range $path, $byte := .Files.Glob "conf/*" }}
  {{- $list := $path | splitList "/"}}
  {{- $length := len $list }}
  {{- $last := add $length -1 }}
  {{ index $list $last }}: |-
    {{- range $line := $file.Lines $path }}
    {{ $line | replace "John" $var }}
    {{- end }}
  {{- end }}

tee.xml

<note>
<to>Tove</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

جزء من القيم
from: Cigra

من خلال تشغيل تثبيت helm ، يمكننا إنشاء خريطة التكوين التي تم استبدال المفتاح "يوحنا "من كلمة" Cigra "

من فضلك قل لي هذه هي الطريقة الصحيحة؟

ال 3 كومينتر

أهلا،

تمكنت من إيجاد حل للمشكلة أعلاه باستخدام "استبدال". لقد أرفقت ملفات القيادة ذات الصلة أدناه.

ConfigMap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: mytest-var
xml:
  {{ .Values.from }}
data:
  {{- $file := .Files }}
  {{- $var := .Values.from }}
  {{- range $path, $byte := .Files.Glob "conf/*" }}
  {{- $list := $path | splitList "/"}}
  {{- $length := len $list }}
  {{- $last := add $length -1 }}
  {{ index $list $last }}: |-
    {{- range $line := $file.Lines $path }}
    {{ $line | replace "John" $var }}
    {{- end }}
  {{- end }}

tee.xml

<note>
<to>Tove</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

جزء من القيم
from: Cigra

من خلال تشغيل تثبيت helm ، يمكننا إنشاء خريطة التكوين التي تم استبدال المفتاح "يوحنا "من كلمة" Cigra "

من فضلك قل لي هذه هي الطريقة الصحيحة؟

إذا كان يعمل ، فإنه يعمل. يبدو استخدام replace لاستبدال كل مثيل لسلسلة فرعية ضمن سلسلة معينة أمرًا منطقيًا بالنسبة لي.

أوافق - يبدو استخدام replace خيارًا جيدًا في هذه الحالة.

KavinduZoysa نظرًا لأن هذا الحل يعمل ، اسمحوا لي أن أمضي قدمًا وأغلق هذه المشكلة. لا تتردد في إعادة الفتح إذا لم يعمل هذا كما هو متوقع أو إذا كان لديك أي أسئلة أخرى ذات صلة. شكرا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات