# Passing token to Consul via lookup plugin

**URL:** <https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084>\
**Category:** Ansible Project\
**Created:** [August 21, 2015, 7:52pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084 "2015-08-21T19:52:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sam\_S](https://avatars.discourse-cdn.com/v4/letter/s/edb3f5/32.png) [@Sam\_S](https://forum.ansible.com/u/Sam_S)\
**Post date:** [August 21, 2015, 7:52pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/1 "2015-08-21T19:52:00Z")

</div>

How do I pass the token to Consul?

This doesn’t appear to work, I’m not getting the value. However, if i set Consul to allow anonymous queries, it works fine.

{{ lookup(‘consul\_kv’,item,“token=mysecretoken”) }}

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [August 21, 2015, 8:05pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/2 "2015-08-21T20:05:19Z")

</div>

The lookup currently does not seem to support auth, but it should not  
be hard to modify to do so.

---

<div class="post-metadata">

**Author:** ![Sam\_S](https://avatars.discourse-cdn.com/v4/letter/s/edb3f5/32.png) [@Sam\_S](https://forum.ansible.com/u/Sam_S)\
**Post date:** [August 21, 2015, 8:07pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/3 "2015-08-21T20:07:52Z")

</div>

Well according to this file (is this the right one?) I see paramters for token.

/usr/lib/python2.7/site-packages/ansible/runner/lookup\_plugins/consul\_kv.py

results = consul\_api.kv.get(params[‘key’],  
token=params[‘token’],  
index=params[‘index’],  
recurse=params[‘recurse’])

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [August 21, 2015, 8:14pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/4 "2015-08-21T20:14:23Z")

</div>

ah, yes, i missed that, i was looking at the env variables

self.agent\_url = '[http://localhost:8500](http://localhost:8500)'  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if os.getenv('ANSIBLE\_CONSUL\_URL') is not None:  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.agent\_url = os.environ['ANSIBLE\_CONSUL\_URL']

do you get any errors when trying to use the token?

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [August 21, 2015, 8:16pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/5 "2015-08-21T20:16:09Z")

</div>

I think the problem is in that the entire kwarg is quoted in your example:

{{ lookup(‘consul\_kv’,item,“token=mysecretoken”) }}

It should probably be:

{{ lookup(‘consul\_kv’, item, token=“mysecretoken”) }}

Just quote the value, not the arg name.

---

<div class="post-metadata">

**Author:** ![Sam\_S](https://avatars.discourse-cdn.com/v4/letter/s/edb3f5/32.png) [@Sam\_S](https://forum.ansible.com/u/Sam_S)\
**Post date:** [August 21, 2015, 8:27pm UTC](https://forum.ansible.com/t/passing-token-to-consul-via-lookup-plugin/19084/6 "2015-08-21T20:27:22Z")

</div>

I’ve tried that as well. I don’t think it works because I used the following and it did not throw an error. Notice, I used “token123” and it didn’t error out at all.

{{ lookup(‘consul\_kv’, item, token123=“mysecretoken”) }}
