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
This commit is contained in:
2025-10-20 12:32:48 -07:00
parent 857c71484a
commit 7db3584ad3
16 changed files with 552 additions and 2618 deletions

View File

@@ -5,90 +5,135 @@ 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-01-XX
## [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
- Comprehensive CLI tool for managing LDAP server (`ldap-docker` command)
- Makefile with convenient shortcuts for common operations
- Interactive quickstart script (`quickstart.sh`) for guided setup
- Example Python authentication script demonstrating LDAP integration
- 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
- GETTING_STARTED.md - Beginner-friendly guide
- QUICKREF.md - Quick command reference
- README.md - Full project documentation with integrated configuration guide
- certs/README.md - Certificate management guide
- examples/README.md - Integration patterns and examples
- 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`
- LDAP Port: 389 (standard)
- LDAPS Port: 636 (SSL/TLS)
- Web Admin Port: 8080
- Python 3.9+ required
- 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
- Additional integration examples (Node.js, Go, Ruby, etc.)
- Health check endpoints
- Automated backup scripts
- Docker image with pre-built configuration
- Kubernetes/Helm deployment examples
- LDAP replication setup guide
- Performance tuning guide
- Security hardening options
---
## 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.
For support, issues, or feature requests, please refer to the project documentation or open an issue on the project repository.