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

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 .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-connectionverify-connection
    • test-authverify-auth
    • test-usersverify-users
    • test-sslverify-ssl
    • test-allverify-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.