modularize db-config
[myplc.git] / db-config.d / 05-conffiles
1 #################### conf files
2 # Setup default PlanetLabConf entries
3
4 conf_files = [
5     # NTP configuration
6     {'enabled': True,
7      'source': 'PlanetLabConf/ntp.conf.php',
8      'dest': '/etc/ntp.conf',
9      'file_permissions': '644',
10      'file_owner': 'root',
11      'file_group': 'root',
12      'preinstall_cmd': '',
13      'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
14      'error_cmd': '',
15      'ignore_cmd_errors': False,
16      'always_update': False},
17     {'enabled': True,
18      'source': 'PlanetLabConf/ntp/step-tickers.php',
19      'dest': '/etc/ntp/step-tickers',
20      'file_permissions': '644',
21      'file_owner': 'root',
22      'file_group': 'root',
23      'preinstall_cmd': '',
24      'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
25      'error_cmd': '',
26      'ignore_cmd_errors': False,
27      'always_update': False},
28     
29     # SSH server configuration
30     {'enabled': True,
31      'source': 'PlanetLabConf/sshd_config',
32      'dest': '/etc/ssh/sshd_config',
33      'file_permissions': '600',
34      'file_owner': 'root',
35      'file_group': 'root',
36      'preinstall_cmd': '',
37      'postinstall_cmd': '/etc/init.d/sshd restart',
38      'error_cmd': '',
39      'ignore_cmd_errors': False,
40      'always_update': False},
41     
42     # Administrative SSH keys
43     {'enabled': True,
44      'source': 'PlanetLabConf/keys.php?root',
45      'dest': '/root/.ssh/authorized_keys',
46      'file_permissions': '644',
47      'file_owner': 'root',
48      'file_group': 'root',
49      'preinstall_cmd': '',
50      'postinstall_cmd': '/bin/chmod 700 /root/.ssh',
51      'error_cmd': '',
52      'ignore_cmd_errors': False,
53      'always_update': False},
54     {'enabled': True,
55      'source': 'PlanetLabConf/keys.php?site_admin',
56      'dest': '/home/site_admin/.ssh/authorized_keys',
57      'file_permissions': '400',
58      'file_owner': 'site_admin',
59      'file_group': 'site_admin',
60      'preinstall_cmd': 'grep -q site_admin /etc/passwd',
61      'postinstall_cmd': '/bin/chmod 700 /home/site_admin/.ssh;/bin/chown site_admin:site_admin /home/site_admin/.ssh',
62      'error_cmd': '',
63      'ignore_cmd_errors': False,
64      'always_update': False},
65     # Log rotation configuration
66     {'enabled': True,
67      'source': 'PlanetLabConf/logrotate.conf',
68      'dest': '/etc/logrotate.conf',
69      'file_permissions': '644',
70      'file_owner': 'root',
71      'file_group': 'root',
72      'preinstall_cmd': '',
73      'postinstall_cmd': '',
74      'error_cmd': '',
75      'ignore_cmd_errors': False,
76      'always_update': False},
77     
78     # updatedb/locate nightly cron job
79     {'enabled': True,
80      'source': 'PlanetLabConf/slocate.cron',
81      'dest': '/etc/cron.daily/slocate.cron',
82      'file_permissions': '755',
83      'file_owner': 'root',
84      'file_group': 'root',
85      'preinstall_cmd': '',
86      'postinstall_cmd': '',
87      'error_cmd': '',
88      'ignore_cmd_errors': False,
89      'always_update': False},
90     
91     # YUM configuration
92     {'enabled': True,
93      'source': 'yum/myplc.repo.php?gpgcheck=1',
94      'dest': '/etc/yum.myplc.d/myplc.repo',
95      'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
96      'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
97      'ignore_cmd_errors': False,
98      'always_update': False},
99     {'enabled': True,
100      'source': 'yum/yum.conf',
101      'dest': '/etc/yum.conf',
102      'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
103      'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
104      'ignore_cmd_errors': False,
105      'always_update': False},
106     {'enabled': True,
107      'source': 'yum/stock.repo',
108      'dest': '/etc/yum.myplc.d/stock.repo',
109      'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
110      'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
111      'ignore_cmd_errors': False,
112      'always_update': False},
113     
114     {'enabled': True,
115      'source': 'PlanetLabConf/delete-rpm-list-production',
116      'dest': '/etc/planetlab/delete-rpm-list',
117      'file_permissions': '644',
118      'file_owner': 'root',
119      'file_group': 'root',
120      'preinstall_cmd': '',
121      'postinstall_cmd': '',
122      'error_cmd': '',
123      'ignore_cmd_errors': False,
124      'always_update': False},
125     
126     # PLC configuration
127     {'enabled': True,
128      'source': 'PlanetLabConf/get_plc_config.php',
129      'dest': '/etc/planetlab/plc_config',
130      'file_permissions': '644',
131      'file_owner': 'root',
132      'file_group': 'root',
133      'preinstall_cmd': '',
134      'postinstall_cmd': '',
135      'error_cmd': '',
136      'ignore_cmd_errors': False,
137      'always_update': False},
138     {'enabled': True,
139      'source': 'PlanetLabConf/get_plc_config.php?python',
140      'dest': '/etc/planetlab/plc_config.py',
141      'file_permissions': '644',
142      'file_owner': 'root',
143      'file_group': 'root',
144      'preinstall_cmd': '',
145      'postinstall_cmd': '',
146      'error_cmd': '',
147      'ignore_cmd_errors': False,
148      'always_update': False},
149     {'enabled': True,
150      'source': 'PlanetLabConf/get_plc_config.php?perl',
151      'dest': '/etc/planetlab/plc_config.pl',
152      'file_permissions': '644',
153      'file_owner': 'root',
154      'file_group': 'root',
155      'preinstall_cmd': '',
156      'postinstall_cmd': '',
157      'error_cmd': '',
158      'ignore_cmd_errors': False,
159      'always_update': False},
160     {'enabled': True,
161      'source': 'PlanetLabConf/get_plc_config.php?php',
162      'dest': '/etc/planetlab/php/plc_config.php',
163      'file_permissions': '644',
164      'file_owner': 'root',
165      'file_group': 'root',
166      'preinstall_cmd': '',
167      'postinstall_cmd': '',
168      'error_cmd': '',
169      'ignore_cmd_errors': False,
170      'always_update': False},
171     
172     # Proxy ARP setup
173     {'enabled': True,
174      'source': 'PlanetLabConf/proxies.php',
175      'dest': '/etc/planetlab/proxies',
176      'file_permissions': '644',
177      'file_owner': 'root',
178      'file_group': 'root',
179      'preinstall_cmd': '',
180      'postinstall_cmd': '',
181      'error_cmd': '',
182      'ignore_cmd_errors': False,
183      'always_update': False},
184     
185     # Firewall configuration
186     {'enabled': True,
187      'source': 'PlanetLabConf/blacklist.php',
188      'dest': '/etc/planetlab/blacklist',
189      'file_permissions': '600',
190      'file_owner': 'root',
191      'file_group': 'root',
192      'preinstall_cmd': '',
193      'postinstall_cmd': '/sbin/iptables-restore --noflush < /etc/planetlab/blacklist',
194      'error_cmd': '',
195      'ignore_cmd_errors': True,
196      'always_update': False},
197     
198     # /etc/issue
199     {'enabled': True,
200      'source': 'PlanetLabConf/issue.php',
201      'dest': '/etc/issue',
202      'file_permissions': '644',
203      'file_owner': 'root',
204      'file_group': 'root',
205      'preinstall_cmd': '',
206      'postinstall_cmd': '',
207      'error_cmd': '',
208      'ignore_cmd_errors': False,
209      'always_update': False},
210     
211     # Kernel parameters
212     {'enabled': True,
213      'source': 'PlanetLabConf/sysctl.php',
214      'dest': '/etc/sysctl.conf',
215      'file_permissions': '644',
216      'file_owner': 'root',
217      'file_group': 'root',
218      'preinstall_cmd': '',
219      'postinstall_cmd': '/sbin/sysctl -e -p /etc/sysctl.conf',
220      'error_cmd': '',
221      'ignore_cmd_errors': False,
222      'always_update': False},
223     
224     # Sendmail configuration
225     {'enabled': True,
226      'source': 'PlanetLabConf/sendmail.mc',
227      'dest': '/etc/mail/sendmail.mc',
228      'file_permissions': '644',
229      'file_owner': 'root',
230      'file_group': 'root',
231      'preinstall_cmd': '',
232      'postinstall_cmd': '',
233      'error_cmd': '',
234      'ignore_cmd_errors': False,
235      'always_update': False},
236     {'enabled': True,
237      'source': 'PlanetLabConf/sendmail.cf',
238      'dest': '/etc/mail/sendmail.cf',
239      'file_permissions': '644',
240      'file_owner': 'root',
241      'file_group': 'root',
242      'preinstall_cmd': '',
243      'postinstall_cmd': 'service sendmail restart',
244      'error_cmd': '',
245      'ignore_cmd_errors': False,
246      'always_update': False},
247     
248     # GPG signing keys
249     {'enabled': True,
250      'source': 'PlanetLabConf/RPM-GPG-KEY-fedora',
251      'dest': '/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora',
252      'file_permissions': '644',
253      'file_owner': 'root',
254      'file_group': 'root',
255      'preinstall_cmd': '',
256      'postinstall_cmd': 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora',
257      'error_cmd': '',
258      'ignore_cmd_errors': False,
259      'always_update': False},
260     {'enabled': True,
261      'source': 'PlanetLabConf/get_gpg_key.php',
262      'dest': '/etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
263      'file_permissions': '644',
264      'file_owner': 'root',
265      'file_group': 'root',
266      'preinstall_cmd': '',
267      'postinstall_cmd': 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
268      'error_cmd': '',
269      'ignore_cmd_errors': False,
270      'always_update': False},
271     
272     # Ping of death configuration
273     # the 'restart' postcommand doesn't work, b/c the pod script doesn't support it.
274     {'enabled': True,
275      'source': 'PlanetLabConf/ipod.conf.php',
276      'dest': '/etc/ipod.conf',
277      'file_permissions': '644',
278      'file_owner': 'root',
279      'file_group': 'root',
280      'preinstall_cmd': '',
281      'postinstall_cmd': '/etc/init.d/pod start',
282      'error_cmd': '',
283      'ignore_cmd_errors': False,
284      'always_update': False},
285     
286     # sudo configuration
287     {'enabled': True,
288      'source': 'PlanetLabConf/sudoers.php',
289      'dest': '/etc/sudoers',
290      'file_permissions': '440',
291      'file_owner': 'root',
292      'file_group': 'root',
293      'preinstall_cmd': '',
294      'postinstall_cmd': '/usr/sbin/visudo -c',
295      'error_cmd': '',
296      'ignore_cmd_errors': False,
297      'always_update': False}
298     ]
299
300 for conf_file in conf_files:
301         SetConfFile(conf_file)