On this page
consul_kv – Fetch metadata from a Consul key value store
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 master node that executes this lookup.
- python-consul python library https://python-consul.readthedocs.io/en/latest/#installation
Parameters
| Parameter | Choices/Defaults | Configuration | Comments | 
|---|---|---|---|
| _raw 
        list / required
        | 
        List of key(s) to retrieve.
        | ||
| client_cert 
        -
        
        added in 2.8
        | Default: 
        "None"
        | 
        ini entries: 
         [lookup_consul] 
        env:ANSIBLE_CONSUL_CLIENT_CERT
        | 
        The client cert to verify the ssl connection.
        | 
| host 
        -
        
        added in 2.8
        | Default: 
        "localhost"
        | 
        ini entries: 
         [lookup_consul] 
        env:ANSIBLE_CONSUL_URL
        | 
        The target to connect to, must be a resolvable address. Will be determined from  ANSIBLE_CONSUL_URLif that is set.ANSIBLE_CONSUL_URLshould look like this:https://my.consul.server:8500 | 
| index 
        -
        | 
        If the key has a value with the specified index then this is returned allowing access to historical values.
        | ||
| port 
        -
        | Default: 
        8500
        | 
        The port of the target host to connect to.
        
        If you use  ANSIBLE_CONSUL_URLthis value will be used from there. | |
| recurse 
        boolean
        | Default: 
        "no"
        | 
        If true, will retrieve all the values that have the given key as prefix.
        | |
| scheme 
        -
        
        added in 2.8
        | Default: 
        "http"
        | 
        Whether to use http or https.
        
        If you use  ANSIBLE_CONSUL_URLthis value will be used from there. | |
| token 
        -
        | 
        The acl token to allow access to restricted values.
        | ||
| validate_certs 
        -
        
        added in 2.8
        | Default: 
        "yes"
        | 
        ini entries: 
         [lookup_consul] 
        env:ANSIBLE_CONSUL_VALIDATE_CERTS
        | 
        Whether to verify the ssl connection or not.
        | 
Examples
- debug:
    msg: 'key contains {{item}}'
  with_consul_kv:
    - 'key/to/retrieve'
- name: Parameters can be provided after the key be more specific about what to retrieve
  debug:
    msg: 'key contains {{item}}'
  with_consul_kv:
    - 'key/to recurse=true token=E6C060A9-26FB-407A-B83E-12DDAFCB4D98'
- name: retrieving a KV from a remote cluster on non default port
  debug:
    msg: "{{ lookup('consul_kv', 'my/key', host='10.10.10.10', port='2000') }}"
Return Values
Common return values are documented here, the following are the fields unique to this lookup:
| Key | Returned | Description | 
|---|---|---|
| _raw 
        -
        | 
        Value(s) stored in consul.
        | 
Status
- This lookup is not guaranteed to have a backwards compatible interface. [preview]
- This lookup is maintained by the Ansible Community. [community]
Authors
- UNKNOWN
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
Hint
Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.8/plugins/lookup/consul_kv.html