---
# Nginx CDN Konfiguration

- name: Remove default nginx config
  file:
    path: /etc/nginx/sites-enabled/default
    state: absent
  notify: reload nginx

- name: Create nginx directories
  file:
    path: "{{ item }}"
    state: directory
    owner: www-data
    group: www-data
    mode: '0755'
  loop:
    - /var/cache/nginx/static
    - /var/cache/nginx/images
    - /var/cache/nginx/html
    - /var/log/nginx/cdn
    - /etc/nginx/includes

- name: Configure nginx main config
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf
    backup: yes
  notify: reload nginx

- name: Create nginx includes
  template:
    src: "{{ item }}.j2"
    dest: "/etc/nginx/includes/{{ item }}"
  loop:
    - security-headers.conf
    - rate-limiting.conf
    - gzip-settings.conf
  notify: reload nginx

- name: Configure CDN site
  template:
    src: cdn-site.conf.j2
    dest: /etc/nginx/sites-available/cdn
    backup: yes
  notify: reload nginx

- name: Enable CDN site
  file:
    src: /etc/nginx/sites-available/cdn
    dest: /etc/nginx/sites-enabled/cdn
    state: link
  notify: reload nginx

- name: Test nginx configuration
  command: nginx -t
  register: nginx_test
  failed_when: nginx_test.rc != 0

- name: Start and enable nginx
  systemd:
    name: nginx
    state: started
    enabled: yes
