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>
This commit is contained in:
71
deployment/infrastructure/ansible.cfg
Normal file
71
deployment/infrastructure/ansible.cfg
Normal file
@@ -0,0 +1,71 @@
|
||||
[defaults]
|
||||
# Ansible Configuration for Custom PHP Framework Infrastructure
|
||||
inventory = inventories/production/hosts.yml
|
||||
roles_path = roles
|
||||
host_key_checking = False
|
||||
gathering = smart
|
||||
fact_caching = jsonfile
|
||||
fact_caching_connection = /tmp/ansible_facts_cache
|
||||
fact_caching_timeout = 3600
|
||||
|
||||
# Performance optimizations
|
||||
pipelining = True
|
||||
forks = 5
|
||||
strategy = linear
|
||||
# strategy_plugins = ~/.ansible/plugins/strategy:~/dev/mitogen/ansible_mitogen/plugins/strategy
|
||||
|
||||
# Logging and output
|
||||
log_path = logs/ansible.log
|
||||
stdout_callback = yaml
|
||||
stderr_callback = yaml
|
||||
bin_ansible_callbacks = True
|
||||
verbosity = 1
|
||||
|
||||
# Security settings - Vault password via environment or prompt (disabled for testing)
|
||||
ask_vault_pass = False
|
||||
# vault_encrypt_identity = vault@michaelschiemer.de
|
||||
# vault_identity_list = vault@michaelschiemer.de
|
||||
|
||||
# Connection settings
|
||||
timeout = 60
|
||||
remote_user = deploy
|
||||
private_key_file = ~/.ssh/deploy_key
|
||||
ansible_ssh_common_args = -o StrictHostKeyChecking=yes -o UserKnownHostsFile=~/.ssh/known_hosts -o ControlMaster=auto -o ControlPersist=60s
|
||||
|
||||
# Privilege escalation
|
||||
become = True
|
||||
become_method = sudo
|
||||
become_user = root
|
||||
become_ask_pass = False
|
||||
become_exe = sudo
|
||||
|
||||
[inventory]
|
||||
enable_plugins = host_list, script, auto, yaml, ini, toml
|
||||
|
||||
[ssh_connection]
|
||||
ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=yes
|
||||
control_path = ~/.ssh/ansible-%%h-%%p-%%r
|
||||
retries = 3
|
||||
pipelining = True
|
||||
scp_if_ssh = smart
|
||||
transfer_method = smart
|
||||
|
||||
[persistent_connection]
|
||||
connect_timeout = 30
|
||||
command_timeout = 30
|
||||
|
||||
[galaxy]
|
||||
server_list = galaxy, community_galaxy
|
||||
ignore_certs = False
|
||||
|
||||
[galaxy_server.galaxy]
|
||||
url = https://galaxy.ansible.com/
|
||||
# Token should be set via environment: ANSIBLE_GALAXY_TOKEN
|
||||
|
||||
[galaxy_server.community_galaxy]
|
||||
url = https://galaxy.ansible.com/
|
||||
# Token should be set via environment: ANSIBLE_GALAXY_TOKEN
|
||||
|
||||
[diff]
|
||||
context = 3
|
||||
always = False
|
||||
Reference in New Issue
Block a user