Skip to content

Feature/auth docker setup docs#12459

Merged
offtherailz merged 14 commits into
masterfrom
feature/auth-docker-setup-docs
Jul 20, 2026
Merged

Feature/auth docker setup docs#12459
offtherailz merged 14 commits into
masterfrom
feature/auth-docker-setup-docs

Conversation

@mahesh-wor

@mahesh-wor mahesh-wor commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Description

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Docs/Setup Guide
  • Other... Please describe:

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.yml that 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)

  • Yes, and I documented them in migration notes
  • No

Other useful information

@cla-bot cla-bot Bot added the CLA Ready label Jun 5, 2026
- 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
@mahesh-wor
mahesh-wor force-pushed the feature/auth-docker-setup-docs branch from 7114fa7 to 9cd7319 Compare June 9, 2026 13:55
@mahesh-wor
mahesh-wor marked this pull request as draft June 10, 2026 06:53
@tdipisa tdipisa added this to the 2026.02.00 milestone Jun 22, 2026
@mahesh-wor
mahesh-wor requested a review from offtherailz June 23, 2026 09:59
@mahesh-wor
mahesh-wor force-pushed the feature/auth-docker-setup-docs branch from 1799b41 to cdf04bc Compare June 24, 2026 07:11
@mahesh-wor
mahesh-wor marked this pull request as ready for review June 24, 2026 07:23
@mahesh-wor

Copy link
Copy Markdown
Contributor Author

hi @offtherailz i have fixed the lint issue, along with some docs and sample conf updates. It's ready to review now.

@offtherailz offtherailz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Comment thread docker-compose-override.yml Outdated
Comment thread docker-compose.yml Outdated
Comment thread docker-compose-override.yml Outdated
Comment thread docker-compose-override.yml Outdated
@@ -0,0 +1,4 @@
FROM osixia/openldap:1.5.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@offtherailz offtherailz assigned mahesh-wor and unassigned offtherailz Jul 2, 2026
@offtherailz

Copy link
Copy Markdown
Member

Please @mahesh-wor look at my comments

@mahesh-wor

Copy link
Copy Markdown
Contributor Author

Thank you @offtherailz i will check it and update you.

@mahesh-wor
mahesh-wor force-pushed the feature/auth-docker-setup-docs branch from f8a1dcf to 648fadb Compare July 3, 2026 15:34
@mahesh-wor
mahesh-wor requested a review from offtherailz July 14, 2026 14:42
@mahesh-wor

Copy link
Copy Markdown
Contributor Author

hi @offtherailz i have updates to the PR, could you check.

@tdipisa tdipisa assigned offtherailz and unassigned mahesh-wor Jul 14, 2026

@offtherailz offtherailz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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...

@mahesh-wor

Copy link
Copy Markdown
Contributor Author

hi @offtherailz
i have added documentation regarding use of docker compose test stack. I have added it alongside Unit tests / Lint information in a new sub heading.

https://mapstore--12459.org.readthedocs.build/en/12459/developer-guide/developing/#docker-based-integration-tests

Tests can be achieved with the following, requires two step build. 1st brings base stack up, 2nd runs test containers.

docker compose --profile base -f docker-compose.yml -f docker-compose-override.yml -f tests/docker-compose-tests.yml up -d --build
docker compose --profile test -f docker-compose.yml -f docker-compose-override.yml -f tests/docker-compose-tests.yml up --build --exit-code-from sut

@mahesh-wor
mahesh-wor requested a review from offtherailz July 20, 2026 08:16
@offtherailz
offtherailz merged commit 522f80d into master Jul 20, 2026
17 checks passed
@offtherailz
offtherailz deleted the feature/auth-docker-setup-docs branch July 20, 2026 16:32
@offtherailz

Copy link
Copy Markdown
Member

Successfully created backport PR for 2026.02.xx:

offtherailz added a commit that referenced this pull request Jul 21, 2026
(cherry picked from commit 522f80d)

Co-authored-by: invoron <maheshwor89@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants