aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Elkins <melkins@tislabs.com>2013-03-13 22:31:49 +0000
committerMichael Elkins <melkins@tislabs.com>2013-03-13 22:31:49 +0000
commitc31ae280830d6d332b79cf863e04d45558670fa3 (patch)
tree5d58cbc54e52e5cd5e4eb8cbd9958d9d1946b06c
parentf76e6c13fb8d6cb2e824cefb1ba3873054f27f77 (diff)
add new helper script for the rpki workshop to create web user accounts for each labuser* resource holder
svn path=/trunk/; revision=5141
-rw-r--r--rpkid/Makefile.in4
-rw-r--r--rpkid/portal-gui/scripts/rpkigui-sync-users.py14
2 files changed, 18 insertions, 0 deletions
diff --git a/rpkid/Makefile.in b/rpkid/Makefile.in
index 9e261dfc..02713929 100644
--- a/rpkid/Makefile.in
+++ b/rpkid/Makefile.in
@@ -70,6 +70,7 @@ SCRIPTS = rpki-sql-backup rpki-sql-setup rpki-start-servers irbe_cli irdbd \
# scripts we build, but don't install
BUILD_SCRIPTS = portal-gui/scripts/rpkigui-reset-demo \
portal-gui/scripts/rpkigui-flatten-roas \
+ portal-gui/scripts/rpkigui-sync-users \
portal-gui/rpki.wsgi
# these files get put in ${datarootdir}/rpki
@@ -292,6 +293,9 @@ portal-gui/scripts/rpkigui-check-expired: portal-gui/scripts/rpkigui-check-expir
portal-gui/scripts/rpkigui-flatten-roas: portal-gui/scripts/rpkigui-flatten-roas.py
${COMPILE_DJANGO}
+portal-gui/scripts/rpkigui-sync-users: portal-gui/scripts/rpkigui-sync-users.py
+ ${COMPILE_DJANGO}
+
portal-gui/rpki.wsgi: ${srcdir}/portal-gui/rpki.wsgi.in
sed -e "s|@VIRTUAL"_"ENV@|${VIRTUAL_ENV}|" \
-e "s|@PYTHON""PATH@|${sysconfdir}/rpki|" \
diff --git a/rpkid/portal-gui/scripts/rpkigui-sync-users.py b/rpkid/portal-gui/scripts/rpkigui-sync-users.py
new file mode 100644
index 00000000..579c075b
--- /dev/null
+++ b/rpkid/portal-gui/scripts/rpkigui-sync-users.py
@@ -0,0 +1,14 @@
+"""
+Ensure that a web login exists for labuser* resource holder
+"""
+
+from django.contrib.auth.models import User
+from rpki.gui.app.models import Conf, ConfACL
+
+# mysql> select * from irdb_resourceholderca left outer join auth_user on irdb_resourceholderca.handle = auth_user.username where username=NULL;
+
+for conf in Conf.objects.filter(handle__startswith='labuser'):
+ if not User.objects.filter(username=conf.handle).exists():
+ print 'creating matching user for ' + conf.handle
+ user = User.objects.create_user(conf.handle, password='fnord')
+ ConfACL.objects.create(conf=conf, user=user)