Hi Chaz,

On 1/14/19 11:02 AM, Chaz_E wrote:
I like the idea of this suggestion.
Is local-facts-facts-d <https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#local-facts-facts-d> usable as Non-Root?

They come up as part of the dictionary returned by the setup module as*ansible_local,* so yes.

Can facts be loaded from the user's $HOME/.ansible/ , like $HOME/.ansible/facts.d or something like that?
I see for windows there is fact_path does that work for Linux?

Reading https://docs.ansible.com/ansible/2.4/intro_configuration.html#fact-path it has precisely that use case (a user's HOME). I don't see that it should not work for Linux. You should try it on a host and see.

Now, back to what you're trying to do. Your variable file is almost an INI file, it just needs a section.

I was curious, so I tried something like what you're trying to do:

[root@gladys facts.d]# pwd
*/etc/ansible/facts.d*

[root@gladys facts.d]# ls -l
total 4***-rwxr-xr-x. 1 root root 106 Jan 14 18:47 factfile.fact*

[root@gladys facts.d]# cat factfile.fact
*#!/bin/bash****# An ini file must have a section****echo '[general]'****cat 
/home/management/thishasvariables.txt*

[root@gladys facts.d]# ls -l /home/management/thishasvariables.txt***-rw-r--r--. 1 management management 11 Jan 14 18:48 /home/management/thishasvariables.txt*

[root@gladys facts.d]# cat /home/management/thishasvariables.txt
*spam=eggs*


my_user@mybox:~$ ansible -u management -i 'gladys, ' all -m setup  -a 
"filter=ansible_local"
*gladys | SUCCESS => {****"ansible_facts": {****"ansible_local": {****"factfile": {****"general": 
{****"spam": "eggs"****}****}****}****}, ****"changed": false****}*



This works. Whether it is secure or not, that's a different matter, it does 
take a user-supplied file and present it as facts for the host.
Cheers,

Hugo









--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b0d9fb18-f3a0-8460-b792-3610857222f1%40redhat.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to