The goal of this project is to provide fast and easy initialization of Unity IDM content for the use with UNICORE middleware. It helps to setup all attributes, groups and server entities together with statements, because some UNICORE security logs are misleading especially for newbies.
Plugin can be downloaded from Bintray maven repository. In case of latest release version download archive using command:
curl -O https://dl.bintray.com/unicore-life/maven/pl/edu/icm/unity/unity-grid-content/1.0.0/unity-grid-content-1.0.0.jar
and place it in lib/
directory of Unity IDM installation
(in case of RPM distribution it is /usr/share/unity-idm/lib/
).
Plugin version depends on Unity IDM version which show compatibility table below.
Unity IDM version | Plugin version | Documentation Link |
---|---|---|
1.8.0 | 0.1.x | unicore-grid-contents-0.1.8 |
1.9.x | 0.2.x | unity-grid-contents-0.2.4 |
2.1.x | 1.0.x | unity-grid-content-1.0.0 |
All identities are added with requirements Empty requirement, so first, be sure to has such in Unity IDM. One way of accomplish that is to add lines:
unityServer.core.credentialRequirements.1.credentialReqName=Empty requirement
unityServer.core.credentialRequirements.1.credentialReqDescription=Empty credential requirement
in configuration file unityServer.conf.
Next, copy script gridContentInitializer.groovy into Unity IDM configuration directory, change grid content JSON configuration file, and add properties in file unityServer.conf:
unityServer.core.script.5.file=/etc/unity-idm/scripts/gridContentInitializer.groovy
unityServer.core.script.5.trigger=pre-init
to be executed when Unity IDM starts. Examples of grid content JSON files:
Note, that defaultContentInitializer.groovy and unicoreContentInitializer.groovy initialization scripts shipped with Unity IDM distribution have to enabled. THey should be run before gridContentInitializer.groovy script. Check Unity IDM documentation how to do that in unityServer.conf file.
To enable more exhaustive logs simply configure appropriate logger in file log4j2.xml
located in Unity IDM
configuration directory. Setting full logging needs adding a line:
<Logger name="grid.content" level="TRACE"/>
in Loggers section.
Just clone the project and run Gradle command presented below.
./gradlew build
To see current version of the sources use Gradle task currentVersion (it is stored as a git tag).
./gradlew currentVersion
To release a new version use release task. Later, for uploading artifact to Bintray maven repository use bintrayUpload task. Sample commands are presented below.
./gradlew release
./gradlew bintrayUpload -PdryRun=false
Remember to configure Bintray user and key by using parameters
-PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY
or just put them in gradle.properties
file.