8ad48d5a1c185332d649a43726947a2b2778e1d1
[mirror/dsa-puppet.git] / modules / bacula / templates / bacula-dir.conf.erb
1 ##
2 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
4 ##
5 ##
6 #  For Bacula release 5.0.1 (24 February 2010) -- debian 5.0.4
7
8 ########################################################################
9 # Bacula Director itself                                               #
10 ########################################################################
11
12 Director {
13   Name = <%= @director_name %>
14   Description = <%= @hostname %> - <%= @domain %> Bacula Director
15   QueryFile = "/etc/bacula/scripts/query.sql"
16   WorkingDirectory = "/var/lib/bacula"
17   PidDirectory = "/run/bacula"
18   Maximum Concurrent Jobs = 20
19   Password = "<%= @director_secret %>"
20   Messages = Daemon
21   DirAddresses = {
22      # Always have localhost in, then the configured IP
23      ip = { addr = 127.0.0.1; port = <%= @port_dir %> }
24      ip = { addr = <%= @director_address %>; port = <%= @port_dir %> }
25   }
26
27   TLS Enable = yes
28   TLS Require = yes
29   TLS Verify Peer = yes
30   TLS Allowed CN = "clientcerts/<%= @director_address %>"
31   <%= scope['bacula::bacula_tls_ca_certificate_file'] %>
32   # This is a server certificate, used for incoming console connections.
33   TLS Certificate = "<%= @bacula_ssl_server_cert %>"
34   TLS Key = "<%= @bacula_ssl_server_key %>"
35
36   Heartbeat Interval = 60
37 }
38
39 ########################################################################
40 # Standard Fileset                                                     #
41 ########################################################################
42 FileSet {
43   Name = "Standard Set"
44   Ignore FileSet Changes = yes
45   Include {
46     Options {
47       signature = SHA1
48       compression = GZIP9
49       aclsupport = yes
50       xattrsupport = yes
51     }
52     Options {
53       wild = "/swapfile*"
54       exclude = yes
55     }
56     File = "\\|/usr/local/sbin/bacula-backup-dirs"
57     # Dont backup directories that contain .nobackup files
58     Exclude Dir Containing = .nobackup
59   }
60
61   Exclude {
62     File = /.fsck
63     File = /.journal
64     File = /dev
65     File = /home/buildd/build-trees
66     File = /lib/init/rw
67     File = /nonexistant
68     File = /proc
69     File = /srv/chroot
70     File = /sys
71     File = /tmp
72     File = /srv/apache-cache/mod_cache_disk
73     File = /var/cache/apache2/mod_cache_disk
74     File = /var/cache/apt
75     File = /var/lib/apt
76     File = /var/lib/bacula
77     File = /var/lib/munin-async
78     File = /var/lock
79     File = /var/log/samhain
80     File = /var/run
81     File = "\\|bash -c 'grep -s -v ^# /etc/bacula/local-exclude || true'"
82   }
83 }
84
85
86 ########################################################################
87 # Generic catalog service                                              #
88 ########################################################################
89 Catalog {
90   Name = MyCatalog
91   dbname = <%= @db_name %>;
92   dbport = <%= @db_port %>;
93   dbaddress = "<%= @db_address %>";
94   dbsslmode = verify-ca;
95 <% if @db_sslca %>
96   dbsslca = "<%= @db_sslca %>";
97 <% end %>
98   dbuser = "<%= @db_user %>";
99   dbpassword = "<%= @db_password %>"
100 }
101
102 ########################################################################
103 # Message delivery                                                     #
104 ########################################################################
105 Messages {
106   Name = <%= @messages_name %>
107   mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
108   operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
109   mail = <%= @operator_email %> = all
110   operator = <%= @operator_email %> = mount
111   console = all, !skipped, !saved
112   syslog = all
113   append = "/var/lib/bacula/log" = all
114   catalog = all
115 }
116
117 # Message delivery for daemon messages (no job).
118 Messages {
119   Name = Daemon
120   mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
121   mail = <%= @operator_email %> = all
122   console = all, !skipped, !saved
123   syslog = all
124   append = "/var/lib/bacula/log" = all
125 }
126
127 ########################################################################
128 # Jobdefinitions with defaults and stuff                               #
129 ########################################################################
130 JobDefs {
131   Name = "Standardbackup"
132   Type = Backup
133   Level = Incremental
134   FileSet = "Standard Set"
135   Accurate = yes
136   Messages = <%= @messages_name %>
137   Max Full Interval = 50 days
138   Priority = 10
139   Write Bootstrap = "/var/lib/bacula/%c.bsr"
140   Maximum Concurrent Jobs = 20
141   Client Run After Job = "/usr/local/sbin/postbaculajob -c \"%c\" -d \"%d\" -i \"%i\" -l \"%l\" -n \"%n\" -o /var/log/bacula/client-after.state"
142 }
143
144 ########################################################################
145 # Standard Restore template, to be changed by Console program          #
146 #  Only one such job is needed for all Jobs/Clients/Storage ...        #
147 ########################################################################
148 Job {
149   Name = "RestoreFiles"
150   Type = Restore
151   FileSet = "Standard Set"
152   Client = <%= @some_client_name%>
153   Pool = <%= @some_pool_name %>
154   Messages = <%= @messages_name %>
155   Where = /var/tmp/bacula-restores
156 }
157
158
159 # Scratch pool definition
160 Pool {
161   Name = Scratch
162   Pool Type = Backup
163 }
164
165 ########################################################################
166 # And now include all the generated configs                            #
167 ########################################################################
168 @|"sh -c 'for f in /etc/bacula/conf.d/*.conf ; do echo @${f} ; done'"