spacemacs/layers/+tools/ansible
Brett Campbell f170c732d7 Improve regexp for detecting Ansible files
Additional path names are now detected.

However, the patterns have also been anchored more tightly, meaning they
are more accurate, so they will match less slop (this may affect certain
edge cases where people unknowingly depended on false-positives, e.g.,
`parasite.yml').

Technical details about regexp changes:
  * Remove unnecessary `.*' at beginning
  * Anchor file names with leading `/' to prevent partial matches
      - (eg., don't match `not-main.yml')
  * Restructure capture groups so that `\\.yml' extension is at very end
  * Support `.yaml' extensions as well
  * Anchor the very end with `$'
2019-09-22 19:40:45 +02:00
..
img
config.el Improve regexp for detecting Ansible files 2019-09-22 19:40:45 +02:00
funcs.el Fix ansible layer for upstream changes in ansible minor mode 2019-07-09 01:48:12 +02:00
layers.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el [ansible] Fix void-variable company-backends 2019-08-30 10:22:43 -04:00
README.org Fix ansible layer for upstream changes in ansible minor mode 2019-07-09 01:48:12 +02:00

Ansible layer

/TakeV/spacemacs/media/commit/c2443ef7d0863adfca16011c0040fe9f893a4f4c/layers/+tools/ansible/img/ansible.png

Description

This layer adds support for editing Ansible configuration files in Spacemacs.

Features:

  • Syntax highlighting for Ansible-flavored YAML and Jinja2 templates.
  • Auto-completion via company-ansible.
  • Integration of ansible-vault into emacs for automatic encryption/decryption of files.

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 your dotspacemacs/user-config function. For instance:

  (setq ansible-vault-password-file "path/to/pwd/file")

The default value is the ansible-vault default value: ~/.vault_pass.txt.

For now Ansible does not handle multiple passwords in the vault file (see https://github.com/ansible/ansible/issues/13243). To work around this limitation directory local variables can be used to define a different password file for a given environment. Example:

  ;;; Directory Local Variables
  ;;; For more information see (info "(emacs) Directory Variables")

  ((yaml-mode . ((ansible-vault-password-file . "path/to/vault_file"))))

Automatic encryption and decryption

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-decrypt to nil.

  (ansible :variables ansible-auto-encrypt-decrypt t)

Key bindings

Key binding Description
SPC m b e encrypt the buffer using ansible-vault
SPC m b d decrypt the buffer using ansible-vault
SPC m h a looks up documentation using ansible-doc