For example, to gather the CPU architecture of every instance using the software stack, we have consul-template generate a file on every instance and set an environment variable.
Instead of running that template on every instance, we could run it only on the puppetserver, have it generate a YAML file in the puppet data hierarchy, and have Puppet be in charge of delivering the consensus to the instances.