- 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
140 lines
5.3 KiB
Markdown
140 lines
5.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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 `.env` configuration 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-*` to `verify-*` for integration checks that require a running container
|
|
- `test-connection` → `verify-connection`
|
|
- `test-auth` → `verify-auth`
|
|
- `test-users` → `verify-users`
|
|
- `test-ssl` → `verify-ssl`
|
|
- `test-all` → `verify-all`
|
|
- Added separate `make test` and `make test-cov` targets 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
|
|
- `.env` file support for configuration
|
|
- Cross-platform support (MacOS, Linux, Windows)
|
|
- Rancher Desktop and Docker Desktop compatibility
|
|
|
|
### Configuration
|
|
|
|
- Environment variable support for all configurable values
|
|
- `.env.example` file 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 `.env` variables
|
|
- examples/README.md with `.env` variable references in all code samples
|
|
- certs/README.md with `.env` variables for hostnames, ports, and certificate filenames
|
|
- Admin Credentials, Testing Authentication, and Certificate Requirements sections use `.env` syntax
|
|
- Default Test Users table shows dynamic email addresses based on `LDAP_DOMAIN`
|
|
- Development section LDIF examples reference `.env` variables
|
|
|
|
### Fixed
|
|
|
|
- Updated `pyproject.toml` to use `dependency-groups.dev` instead of deprecated `tool.uv.dev-dependencies`
|
|
- Added `tool.hatch.build.targets.wheel.packages` configuration to fix build errors
|
|
- Removed obsolete `version` field from `docker-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__.py` import error that prevented pytest from running
|
|
- Fixed timezone-aware datetime comparisons in certificate generation tests (updated to use `not_valid_before_utc` and `not_valid_after_utc`)
|
|
|
|
### Technical Details
|
|
|
|
- Base DN: `dc=testing,dc=local` (configurable via `LDAP_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 `.env` file
|
|
- 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.
|