diff options
Diffstat (limited to 'satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php')
-rw-r--r-- | satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php new file mode 100644 index 0000000..ef3f0bd --- /dev/null +++ b/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php @@ -0,0 +1,51 @@ +<?php + +/* + * Init script for slx-admin, filling in bwLehrpool specific data into DB. + * This script should be idempotent and handle upgrades from earlier versions. + */ + +$SCRIPTDIR = dirname(__FILE__); + +/* + * Most things should be configurable here + */ + +// Where to get available Linux system information from +$MINILINUX_URL = 'https://bwlp-masterserver.ruf.uni-freiburg.de/netboot/sat_07'; +$MINILINUX_PUBKEY = file_get_contents($SCRIPTDIR . '/gpg-key.asc'); +/* + * Boilerplate + */ + +chdir('/srv/openslx/www/slx-admin') || exit(1); + +require_once 'config.php'; + +// Autoload classes from ./inc which adhere to naming scheme <lowercasename>.inc.php +spl_autoload_register(function ($class) { + $file = 'inc/' . preg_replace('/[^a-z0-9]/', '', mb_strtolower($class)) . '.inc.php'; + if (!file_exists($file)) + return; + require_once $file; +}); + +/* + * Stuff starts here + */ + +/* + * Minilinux update source URL + */ + +if ($MINILINUX_PUBKEY === false) { + echo "Error reading GPG key from file\n"; + exit(1); +} + +Database::exec("INSERT INTO minilinux_source (sourceid, title, url, pubkey) + VALUES ('bwlp', 'bwLehrpool', :url, :pubkey) + ON DUPLICATE KEY UPDATE title = VALUES(title), url = VALUES(url), pubkey = VALUES(pubkey)", + ['url' => $MINILINUX_URL, 'pubkey' => $MINILINUX_PUBKEY]); + +exit(0); |