में मेरे पिछले सवाल , मुझे पता चला कि मैं एक स्थानीय में विकल्प रख सकते हैं 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 है, कोई ओवरराइडिंग कॉन्फ़िगरेशन फ़ाइल चर नहीं है?
/tmp/foo
एक निष्पादन योग्य बैश स्क्रिप्ट नहीं है जो चाहिएecho ${VAULT_PASS}