When using the certless API, Puppet will use trusted facts from PuppetDB unless provided in the request. If the PuppetDB facts were uploaded by the catalog_diff host, the trusted facts in PuppetDB will be for the catalog_diff host rather than the node being evaluated. This allows the trusted facts to be derived from the node name instead of using values from PuppetDB.
Perhaps there is a way to have Puppet store the trusted facts as presented in the facts file being uploaded, but from what I can tell the facts API always replaces trusted facts with data derived from the client cert.
Allow trusted facts to be derived from node name
When using the certless API, Puppet will use trusted facts from PuppetDB unless provided in the request. If the PuppetDB facts were uploaded by the catalog_diff host, the trusted facts in PuppetDB will be for the catalog_diff host rather than the node being evaluated. This allows the trusted facts to be derived from the node name instead of using values from PuppetDB.
Perhaps there is a way to have Puppet store the trusted facts as presented in the facts file being uploaded, but from what I can tell the facts API always replaces trusted facts with data derived from the client cert.