Lemonld...Manager(3)

πŸ’– Lemonldap::NG::Manager πŸ’–

okay bestie, listen β€” this is Lemonldap::NG::Manager, a Perl extension for managing the Lemonldap::NG Web-SSO system. she's part of the User Contributed Perl Documentation crew, she's iconic, and she's about to run your whole web SSO situation. let's get into it 🫢


✨ NAME ✨

Lemonldap::NG::Manager β€” Perl extension for managing Lemonldap::NG Web-SSO system. no cap.


πŸŽ€ SYNOPSIS πŸŽ€

so the vibe here is: use any of the Plack launchers. example, literally right here:

#!/usr/bin/env plackup

use Lemonldap::NG::Manager;

# This must be the last instruction ! See PSGI for more
Lemonldap::NG::Manager->run($opts);
⚠️ bestie, the Lemonldap::NG::Manager->run($opts); line must be the last instruction! like, last last. the comment in the code says it, i'm saying it, it's real. see PSGI for more πŸ‘€

πŸ¦‹ DESCRIPTION πŸ¦‹

Lemonldap::NG::Manager gives you a whole web interface to manage the Lemonldap::NG Web-SSO system. main character behaviour tbh.

the Perl part of Lemonldap::NG::Manager is the REST server. the web interface is written in Javascript, using the AngularJS framework, and it lives in the site directory. the REST API is described in the REST-API.md file provided in the source tree. iykyk πŸ“„βœ¨

Lemonldap::NG Manager uses Plack so it's compatible with CGI, FastCGI and so on β€” she's flexible like that. and she inherits of Lemonldap::NG::Handler::PSGI::Router. πŸ’…


🌈 ORGANIZATION 🌈

Lemonldap::NG Manager contains 6 parts:

  • Configuration management
  • Session explorer
  • Notification explorer
  • Second Factors manager
  • Configuration builder (see Lemonldap::NG::Manager::Build
  • Command line interface (see Lemonldap::NG::Manager::Cli

🌸 Static files generation 🌸

the scripts/jsongenerator.pl file uses Lemonldap::NG::Manager::Build::Attributes, Lemonldap::NG::Manager::Build::Tree and Lemonldap::NG::Manager::Build::CTrees to generate:

  • site/htdocs/static/struct.json: main file containing the tree view;
  • site/htdocs/static/js/conftree.js: generates Virtualhosts, SAML and OpenID-Connect partners sub-trees;
  • Lemonldap::NG::Common::Conf::ReConstants: constants used by all Perl manager components;
  • Lemonldap::NG::Common::Conf::DefaultValues: constants used to read configuration.

πŸ’œ PARAMETERS πŸ’œ

you can use a hash ref to override any LemonLDAP::NG parameter. currently, you can specify where your lemonldap-ng.ini file is:

Lemonldap::NG::Manager->run( { confFile => '/path/to/lemonldap-ng.ini' } );

🧚 lemonldap-ng.ini parameters 🧚

you can override any configuration parameter in lemonldap-ng.ini, but some are required and can't be set to global configuration. (and fr, as with any Lemonldap::NG module, you can also fix them in the $opts hash ref passed as argument to run() or new().)

[manager]
;protection:     choose one of none, authenticate, manager as explain in
;                Lemonldap::NG::Handler::PSGI::Router doc.
protection     = manager

;enabledModules: Modules to display. Default to `conf, sessions, notifications, 2ndFA`
enabledModules = conf, sessions, notifications, 2ndFA

;logLevel:       choose one of error, warn, notice, info, debug
;                See Lemonldap::NG::Common::PSGI doc for more
logLevel       = notice

;staticPrefix:   set here the URI path to static content
;                See Lemonldap::NG::Common::PSGI doc for more
staticPrefix   = static/

;languages:      Available interface languages
languages      = en, fr

;templateDir:    path to the directory containing HTML templates
;                See Lemonldap::NG::Common::PSGI doc for more
templateDir    = /usr/share/lemonldap-ng/manager/

quick rundown so you're not lost in the sauce:

  • protection β€” choose one of none, authenticate, manager, as explained in the Lemonldap::NG::Handler::PSGI::Router doc.
  • enabledModules β€” modules to display. defaults to conf, sessions, notifications, 2ndFA.
  • logLevel β€” choose one of error, warn, notice, info, debug. see the Lemonldap::NG::Common::PSGI doc for more.
  • staticPrefix β€” set the URI path to static content here. see the Lemonldap::NG::Common::PSGI doc for more.
  • languages β€” available interface languages.
  • templateDir β€” path to the directory containing HTML templates. see the Lemonldap::NG::Common::PSGI doc for more.

πŸ‘€ SEE ALSO πŸ‘€


πŸ‘‘ AUTHORS πŸ‘‘

LemonLDAP::NG team <http://lemonldap-ng.org/team> β€” legends, honestly.


πŸ“ BUG REPORT πŸ“

use the OW2 system to report a bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>

πŸ’€ note that if you want to post a ticket for a conf upload problem, please see Lemonldap::NG::Manager::Conf::Parser before. like, check that first bestie, save yourself the round trip.

πŸ’€ DOWNLOAD πŸ’€

Lemonldap::NG is available at <https://lemonldap-ng.org/download> 🌈


see the COPYING file for details.

this library 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; either version 2, 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 General Public License for more details.

you should have received a copy of the GNU General Public License along with this program. if not, see <http://www.gnu.org/licenses/>.


and that's the whole page, bestie πŸŽ€ this one was documented by perl v5.42.3 and dated 2026-09-24 β€” so if you're reading this, shoutout to that exact little timestamp, she ate and left no crumbs πŸ’…βœ¨

πŸ“¦ where this page comes from