community.general.consul_kv lookup – Fetch metadata from a Consul key value store.
Note
This lookup plugin is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this lookup plugin,
see Requirements for details.
To use it in a playbook, specify: community.general.consul_kv
.
Synopsis
Lookup metadata for a playbook from the key value store in a Consul cluster. Values can be easily set in the kv store with simple rest commands
curl -X PUT -d 'some-value' http://localhost:8500/v1/kv/ansible/somedata
Requirements
The below requirements are needed on the local controller node that executes this lookup.
python-consul python library https://python-consul.readthedocs.io/en/latest/#installation
Keyword parameters
This describes keyword parameters of the lookup. These are the values key1=value1
, key2=value2
and so on in the following
examples: lookup('community.general.consul_kv', key1=value1, key2=value2, ...)
and query('community.general.consul_kv', key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
List of key(s) to retrieve. |
|
The client cert to verify the TLS connection. Configuration:
|
|
Retrieve the key from a consul datacenter other than the default for the consul host. |
|
The target to connect to, must be a resolvable address. Will be determined from Default: Configuration:
|
|
If the key has a value with the specified index then this is returned allowing access to historical values. |
|
The port of the target host to connect to. If you use Default: |
|
If true, will retrieve all the values that have the given key as prefix. Choices:
|
|
Whether to use http or https. If you use Default: |
|
The acl token to allow access to restricted values. |
|
The target to connect to. Should look like this: Configuration:
|
|
Whether to verify the TLS connection or not. Choices:
Configuration:
|
Examples
- ansible.builtin.debug:
msg: 'key contains {{item}}'
with_community.general.consul_kv:
- 'key/to/retrieve'
- name: Parameters can be provided after the key be more specific about what to retrieve
ansible.builtin.debug:
msg: 'key contains {{item}}'
with_community.general.consul_kv:
- 'key/to recurse=true token=E6C060A9-26FB-407A-B83E-12DDAFCB4D98'
- name: retrieving a KV from a remote cluster on non default port
ansible.builtin.debug:
msg: "{{ lookup('community.general.consul_kv', 'my/key', host='10.10.10.10', port=2000) }}"
Return Value
Key |
Description |
---|---|
Value(s) stored in consul. Returned: success |