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>
52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
---
|
|
- name: Remove WireGuard Client
|
|
hosts: vpn
|
|
become: true
|
|
gather_facts: false
|
|
|
|
vars_prompt:
|
|
- name: client_name
|
|
prompt: "Client-Name zum Entfernen"
|
|
private: false
|
|
|
|
tasks:
|
|
- name: Validiere Eingaben
|
|
fail:
|
|
msg: "client_name muss angegeben werden"
|
|
when: client_name | length == 0
|
|
|
|
- name: Prüfe ob Client existiert
|
|
stat:
|
|
path: /etc/wireguard/clients/{{ client_name }}.conf
|
|
register: client_exists
|
|
|
|
- name: Fehler wenn Client nicht existiert
|
|
fail:
|
|
msg: "Client {{ client_name }} existiert nicht!"
|
|
when: not client_exists.stat.exists
|
|
|
|
- name: Entferne Client aus Server-Konfiguration
|
|
blockinfile:
|
|
path: /etc/wireguard/wg0.conf
|
|
marker: "# {mark} {{ client_name }}"
|
|
state: absent
|
|
|
|
- name: Lösche Client-Dateien
|
|
file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
loop:
|
|
- /etc/wireguard/clients/{{ client_name }}-private.key
|
|
- /etc/wireguard/clients/{{ client_name }}-public.key
|
|
- /etc/wireguard/clients/{{ client_name }}.conf
|
|
- /etc/wireguard/clients/{{ client_name }}-psk.key
|
|
|
|
- name: Starte WireGuard neu
|
|
systemd:
|
|
name: wg-quick@wg0
|
|
state: restarted
|
|
|
|
- name: Bestätige Entfernung
|
|
debug:
|
|
msg: "✅ Client {{ client_name }} wurde erfolgreich entfernt."
|