Недопустимый Base64 при добавлении секрета к подключению тома

#azure #base64 #certificate #mount #azure-keyvault

#azure #base64 #сертификат #монтировать #azure-keyvault

Вопрос:

У меня есть KeyVault в Azure с сертификатами и ключами, добавленными в качестве секретов. Сертификаты имеют .crt формат, а ключи имеют .key формат. При попытке развернуть контейнер через .конфигурация yaml в DevOps позволяет извлекать секреты из хранилища ключей, но я не могу включить их в том. Исключением является следующее:

  The value of secret 'server.crt' in volume 'app-secrets' is not encoded in valid Base64 format.
 

Файл развертывания .yml выглядит следующим образом:

 apiVersion: 2019-12-01
location: westeu
name: abcgroup
properties:
  containers:
  - name: abc
    properties:
      image: abc.azurecr.io/image:latest
      resources:
        requests:
          cpu: 1
          memoryInGb: 1.5
      ports:
      - port: 5000
      volumeMounts:
        - name: 'app-secrets'
          mountPath: '/mnt/secrets'
  osType: Linux
  ipAddress:
    type: Public
    ports:
    - protocol: tcp
      port: 5000
  volumes:
    - name: 'app-secrets'
      secret:
        ca.pem: $(ca-pem)
        server.crt: $(server-crt)
        server.key: $(server-priv-key)
  imageRegistryCredentials:
    - server: abc.azurecr.io
      username: abc
      password: abcd
tags: null
type: Microsoft.ContainerInstance/containerGroups
 

Я попытался загрузить значение сертификата, включая первую и последнюю строку (с ——BEGIN CERTIFICATE——) и без них, но проблемы были те же.

Комментарии:

1. Возможно, ваш файл сертификата base64 неправильно упакован в 64 (если не ошибаюсь) символа в каждой строке. И попробуйте зарядить eol в lf вместо cr и наоборот. Или crlf. Также кодировка текста в utf-8 Unicode.

2. Я скопировал значение и поместил его как секретное в KeyVault, я не загружал файл напрямую