3

В моем предыдущем вопросе я обнаружил, что могу поместить параметры в локальный файл ansible.cfg . Но могу ли я их переопределить?

У меня есть файл ansible.cfg который содержит

[defaults]
vault_password_file = /home/hymie/ansible/foo

И я могу использовать этот файл автоматически:

$ echo "hi there" |  ansible-vault encrypt_string
Reading plaintext input from stdin. (ctrl-d to end input)
!vault |
          $ANSIBLE_VAULT;1.1;AES256
          64386133613865366565336365333166623538613239636464303931646330323061376239363639
          3136376163613132613130306630626365643133366664310a353030303434346336396233616363
          62323464313737663135303636646264373737393930326132386231363561653865646436313439
          3231353132643364340a316431626332626633646135613064353133633038356434323537326633
          3035
Encryption successful

Но сейчас я не могу использовать / выбрать другой пароль:

$ echo "hi there" |  ansible-vault encrypt_string --ask-vault-pass
New Vault password:
Confirm New Vault password:
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

$ echo "hi there" |  ansible-vault encrypt_string --vault-password-file=/tmp/foo
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

$ echo "hi there" |  ansible-vault encrypt_string --vault-id=@prompt
New vault password (default):
Confirm vew vault password (default):
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

Это похоже на неправильное поведение.

Почему мой параметр командной строки (либо для запроса пароля, либо для выбора другого файла пароля) не переопределяет параметр файла конфигурации для использования определенного предварительно определенного файла пароля? Я делаю что-то неправильно? Или ANSIBLE просто так, без переопределения переменных файла конфигурации?

1 ответ1

0

У меня вчера была похожая проблема с той же ошибкой и вашей конфигурацией.

Видимо, эта ошибка возникла из-за того, что мой ansible.cfg из CWD указывал на vault_password_file и я также передавал --vault-password-file в CLI в качестве аргумента, поэтому ссылка на файл пароля хранилища дважды выдает эту ошибку: ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

Именно это и говорит ошибка: тот факт, что вы передаете этот параметр дважды, но другим способом.

Таким образом, способ исправить это - либо удалить vault_password_file= из ansible.cfg и передать ее только через --vault-password-file , либо просто оставить его в ansible.cfg избегая при этом ввода --vault-password-file опять пароль в файле cli, решать только вам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .