chore: complete update
This commit is contained in:
43
ansible/nginx-cdn-germany/playbooks/deploy-simple-cdn.yml
Normal file
43
ansible/nginx-cdn-germany/playbooks/deploy-simple-cdn.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
# Simple CDN Deployment
|
||||
|
||||
- name: Deploy Simple CDN for Germany
|
||||
hosts: cdn_nodes
|
||||
become: yes
|
||||
serial: 1 # Ein Node nach dem anderen
|
||||
|
||||
pre_tasks:
|
||||
- name: Update system packages
|
||||
apt:
|
||||
update_cache: yes
|
||||
upgrade: dist
|
||||
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name:
|
||||
- nginx
|
||||
- certbot
|
||||
- python3-certbot-nginx
|
||||
- curl
|
||||
- htop
|
||||
- bc
|
||||
state: present
|
||||
|
||||
roles:
|
||||
- nginx-cdn-config
|
||||
- ssl-certificates
|
||||
- simple-monitoring
|
||||
|
||||
post_tasks:
|
||||
- name: Verify CDN health
|
||||
uri:
|
||||
url: "https://{{ inventory_hostname }}/health"
|
||||
method: GET
|
||||
status_code: 200
|
||||
validate_certs: yes
|
||||
retries: 5
|
||||
delay: 10
|
||||
|
||||
- name: Display deployment success
|
||||
debug:
|
||||
msg: "✅ CDN Node {{ inventory_hostname }} ({{ city }}) successfully deployed!"
|
||||
68
ansible/nginx-cdn-germany/playbooks/manage-cdn.yml
Normal file
68
ansible/nginx-cdn-germany/playbooks/manage-cdn.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
# 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"
|
||||
Reference in New Issue
Block a user