Protect the second reference to $package_name in manifests/init.pp

The first one is already wrapped in an if { } block. By doing the same for the second reference, it becomes possible to set $package_name to false, allowing for the management of the actual installation of the unbound package external to this module. That can be useful if you want to get specific versions, etc.
how about:
```puppet
$require = $package_name ? {
  undef   => undef,
  default => Package[$package_name],
}
file { [
 $confdir,
 $conf_d,
 $keys_d
]:
 ensure  => directory,
 require => $require,
}