Копирование SSL сертификата с Ansible - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь скопировать сертификат SSL с виртуальной машины хоста Ansible на виртуальную машину хоста Docker, и у меня по-прежнему возникает следующая ошибка

FAILED! => {"changed": false, "msg": "Template source files must be utf-8 encoded"}

книга воспроизведения проста и состоит из двух шагов:

- name: Create directory for SSL certificate
  file: path=/etc/ssl/certs/pm state=directory

- name: Copy SSL certificate from Ansible host to Docker host
  template:
    src: inventories/staging/files/pm.jks
    dest: /etc/ssl/certs/pm/pm.jks
    owner: root
    mode: 0755
  ignore_errors: true

Когда я заменяю pm.jks пустым файлом с тем же именем и расширением, копирование работает нормально, поэтому очевидно, что существует проблема с форматом его содержимого.но я не уверен, как это исправить.

Я использую эту команду для генерации сертификата:

keytool -genkey -alias pm -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore pm.p12 -genkey -alias pm -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore pm.p12 -validity 3650

1 Ответ

0 голосов
/ 18 декабря 2018

Почему бы не использовать метод file Ansible вместо модуля template?Ошибка совершенно ясна - вы не можете использовать модуль template, потому что исходный файл, на который вы ссылаетесь, не в кодировке UTF-8.

Если вы изучите файл, который вы создали с помощью команды, которую вы опубликовали, вы будетеобратите внимание, что это двоичный файл:

test@toor:~$ file pm.p12
pm.p12: data
test@toor:~$ less pm.p12
"pm.p12" may be a binary file.  See it anyway?

Либо попробуйте использовать другой модуль Ansible, либо попробуйте сохранить файл в текстовом формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...