reordered
[myplc.git] / db-config.d / 030-conf_files
diff --git a/db-config.d/030-conf_files b/db-config.d/030-conf_files
new file mode 100644 (file)
index 0000000..97a3def
--- /dev/null
@@ -0,0 +1,298 @@
+# -*-python-*-
+# $Id$
+# $URL$
+#################### conf files
+# Setup default PlanetLabConf entries
+
+conf_files = [
+    # NTP configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/ntp.conf.php',
+     'dest': '/etc/ntp.conf',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'PlanetLabConf/ntp/step-tickers.php',
+     'dest': '/etc/ntp/step-tickers',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/etc/rc.d/init.d/ntpd restart',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # SSH server configuration
+    # keys for root and site_admin are now handled as part of the specialaccounts NodeManager plugin
+    {'enabled': True,
+     'source': 'PlanetLabConf/sshd_config',
+     'dest': '/etc/ssh/sshd_config',
+     'file_permissions': '600',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/etc/init.d/sshd restart',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # Log rotation configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/logrotate.conf',
+     'dest': '/etc/logrotate.conf',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # updatedb/locate nightly cron job
+    {'enabled': True,
+     'source': 'PlanetLabConf/slocate.cron',
+     'dest': '/etc/cron.daily/slocate.cron',
+     'file_permissions': '755',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # YUM configuration
+    {'enabled': True,
+     'source': 'yum/myplc.repo.php?gpgcheck=1',
+     'dest': '/etc/yum.myplc.d/myplc.repo',
+     'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+     'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'yum/yum.conf',
+     'dest': '/etc/yum.conf',
+     'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+     'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'yum/stock.repo',
+     'dest': '/etc/yum.myplc.d/stock.repo',
+     'file_permissions': '644', 'file_owner': 'root', 'file_group': 'root',
+     'preinstall_cmd': '', 'postinstall_cmd': '', 'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    {'enabled': True,
+     'source': 'PlanetLabConf/delete-rpm-list-production',
+     'dest': '/etc/planetlab/delete-rpm-list',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # PLC configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/get_plc_config.php',
+     'dest': '/etc/planetlab/plc_config',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'PlanetLabConf/get_plc_config.php?python',
+     'dest': '/etc/planetlab/plc_config.py',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'PlanetLabConf/get_plc_config.php?perl',
+     'dest': '/etc/planetlab/plc_config.pl',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'PlanetLabConf/get_plc_config.php?php',
+     'dest': '/etc/planetlab/php/plc_config.php',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # Proxy ARP setup
+    {'enabled': True,
+     'source': 'PlanetLabConf/proxies.php',
+     'dest': '/etc/planetlab/proxies',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # Firewall configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/blacklist.php',
+     'dest': '/etc/planetlab/blacklist',
+     'file_permissions': '600',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/sbin/iptables-restore --noflush < /etc/planetlab/blacklist',
+     'error_cmd': '',
+     'ignore_cmd_errors': True,
+     'always_update': False},
+    
+    # /etc/issue
+    {'enabled': True,
+     'source': 'PlanetLabConf/issue.php',
+     'dest': '/etc/issue',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+
+    # Kernel sysctl parameters
+    {'enabled': True,
+     'source': 'PlanetLabConf/sysctl.conf',
+     'dest': '/etc/sysctl.conf',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/sbin/sysctl -e -p /etc/sysctl.conf',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+
+    # Sendmail configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/sendmail.mc',
+     'dest': '/etc/mail/sendmail.mc',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    {'enabled': True,
+     'source': 'PlanetLabConf/sendmail.cf',
+     'dest': '/etc/mail/sendmail.cf',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': 'service sendmail restart',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # GPG signing keys
+    {'enabled': True,
+     'source': 'PlanetLabConf/get_gpg_key.php',
+     'dest': '/etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': 'rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-planetlab',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # Ping of death configuration
+    # the 'restart' postcommand doesn't work, b/c the pod script doesn't support it.
+    {'enabled': True,
+     'source': 'PlanetLabConf/ipod.conf.php',
+     'dest': '/etc/ipod.conf',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/etc/init.d/pod start',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # sudo configuration
+    {'enabled': True,
+     'source': 'PlanetLabConf/sudoers.php',
+     'dest': '/etc/sudoers',
+     'file_permissions': '440',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '/usr/sbin/visudo -c',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+
+    # /etc/planetlab/extensions
+    {'enabled': True,
+     'source': 'PlanetLabConf/extensions.php',
+     'dest': '/etc/planetlab/extensions',
+     'file_permissions': '644',
+     'file_owner': 'root',
+     'file_group': 'root',
+     'preinstall_cmd': '',
+     'postinstall_cmd': '',
+     'error_cmd': '',
+     'ignore_cmd_errors': False,
+     'always_update': False},
+    
+    # /etc/sfa/sfa_config
+    {'enabled': True,
+     'source': u'PlanetLabConf/sfa_config.php', 
+     'dest': u'/etc/sfa/sfa_config', 
+     'file_permissions': u'644', 
+     'file_owner': u'root', 
+     'file_group': u'root',
+     'preinstall_cmd': u'mkdir /etc/sfa', 
+     'postinstall_cmd': '', 
+     'error_cmd': '', 
+     'ignore_cmd_errors': False, 
+     'always_update': False}
+
+    ]
+
+for conf_file in conf_files:
+       SetConfFile(conf_file)