---
# CDN Management Tasks
- name: CDN Management and Maintenance
  hosts: cdn_nodes
  become: yes
  vars_prompt:
    - name: action
      prompt: "What action? (purge-cache/reload-config/check-health/view-stats/warm-cache)"
      private: no
      
  tasks:
    - name: Purge all cache
      shell: find /var/cache/nginx/ -type f -delete
      when: action == "purge-cache"
      
    - name: Display cache purge result
      debug:
        msg: "✅ Cache purged on {{ inventory_hostname }}"
      when: action == "purge-cache"
      
    - name: Reload nginx configuration
      systemd:
        name: nginx
        state: reloaded
      when: action == "reload-config"
      
    - name: Check CDN health
      uri:
        url: "https://{{ inventory_hostname }}/health"
        method: GET
        status_code: 200
      register: health_result
      when: action == "check-health"
      
    - name: Display health result
      debug:
        msg: "{{ health_result.content }}"
      when: action == "check-health"
      
    - name: Show cache and system statistics
      shell: |
        echo "=== Cache Size ==="
        du -sh /var/cache/nginx/
        echo "=== Cache Files ==="
        find /var/cache/nginx/ -type f | wc -l
        echo "=== System Load ==="
        uptime
        echo "=== Memory Usage ==="
        free -h
        echo "=== Disk Usage ==="
        df -h /
      register: stats_result
      when: action == "view-stats"
      
    - name: Display statistics
      debug:
        msg: "{{ stats_result.stdout_lines }}"
      when: action == "view-stats"
      
    - name: Warm cache with popular URLs
      uri:
        url: "https://{{ inventory_hostname }}{{ item }}"
        method: GET
      loop:
        - "/"
        - "/health"
      ignore_errors: yes
      when: action == "warm-cache"
