feat: add PHP ini management system and update infrastructure configs
- Add PHP ini management classes (Access, IniDirective, IniKey, PhpIni) - Update deployment configurations (Wireguard, Traefik, Monitoring) - Add DNS stack and Ansible role - Add deployment debugging playbooks - Update framework components (FilePath, RedisConnectionPool) - Update .gitignore and documentation
This commit is contained in:
125
deployment/ansible/playbooks/debug-grafana-403.yml
Normal file
125
deployment/ansible/playbooks/debug-grafana-403.yml
Normal file
@@ -0,0 +1,125 @@
|
||||
---
|
||||
- name: Debug Grafana 403 Error
|
||||
hosts: production
|
||||
gather_facts: yes
|
||||
become: no
|
||||
|
||||
# This playbook requires the production inventory file
|
||||
# Run with: ansible-playbook -i ../inventory/production.yml debug-grafana-403.yml
|
||||
|
||||
tasks:
|
||||
- name: Check Traefik logs for recent Grafana access attempts
|
||||
shell: |
|
||||
cd ~/deployment/stacks/traefik
|
||||
echo "=== Recent Traefik Access Logs (last 50 lines with grafana) ==="
|
||||
docker compose logs --tail=100 traefik 2>&1 | grep -i grafana | tail -50 || echo "No grafana entries found"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: traefik_logs
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display Traefik logs
|
||||
debug:
|
||||
msg: "{{ traefik_logs.stdout_lines }}"
|
||||
|
||||
- name: Check Traefik access log file
|
||||
shell: |
|
||||
cd ~/deployment/stacks/traefik
|
||||
echo "=== Recent Traefik Access Log (last 50 lines) ==="
|
||||
tail -50 logs/access.log 2>&1 | tail -50 || echo "Access log not found"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: access_log
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display access log
|
||||
debug:
|
||||
msg: "{{ access_log.stdout_lines }}"
|
||||
|
||||
- name: Check Grafana container status
|
||||
shell: |
|
||||
cd ~/deployment/stacks/monitoring
|
||||
docker compose ps grafana
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: grafana_status
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display Grafana status
|
||||
debug:
|
||||
msg: "{{ grafana_status.stdout_lines }}"
|
||||
|
||||
- name: Check Grafana Traefik labels
|
||||
shell: |
|
||||
cd ~/deployment/stacks/monitoring
|
||||
docker compose config | grep -A 20 "grafana:" | grep -E "(ipwhitelist|middleware|sourcerange)" || echo "No IP whitelist labels found"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: grafana_labels
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display Grafana labels
|
||||
debug:
|
||||
msg: "{{ grafana_labels.stdout_lines }}"
|
||||
|
||||
- name: Check CoreDNS configuration
|
||||
shell: |
|
||||
cd ~/deployment/stacks/dns
|
||||
echo "=== CoreDNS Corefile ==="
|
||||
cat Corefile 2>&1 || echo "Corefile not found"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: coredns_config
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display CoreDNS configuration
|
||||
debug:
|
||||
msg: "{{ coredns_config.stdout_lines }}"
|
||||
|
||||
- name: Check monitoring stack environment variables
|
||||
shell: |
|
||||
cd ~/deployment/stacks/monitoring
|
||||
echo "=== MONITORING_VPN_IP_WHITELIST ==="
|
||||
grep MONITORING_VPN_IP_WHITELIST .env 2>&1 || echo "Variable not found in .env"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: monitoring_env
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display monitoring environment
|
||||
debug:
|
||||
msg: "{{ monitoring_env.stdout_lines }}"
|
||||
|
||||
- name: Test DNS resolution for grafana.michaelschiemer.de
|
||||
shell: |
|
||||
echo "=== DNS Resolution Test ==="
|
||||
dig +short grafana.michaelschiemer.de @10.8.0.1 2>&1 || echo "DNS resolution failed"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: dns_test
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display DNS test result
|
||||
debug:
|
||||
msg: "{{ dns_test.stdout_lines }}"
|
||||
|
||||
- name: Check WireGuard interface status
|
||||
shell: |
|
||||
echo "=== WireGuard Interface Status ==="
|
||||
sudo wg show 2>&1 || echo "WireGuard not running or no permissions"
|
||||
args:
|
||||
executable: /bin/bash
|
||||
register: wg_status
|
||||
ignore_errors: yes
|
||||
failed_when: false
|
||||
|
||||
- name: Display WireGuard status
|
||||
debug:
|
||||
msg: "{{ wg_status.stdout_lines }}"
|
||||
Reference in New Issue
Block a user