Sorry. I didn't describe the variables very well before.
[myplc.git] / default_config.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
4 Default PLC configuration file
5
6 Mark Huang <mlhuang@cs.princeton.edu>
7 Copyright (C) 2006 The Trustees of Princeton University
8
9 $Id$
10 -->
11
12 <!DOCTYPE configuration PUBLIC "-//PlanetLab Central//DTD PLC configuration//EN" "plc_config.dtd">
13
14 <configuration>
15   <variables>
16     <category id="plc">
17       <name>System</name>
18       <description>Basic system variables. Be sure that the values of
19       these variables are the same across all machines in your
20       installation.</description>
21
22       <variablelist>
23         <variable id="name" type="string">
24           <name>Name</name>
25           <value>PlanetLab Test</value>
26           <description>The name of this PLC installation. It is used in
27           the name of the default system site (e.g., PlanetLab Central)
28           and in the names of various administrative entities (e.g.,
29           PlanetLab Support).</description>
30         </variable>
31
32         <variable id="slice_prefix" type="string">
33           <name>Slice Prefix</name>
34           <value>pl</value>
35           <description>The abbreviated name of this PLC
36           installation. It is used as the prefix for system slices
37           (e.g., pl_conf). Warning: Currently, this variable should
38           not be changed.</description>
39         </variable>
40
41         <variable id="root_user" type="email">
42           <name>Root Account</name>
43           <value>root@localhost.localdomain</value>
44           <description>The name of the initial administrative
45           account. We recommend that this account be used only to create
46           additional accounts associated with real
47           administrators, then disabled.</description>
48         </variable>
49
50         <variable id="root_password" type="password">
51           <name>Root Password</name>
52           <value>root</value>
53           <description>The password of the initial administrative
54           account. Also the password of the root account on the Boot
55           CD.</description>
56         </variable>
57
58         <!-- The following are not actually meant to be configurable
59              as variables. The web interface should allow the file to
60              be downloaded, or its contents replaced by a file upload,
61              but the actual <value> shouldn't need to be changed.  -->
62
63         <variable id="root_ssh_key_pub" type="file">
64           <name>Root SSH Public Key</name>
65           <value>/etc/planetlab/root_ssh_key.pub</value>
66           <description>The SSH public key used to access the root
67           account on your nodes.</description>
68         </variable>
69
70         <variable id="root_ssh_key" type="file">
71           <name>Root SSH Private Key</name>
72           <value>/etc/planetlab/root_ssh_key.rsa</value>
73           <description>The SSH private key used to access the root
74           account on your nodes.</description>
75         </variable>
76
77         <variable id="debug_ssh_key_pub" type="file">
78           <name>Debug SSH Public Key</name>
79           <value>/etc/planetlab/debug_ssh_key.pub</value>
80           <description>The SSH public key used to access the root
81           account on your nodes when they are in Debug mode.</description>
82         </variable>
83
84         <variable id="debug_ssh_key" type="file">
85           <name>Debug SSH Private Key</name>
86           <value>/etc/planetlab/debug_ssh_key.rsa</value>
87           <description>The SSH private key used to access the root
88           account on your nodes when they are in Debug mode.</description>
89         </variable>
90
91         <variable id="root_gpg_key_pub" type="file">
92           <name>Root GPG Public Keyring</name>
93           <value>/etc/planetlab/pubring.gpg</value>
94           <description>The GPG public keyring used to sign the Boot
95           Manager and all node packages.</description>
96         </variable>
97
98         <variable id="root_gpg_key" type="file">
99           <name>Root GPG Private Keyring</name>
100           <value>/etc/planetlab/secring.gpg</value>
101           <description>The SSH private key used to access the root
102           account on your nodes.</description>
103         </variable>
104       </variablelist>
105     </category>
106
107     <category id="plc_net">
108       <name>Network</name>
109       <description>Network environment.</description>
110
111       <variablelist>
112         <variable id="dns1" type="ip">
113           <name>Primary DNS Server</name>
114           <value>127.0.0.1</value>
115           <description>Primary DNS server address.</description>
116         </variable>
117
118         <variable id="dns2" type="ip">
119           <name>Secondary DNS Server</name>
120           <value></value>
121           <description>Secondary DNS server address.</description>
122         </variable>
123       </variablelist>
124     </category>
125
126     <category id="plc_dns">
127       <name>DNS</name>
128       <description>MyPLC can provide forward DNS resolution for itself
129       and for its nodes. To enable resolution for MyPLC itself, set
130       the Primary DNS Server address to 127.0.0.1 and provide external
131       IP addresses for the database, API, web, and boot servers
132       below. To enable resolution for nodes, use the external IP
133       address of this machine as the primary DNS server address for
134       each node.</description>
135
136       <variablelist>
137         <variable id="enabled" type="boolean">
138           <name>Enable DNS</name>
139           <value>true</value>
140           <description>Enable the internal DNS server. The server does
141           not provide reverse resolution and is not a production
142           quality or scalable DNS solution. Use the internal DNS
143           server only for small deployments or for
144           testing.</description>
145         </variable>
146       </variablelist>
147     </category>
148
149     <category id="plc_mail">
150       <name>Mail</name>
151       <description>Many maintenance scripts, as well as the API and
152       web site themselves, send e-mail notifications and
153       warnings.</description>
154
155       <variablelist>
156         <variable id="enabled" type="boolean">
157           <name>Enable Mail</name>
158           <value>false</value>
159           <description>Set to false to suppress all e-mail notifications
160           and warnings.</description>
161         </variable>
162
163         <variable id="support_address" type="email">
164           <name>Support Address</name>
165           <value>root+support@localhost.localdomain</value>
166           <description>This address is used for support
167           requests. Support requests may include traffic complaints,
168           security incident reporting, web site malfunctions, and
169           general requests for information. We recommend that the
170           address be aliased to a ticketing system such as Request
171           Tracker.</description>
172         </variable>
173
174         <variable id="boot_address" type="email">
175           <name>Boot Messages Address</name>
176           <value>root+install-msgs@localhost.localdomain</value>
177           <description>The API will notify this address when a problem
178           occurs during node installation or boot.</description>
179         </variable>
180
181         <variable id="slice_address" type="email">
182           <name>Slice Address</name>
183           <value>root+SLICE@localhost.localdomain</value>
184           <description>This address template is used for sending
185           e-mail notifications to slices. SLICE will be replaced with
186           the name of the slice.</description>
187         </variable>
188       </variablelist>
189     </category>
190
191     <category id="plc_db">
192       <name>Database Server</name>
193       <description>Database server definitions.</description>
194
195       <variablelist>
196         <variable id="enabled" type="boolean">
197           <name>Enabled</name>
198           <value>true</value>
199           <description>Enable the database server on this
200           machine.</description>
201         </variable>
202
203         <variable id="type" type="string">
204           <name>Type</name>
205           <value>postgresql</value>
206           <description>The type of database server. Currently, only
207           postgresql is supported.</description>
208         </variable>
209
210         <variable id="host" type="hostname">
211           <name>Hostname</name>
212           <value>localhost.localdomain</value>
213           <description>The fully qualified hostname of the database
214           server.</description>
215         </variable>
216
217         <variable id="ip" type="ip">
218           <name>IP Address</name>
219           <value>127.0.0.1</value>
220           <description>The IP address of the database server, if not
221           resolvable by the configured DNS servers.</description>
222         </variable>
223
224         <variable id="port" type="int">
225           <name>Port</name>
226           <value>5432</value>
227           <description>The TCP port number through which the database
228           server should be accessed.</description>
229         </variable>
230
231         <variable id="name" type="string">
232           <name>Database Name</name>
233           <value>planetlab4</value>
234           <description>The name of the database to access.</description>
235         </variable>
236
237         <variable id="user" type="string">
238           <name>Database Username</name>
239           <value>pgsqluser</value>
240           <description>The username to use when accessing the
241           database.</description>
242         </variable>
243
244         <variable id="password" type="password">
245           <name>Database Password</name>
246           <value></value>
247           <description>The password to use when accessing the
248           database. If left blank, one will be
249           generated.</description>
250         </variable>
251       </variablelist>
252     </category>
253
254     <category id="plc_api">
255       <name>API Server</name>
256       <description>API (XML-RPC) server definitions.</description>
257
258       <variablelist>
259         <variable id="enabled" type="boolean">
260           <name>Enabled</name>
261           <value>true</value>
262           <description>Enable the API server on this
263           machine.</description>
264         </variable>
265
266         <variable id="debug" type="boolean">
267           <name>Debug</name>
268           <value>false</value>
269           <description>Enable verbose API debugging. Do not enable on
270           a production system!</description>
271         </variable>
272
273         <variable id="host" type="hostname">
274           <name>Hostname</name>
275           <value>localhost.localdomain</value>
276           <description>The fully qualified hostname of the API
277           server.</description>
278         </variable>
279
280         <variable id="ip" type="ip">
281           <name>IP Address</name>
282           <value>127.0.0.1</value>
283           <description>The IP address of the API server, if not
284           resolvable by the configured DNS servers.</description>
285         </variable>
286
287         <variable id="ipod_subnet" type="ip">
288           <name>IP Subnet</name>
289           <value>127.0.0.1</value>
290           <description>The IP Subnet for all API servers. 
291           Used to identify IPoD packet senders.</description>
292         </variable>
293
294         <variable id="ipod_mask" type="ip">
295           <name>IP Mask</name>
296           <value>255.255.255.255</value>
297           <description>The IP Mask that should be applied to incoming 
298           packets to match the IP Subnet for IPoD packets.</description>
299         </variable>
300
301         <variable id="port" type="int">
302           <name>Port</name>
303           <value>443</value>
304           <description>The TCP port number through which the API
305           should be accessed.</description>
306         </variable>
307
308         <variable id="path" type="string">
309           <name>Path</name>
310           <value>/PLCAPI/</value>
311           <description>The base path of the API URL.</description>
312         </variable>
313
314         <variable id="maintenance_user" type="string">
315           <name>Maintenance User</name>
316           <value>maint@localhost.localdomain</value>
317           <description>The username of the maintenance account. This
318           account is used by local scripts that perform automated
319           tasks, and cannot be used for normal logins.</description>
320         </variable>
321
322         <variable id="maintenance_password" type="password">
323           <name>Maintenance Password</name>
324           <value></value>
325           <description>The password of the maintenance account. If
326           left blank, one will be generated. We recommend that the
327           password be changed periodically.</description>
328         </variable>
329
330         <variable id="maintenance_sources" type="hostname">
331           <name>Authorized Hosts</name>
332           <value></value>
333           <description>A space-separated list of IP addresses allowed
334           to access the API through the maintenance account. The value
335           of this variable is set automatically to allow only the API,
336           web, and boot servers, and should not be
337           changed.</description>
338         </variable>
339
340         <!-- The following are not actually meant to be configurable
341              as variables. The web interface should allow the file to
342              be downloaded, or its contents replaced by a file upload,
343              but the actual <value> shouldn't need to be changed.  -->
344
345         <variable id="ssl_key" type="file">
346           <name>SSL Private Key</name>
347           <value>/etc/planetlab/api_ssl.key</value>
348           <description>The SSL private key to use for encrypting HTTPS
349           traffic. If non-existent, one will be
350           generated.</description>
351         </variable>
352
353         <variable id="ssl_crt" type="file">
354           <name>SSL Public Certificate</name>
355           <value>/etc/planetlab/api_ssl.crt</value>
356           <description>The corresponding SSL public certificate. By
357           default, this certificate is self-signed. You may replace
358           the certificate later with one signed by a root
359           CA.</description>
360         </variable>
361
362         <variable id="ca_ssl_crt" type="file">
363           <name>Root CA SSL Public Certificate</name>
364           <value>/etc/planetlab/api_ca_ssl.crt</value>
365           <description>The certificate of the root CA, if any, that
366           signed your server certificate. If your server certificate is
367           self-signed, then this file is the same as your server
368           certificate.</description>
369         </variable>
370       </variablelist>
371     </category>
372
373     <category id="plc_www">
374       <name>Web Server</name>
375       <description>Web server definitions.</description>
376
377       <variablelist>
378         <variable id="enabled" type="boolean">
379           <name>Enabled</name>
380           <value>true</value>
381           <description>Enable the web server on this
382           machine.</description>
383         </variable>
384
385         <variable id="debug" type="boolean">
386           <name>Debug</name>
387           <value>false</value>
388           <description>Enable debugging output on web pages. Do not
389           enable on a production system!</description>
390         </variable>
391
392         <variable id="host" type="hostname">
393           <name>Hostname</name>
394           <value>localhost.localdomain</value>
395           <description>The fully qualified hostname of the web
396           server.</description>
397         </variable>
398
399         <variable id="ip" type="ip">
400           <name>IP Address</name>
401           <value>127.0.0.1</value>
402           <description>The IP address of the web server, if not
403           resolvable by the configured DNS servers.</description>
404         </variable>
405
406         <variable id="port" type="int">
407           <name>Port</name>
408           <value>80</value>
409           <description>The TCP port number through which the
410           unprotected portions of the web site should be
411           accessed.</description>
412         </variable>
413
414         <variable id="ssl_port" type="int">
415           <name>SSL Port</name>
416           <value>443</value>
417           <description>The TCP port number through which the protected
418           portions of the web site should be accessed.</description>
419         </variable>
420
421         <!-- The following are not actually meant to be configurable
422              as variables. The web interface should allow the file to
423              be downloaded, or its contents replaced by a file upload,
424              but the actual <value> shouldn't need to be changed.  -->
425
426         <variable id="ssl_key" type="file">
427           <name>SSL Private Key</name>
428           <value>/etc/planetlab/www_ssl.key</value>
429           <description>The SSL private key to use for encrypting HTTPS
430           traffic. If non-existent, one will be
431           generated.</description>
432         </variable>
433
434         <variable id="ssl_crt" type="file">
435           <name>SSL Public Certificate</name>
436           <value>/etc/planetlab/www_ssl.crt</value>
437           <description>The corresponding SSL public certificate for
438           the HTTP server. By default, this certificate is
439           self-signed. You may replace the certificate later with one
440           signed by a root CA.</description>
441         </variable>
442
443         <variable id="ca_ssl_crt" type="file">
444           <name>Root CA SSL Public Certificate</name>
445           <value>/etc/planetlab/www_ca_ssl.crt</value>
446           <description>The certificate of the root CA, if any, that
447           signed your server certificate. If your server certificate is
448           self-signed, then this file is the same as your server
449           certificate.</description>
450         </variable>
451       </variablelist>
452     </category>
453
454     <category id="plc_boot">
455       <name>Boot Server</name>
456       <description>Boot server definitions. Multiple boot servers
457       may be brought up for load balancing, but we recommend that a
458       single DNS round-robin system be implemented so that the
459       following variables are the same across all of
460       them.</description>
461
462       <variablelist>
463         <variable id="enabled" type="boolean">
464           <name>Enabled</name>
465           <value>true</value>
466           <description>Enable the boot server on this
467           machine.</description>
468         </variable>
469
470         <variable id="host" type="hostname">
471           <name>Hostname</name>
472           <value>localhost.localdomain</value>
473           <description>The fully qualified hostname of the boot
474           server.</description>
475         </variable>
476
477         <variable id="ip" type="ip">
478           <name>IP Address</name>
479           <value>127.0.0.1</value>
480           <description>The IP address of the boot server, if not
481           resolvable by the configured DNS servers.</description>
482         </variable>
483
484         <variable id="port" type="int">
485           <name>Port</name>
486           <value>80</value>
487           <description>The TCP port number through which the
488           unprotected portions of the boot server should be
489           accessed.</description>
490         </variable>
491
492         <variable id="ssl_port" type="int">
493           <name>SSL Port</name>
494           <value>443</value>
495           <description>The TCP port number through which the protected
496           portions of the boot server should be
497           accessed.</description>
498         </variable>
499
500         <!-- The following are not actually meant to be configurable
501              as variables. The web interface should allow the file to
502              be downloaded, or its contents replaced by a file upload,
503              but the actual <value> shouldn't need to be changed.  -->
504
505         <variable id="ssl_key" type="file">
506           <name>SSL Private Key</name>
507           <value>/etc/planetlab/boot_ssl.key</value>
508           <description>The SSL private key to use for encrypting HTTPS
509           traffic.</description>
510         </variable>
511
512         <variable id="ssl_crt" type="file">
513           <name>SSL Public Certificate</name>
514           <value>/etc/planetlab/boot_ssl.crt</value>
515           <description>The corresponding SSL public certificate for
516           the HTTP server. By default, this certificate is
517           self-signed. You may replace the certificate later with one
518           signed by a root CA.</description>
519         </variable>
520
521         <variable id="ca_ssl_crt" type="file">
522           <name>Root CA SSL Public Certificate</name>
523           <value>/etc/planetlab/boot_ca_ssl.crt</value>
524           <description>The certificate of the root CA, if any, that
525           signed your server certificate. If your server certificate is
526           self-signed, then this file is the same as your server
527           certificate.</description>
528         </variable>
529       </variablelist>
530     </category>
531   </variables>
532
533   <comps>
534     <!-- deprecated - not used anymore - use .lst files instead -->
535   </comps>
536
537 </configuration>