Files
michaelschiemer/deployment/applications/environments
Michael Schiemer 9b74ade5b0 feat: Fix discovery system critical issues
Resolved multiple critical discovery system issues:

## Discovery System Fixes
- Fixed console commands not being discovered on first run
- Implemented fallback discovery for empty caches
- Added context-aware caching with separate cache keys
- Fixed object serialization preventing __PHP_Incomplete_Class

## Cache System Improvements
- Smart caching that only caches meaningful results
- Separate caches for different execution contexts (console, web, test)
- Proper array serialization/deserialization for cache compatibility
- Cache hit logging for debugging and monitoring

## Object Serialization Fixes
- Fixed DiscoveredAttribute serialization with proper string conversion
- Sanitized additional data to prevent object reference issues
- Added fallback for corrupted cache entries

## Performance & Reliability
- All 69 console commands properly discovered and cached
- 534 total discovery items successfully cached and restored
- No more __PHP_Incomplete_Class cache corruption
- Improved error handling and graceful fallbacks

## Testing & Quality
- Fixed code style issues across discovery components
- Enhanced logging for better debugging capabilities
- Improved cache validation and error recovery

Ready for production deployment with stable discovery system.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-13 12:04:17 +02:00
..

Environment Configuration Guide

This directory contains environment templates for different deployment environments of the Custom PHP Framework.

Environment Templates

.env.production.template

Production environment template with security-focused configurations:

  • APP_DEBUG=false
  • Strict session fingerprinting
  • Xdebug disabled
  • Production logging levels
  • Strong password requirements

.env.staging.template

Staging environment template for testing:

  • APP_DEBUG=true
  • Moderate security settings
  • Xdebug enabled for debugging
  • Verbose logging
  • Test API configurations

Usage

  1. Copy the appropriate template:

    cp .env.production.template .env.production
    # or
    cp .env.staging.template .env.staging
    
  2. Fill in required values:

    • Replace all *** REQUIRED *** placeholders with actual values
    • Generate strong passwords for database credentials
    • Configure API keys and service credentials
    • Set proper domain names and SSL certificate paths
  3. Security Considerations:

    • Never commit actual .env.production or .env.staging files to version control
    • Use strong, unique passwords for each environment
    • Rotate credentials regularly
    • Enable appropriate session fingerprinting for security

Environment-Specific Settings

Development → Staging Changes

  • Enable Xdebug but remove IDE configurations
  • Use staging database and credentials
  • Enable detailed logging for debugging
  • Use test API endpoints where available

Staging → Production Changes

  • Disable all debug features (APP_DEBUG=false, XDEBUG_MODE=off)
  • Enable strict security settings
  • Use production database with strong credentials
  • Set warning-level logging only
  • Configure production SSL certificates
  • Use production API keys and webhooks

Required Values by Environment

Production Requirements

  • Database: Strong passwords, production database name
  • APIs: Production webhook secrets, SMTP credentials
  • SSL: Valid SSL certificate paths
  • Monitoring: Production-grade logging configuration

Staging Requirements

  • Database: Separate staging database credentials
  • APIs: Test/staging API keys where available
  • SSL: Test certificates or self-signed certificates
  • Monitoring: Verbose logging for debugging

Environment Variable Categories

Core Application

  • APP_ENV, APP_DEBUG, APP_URL, APP_DOMAIN

Database Configuration

  • DB_HOST, DB_DATABASE, DB_USERNAME, DB_PASSWORD, DB_ROOT_PASSWORD

Security & Session

  • Session fingerprinting settings
  • SSL certificate paths
  • Authentication configurations

External Services

  • SMTP configuration for emails
  • Third-party API credentials
  • Webhook secrets

Performance & Caching

  • OPcache settings
  • Redis configuration
  • Worker process limits

Monitoring & Logging

  • Log levels and channels
  • Error reporting settings
  • Analytics configuration

Deployment Integration

These environment files are used by:

  • Docker Compose overlays (docker-compose.production.yml, docker-compose.staging.yml)
  • Ansible deployment playbooks
  • Application deployment scripts

Security Best Practices

  1. Credential Management:

    • Use strong, unique passwords for each environment
    • Consider using a password manager or secrets management service
    • Rotate credentials regularly
  2. Environment Isolation:

    • Keep staging and production completely separate
    • Use different database servers and API keys
    • Monitor access to production credentials
  3. File Permissions:

    • Set restrictive permissions on environment files (600)
    • Ensure only necessary users can read the files
    • Never include in version control
  4. SSL/TLS Configuration:

    • Use valid SSL certificates in production
    • Enable HTTPS everywhere
    • Configure proper cipher suites

Troubleshooting

Common Issues

  • Missing required values: Check for *** REQUIRED *** placeholders
  • Database connection failures: Verify database credentials and host
  • SSL certificate errors: Check certificate paths and permissions
  • API failures: Verify API keys and endpoint configurations

Environment-Specific Debugging

  • Staging: Enable verbose logging and Xdebug
  • Production: Check application logs and monitoring systems
  • Both: Verify environment variable loading in application

Integration with Deployment

The environment templates integrate with:

  1. Docker Compose overlays for environment-specific container configuration
  2. Ansible playbooks for automated environment setup
  3. Application deployment scripts for environment validation and deployment