Как избежать кодировки URL в выводе ct (coreos transpiler) - PullRequest
0 голосов
/ 10 января 2020

Я использую ct, транспортер coreos для генерации файла зажигания. Проблема в том, что этот файл воспламенения сам является шаблоном для другой программы, и кодировка URL мешает расширению переменной шаблона. Для MVE у меня есть переменная шаблона ${baz}, которая должна выходить из транспилятора как ${baz},

# ct_storage_quote_mve.yml
storage:
  files:
    - path: /foo/bar
      mode: 0666
      filesystem: root
      contents:
        inline:
          ${baz}

Однако, когда я запускаю ct, я получаю %24%7Bbaz%7D

$ ct -pretty < ct_storage_quote_mve.yml 
{
  "ignition": {
    "config": {},
    "security": {
      "tls": {}
    },
    "timeouts": {},
    "version": "2.2.0"
  },
  "networkd": {},
  "passwd": {},
  "storage": {
    "files": [
      {
        "filesystem": "root",
        "path": "/foo/bar",
        "contents": {
          "source": "data:,%24%7Bbaz%7D",
          "verification": {}
        },
        "mode": 438
      }
    ]
  },
  "systemd": {}
}

Я пытался просто использовать sed / perl oneliner, чтобы исправить это, но это мешает другим инструментам, которые я использую. На самом деле решение проблемы в транспиляции кажется лучшим способом go.

...