Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for LDAP configuration #15

Open
goober opened this issue Feb 5, 2021 · 5 comments
Open

Add support for LDAP configuration #15

goober opened this issue Feb 5, 2021 · 5 comments

Comments

@goober
Copy link

goober commented Feb 5, 2021

What I can read out from the documentation there is currently no support for configuring LDAP settings through this plugin.

I am happy to help out if I get some initial guidelines on how to attack the problem.

@bdellegrazie
Copy link

Hi @goober,

Partial support is there - we can enable / disable realms however the individual configuration of the realms is not yet supported that I can see.

Need to look at how these are created / managed in Nexus OSS to determine how to add the config for the specific realms.
Frequently I look at how the underlying REST API does it - then follow the code until I reach the underlying API.

Essentially the Config object tree in this code mirrors the configuration properties of the objects in Nexus. Most (but not all) of which are generalised map properties going to the Orient DB.
All I really do is model the config in yaml, translate it to an object form and "map" it back to the API available in Nexus.

I hope that helps - freel free to ask more questions

@bdellegrazie
Copy link

Taking a quick look at nexus-public repo - their LDAP plugin is not available in the repo itself, which makes debugging difficult.
You could try using the rest interface and tracing the calls down but you're on your own - we'd need to look up the name of the managing interface by reflection and that's getting a bit convoluted.

@Wonno
Copy link

Wonno commented Sep 1, 2021

Tried to give it a start by grabbing the necessary dependenies. See branch
Please note: the build process is slightly changed: run mvn -Pprepare validate in advance of regular maven build.

Integration test started failing after adapting Config.java in order to get the values from the yaml.

Currently I have no idea why this is failing. Maybe karaf config is missing - and I am not familiar with OSGI.
Maybe someone can give advice.

@bdellegrazie
Copy link

@Wonno Thanks for this. Our config object uses lists and/or maps of base types to map easily to YAML. I realise its just a start
but you've tightly coupled their internal persistence layer to our config object which we shouldn't really do.

The properties objects we supply are fed to the configuration functions in Nexus which then persists them to OrientDB.
I'd prefer not to rely/depend upon their internal object as that may change but they do keep the config structure consistent between versions (usually).

It's an absolute pain getting this structure and I appreciate you getting as far as you did. I'll take a look sometime soon.

@Wonno
Copy link

Wonno commented Sep 2, 2021

I'd prefer not to rely/depend upon their internal object

Then lets go on with a mapper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants