User Tools

Site Tools


сервис_ansible

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
сервис_ansible [2026/01/14 15:39]
val [Ansible и Hashicorp Vault]
сервис_ansible [2026/02/09 12:07] (current)
val [Ansible и SOPS]
Line 666: Line 666:
   copy:   copy:
     src: server.key     src: server.key
 +    #content: "{{ lookup('​community.sops.sops',​ '​server.key'​) }}"
     dest: /​etc/​ssl/​private/​server.key     dest: /​etc/​ssl/​private/​server.key
     mode: '​0600'​     mode: '​0600'​
Line 699: Line 700:
   vars:   vars:
     X: "{{ ansible_eth1.ipv4.address.split('​.'​)[2] }}"     X: "{{ ansible_eth1.ipv4.address.split('​.'​)[2] }}"
 +    #​ansible_ssh_common_args:​ '-o StrictHostKeyChecking=no'​
     ansible_ssh_user:​ vagrant     ansible_ssh_user:​ vagrant
     ansible_ssh_pass:​ strongpassword     ansible_ssh_pass:​ strongpassword
Line 751: Line 753:
  
 ~/openvpn1# ansible-vault view openvpn1/​files/​server.key ~/openvpn1# ansible-vault view openvpn1/​files/​server.key
 +
 +~/openvpn1# ###​ansible-vault decrypt openvpn1/​files/​server.key
  
 ~/openvpn1# ansible-vault encrypt_string strongpassword ~/openvpn1# ansible-vault encrypt_string strongpassword
Line 795: Line 799:
 </​code><​code>​ </​code><​code>​
 ... ...
-    vault_url: http://​server.corp13.un:8200+    vault_url: http://​server.corpX.un:8200
     vault_token:​ hKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKU     vault_token:​ hKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKU
-    vault_secret: ​ansible/projects/openvpn1 +    vault_secret: ​secret/data/​ansible/openvpn1 
-    openvpn1_arr:​ "{{ lookup('​community.hashi_vault.hashi_vault',​ '​secret={{ vault_secret }} token={{ vault_token }} url={{ vault_url }} validate_certs=False'​) }}"+    ​#openvpn1_arr:​ "{{ lookup('​community.hashi_vault.hashi_vault',​ '​secret={{ vault_secret }} token={{ vault_token }} url={{ vault_url }} validate_certs=False'​) }}" 
 +    openvpn1_arr:​ "{{ lookup('​community.hashi_vault.hashi_vault',​ '​secret='​ ~ vault_secret ~ ' token='​ ~ vault_token ~ ' url=' ~ vault_url ~ ' ​validate_certs=False'​) }}"
     ansible_ssh_user:​ "{{ openvpn1_arr.username }}"     ansible_ssh_user:​ "{{ openvpn1_arr.username }}"
     ansible_ssh_pass:​ "{{ openvpn1_arr.password }}"     ansible_ssh_pass:​ "{{ openvpn1_arr.password }}"
 +    ansible_sudo_pass:​ "{{ openvpn1_arr.password }}"
 ... ...
 </​code><​code>​ </​code><​code>​
 ~/openvpn1# ansible-playbook openvpn1.yaml -i inventory3.yaml -e "​variable_host=test_nodes"​ ~/openvpn1# ansible-playbook openvpn1.yaml -i inventory3.yaml -e "​variable_host=test_nodes"​
 +</​code>​
 +
 +==== Ansible и SOPS ====
 +
 +  * [[https://​galaxy.ansible.com/​ui/​repo/​published/​community/​sops/​|galaxy.ansible community.sops]]
 +
 +  * [[Mozilla Sops]]
 +
 +<​code>​
 +# ansible-galaxy collection list | grep sops
 +community.sops ​               1.6.2
 +
 +~/openvpn1# cat openvpn1/​tasks/​main.yml
 +...
 +- name: Copy file server.key
 +  copy:
 +    #src: server.key
 +    content: "{{ lookup('​community.sops.sops',​ '​server.key'​) }}"
 +...
 +
 +~/openvpn1# sops exec-file --no-fifo inventory.yaml '​ansible-playbook openvpn1.yaml -i {}'
 </​code>​ </​code>​
 ==== Фрагмент роли с условиями и отладкой ==== ==== Фрагмент роли с условиями и отладкой ====
сервис_ansible.1768394366.txt.gz · Last modified: 2026/01/14 15:39 by val