#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, я не загружал файл напрямую