> I'm not sure I understand. The confdir as I understand it is the directory that holds the INI files. I'm looking for the vardir, which is specified inside one of those INI files, but references a different location. Or are you saying I should parse the file and get the setting that way?

No - I'm just using the puppetdb_confdir method as an example. My point is, its probably enough to have a static lookup method which returns different answers for either the std PE version or community version.

```
  def puppetdb_vardir(host)
    if host.is_pe?
      "/var/lib/pe-puppetdb"
    else
      "/var/lib/puppetdb"
    end
  end
```

> On example 2, I'm currently just appending one line to the config.ini. I could overwrite the whole thing. I tried to find where that was in code and couldn't. Do you know where that file is originally created? Just wondering what other settings I should have in there if I overwrite the original one.

If they're not modified by the beaker tests, any configuration files are created/copied from the installation rake task during test setup:

https://github.com/puppetlabs/puppetdb/blob/master/tasks/install.rake#L42-L49

Or if you're installing from packaging, by the packaging itself (which incidentally just uses the above install task also, but does the packaging magic as a bonus).

Now these files in question from ext/files are really generated from templates:

https://github.com/puppetlabs/puppetdb/tree/master/ext/templates

So you have to be careful just looking at the `ext/files` versions - they may differ depending on various inputs :-). Always look at the templates :-).