You're totally correct that puppetdb should be logging a deprecation warning on `node-ttl-days`, and it's not.  D'oh.

Here's another random idea to throw out there... we could tie the semver of the module to the semver of puppetdb itself...  So, we could do what you said for now (add support for node-ttl-days to 1.1 of the module) but not put the purge setting in there, and then we could release version 1.2 of the module and add the purge setting with it.  Then from here on out we could simply document that you need to use the same semver series of the module as the version of puppetdb you're running.  It'd be a slight bending of the semver rules for the module for this release but I think it would probably end up matching up fairly well going forward, and would prevent us from having to maintain any spaghetti code in the module for trying to guess which version you're running.

Seems like this would work pretty intuitively for the 90% use-case (where the user is installing the module and adding 'ensure=>present' to their manifests at the same time).  It would mean that you'd want/need to upgrade the module when you upgrade puppetdb, but that seems fairly reasonable I think...

Thoughts?