Puppet is moving away from pson and is supporting json by default. As such it no longer supports sending binary data on the wire. This normally occures when a file resource has its source set to a binary file. In order to fix this we need to migrate to using the binary_file handler. for example given the following resource
class test { file {'/tmp/test.png': ensure => file, source => 'puppet:///modules/test/test.png, }
We need to change this to
class test { file {'/tmp/test.png': ensure => file, content => binary_file('test/test.png'), }
To support sending the binary type to the agent via the puppet catalogue we must use the rich_data option. This is option is on by default in puppet6