Split up mail roles
[mirror/dsa-puppet.git] / modules / bacula / templates / bacula-dir.conf.erb
index 9a2f1c7..b2a2093 100644 (file)
 ########################################################################
 
 Director {
-  Name = <%= bacula_director_name %>
-  Description = <%= hostname %> - <%= domain %> Bacula Director
+  Name = <%= @director_name %>
+  Description = <%= @hostname %> - <%= @domain %> Bacula Director
   QueryFile = "/etc/bacula/scripts/query.sql"
   WorkingDirectory = "/var/lib/bacula"
-  PidDirectory = "/var/run/bacula"
+  PidDirectory = "/run/bacula"
   Maximum Concurrent Jobs = 20
-  Password = "<%= bacula_director_secret %>"
+  Password = "<%= @director_secret %>"
   Messages = Daemon
   DirAddresses = {
      # Always have localhost in, then the configured IP
-     ip = { addr = 127.0.0.1; port = 9101 }
-        ip = { addr = <%=bacula_director_address%>; port = <%=bacula_director_port%> }
+     ip = { addr = 127.0.0.1; port = <%= @port_dir %> }
+     ip = { addr = <%= @director_address %>; port = <%= @port_dir %> }
   }
 
   TLS Enable = yes
   TLS Require = yes
   TLS Verify Peer = yes
-  TLS Allowed CN = "clientcerts/<%= bacula_director_address %>"
-  TLS CA Certificate File = "<%= bacula_ca_path %>"
-  # This is a server certificate, used for incoming console connections.
-  TLS Certificate = "<%= bacula_ssl_server_cert %>"
-  TLS Key = "<%= bacula_ssl_server_key %>"
+  TLS Allowed CN = "clientcerts/<%= @director_address %>"
+  <%= scope['bacula::bacula_tls_ca_certificate_file'] %>
+  <%= scope['bacula::bacula_tls_server_certificate'] %>
+  <%= scope['bacula::bacula_tls_server_key'] %>
+
+  Heartbeat Interval = 60
 }
 
 ########################################################################
