рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
sasl_protocol рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реИрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкреНрд▓реЗрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╡реЙрд▓реНрдЯреЗрдб рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИ:
рдШрд╛рддрдХ: [XXXXXXX]: рд╡рд┐рдлрд▓! => {"msg": "'{{ kafka_broker_combined_properties | Combin(kafka_broker_custom_properties) }}' рдХреЛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реИрдВрдбрд▓ рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдкрд╡рд╛рдж рд╣реБрдЖред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдмрд╛рдЗрди_рдкреНрд░реЙрдкрд░реНрдЯреАрдЬ рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рддреЛ рдЕрдЧрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╡реЙрд▓реНрдЯ рдПрдирдХреЛрдб рд╣реИ рддреЛ myabe рдЗрд╕реЗ 'toString () рдкрд╛рдпрдерди рдореЗрдердб' рд╕реЗ рдареАрдХ рдХрд░реЗрдВ:
def combine_properties(self, properties_dict):
# Loops over master properties dictionary and combines sub elements if enabled
final_dict = {}
for prop in properties_dict:
if properties_dict[prop].get('enabled'):
final_dict.update(properties_dict[prop].get('properties'))
return final_dict
рдкреНрд░рдЬрдирди рдХрд░рдирд╛
рд╕рднреА рд╡рд╛рд░реНрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди:
sasl_protocol: scram
sasl_scram_users:
admin:
principal: "admin"
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
32313537636131333038303532613231653233343565303831396530393061643031303432303632
6537306234393563343861643834336430353930643062370a663563376131653664653430363963
62303339313937646635663032326266383439623736623462373632313934643261303634663732
3331643634623337610a616365613231346630656564616265656231633238313932333437363461
65626165666531656463353562323165376135653631316435653337366164653063
client:
principal: "client"
password: !vault |
$ANSIBLE_VAULT;1.1;AES256
35653666663833386164616630353966363231633234633561663464653931393835653830303630
3263373337396137653637383332656539373766346438370a353164383737306535646234363065
66643863353439663064346564333062373265653036646137306531353336323931653931363032
3231373831366531640a323161386538333966646635353462623263346234306631383635646237
34613764663736346362616562623061333438613461616162386532373266393166
рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓
рдПрдХ рд╕рдорд╛рдзрд╛рди рдореМрдЬреВрдж рд╣реИ , рдЖрдкрдХреЛ рд╡реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХрдирд╡рд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
sasl_protocol: scram
sasl_admin_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
32313537636131333038303532613231653233343565303831396530393061643031303432303632
6537306234393563343861643834336430353930643062370a663563376131653664653430363963
62303339313937646635663032326266383439623736623462373632313934643261303634663732
3331643634623337610a616365613231346630656564616265656231633238313932333437363461
65626165666531656463353562323165376135653631316435653337366164653063
sasl_client_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
35653666663833386164616630353966363231633234633561663464653931393835653830303630
3263373337396137653637383332656539373766346438370a353164383737306535646234363065
66643863353439663064346564333062373265653036646137306531353336323931653931363032
3231373831366531640a323161386538333966646635353462623263346234306631383635646237
34613764663736346362616562623061333438613461616162386532373266393166
sasl_scram_users:
admin:
principal: "admin"
password: "{{sasl_admin_password|string}}"
client:
principal: "client"
password: "{{sasl_client_password|string}}"
@LGouellec рдХреНрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрддреНрддрд░рджрд╛рдпреА рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#keep -vaulted-variables-safely-visible, рдпрд╛ рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рд╕рдорд╕реНрдпрд╛?
рд╣рд╛рдп @erikgb ,
рд╣рд╛рдБ рдпрд╣ рдПрдХ рд╡реИрдз рдХрд╛рдордХрд╛рдЬ рд╣реИред
рдХреНрдпрд╛ рд╣рдо Comb_properties рдлрдВрдХреНрд╢рди рдореЗрдВ AnsibleVaultEncryptedUnicode рдХреЛ рдореИрдиреЗрдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╣рд╛рдБ рдпрд╣ рдПрдХ рд╡реИрдз рдХрд╛рдордХрд╛рдЬ рд╣реИред
рд╡рд╣ рдЕрдЪреНрдЫрд╛ рд╣реИрдВ! рдореИрдВ
рдХреНрдпрд╛ рд╣рдо Comb_properties рдлрдВрдХреНрд╢рди рдореЗрдВ AnsibleVaultEncryptedUnicode рдХреЛ рдореИрдиреЗрдЬ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ, рдФрд░ рд╣рдо рдЗрд╕рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрдЧ рдХреЛ рд╣рдорд╛рд░реЗ рдмреИрдХрд▓реЙрдЧ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╛ рдЕрдЧрд░ рдЖрдк рдХрдВрдлреНрд▓реБрдПрдВрдЯ рдЧреНрд░рд╛рд╣рдХ рд╣реИрдВ рддреЛ рдХрдВрдлреНрд▓реБрдПрдВрдЯ рд╕рдкреЛрд░реНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
Resolved in PR #640