First: I notice in the documentation you can have facts in ${module_path}/lib and in ${module_path}/facts.d. What is the difference between the two?
Second: A module that I am writing as I type this is going to have some custom facts to keep a system auditor I work with happy. It "detects" the existence of a package being installed along with the version if it is installed. Since the primary reason for the module is to install and configure the package and from my understanding facts run before other stuff is there a way to trigger a redo of the fact?
In other words:
Before puppet run:
my-packge-installed = false
my-package-version = null
<puppet runs>
my-package-installed = true
my-package-version = 0.5.0
I hope this makes some sort of sense.