summaryrefslogtreecommitdiffstats
path: root/satellit_installer/static_files/slxadmin/opt/openslx/restore.d/slxadmin-init/slxadmin-init.php
diff options
context:
space:
mode:
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.php51
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);