Probably by creating a custom type that would works like
header_file { "/etc/myapp/myfile":
owner => blah
group => xxxx
source => "puppet://files/app/myapp/myfile"
}
the original "myfile" not having header of course. See
http://reductivelabs.com/trac/puppet/wiki/PracticalTypes that gives an
example of custom type. Moreover, the example looks like what you want
to do.
Regards,
Nico.
Not sure if this is the best way, but you could set a variable in your site.pp:
$myheader = "whatever"
I'm pretty sure the template will have access to that variable, but
I'm not positive. Another route would be to create a custom parser
function that sets the variable.... It's simpler than it sounds. :)