Files
michaelschiemer/.deployment-backup/ansible/wireguard-server/remove-client.yml
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

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."