#+TITLE: Ansible layer
[[file:img/ansible.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#install][Install]]
- [[#configuration][Configuration]]
- [[#ansible-vault][ansible-vault]]
- [[#password][Password]]
- [[#automatic-encryption-and-descryption][Automatic encryption and descryption]]
- [[#key-bindings][Key bindings]]
* Description
This layer adds support for Ansible-flavored YAML buffers and Jinja2 templates.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =ansible= to the existing =dotspacemacs-configuration-layers= list in this
file.
* Configuration
** ansible-vault
*** Password
To use =ansible-vault= you have to provide the path to a file containing the
password to use somewhere in you =dotspacemacs/user-config= function.
For instance:
#+BEGIN_SRC emacs-lisp
(setq ansible::vault-password-file "path/to/pwd/file")
#+END_SRC
The default value is the ansible-vault default value: =~/.vault_pass.txt=.
*** Automatic encryption and descryption
This layer comes preconfigured with automatic encryption/decryption of
encrypted files using =ansible-vault= so it is possible to edit seamlessly
any encrypted files.
If you want to disable this feature then set the layer variable
=ansible-auto-encrypt-descrypt= to =nil=.
(ansible :variables ansible-auto-encrypt-descrypt t)
* Key bindings
| Key Binding | Description |
|-------------+------------------------------------------|
| ~SPC m b d~ | encrypt the buffer using =ansible-vault= |
| ~SPC m b e~ | decrypt the buffer using =ansible-vault= |
| ~SPC m h a~ | looks up documentation using [[https://github.com/lunaryorn/ansible-doc.el][ansible-doc]] |