@@ -39,10 +40,17 @@ Director {
 ########################################################################
 FileSet {
   Name = "Standard Set"
+  Ignore FileSet Changes = yes
   Include {
     Options {
       signature = SHA1
       compression = GZIP9
+      aclsupport = yes
+      xattrsupport = yes
+    }
+    Options {
+      wild = "/swapfile*"
+      exclude = yes
     }
     File = "\\|/usr/local/sbin/bacula-backup-dirs"
     # Dont backup directories that contain .nobackup files
@@ -50,81 +58,62 @@ FileSet {
   }
 
   Exclude {
-    File = /var/lib/bacula
-    File = /var/cache/apt/
+    File = /.fsck
+    File = /.journal
+    File = /dev
+    File = /home/buildd/build-trees
+    File = /lib/init/rw
     File = /nonexistant
-    File = /swapfile
     File = /proc
-    File = /tmp
-    File = /.journal
-    File = /.fsck
+    File = /srv/chroot
     File = /sys
-    File = /lib/init/rw
-    File = /var/run
+    File = /tmp
+    File = /srv/apache-cache/mod_cache_disk
+    File = /var/cache/apache2/mod_cache_disk
+    File = /var/cache/apt
+    File = /var/lib/apt
+    File = /var/lib/bacula
+    File = /var/lib/munin-async
     File = /var/lock
-    File = /dev
-    File = /srv/chroot
-    File = /home/buildd/build-trees
-  }
-}
-
-########################################################################
-# A fileset for the catalog, one sql dump of the db                    #
-########################################################################
-FileSet {
-  Name = "Catalog"
-  Include {
-    Options {
-      signature = SHA1
-      #compression = GZIP9
-    }
-    File = "/var/lib/bacula/bacula.sql.gz"
+    File = /var/log/samhain
+    File = /var/run
+    File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'"
   }
 }
 
-########################################################################
-# The job schedules                                                    #
-########################################################################
-
-# When to do the backups, full backup on first sunday of the month,
-#  differential (i.e. incremental since full) every other sunday,
-#  and incremental backups other days
-Schedule {
-  Name = "WeeklyCycle"
-  Run = Full 1st sat at 00:35
-  Run = Differential 2nd-5th sat at 00:35
-  Run = Incremental sun-fri at 00:35
-}
-
-# This schedule does the catalog. It starts after the WeeklyCycle
-Schedule {
-  Name = "WeeklyCycleAfterBackup"
-  Run = Full sun-sat at 02:10
-}
 
 ########################################################################
 # Generic catalog service                                              #
 ########################################################################
 Catalog {
   Name = MyCatalog
-  dbname = "service = bacula";
-  #DB Address = "<%= bacula_db_address %>";
-  #DB Port = <%= bacula_db_port %>;
-  dbuser = "bacula";
-  dbpassword = "<%= bacula_db_secret %>"
+  dbname = <%= @db_name %>;
+  dbport = <%= @db_port %>;
+  dbaddress = "<%= @db_address %>";
+<% if @db_sslca %>
+  dbsslmode = verify-ca;
+  dbsslca = "<%= @db_sslca %>";
+<% end %>
+  dbuser = "<%= @db_user %>";
+  dbpassword = "<%= @db_password %>"
 }
 
 ########################################################################
 # Message delivery                                                     #
 ########################################################################
 Messages {
-  Name = Standard
+  Name = <%= @messages_name %>
   mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
   operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
-  #mail on error = <%= bacula_operator_email %> = all, !skipped
-  mail = <%= bacula_operator_email %> = all
-  operator = <%= bacula_operator_email %> = mount
+<% if @email_all %>
+  mail = <%= @email_all %> = all
+<% end %>
+<% if @email_error != @email_all %>
+  mail on error = <%= @email_error %> = all
+<% end %>
+  operator = <%= @email_operator %> = mount
   console = all, !skipped, !saved
+  syslog = all
   append = "/var/lib/bacula/log" = all
   catalog = all
 }
@@ -133,20 +122,12 @@ Messages {
 Messages {
   Name = Daemon
   mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
-  mail = <%= bacula_operator_email %> = all
+  mail = <%= @email_daemon %> = all
   console = all, !skipped, !saved
+  syslog = all
   append = "/var/lib/bacula/log" = all
 }
 
-########################################################################
-# Console, limited                                                     #
-########################################################################
-Console {
-  Name = <%= bacula_monitor_name %>
-  Password = "<%= bacula_monitor_secret %>"
-  CommandACL = status, .status
-}
-
 ########################################################################
 # Jobdefinitions with defaults and stuff                               #
 ########################################################################
@@ -155,9 +136,9 @@ JobDefs {
   Type = Backup
   Level = Incremental
   FileSet = "Standard Set"
-  Schedule = "WeeklyCycle"
-  Messages = Standard
-  Max Full Interval = 1 month
+  Accurate = yes
+  Messages = <%= @messages_name %>
+  Max Full Interval = 50 days
   Priority = 10
   Write Bootstrap = "/var/lib/bacula/%c.bsr"
   Maximum Concurrent Jobs = 20
@@ -171,10 +152,10 @@ JobDefs {
 Job {
   Name = "RestoreFiles"
   Type = Restore
-  Client = <%=bacula_director_address%>-fd
   FileSet = "Standard Set"
-  Pool = poolfull-<%=bacula_pool_name%>-<%=bacula_director_address%>
-  Messages = Standard
+  Client = <%= @some_client_name%>
+  Pool = <%= @some_pool_name %>
+  Messages = <%= @messages_name %>
   Where = /var/tmp/bacula-restores
 }
 
@@ -185,66 +166,6 @@ Pool {
   Pool Type = Backup
 }
 
-########################################################################
-# Generic jobs                                                         #
-########################################################################
-# Backup the catalog database (after the nightly save)
-Storage {
-  Name = "<%= bacula_filestor_name %>-catalog"
-  Address = <%= bacula_storage_address %>
-  SDPort = <%= bacula_storage_port %>
-  Password = "<%= bacula_storage_secret %>"
-  Device = "<%= bacula_filestor_device %>-catalog"
-  Media Type = "<%= bacula_filestor_name %>-catalog"
-  Maximum Concurrent Jobs = 10
-
-  TLS Enable = yes
-  TLS Require = yes
-  TLS CA Certificate File = "<%= bacula_ca_path %>"
-  # This is a client certificate, used by the director to connect to the storage daemon
-  TLS Certificate = "<%= bacula_ssl_client_cert %>"
-  TLS Key = "<%= bacula_ssl_client_key %>"
-}
-Pool {
-  Name = "poolcatalog-<%=bacula_pool_name%>"
-  Pool Type = Backup
-  Storage = "<%=bacula_filestor_name%>-catalog"
-  AutoPrune = yes
-  Volume Retention = 2 months
-  Label Format = "<%= bacula_pool_name %>-catalog.${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}_${Hour:p/2/0/r}:${Minute:p/2/0/r}"
-  Volume Use Duration = 23h
-  Maximum Volume Jobs = 1
-  Maximum Volume Bytes = 50G
-  Action On Purge = Truncate
-  Recycle = yes
-  RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>"
-}
-Pool {
-  Name = "poolcataloggraveyard-<%=bacula_pool_name%>"
-  Pool Type = Backup
-  Storage = "<%=bacula_filestor_name%>-catalog"
-  Recycle = yes
-  RecyclePool = "poolcataloggraveyard-<%=bacula_pool_name%>"
-}
-
-Job {
-  Name = "BackupCatalog"
-  JobDefs = "Standardbackup"
-  Client = <%=bacula_director_address%>-fd
-  Level = Full
-  FileSet = "Catalog"
-  Schedule = "WeeklyCycleAfterBackup"
-#  # This creates an ASCII copy of the catalog
-#  # Arguments to make_catalog_backup.pl are:
-#  #  make_catalog_backup.pl <catalog-name>
-  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup.pl MyCatalog"
-#  # This deletes the copy of the catalog
-  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
-  Write Bootstrap = "/var/lib/bacula/%n.bsr"
-  Priority = 15    # run after main backup
-  Pool = "poolcatalog-<%=bacula_pool_name%>"
-}
-
 ########################################################################
 # And now include all the generated configs                            #
 ########################################################################