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>
151 lines
3.4 KiB
YAML
151 lines
3.4 KiB
YAML
---
|
|
# Docker Runtime Role Default Variables
|
|
|
|
# Docker Installation
|
|
docker_edition: ce
|
|
docker_version: "latest"
|
|
docker_channel: stable
|
|
docker_compose_version: "2.20.0"
|
|
|
|
# Repository Configuration
|
|
docker_apt_arch: amd64
|
|
docker_apt_repository: "deb [arch={{ docker_apt_arch }}] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_channel }}"
|
|
docker_apt_gpg_key: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
|
|
|
|
# Docker Daemon Configuration
|
|
docker_daemon_config:
|
|
# Security settings
|
|
userland-proxy: false
|
|
live-restore: true
|
|
icc: false
|
|
userns-remap: default
|
|
no-new-privileges: true
|
|
seccomp-profile: /etc/docker/seccomp-default.json
|
|
|
|
# Logging
|
|
log-driver: json-file
|
|
log-opts:
|
|
max-size: 50m
|
|
max-file: "5"
|
|
|
|
# Storage
|
|
storage-driver: overlay2
|
|
|
|
# Network security
|
|
bridge: none
|
|
ip-forward: false
|
|
ip-masq: false
|
|
iptables: false
|
|
ipv6: false
|
|
|
|
# Resource limits
|
|
default-ulimits:
|
|
nproc:
|
|
hard: 65536
|
|
soft: 65536
|
|
nofile:
|
|
hard: 65536
|
|
soft: 65536
|
|
|
|
# Registry security
|
|
insecure-registries: []
|
|
registry-mirrors: []
|
|
|
|
# Experimental features
|
|
experimental: false
|
|
|
|
# Docker Service Configuration
|
|
docker_service_state: started
|
|
docker_service_enabled: true
|
|
docker_restart_handler_state: restarted
|
|
|
|
# User Management
|
|
docker_users: []
|
|
docker_group: docker
|
|
|
|
# PHP 8.4 Specific Configuration
|
|
php_version: "8.4"
|
|
php_docker_image: "php:8.4-fpm-alpine"
|
|
php_extensions:
|
|
- mysqli
|
|
- pdo_mysql
|
|
- opcache
|
|
- redis
|
|
- memcached
|
|
- intl
|
|
- gd
|
|
- zip
|
|
- bcmath
|
|
- soap
|
|
- xml
|
|
- curl
|
|
- json
|
|
|
|
# Docker Compose Configuration
|
|
docker_compose_projects: []
|
|
docker_compose_path: /opt/docker-compose
|
|
|
|
# Security Profiles
|
|
docker_security_profiles:
|
|
- name: default-seccomp
|
|
path: /etc/docker/seccomp-default.json
|
|
- name: framework-apparmor
|
|
path: /etc/apparmor.d/docker-framework
|
|
|
|
# Network Configuration
|
|
docker_networks:
|
|
- name: framework-network
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
gateway: 172.20.0.1
|
|
options:
|
|
com.docker.network.bridge.enable_icc: "false"
|
|
com.docker.network.bridge.enable_ip_masquerade: "false"
|
|
|
|
# Volume Configuration
|
|
docker_volumes:
|
|
- name: framework-app-data
|
|
driver: local
|
|
- name: framework-db-data
|
|
driver: local
|
|
- name: framework-logs
|
|
driver: local
|
|
|
|
# Health Check Configuration
|
|
docker_health_check_interval: 30s
|
|
docker_health_check_timeout: 10s
|
|
docker_health_check_retries: 3
|
|
docker_health_check_start_period: 60s
|
|
|
|
# Backup Configuration
|
|
docker_backup_enabled: "{{ backup_enabled | default(false) }}"
|
|
docker_backup_schedule: "0 2 * * *" # Daily at 2 AM
|
|
docker_backup_retention: 7
|
|
|
|
# Monitoring Configuration
|
|
docker_monitoring_enabled: "{{ monitoring_enabled | default(true) }}"
|
|
docker_metrics_enabled: true
|
|
docker_metrics_address: "0.0.0.0:9323"
|
|
|
|
# Resource Limits (per environment)
|
|
docker_resource_limits:
|
|
production:
|
|
memory: "{{ docker_memory_limit | default('4g') }}"
|
|
cpus: "{{ docker_cpu_limit | default('2.0') }}"
|
|
pids: 1024
|
|
staging:
|
|
memory: "{{ docker_memory_limit | default('2g') }}"
|
|
cpus: "{{ docker_cpu_limit | default('1.0') }}"
|
|
pids: 512
|
|
development:
|
|
memory: "{{ docker_memory_limit | default('1g') }}"
|
|
cpus: "{{ docker_cpu_limit | default('0.5') }}"
|
|
pids: 256
|
|
|
|
# Container Security Options
|
|
docker_security_opts:
|
|
- no-new-privileges:true
|
|
- seccomp:unconfined
|
|
- apparmor:docker-framework |