XML-файлы в ConfigMap yaml - PullRequest
       6

XML-файлы в ConfigMap yaml

0 голосов
/ 28 июня 2018

Есть ли способ конвертировать конфигурационные файлы, такие как xml, в файл yaml kubernetes configmap без использования команды kubectl? Допустим, я хочу динамически создавать xml-файлы, которые, в свою очередь, хранятся в git repo как configmap yaml, и некоторые операторы могут отслеживать изменения yaml и развертывать их в кластере.

1 Ответ

0 голосов
/ 28 июня 2018

конфигурационные файлы, такие как xml to kubernetes configmap, файл yaml без использования команды kubectl

Конечно, потому что единственное, что kubectl делает с yaml, - это немедленно преобразует его в json, а затем POST (или PUT или что-то еще) в API kubernetes с заголовком content-type: application/json;charset=utf-8 (вы можно посмотреть, что происходит через kubectl --v=100 create -f my-thing.yaml)

Итак, ответ на ваш вопрос заключается в том, чтобы использовать ваш любимый язык программирования с библиотеками для json (или положительно удивительный jq ), при необходимости упаковать XML, использовать что-то вроде kube -применить для отслеживания и развертывания изменений:

# coding=utf-8
import json
import sys

result = {
  "apiVersion": "v1",
  "kind": "ConfigMap",
  # etc etc
  "data": [],
}
for fn in sys.argv[1:]:
    with open(fn) as fh:
       body = fh.read()
    data.append({fn: body})
json.dump(result, sys.stdout)  # or whatever
...