# Documentation de Procédure : Incident CloudFlare

## Vue d'ensemble

Cette procédure décrit les étapes à suivre en cas d'incident CloudFlare nécessitant un basculement temporaire vers les serveurs d'origine, puis le retour au CDN CloudFlare.

---

## ? Phase 1 : Basculement vers les serveurs d'origine (incident CloudFlare)

### Objectif
Contourner CloudFlare en redirigeant directement vers les serveurs MediaManager d'origine.

### Étapes

#### 1. Mise à jour des templates
Exécuter la requête SQL suivante sur la base de données :

```sql
UPDATE templates 
SET 
    tpl_img_host = 'https://mmimg.stream-up.eu',
    tpl_js_host = 'https://mmjs.stream-up.eu',
    tpl_files_host = 'https://mmfiles.stream-up.eu',
    tpl_cdn_fontawesome = 'https://live.stream-up.eu/k4econgress-static-assets/fontawesome-pro-6.4.2-web/css/all.min.css';
```

#### 2. Vidange du cache Redis
**Important** : Vider uniquement le cache Media Manager sans impacter les sessions utilisateurs.

```bash
# Se connecter au serveur Redis !! DB4 !!
IMPORTANT : Se connecter au serveur DB4 de Redis utilisé par Media Manager.
redis-cli FLUSHALL
```

**Note** : Rappel le flushAll se fait sur DB4

---

## Phase 2 : Retour au CDN CloudFlare (résolution de l'incident)

### Objectif
Rétablir l'utilisation du CDN CloudFlare pour optimiser la performance et réduire la charge sur les serveurs d'origine.

### Étapes

#### 1. Mise à jour des templates
Exécuter la requête SQL suivante :

```sql
UPDATE templates 
SET 
    tpl_img_host = 'https://mmcdnimg.stream-up.eu',
    tpl_js_host = 'https://mmcdnjs.stream-up.eu',
    tpl_files_host = 'https://k4mm-files.stream-up.eu/',
    tpl_cdn_fontawesome = 'https://kit.fontawesome.com/7ca21305c9.js';
```

#### 2. Vidange du cache Redis
Répéter l'opération de vidange du cache (voir Phase 1, étape 2).

#### 3. Purge du cache CloudFlare (optionnel)
Si nécessaire, purger le cache CloudFlare via le dashboard :
- Se connecter à l'interface CloudFlare
- Sélectionner le domaine concerné
- Caching ? Purge Cache ? Purge Everything

---

## Checklist de vérification

### Après basculement vers les serveurs d'origine
- [ ] Les assets (images, JS, CSS) se chargent correctement
- [ ] FontAwesome fonctionne
- [ ] Les sessions utilisateurs sont préservées
- [ ] Les performances restent acceptables

### Après retour au CDN CloudFlare
- [ ] Les assets se chargent via CloudFlare
- [ ] FontAwesome Kit fonctionne
- [ ] Les sessions utilisateurs sont préservées
- [ ] Les performances sont optimales

---

## Points d'attention

1. **Sessions Redis** : Bien effectuer le flush sur la bonne base de données (DB4)
2. **Timing** : Prévoir un délai de propagation (TTL cache) après chaque modification
3. **Monitoring** : Surveiller les temps de réponse et les erreurs 404 après chaque changement
4. **FontAwesome** : Deux modes différents (self-hosted vs CDN Kit) entre origine et CloudFlare

---

## Diagnostic

### Vérifier les hosts actuellement configurés
```sql
SELECT 
    tpl_id,
    tpl_img_host,
    tpl_js_host,
    tpl_files_host,
    tpl_cdn_fontawesome
FROM templates;
```

---

# CloudFlare Incident Procedure Documentation

## Overview

This procedure describes the steps to follow in case of a CloudFlare incident requiring a temporary failover to origin servers, then the return to CloudFlare CDN.

---

## Phase 1: Failover to Origin Servers (CloudFlare Incident)

### Objective
Bypass CloudFlare by redirecting directly to MediaManager origin servers.

### Steps

#### 1. Update Templates
Execute the following SQL query on the database:

```sql
UPDATE templates 
SET 
    tpl_img_host = 'https://mmimg.stream-up.eu',
    tpl_js_host = 'https://mmjs.stream-up.eu',
    tpl_files_host = 'https://mmfiles.stream-up.eu/',
    tpl_cdn_fontawesome = 'https://live.stream-up.eu/k4econgress-static-assets/fontawesome-pro-6.4.2-web/css/all.min.css';
```

#### 2. Flush Redis Cache
**Important**: Flush only Media Manager cache without impacting user sessions.

```bash
# ?? Connect to Redis Server ?? DB4 ??
IMPORTANT: Connect to Redis DB4 server used by Media Manager.
redis-cli FLUSHALL
```

**Note**: Reminder - FLUSHALL is performed on DB4

---

## Phase 2: Return to CloudFlare CDN (Incident Resolution)

### Objective
Restore CloudFlare CDN usage to optimize performance and reduce load on origin servers.

### Steps

#### 1. Update Templates
Execute the following SQL query:

```sql
UPDATE templates 
SET 
    tpl_img_host = 'https://mmcdnimg.stream-up.eu',
    tpl_js_host = 'https://mmcdnjs.stream-up.eu',
    tpl_files_host = 'https://k4mm-files.stream-up.eu/',
    tpl_cdn_fontawesome = 'https://kit.fontawesome.com/7ca21305c9.js';
```

#### 2. Flush Redis Cache
Repeat the cache flush operation (see Phase 1, step 2).

#### 3. Purge CloudFlare Cache (Optional)
If necessary, purge CloudFlare cache via dashboard:
- Log in to CloudFlare interface
- Select the concerned domain
- Caching ? Purge Cache ? Purge Everything

---

## Verification Checklist

### After Failover to Origin Servers
- [ ] Assets (images, JS, CSS) load correctly
- [ ] FontAwesome works
- [ ] User sessions are preserved
- [ ] Performance remains acceptable

### After Return to CloudFlare CDN
- [ ] Assets load via CloudFlare
- [ ] FontAwesome Kit works
- [ ] User sessions are preserved
- [ ] Performance is optimal

---

## Key Points

1. **Redis Sessions**: Ensure flush is performed on the correct database (DB4)
2. **Timing**: Allow for propagation delay (cache TTL) after each modification
3. **Monitoring**: Monitor response times and 404 errors after each change
4. **FontAwesome**: Two different modes (self-hosted vs CDN Kit) between origin and CloudFlare

---

## Diagnostics

### Check Currently Configured Hosts
```sql
SELECT 
    tpl_id,
    tpl_img_host,
    tpl_js_host,
    tpl_files_host,
    tpl_cdn_fontawesome
FROM templates;
```

---

## Modification History

| Date | Author  | Description |
|------|---------|-------------|
| 2025-12-15 | Brandon | Initial documentation creation |

