puppet fileserver serve non-module file

Solution 1:

The file description should have the full path contained:

file { '/etc/puppet/files/gpg.key'
...

Check if files on server are accessible by the user that runs the puppet master. Also check if puppet is allowed to descend into the specified directory. If it is a gpg.key file, there is a very high chance that access mode is 0600 and puppet is not allowed to access it (maybe owned by root or somebody else).