Clean Fusion Directory image
Multiple tasks:
-
Remove useless dependencies:
- perl-Path-Class
- perl-LDAP
- perl-MIME-Base64
- perl-Digest-SHA
- perl-Crypt-CBC
- perl-Bytes-Random-Secure
- perl-Archive-Extract
- perl-File-Copy-Recursive
- perl-XML-Twig
-
[ ] Use ratherfusiondirectory-plugins-manager
than the scriptinstall-plugin.sh
(must be tested before). -
add fusiondirectory/yaml for viewing plugins list in the interface. An example of plugin path is: /etc/fusiondirectory/yaml/mail/description.yaml
-
add missing directories to copy in install-plugin.sh: configuration dashboard export generic reports
-
add these plugins by default: ldapdump,ldapmanager,newsletter,posix
Note:
fusiondirectory-plugins-manager
is not a fully-usable solution for FusionIAM today:
- It misses the deployment of the directories listed above in
install-plugin.sh
. - the target
--install-plugin <plugins-directory>
is difficult to automate (need a user input of which plugin to install) - the target
--install-plugin <plugins-directory>
must be done at image build step. But it also registers the plugin to LDAP, which must be done at container run. - it does not seem to be tested enough:
php -d include_path=/usr/local/share/fusiondirectory/tools /usr/local/share/fusiondirectory/tools/fusiondirectory-plugins-manager --set-var "fd_home=/usr/local/share/fusiondirectory" --set-var "fd_config_dir=/etc/fusiondirectory" --register-plugin /usr/src/fd-plugins/audit
PHP Warning: yaml_parse_file(): parsing error encountered during parsing: did not find expected key (line 12, column 3), context while parsing a block mapping (line 1, column 1) in /usr/local/share/fusiondirectory/tools/FusionDirectory/Tools/PluginsManager.php on line 161
PHP Fatal error: Uncaught TypeError: Return value of FusionDirectory\Tools\PluginsManager::parseYamlFile() must be of the type array, bool returned in /usr/local/share/fusiondirectory/tools/FusionDirectory/Tools/PluginsManager.php:164
Stack trace:
#0 /usr/local/share/fusiondirectory/tools/FusionDirectory/Tools/PluginsManager.php(171): FusionDirectory\Tools\PluginsManager->parseYamlFile()
#1 [internal function]: FusionDirectory\Tools\PluginsManager->addPluginRecord()
#2 /usr/local/share/fusiondirectory/tools/FusionDirectory/Cli/Application.php(198): call_user_func()
#3 /usr/local/share/fusiondirectory/tools/FusionDirectory/Tools/PluginsManager.php(121): FusionDirectory\Cli\Application->runCommands()
#4 /usr/local/share/fusiondirectory/tools/fusiondirectory-plugins-manager(29): FusionDirectory\Tools\PluginsManager->run()
#5 {main}
thrown in /usr/local/share/fusiondirectory/tools/FusionDirectory/Tools/PluginsManager.php on line 164
description.yaml:
/usr/src/fd-plugins/audit/contrib/yaml/description.yaml
information:
name : audit
description : Audit plugin for FusionDirectory
version : "1.4"
authors :
- "FusionDirectory"
status : Stable
screenshotUrl:
- "%to_be_define%"
logoUrl : "https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/raw/fusiondirectory-1.4/audit/html/themes/breezy/icons/48/apps/audit.png"
tags: ["plugin", "audit", "users", "ESR", "infra", "deploy"]
license: "GPLv2"
origin: "package"
support:
provider: fusiondirectory
homeUrl : https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins
ticketUrl : https://gitlab.fusiondirectory.org/fusiondirectory/fd-plugins/-/issues
schemaUrl: "https://schemas.fusiondirectory.org/"
contractUrl: https://www.fusiondirectory.org/abonnements-fusiondirectory/
The tags
tag needs 2 extra spaces at the beginning.
Maybe the debian package of FD 1.4 propose a better solution for plugin integration. This will be discussed in other issues.
See also: #58