One major weakness with Ansible's "lookup" plugins is that they are evaluated _every single time they are used_, even indirectly. This means, for example, a shell command could be run many times, potentially resulting in different values, or executing a complex calculation that always provides the same result. Ansible does not have a built-in way to cache the result of a `lookup` or `query` call, so I created this one. It's inspired by [ansible-cached-lookup][0], which didn't actually work and is apparently unmaintained. Instead of using a hard-coded file-based caching system, however, my plugin uses Ansible's configuration and plugin infrastructure to store values with any available cache plugin. Although looking up the _pyrocufflink.net_ wildcard certificate with the Kubernetes API isn't particularly expensive by itself right now, I can envision several other uses that may be. Having this plugin available could speed up future playbooks. [0]: https://pypi.org/project/ansible-cached-lookup
28 lines
522 B
INI
28 lines
522 B
INI
# vim: set ft=dosini :
|
|
|
|
[defaults]
|
|
inventory = hosts, hosts.pyrocufflink.yml
|
|
|
|
callback_plugins = plugins/callback
|
|
inventory_plugins = plugins/inventory
|
|
lookup_plugins = plugins/lookup
|
|
|
|
gathering = smart
|
|
fact_caching = jsonfile
|
|
fact_caching_connection = .fact-cache
|
|
|
|
force_valid_group_names = ignore
|
|
|
|
remote_tmp = /var/tmp
|
|
|
|
[callback_ntfy]
|
|
server = https://ntfy.pyrocufflink.blue
|
|
|
|
[ara]
|
|
api_client = http
|
|
api_server = https://ara.ansible.pyrocufflink.blue
|
|
|
|
[lookup]
|
|
cache_plugin = jsonfile
|
|
cache_connection = .lookup-cache
|