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