summaryrefslogtreecommitdiffstats
path: root/pykolab/setup/setup_ldap.py
diff options
context:
space:
mode:
authorJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2011-10-28 12:18:43 +0100
committerJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2011-10-28 12:18:43 +0100
commit22cfcd2406a44a49bbd263a2600f923a28f8be4c (patch)
treed5ac8c9903857f79cab46783a48182da67c5f9bc /pykolab/setup/setup_ldap.py
parent45d4f21fe57ba47f97bf29e714bacdecdd2edca2 (diff)
downloadpykolab-22cfcd2406a44a49bbd263a2600f923a28f8be4c.tar.gz
Use the CLI command registration mechanism for setup components as well
Diffstat (limited to 'pykolab/setup/setup_ldap.py')
-rw-r--r--pykolab/setup/setup_ldap.py79
1 files changed, 79 insertions, 0 deletions
diff --git a/pykolab/setup/setup_ldap.py b/pykolab/setup/setup_ldap.py
new file mode 100644
index 0000000..e7ccb8a
--- /dev/null
+++ b/pykolab/setup/setup_ldap.py
@@ -0,0 +1,79 @@
+# -*- coding: utf-8 -*-
+# Copyright 2010-2011 Kolab Systems AG (http://www.kolabsys.com)
+#
+# Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen a kolabsys.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 3 or, at your option, any later version
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
+import components
+
+import pykolab
+
+from pykolab import utils
+from pykolab.constants import *
+from pykolab.translate import _
+
+log = pykolab.getLogger('pykolab.setup')
+conf = pykolab.getConf()
+
+def __init__():
+ components.register('ldap', execute, description=description())
+
+def description():
+ return _("Setup LDAP.")
+
+def execute(*args, **kw):
+ _input = {}
+
+ _input['admin_pass'] = utils.ask_question(_("Administrator password"), password=True)
+ _input['dirmgr_pass'] = utils.ask_question(_("Directory Manager password"), password=True)
+
+ _input['userid'] = utils.ask_question(_("User"), default="nobody")
+ _input['group'] = utils.ask_question(_("Group"), default="nobody")
+
+ _input['fqdn'] = fqdn
+ _input['hostname'] = hostname
+ _input['domain'] = domainname
+
+ _input['nodotdomain'] = domainname.replace('.','_')
+
+ _input['rootdn'] = utils.standard_root_dn(domainname)
+
+ print """
+[General]
+FullMachineName = %(fqdn)s
+SuiteSpotUserID = %(userid)s
+SuiteSpotGroup = %(group)s
+AdminDomain = %(domain)s
+ConfigDirectoryLdapURL = ldap://%(fqdn)s:389/o=NetscapeRoot
+ConfigDirectoryAdminID = admin
+ConfigDirectoryAdminPwd = %(admin_pass)s
+
+[slapd]
+SlapdConfigForMC = Yes
+UseExistingMC = 0
+ServerPort = 389
+ServerIdentifier = %(hostname)s
+Suffix = dc=test90,dc=kolabsys,dc=com
+RootDN = cn=Directory Manager
+RootDNPwd = %(dirmgr_pass)s
+ds_bename = %(nodotdomain)s
+AddSampleEntries = No
+
+[admin]
+Port = 9830
+ServerAdminID = admin
+ServerAdminPwd = %(admin_pass)s
+""" %(_input)