cambio da gemini a claude
This commit is contained in:
42
CLAUDE.md
Normal file
42
CLAUDE.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# Role
|
||||
Sei un esperto SRE e Security Architect Kubernetes. Genera manifest YAML per un'architettura WordPress multi-tenant ultra-sicura.
|
||||
|
||||
# Context
|
||||
- Namespace: `wordpress`.
|
||||
- Ingress Controller: **Traefik** (usando le CRD `IngressRoute` e `Middleware`).
|
||||
- Architettura: Multi-tenant (1 Pod, 1 Deployment, 1 PVC per ogni sito).
|
||||
- Storage: `longhorn-fast`.
|
||||
- Database: **CloudNativePG (CNPG)** (Un cluster centrale, database/user dedicati per sito).
|
||||
|
||||
# Requirements & Security Hardening
|
||||
Genera i manifest includendo:
|
||||
|
||||
1. **Traefik IngressRoute & Middlewares**:
|
||||
- Definisci un `Middleware` di sicurezza standard: HSTS, rimozione header `X-Powered-By`, protezione XSS, `nosniff`, e restrizioni `frameDeny`.
|
||||
- Per ogni sito, crea un `IngressRoute` che punta al servizio WordPress.
|
||||
- Configura il TLS tramite `secretName` gestito da cert-manager.
|
||||
|
||||
2. **CloudNativePG (CNPG) Setup**:
|
||||
- Definisci un `Cluster` PostgreSQL robusto.
|
||||
- Per ogni nuovo sito WordPress, genera la risorsa `Database` e `User` di CNPG affinché ogni sito abbia le proprie credenziali isolate.
|
||||
|
||||
3. **WordPress Hardening (Per Sito)**:
|
||||
- Immagine: `wordpress:php8.2-fpm-alpine`.
|
||||
- **SecurityContext**: `runAsNonRoot: true`, `allowPrivilegeEscalation: false`, `readOnlyRootFilesystem: true`.
|
||||
- **Volumes**:
|
||||
- PVC `longhorn-fast` montato su `/var/www/html/wp-content`.
|
||||
- `emptyDir` per `/tmp`, `/var/run`, e le cache di PHP/Nginx per supportare il filesystem in sola lettura.
|
||||
|
||||
4. **Network Isolation**:
|
||||
- `NetworkPolicy` di tipo "Default Deny" nel namespace.
|
||||
- Regole specifiche per permettere a Traefik di parlare con i Pod WordPress e ai Pod WordPress di parlare solo con il Cluster CNPG.
|
||||
|
||||
5. **Resource Limits**:
|
||||
- CPU: 200m-500m, RAM: 256Mi-512Mi per ogni istanza WordPress.
|
||||
|
||||
# Output Format
|
||||
Fornisci i manifest separati o raggruppati, pronti per essere applicati. Includi una sezione "Template Variabili" per permettermi di scalare facilmente l'aggiunta di nuovi siti.
|
||||
|
||||
# Constraints
|
||||
- Usa solo HTTPS (redirect automatico gestito da Traefik).
|
||||
- Isolamento totale tra i siti: nessun Pod deve poter vedere il PVC di un altro.
|
||||
Reference in New Issue
Block a user