# Vault

```
ansible-vault encrypt_string 'jn2bS7#E4U' --name 'aams_db_password' --vault-id prod@prompt
```

To decrypt prepare the string in text editor and remove spaces at the begining of rows

```
echo '$ANSIBLE_VAULT;1.2;AES256;stage
66333762363161336138633730363961363635373561336430396433613361353961333430633166
6364663766626464373839383639363964353762646364620a646138666335633265646461323261
66333363393064663262653430316439636363633238613938383866316536313730373938396433
3435326266393165610a616638346362353761646563333633643761323930343631363436303436
3233' | ansible-vault decrypt
```

Run

```
ansible-playbook sb2db_jobs.yml -i inventory/stage/s002/s002.ini --vault-id stage@prompt --vault-id stage-infra@prompt --tags aams_database_scripts
```

## Encrypt file

```
 ansible-vault encrypt roles/nginx/files/ssl.mango-office.ru.key
```

```
ansible-vault encrypt foo.yml bar.yml baz.yml
```

To encrypt existing files with the ‘project’ ID and be prompted for the password:

```
ansible-vault encrypt --vault-id project@prompt foo.yml bar.yml baz.yml
```

### View encrypted file

```
ansible-vault view roles/nginx/files/ssl.mango-office.ru.key
```

### Editing encrypted files

```
ansible-vault edit foo.yml
```

## **Legacy**

ansible-vault encrypt\_string

ansible-playbook --ask-vault-pass -i inventory\_file some\_playabook.yml

\#Use a Vault File

echo "secret\_password" > vault\_password

ansible-playbook --vault-password-file=vault\_password -i inventory\_file some\_playabook.yml

\#or

ansible-vault --vault-id ./vault\_password\_file edit defaults/main.yml

\#You can also ask it to prompt you:

ansible-vault --vault-id @prompt edit defaults/main.yml

\#

чтобы работало, нужно создать папку group\_vars, в ней папку с таким же именем как группа в файле inventory

```
|-- group_vars

| |-- vld1
```

В папке vld1 создается два файла vars.yml и vault.yml

vars.yml

```
---
cli:
  host: "{{ inventory_hostname }}"
  username: cisco
  password: "{{ vault_passwd }}"
```

vault.yml

ansible-vault create vault.yml

\#в файле пишем строчку

vault\_passwd: Cisco6o66o6

в самом плейбуке ника не нужно объявлять отдельно переменные, они автоматически подтянутся
