- Use REGISTRY_HOSTPORT for registry (not docker.io or ghcr.io)
- Use REGISTRY_USERNAME/REGISTRY_PASSWORD for auth
- Fix repo path to not include full URL or username prefix
- Update all woodpecker files to use internal registry
- Use Docker Hub credentials for base image pulls
- Add cache_from/cache_to for internal registry caching
- Remove GitHub Container Registry dependency
- Replace complex caching with simple Dockerfile
- Remove cargo-chef complexity that was slowing builds
- Add .woodpecker-base.yml for separate base image builds
- Add Dockerfile.simple for faster builds
- Add Dockerfile.ultrafast for when base image exists
- Add Dockerfile.fast with cargo-chef and symbol stripping
- Add Dockerfile.superfast using pre-built base image
- Add Dockerfile.base for dependency caching
- Update Woodpecker with registry cache (cache_from/cache_to)
- Add fast-build.sh for local ultra-fast builds
- Add build-base-image.sh for one-time dependency build
- Enable BuildKit layer caching in CI
- Update .woodpecker.yml with change detection step
- Add optimized Dockerfile.optimized support
- Add deployment step to Kubernetes
- Add woodpecker-local-build.sh for local testing
- Only build and deploy services with code changes
- Skip unchanged services for faster pipelines
- Add Dockerfile.optimized with cargo-chef caching
- Add build-changed.sh script to build only modified services
- Add deploy-changed.sh script for selective deployment
- Add comprehensive deployment optimization guide
- Support independent service rollouts (no full redeploy needed)
- Add GET /api/admin/email/smtp-config endpoint
- Add POST /api/admin/email/smtp-config endpoint
- Add POST /api/admin/email/smtp-test endpoint
- Add send_test_email method to Mailer
- Update SMTP management page with test functionality
- Add 35 branded HTML email templates with Nxtgauge styling
- Create email template engine with base template system
- Add email management API for admin panel
- Wire email triggers from all services
- All services compile successfully