Files
docker_ldap_testing/CHANGELOG.md
Spencer Jones 7db3584ad3 Release v0.1.0
- 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
2025-10-20 13:37:54 -07:00

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.