This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+tools/ansible
Codruț Constantin Gușoi a3debe1570 Fixes ansible key errors
2018-05-16 19:44:47 +01:00
..
img Replace +config-files category by +tools category 2016-06-09 23:56:09 -04:00
config.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
funcs.el ansible: fix error void function ansible:auto-decrypt-encrypt 2018-01-29 13:52:39 -05:00
layers.el Happy New Year 2018! 2018-01-04 02:00:25 -05:00
packages.el Fixes ansible key errors 2018-05-16 19:44:47 +01:00
README.org Fix doc for spell-checking and ansible layer 2018-02-17 17:30:44 +02:00

Ansible layer

/TakeV/spacemacs/media/commit/e421377861d45f33f7693b9cb544a1a198aaaa1c/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 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 ansible-doc