1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/plugins/lookup
Nick 8db59ff02d
with_filetree:: use splitext for compatibility with template: (#2285)
* with_filetree: use splitext for compatibility with template

The example code given deploys files with their .j2 extensions intact, which is probably not what you want.

* Explain how templates interact with splitext|first

* Update plugins/lookup/filetree.py

Co-authored-by: Felix Fontein <felix@fontein.de>

* Don't encourage setting the mode of symlinks

On ext4, maybe most filesystems, symlinks always have the artificial mode of 0777, and `chmod $mode $symlink` *writes through* the symlink to its target file.

An effect of this is that if you deploy a file and a symlink to it (e.g. this common situation: /etc/nginx/sites-available/default and /etc/nginx/sites-enabled/default -> ../sites-available/default) then `with_filetree` will forever first deploy the file with the right mode, then corrupt its mode to 0777, and every redeploy will see a change to fix, forever in a loop.

Probably `file:` should refuse `mode:` on `state: link`s, but in the meantime, avoid recommending it in `filetree`

* Use `follow: false` instead of just the mode.

This should be more cross-compatible.

https://github.com/ansible-collections/community.general/pull/2285#discussion_r616571873

* Update plugins/lookup/filetree.py

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-04-21 14:04:46 +02:00
..
__init__.py Initial commit 2020-03-09 09:11:07 +00:00
cartesian.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
chef_databag.py fixed Python 3 keys() usage (#1861) 2021-02-23 23:19:27 +01:00
consul_kv.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
credstash.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
cyberarkpassword.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
dig.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
dnstxt.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
dsv.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
etcd.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
etcd3.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
filetree.py with_filetree:: use splitext for compatibility with template: (#2285) 2021-04-21 14:04:46 +02:00
flattened.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
hiera.py rewritten as list literals (#2160) 2021-04-05 09:22:06 +02:00
keyring.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
lastpass.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
lmdb_kv.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
manifold.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
nios.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
nios_next_ip.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
nios_next_network.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
onepassword.py onepassword: find the password field out of the fields list (#1610) 2021-01-20 22:37:28 +01:00
onepassword_raw.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
passwordstore.py Add yaml support to passwordstore. (#1681) 2021-01-28 09:24:28 +01:00
redis.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
shelvefile.py <plugin_type>: -> name: (#1541) 2021-01-12 07:12:03 +01:00
tss.py Adding another example for tss lookup (#1945) 2021-03-02 21:58:55 +01:00