Feature/auth docker setup docs#12459
Conversation
- Fix auth failures across ldap-direct, ldap-sync, and Keycloak login flows - Update Jenkins build flow to support the LDAP_MODE parameter - Align LDAP LDIFs, datadir config, sample env files, and compose settings - Simplify LDAP and Keycloak healthchecks - Replace sample secrets with disposable placeholder credentials - Update docs with new requirements and setup procedure
7114fa7 to
9cd7319
Compare
1799b41 to
cdf04bc
Compare
|
hi @offtherailz i have fixed the lint issue, along with some docs and sample conf updates. It's ready to review now. |
offtherailz
left a comment
There was a problem hiding this comment.
See comments inline, there are some issues.
I see a sparse management of LDAP with 3 different implementation and a default in default override --> this is a problem, remove from it
Instead we should use only one LDAP image, properly active and maintained, with only one setup.
Of couse these changes have to be properly reflected in documentation produced for configuration
I can suggest to:
- remove acme-ldap DockerFile
- remove ldif/02-users.ldpf on gitignore and commit it directly, removing ldif.sample
- replace osixia with bitnami/openldap, activiely maintained
- remove changes on docker-compose-override , use a separate override / profile for that
- update web/src/main/resources/ldap.properties from port 10389 a 389 (standard)
| @@ -0,0 +1,4 @@ | |||
| FROM osixia/openldap:1.5.0 | |||
There was a problem hiding this comment.
osixia/openldap is unmaintained
Alternatives:
- bitnami/openldap similar API
- gh.io/nitnelave/lldap light, web UI
We are using 3 different LDAP alternatives...
- acme
- osixia/openldap
- geosolutions-it/openldap
I'd suggest to use only one implemntation, probably based to a maintained one.
There was a problem hiding this comment.
bitnami/openldap is private only, there seems an option to use bitnamilegacy/openldap but it's again legacy and no better than osixia/openldap. osixia/openldap does have v2 but it's in beta.
Writing a custom Dockerfile and init script for building image from scratch might be too much here. Maybe a seperate geosolutions-it/openldap would be nice, if we plan to use dockerized ldap setups.
For now i kept is the same.
|
Please @mahesh-wor look at my comments |
|
Thank you @offtherailz i will check it and update you. |
f8a1dcf to
648fadb
Compare
|
hi @offtherailz i have updates to the PR, could you check. |
offtherailz
left a comment
There was a problem hiding this comment.
the command as written won't start the stack: with --profile test alone compose only enables sut (postgres/mapstore/ldap are all in the base profile), so dockerize times out. It needs --profile base --profile test (verified with docker compose ... config --services). Please double-check the actual invocation you use and document it (e.g. a short note in tests/ or the docs page), since nothing in the repo currently records how to run this stack.
Without documenting it, nobody know what it is needed to and how to run it
So summarizing:
- double check the command correctness
- document docker-compose-test.yml and how to use it, with profile etc...
|
hi @offtherailz Tests can be achieved with the following, requires two step build. 1st brings base stack up, 2nd runs test containers. |
|
Successfully created backport PR for |
Description
Please check if the PR fulfills these requirements
What kind of change does this PR introduce? (check one with "x", remove the others)
Issue
What is the current behavior?
Currently we only have setup instructions and docker compose for mapstore/postgres/proxy services.
https://github.com/geosolutions-it/DevOps/issues/1878
What is the new behavior?
This PR introduces optional
docker/docker-compose.auth.ymlthat dev's and users can leverage to have working authentication integration for LDAP/Keycloak. Also includes sample environments and configurations.Breaking change
Does this PR introduce a breaking change? (check one with "x", remove the other)
Other useful information