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>
58 lines
2.2 KiB
YAML
58 lines
2.2 KiB
YAML
---
|
|
# Datei: ansible/playbooks/deploy/includes/docker_run.yml
|
|
# Verwaltet das Starten und Überwachen der Docker-Container
|
|
|
|
# Sicherstellen, dass vor dem Neustart alle Container gestoppt werden
|
|
- name: Container stoppen, falls bereits laufend
|
|
ansible.builtin.shell: |
|
|
docker-compose -p michaelschiemer -f "{{ docker_compose_project_path | regex_replace('//$', '/') }}docker-compose-simple.yml" down --remove-orphans || true
|
|
args:
|
|
chdir: "{{ docker_compose_project_path | regex_replace('//$', '/') }}"
|
|
executable: /bin/bash
|
|
environment:
|
|
COMPOSE_IGNORE_ORPHANS: "True"
|
|
ignore_errors: yes
|
|
|
|
# Container neustarten mit der vereinfachten Konfiguration
|
|
- name: Docker Container starten
|
|
ansible.builtin.shell: |
|
|
export DOCKER_BUILDKIT=0
|
|
docker-compose -p michaelschiemer -f "{{ docker_compose_project_path | regex_replace('//$', '/') }}docker-compose-simple.yml" up -d --build
|
|
args:
|
|
chdir: "{{ docker_compose_project_path | regex_replace('//$', '/') }}"
|
|
executable: /bin/bash
|
|
environment:
|
|
COMPOSE_IGNORE_ORPHANS: "True"
|
|
PATH: "/usr/local/bin:/usr/bin:/bin"
|
|
|
|
- name: Container-Status prüfen
|
|
ansible.builtin.shell: |
|
|
docker-compose -p michaelschiemer -f "{{ docker_compose_project_path | regex_replace('//$', '/') }}docker-compose-simple.yml" ps
|
|
args:
|
|
chdir: "{{ docker_compose_project_path | regex_replace('//$', '/') }}"
|
|
executable: /bin/bash
|
|
register: compose_ps
|
|
|
|
- name: Container-Status anzeigen
|
|
ansible.builtin.debug:
|
|
var: compose_ps.stdout_lines
|
|
|
|
- name: Docker-Fehlermeldungen anzeigen (falls vorhanden)
|
|
ansible.builtin.debug:
|
|
var: compose_ps.stderr_lines
|
|
when: compose_ps.stderr is defined and compose_ps.stderr != ""
|
|
|
|
- name: Container-Logs anzeigen für Fehlersuche
|
|
ansible.builtin.shell: |
|
|
docker-compose -p michaelschiemer -f "{{ docker_compose_project_path | regex_replace('//$', '/') }}docker-compose-simple.yml" logs --tail=20
|
|
args:
|
|
chdir: "{{ docker_compose_project_path | regex_replace('//$', '/') }}"
|
|
executable: /bin/bash
|
|
register: compose_logs
|
|
ignore_errors: yes
|
|
|
|
- name: Container-Logs ausgeben
|
|
ansible.builtin.debug:
|
|
var: compose_logs.stdout_lines
|
|
when: compose_logs.stdout is defined
|