- Initial release of LDAP Docker development tool - Full .env configuration support with comprehensive documentation - Pre-configured test users and SSL/TLS support - Consolidated documentation in README
5.3 KiB
5.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2025-10-20
Added
- Initial release of LDAP Docker development tool
- OpenLDAP 1.5.0 container with SSL/TLS support
- phpLDAPadmin web interface for easy administration
- Pre-configured test users and groups for testing.local domain
- SSL certificate generation script using Python cryptography
- Makefile with convenient shortcuts for common operations
- Example Python authentication script demonstrating LDAP integration with environment variable support
- Support for custom dev-ca certificates
- Persistent Docker volumes for data and configuration
- Test suite for certificate generation
- Comprehensive environment variable reference table in Configuration section with usage cross-references
{.env:VARIABLE_NAME}syntax throughout documentation to indicate configurable values- Explanatory notes about
.envconfiguration flexibility at key sections - Comprehensive documentation:
- README.md - Full project documentation with integrated configuration guide
- certs/README.md - Certificate management guide
- examples/README.md - Integration patterns and code examples
Changed
- Renamed Makefile targets from
test-*toverify-*for integration checks that require a running containertest-connection→verify-connectiontest-auth→verify-authtest-users→verify-userstest-ssl→verify-ssltest-all→verify-all
- Added separate
make testandmake test-covtargets for running unit tests with pytest - Improved naming clarity: "verify" commands check running containers, "test" commands run unit tests
Test Data
- 4 pre-configured test users (admin, jdoe, jsmith, testuser)
- 3 test groups (admins, developers, users)
- All test users use password:
password123 - Admin credentials:
cn=admin,dc=testing,dc=local/admin_password
Infrastructure
- Docker Compose configuration for easy deployment
- UV package manager integration for Python dependencies
.envfile support for configuration- Cross-platform support (MacOS, Linux, Windows)
- Rancher Desktop and Docker Desktop compatibility
Configuration
- Environment variable support for all configurable values
.env.examplefile with comprehensive documentation- Configurable ports (LDAP, LDAPS, phpLDAPadmin)
- Configurable domain and organization settings
- Configurable SSL/TLS certificate filenames
- Configurable admin credentials
Documentation
- README with clear Quick Start, Configuration, and Troubleshooting sections
- All code examples (Python, bash, ldapsearch) reference
.envvariables - examples/README.md with
.envvariable references in all code samples - certs/README.md with
.envvariables for hostnames, ports, and certificate filenames - Admin Credentials, Testing Authentication, and Certificate Requirements sections use
.envsyntax - Default Test Users table shows dynamic email addresses based on
LDAP_DOMAIN - Development section LDIF examples reference
.envvariables
Fixed
- Updated
pyproject.tomlto usedependency-groups.devinstead of deprecatedtool.uv.dev-dependencies - Added
tool.hatch.build.targets.wheel.packagesconfiguration to fix build errors - Removed obsolete
versionfield fromdocker-compose.yml(Docker Compose v2+ compatibility) - Fixed LDAP user password hashes to use proper SSHA format generated by
slappasswd - Fixed attribute type conversion in example scripts for uidNumber and gidNumber
- Fixed
scripts/__init__.pyimport error that prevented pytest from running - Fixed timezone-aware datetime comparisons in certificate generation tests (updated to use
not_valid_before_utcandnot_valid_after_utc)
Technical Details
- Base DN:
dc=testing,dc=local(configurable viaLDAP_BASE_DN) - LDAP Port: 389 (configurable via
LDAP_PORT) - LDAPS Port: 636 (configurable via
LDAPS_PORT) - Web Admin Port: 8080 (configurable via
PHPLDAPADMIN_PORT) - Python 3.9+ required (optional, for certificate generation and examples)
- Docker/Rancher Desktop required
[Unreleased]
Planned Features
- Docker image with pre-built configuration
Release Notes
Version 0.1.0
This is the initial release providing a complete LDAP development environment suitable for:
- Testing LDAP authentication in applications
- Development and integration testing
- Learning LDAP concepts
- Prototyping LDAP-based systems
Key Features:
- Quick setup with
docker-compose up -d - Fully configurable via
.envfile - Pre-populated with test users and groups
- SSL/TLS support with custom certificate capability
- Web-based administration interface
- Comprehensive documentation with clear examples
Important Security Notes:
- This tool is for DEVELOPMENT USE ONLY
- Default passwords are well-known and insecure
- Self-signed certificates are not suitable for production
- Never use this with real user data or in production environments
Upgrade Instructions
Not applicable for initial release.
Breaking Changes
Not applicable for initial release.
For support, issues, or feature requests, please refer to the project documentation or open an issue on the project repository.