+# our bacula director
class bacula::director inherits bacula {
package { ['bacula-director-pgsql', 'bacula-common', 'bacula-common-pgsql']:
+# bacula class -- defines all the variables we care about in our bacula deployment
class bacula (
String $bacula_operator_email = 'bacula-reports@admin.debian.org',
String $bacula_director_name = 'debian-dir',
+# a bacula node. This is stored config by a client, collected on the director
define bacula::node($bacula_client_port = $bacula::bacula_client_port) {
include bacula
+# the bacula storage node
class bacula::storage inherits bacula {
package { 'bacula-sd':
ensure => installed
+# bacula storage for node. This is stored config by a client, collected on the storage
define bacula::storage_per_node() {
include bacula