Настроить уведомления реестра Docker - PullRequest
0 голосов
/ 06 мая 2019

Я установил реестр Docker, используя официальную таблицу управления на моем кластере k8s. Я попытался настроить уведомления для своего реестра в соответствии с документами следующим образом:

apiVersion: v1
data:
  config.yml: |-
    health:
      storagedriver:
        enabled: true
        interval: 10s
        threshold: 3
    http:
      addr: :5000
      headers:
        X-Content-Type-Options:
        - nosniff
    notifications:
      endpoints:
        - name: keel
          url: http://keel.example.com/v1/webhooks/registry
          headers:
            Content-Type: application/json
          timeout: 500ms
          threshold: 5
          backoff: 1s
    log:
      fields:
        service: registry
    storage:
      cache:
        blobdescriptor: inmemory
    version: 0.1
kind: ConfigMap

После изменения конфигурации для включения уведомлений реестр не запускается, так как не распознает конфигурацию. Я получаю эту ошибку:

configuration error: error parsing /etc/docker/registry/config.yml: yaml: unmarshal errors:
  line 16: cannot unmarshal !!str `applica...` into []string

Usage: 
  registry serve <config> [flags]
Flags:
  -h, --help=false: help for serve


Additional help topics:

1 Ответ

1 голос
/ 06 мая 2019

Вы пропустили символ yaml [ в их документах (который я свободно признаю, это ужасный пример, учитывая, что [ часто используется в документации как "заполнитель здесь"), поскольку в yaml это символ, которыйпревращает элемент в список - точно так же, как в JSON, из которого YAML черпает вдохновение

Но, кроме этого, cannot unmarshal str into []string должен был быть мертвой раздачей, которую они ожидали от массива 1007 * строк для заголовка:

headers:
  Content-Type:
  - application/json

или, используя синтаксис их ужасный пример:

headers:
  Content-Type: [application/json]

Для продолжения, endpoints: справочные документы также указывают, что:

Список статических заголовков, добавляемых к каждому запросу.Имя каждого заголовка - это ключ под заголовками, а каждое значение - это список полезных нагрузок для этого имени заголовка. Значения всегда должны быть списками .

(акцент мой)

...