DevOps Expert Skill
Quick Start
# 1. Navigation rapide vers un agent
devops/agents/cicd/github-actions # Configurer GitHub Actions
devops/agents/containers/docker # Dockerfile et optimisation
devops/agents/kubernetes/deployments # Manifestes K8s
devops/agents/infrastructure/terraform # Infrastructure as Code
devops/agents/monitoring/prometheus # Métriques et alertes
# 2. Exécuter les tests de validation
cd .web-agency/skills/devops && npm test
# 3. Questions fréquentes
"Configurer une pipeline CI/CD ?" → cicd/github-actions
"Optimiser mon Dockerfile ?" → containers/docker
"Déployer sur Kubernetes ?" → kubernetes/deployments
"Créer mon infra avec Terraform ?" → infrastructure/terraform
"Configurer Prometheus/Grafana ?" → monitoring/prometheus
Position dans l'Architecture
Ce skill est au NIVEAU 3 : IMPLÉMENTATION. Il implémente les décisions de direction-technique et les process de web-dev-process.
┌─────────────────────────────────────────────────────────────────────┐
│ NIVEAU 1 : STRATÉGIE (direction-technique/infrastructure) │
│ → POURQUOI : Quelle stratégie CI/CD ? Quel cloud provider ? │
├─────────────────────────────────────────────────────────────────────┤
│ NIVEAU 2 : OPÉRATIONS │
│ ┌────────────────────────────┐ ┌────────────────────────────┐ │
│ │ web-dev-process │ │ lead-dev │ │
│ │ setup/ + deployment/ │ │ delivery/ │ │
│ │ QUOI : Process CI/CD │ │ QUI : Coordination │ │
│ └────────────────────────────┘ └────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────┤
│ NIVEAU 3 : IMPLÉMENTATION │
│ ┌────────────────────────────────────────────────────────────┐ │
│ │ devops ← CE SKILL │ │
│ │ COMMENT : Pipelines, containers, K8s, IaC, monitoring │ │
│ └────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
Philosophie
Automatiser, fiabiliser, observer.
Le DevOps est le pont entre développement et opérations. Il :
- ✅ Automatise les pipelines de build, test, deploy
- ✅ Conteneurise les applications
- ✅ Orchestre les déploiements (Kubernetes)
- ✅ Provisionne l'infrastructure (IaC)
- ✅ Observe et alerte (monitoring)
Il ne fait PAS :
- ❌ Les décisions stratégiques d'infrastructure →
direction-technique
- ❌ La définition des process CI/CD →
web-dev-process
- ❌ La coordination des releases →
lead-dev
- ❌ L'implémentation applicative →
backend-developer, frontend-developer
Domaines et Agents (30 agents)
1. cicd/ - Pipelines CI/CD (6 agents)
Automatisation des builds, tests et déploiements.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination CI/CD |
- |
github-actions |
Pipelines GitHub |
GitHub Actions, workflows |
gitlab-ci |
Pipelines GitLab |
GitLab CI, .gitlab-ci.yml |
pipelines |
Patterns de pipelines |
Stages, jobs, cache |
quality-gates |
Validation qualité |
SonarQube, coverage |
artifacts |
Gestion des artefacts |
npm, Docker, releases |
2. containers/ - Conteneurisation (5 agents)
Docker et gestion des images.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination containers |
- |
docker |
Dockerfile et build |
Multi-stage, optimisation |
docker-compose |
Orchestration locale |
docker-compose.yml |
registries |
Registres d'images |
Docker Hub, ECR, GCR |
security |
Sécurité des images |
Trivy, Snyk, best practices |
3. kubernetes/ - Orchestration K8s (6 agents)
Déploiement et gestion Kubernetes.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination K8s |
- |
deployments |
Déploiements |
Deployment, ReplicaSet |
services |
Exposition |
Service, Ingress |
helm |
Charts Helm |
values.yaml, templates |
scaling |
Auto-scaling |
HPA, VPA, Keda |
config |
Configuration |
ConfigMaps, Secrets |
4. infrastructure/ - Infrastructure as Code (5 agents)
Provisionnement d'infrastructure.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination IaC |
- |
terraform |
Terraform |
HCL, modules, state |
aws |
Amazon Web Services |
EC2, RDS, S3, EKS |
gcp |
Google Cloud Platform |
GCE, GKE, Cloud SQL |
networking |
Réseau |
VPC, subnets, security groups |
5. monitoring/ - Observabilité (5 agents)
Métriques, logs et alertes.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination monitoring |
- |
prometheus |
Métriques |
Prometheus, exporters |
grafana |
Dashboards |
Grafana, panels |
logging |
Logs centralisés |
ELK, Loki, Fluentd |
alerting |
Alertes |
Alertmanager, PagerDuty |
6. deployment/ - Stratégies de déploiement (3 agents)
Patterns de déploiement avancés.
| Agent |
Responsabilité |
Technologies |
orchestrator |
Coordination déploiement |
- |
strategies |
Stratégies (Blue-Green, Canary) |
ArgoCD, Flux |
rollback |
Rollback et recovery |
Procédures, automation |
Total : 30 agents spécialisés
Règles de Routage
Par Type de Question
| Question |
Domaine |
| Pipeline CI/CD, GitHub Actions, GitLab CI |
cicd/ |
| Docker, Dockerfile, images |
containers/ |
| Kubernetes, Helm, pods, services |
kubernetes/ |
| Terraform, AWS, GCP, cloud |
infrastructure/ |
| Prometheus, Grafana, logs, alertes |
monitoring/ |
| Blue-Green, Canary, rollback |
deployment/ |
Par Mots-Clés
| Mots-clés |
Domaine/Agent |
| GitHub Actions, workflow, .github |
cicd/github-actions |
| GitLab CI, .gitlab-ci.yml |
cicd/gitlab-ci |
| Dockerfile, docker build, image |
containers/docker |
| docker-compose, services locaux |
containers/docker-compose |
| kubectl, deployment, pod, replica |
kubernetes/deployments |
| helm, chart, values.yaml |
kubernetes/helm |
| terraform, tf, HCL, plan, apply |
infrastructure/terraform |
| EC2, RDS, S3, Lambda, EKS |
infrastructure/aws |
| prometheus, metrics, scrape |
monitoring/prometheus |
| grafana, dashboard, panels |
monitoring/grafana |
| logs, ELK, Loki, Fluentd |
monitoring/logging |
| blue-green, canary, feature flag |
deployment/strategies |
Arbre de Décision
Requête DevOps
│
├─ Concerne les pipelines CI/CD ?
│ ├─ GitHub Actions → cicd/github-actions
│ ├─ GitLab CI → cicd/gitlab-ci
│ ├─ Qualité/coverage → cicd/quality-gates
│ └─ Patterns généraux → cicd/pipelines
│
├─ Concerne les containers ?
│ ├─ Dockerfile → containers/docker
│ ├─ Compose → containers/docker-compose
│ ├─ Registry → containers/registries
│ └─ Sécurité images → containers/security
│
├─ Concerne Kubernetes ?
│ ├─ Déploiements → kubernetes/deployments
│ ├─ Services/Ingress → kubernetes/services
│ ├─ Helm → kubernetes/helm
│ ├─ Scaling → kubernetes/scaling
│ └─ ConfigMaps/Secrets → kubernetes/config
│
├─ Concerne l'infrastructure ?
│ ├─ Terraform → infrastructure/terraform
│ ├─ AWS → infrastructure/aws
│ ├─ GCP → infrastructure/gcp
│ └─ Réseau → infrastructure/networking
│
├─ Concerne le monitoring ?
│ ├─ Métriques → monitoring/prometheus
│ ├─ Dashboards → monitoring/grafana
│ ├─ Logs → monitoring/logging
│ └─ Alertes → monitoring/alerting
│
├─ Concerne les stratégies de déploiement ?
│ ├─ Blue-Green, Canary → deployment/strategies
│ └─ Rollback → deployment/rollback
│
├─ Décision stratégique ?
│ └─ → skill direction-technique/infrastructure
│
└─ Process CI/CD ?
└─ → skill web-dev-process/setup
Interaction avec les Autres Skills
Flux Entrants
direction-technique/infrastructure ──► devops (stratégie → implémentation)
web-dev-process/setup/cicd ──► devops (process → implémentation)
lead-dev/delivery ──► devops (coordination → exécution)
Flux Sortants
devops ──► backend-developer (déploiement → app backend)
devops ──► frontend-developer (déploiement → app frontend)
devops ──► nextjs-expert (complément Next.js spécifique)
Points d'Escalade
Vers direction-technique
| Situation |
Raison |
| Choix de cloud provider |
Décision stratégique |
| Architecture infrastructure |
Impact long terme |
| Budget infrastructure |
Validation financière |
| Sécurité réseau globale |
Politique sécurité |
Vers lead-dev
| Situation |
Raison |
| Planification release |
Coordination équipe |
| Hotfix urgent |
Décision go/no-go |
| Rollback production |
Validation métier |
Vers l'humain
| Situation |
Raison |
| Accès credentials production |
Sensibilité sécurité |
| Incident P1/P2 |
Responsabilité |
| Coûts cloud imprévus |
Validation budget |
| Changement architecture majeur |
Impact business |
Security Best Practices
Le DevOps gère des opérations sensibles (secrets, déploiements, infrastructure). Appliquer ces principes de sécurité :
1. Gestion des Secrets
| Pratique |
Description |
| Ne jamais committer de secrets |
Pas de .env, credentials, API keys dans git |
| Variables d'environnement |
Utiliser les secrets managers (GitHub Secrets, GitLab CI/CD Variables) |
| Secrets par environnement |
Séparer dev, staging, production |
| Rotation régulière |
Changer les credentials périodiquement |
# ✅ Bon : référence à un secret
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
# ❌ Mauvais : secret en clair
env:
DATABASE_URL: "postgresql://user:password@host:5432/db"
2. Scanning et Validation
| Outil |
Usage |
Intégration |
| Secret scanning |
Détection de secrets dans le code |
GitHub Advanced Security, GitLeaks |
| SAST |
Analyse statique sécurité |
SonarQube, Snyk Code |
| DAST |
Tests dynamiques |
OWASP ZAP |
| Container scanning |
Vulnérabilités images |
Trivy, Snyk Container |
| Dependency scanning |
Vulnérabilités deps |
Dependabot, npm audit |
# Pipeline avec security gates
jobs:
security:
steps:
- name: Secret Scan
uses: trufflesecurity/trufflehog@main
- name: SAST
uses: SonarSource/sonarcloud-github-action@master
- name: Container Scan
run: trivy image ${{ env.IMAGE }}
3. Infrastructure Security
| Domaine |
Bonnes Pratiques |
| Réseau |
VPC privés, security groups restrictifs, pas de 0.0.0.0/0 |
| IAM |
Principe du moindre privilège, pas de credentials root |
| Encryption |
At-rest et in-transit, KMS pour les clés |
| Logging |
CloudTrail/Audit logs activés, centralisation |
4. Container Security
Voir l'agent containers/security pour les détails complets :
- Images de base minimales (alpine, distroless)
- Utilisateur non-root dans les containers
- Scan des vulnérabilités avant push
- Pas de secrets dans les images
- Healthchecks configurés
5. Pipeline Security
| Risque |
Mitigation |
| Injection dans workflows |
Éviter ${{ github.event.*.body }} non échappé |
| Permissions excessives |
permissions: read-all par défaut |
| Actions tierces |
Pin par SHA, pas par tag |
| Artifacts sensibles |
Ne pas exposer de logs avec secrets |
# Sécurité pipeline GitHub Actions
permissions:
contents: read
pull-requests: write # Seulement si nécessaire
jobs:
build:
steps:
# ✅ Pin par SHA
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
# ❌ Pin par tag (peut changer)
- uses: actions/checkout@v4
6. Checklist Sécurité
## Pre-Deployment Security Checklist
### Secrets
- [ ] Aucun secret dans le code source
- [ ] Variables d'environnement configurées
- [ ] Secret scanning activé
### Scanning
- [ ] SAST passé (0 critical)
- [ ] Container scan passé
- [ ] Dependency audit passé
### Infrastructure
- [ ] Security groups restrictifs
- [ ] IAM least privilege
- [ ] Encryption activée
### Pipeline
- [ ] Permissions minimales
- [ ] Actions pinnées par SHA
- [ ] Logs sanitisés
Références
- Agent détaillé :
containers/security
- OWASP DevSecOps Guidelines
- CIS Benchmarks (Docker, Kubernetes)
Skills Associés
| Skill |
Niveau |
Relation |
direction-technique |
STRATÉGIE |
Reçoit les directives infra |
web-dev-process |
OPÉRATIONS |
Suit les process CI/CD |
lead-dev |
OPÉRATIONS |
Coordonne les releases |
backend-developer |
IMPLÉMENTATION |
Déploie les apps backend |
frontend-developer |
IMPLÉMENTATION |
Déploie les apps frontend |
nextjs-expert |
IMPLÉMENTATION |
Complément Vercel/Next.js |
Changelog
v1.0.0
- Création initiale avec 6 domaines et 30 agents
- Extraction depuis backend-developer/devops
- Position : NIVEAU 3 IMPLÉMENTATION
- Couverture : CI/CD, containers, K8s, IaC, monitoring, deployment
1---2name: devops3description: |-4 Expert DevOps pour CI/CD, containers, Kubernetes et Infrastructure as Code. Utilise ce skill quand: (1) mise en place de pipelines CI/CD, (2) containerisation avec Docker/K8s, (3) infrastructure as code (Terraform, Pulumi), (4) monitoring et alerting, (5) optimisation des déploiements, (6) sécurisation de l'infrastructure.5metadata:6 version: 1.0.07 status: active8---910# DevOps Expert Skill1112## Quick Start1314```bash15# 1. Navigation rapide vers un agent16devops/agents/cicd/github-actions # Configurer GitHub Actions17devops/agents/containers/docker # Dockerfile et optimisation18devops/agents/kubernetes/deployments # Manifestes K8s19devops/agents/infrastructure/terraform # Infrastructure as Code20devops/agents/monitoring/prometheus # Métriques et alertes2122# 2. Exécuter les tests de validation23cd .web-agency/skills/devops && npm test2425# 3. Questions fréquentes26"Configurer une pipeline CI/CD ?" → cicd/github-actions27"Optimiser mon Dockerfile ?" → containers/docker28"Déployer sur Kubernetes ?" → kubernetes/deployments29"Créer mon infra avec Terraform ?" → infrastructure/terraform30"Configurer Prometheus/Grafana ?" → monitoring/prometheus31```3233## Position dans l'Architecture3435Ce skill est au **NIVEAU 3 : IMPLÉMENTATION**. Il implémente les décisions de `direction-technique` et les process de `web-dev-process`.3637```38┌─────────────────────────────────────────────────────────────────────┐39│ NIVEAU 1 : STRATÉGIE (direction-technique/infrastructure) │40│ → POURQUOI : Quelle stratégie CI/CD ? Quel cloud provider ? │41├─────────────────────────────────────────────────────────────────────┤42│ NIVEAU 2 : OPÉRATIONS │43│ ┌────────────────────────────┐ ┌────────────────────────────┐ │44│ │ web-dev-process │ │ lead-dev │ │45│ │ setup/ + deployment/ │ │ delivery/ │ │46│ │ QUOI : Process CI/CD │ │ QUI : Coordination │ │47│ └────────────────────────────┘ └────────────────────────────┘ │48├─────────────────────────────────────────────────────────────────────┤49│ NIVEAU 3 : IMPLÉMENTATION │50│ ┌────────────────────────────────────────────────────────────┐ │51│ │ devops ← CE SKILL │ │52│ │ COMMENT : Pipelines, containers, K8s, IaC, monitoring │ │53│ └────────────────────────────────────────────────────────────┘ │54└─────────────────────────────────────────────────────────────────────┘55```5657## Philosophie5859> Automatiser, fiabiliser, observer.6061Le DevOps est le **pont entre développement et opérations**. Il :62- ✅ Automatise les pipelines de build, test, deploy63- ✅ Conteneurise les applications64- ✅ Orchestre les déploiements (Kubernetes)65- ✅ Provisionne l'infrastructure (IaC)66- ✅ Observe et alerte (monitoring)6768Il ne fait PAS :69- ❌ Les décisions stratégiques d'infrastructure → `direction-technique`70- ❌ La définition des process CI/CD → `web-dev-process`71- ❌ La coordination des releases → `lead-dev`72- ❌ L'implémentation applicative → `backend-developer`, `frontend-developer`7374## Domaines et Agents (30 agents)7576### 1. cicd/ - Pipelines CI/CD (6 agents)7778Automatisation des builds, tests et déploiements.7980| Agent | Responsabilité | Technologies |81|-------|----------------|--------------|82| `orchestrator` | Coordination CI/CD | - |83| `github-actions` | Pipelines GitHub | GitHub Actions, workflows |84| `gitlab-ci` | Pipelines GitLab | GitLab CI, .gitlab-ci.yml |85| `pipelines` | Patterns de pipelines | Stages, jobs, cache |86| `quality-gates` | Validation qualité | SonarQube, coverage |87| `artifacts` | Gestion des artefacts | npm, Docker, releases |8889### 2. containers/ - Conteneurisation (5 agents)9091Docker et gestion des images.9293| Agent | Responsabilité | Technologies |94|-------|----------------|--------------|95| `orchestrator` | Coordination containers | - |96| `docker` | Dockerfile et build | Multi-stage, optimisation |97| `docker-compose` | Orchestration locale | docker-compose.yml |98| `registries` | Registres d'images | Docker Hub, ECR, GCR |99| `security` | Sécurité des images | Trivy, Snyk, best practices |100101### 3. kubernetes/ - Orchestration K8s (6 agents)102103Déploiement et gestion Kubernetes.104105| Agent | Responsabilité | Technologies |106|-------|----------------|--------------|107| `orchestrator` | Coordination K8s | - |108| `deployments` | Déploiements | Deployment, ReplicaSet |109| `services` | Exposition | Service, Ingress |110| `helm` | Charts Helm | values.yaml, templates |111| `scaling` | Auto-scaling | HPA, VPA, Keda |112| `config` | Configuration | ConfigMaps, Secrets |113114### 4. infrastructure/ - Infrastructure as Code (5 agents)115116Provisionnement d'infrastructure.117118| Agent | Responsabilité | Technologies |119|-------|----------------|--------------|120| `orchestrator` | Coordination IaC | - |121| `terraform` | Terraform | HCL, modules, state |122| `aws` | Amazon Web Services | EC2, RDS, S3, EKS |123| `gcp` | Google Cloud Platform | GCE, GKE, Cloud SQL |124| `networking` | Réseau | VPC, subnets, security groups |125126### 5. monitoring/ - Observabilité (5 agents)127128Métriques, logs et alertes.129130| Agent | Responsabilité | Technologies |131|-------|----------------|--------------|132| `orchestrator` | Coordination monitoring | - |133| `prometheus` | Métriques | Prometheus, exporters |134| `grafana` | Dashboards | Grafana, panels |135| `logging` | Logs centralisés | ELK, Loki, Fluentd |136| `alerting` | Alertes | Alertmanager, PagerDuty |137138### 6. deployment/ - Stratégies de déploiement (3 agents)139140Patterns de déploiement avancés.141142| Agent | Responsabilité | Technologies |143|-------|----------------|--------------|144| `orchestrator` | Coordination déploiement | - |145| `strategies` | Stratégies (Blue-Green, Canary) | ArgoCD, Flux |146| `rollback` | Rollback et recovery | Procédures, automation |147148**Total : 30 agents spécialisés**149150## Règles de Routage151152### Par Type de Question153154| Question | Domaine |155|----------|---------|156| Pipeline CI/CD, GitHub Actions, GitLab CI | `cicd/` |157| Docker, Dockerfile, images | `containers/` |158| Kubernetes, Helm, pods, services | `kubernetes/` |159| Terraform, AWS, GCP, cloud | `infrastructure/` |160| Prometheus, Grafana, logs, alertes | `monitoring/` |161| Blue-Green, Canary, rollback | `deployment/` |162163### Par Mots-Clés164165| Mots-clés | Domaine/Agent |166|-----------|---------------|167| GitHub Actions, workflow, .github | `cicd/github-actions` |168| GitLab CI, .gitlab-ci.yml | `cicd/gitlab-ci` |169| Dockerfile, docker build, image | `containers/docker` |170| docker-compose, services locaux | `containers/docker-compose` |171| kubectl, deployment, pod, replica | `kubernetes/deployments` |172| helm, chart, values.yaml | `kubernetes/helm` |173| terraform, tf, HCL, plan, apply | `infrastructure/terraform` |174| EC2, RDS, S3, Lambda, EKS | `infrastructure/aws` |175| prometheus, metrics, scrape | `monitoring/prometheus` |176| grafana, dashboard, panels | `monitoring/grafana` |177| logs, ELK, Loki, Fluentd | `monitoring/logging` |178| blue-green, canary, feature flag | `deployment/strategies` |179180## Arbre de Décision181182```183Requête DevOps184│185├─ Concerne les pipelines CI/CD ?186│ ├─ GitHub Actions → cicd/github-actions187│ ├─ GitLab CI → cicd/gitlab-ci188│ ├─ Qualité/coverage → cicd/quality-gates189│ └─ Patterns généraux → cicd/pipelines190│191├─ Concerne les containers ?192│ ├─ Dockerfile → containers/docker193│ ├─ Compose → containers/docker-compose194│ ├─ Registry → containers/registries195│ └─ Sécurité images → containers/security196│197├─ Concerne Kubernetes ?198│ ├─ Déploiements → kubernetes/deployments199│ ├─ Services/Ingress → kubernetes/services200│ ├─ Helm → kubernetes/helm201│ ├─ Scaling → kubernetes/scaling202│ └─ ConfigMaps/Secrets → kubernetes/config203│204├─ Concerne l'infrastructure ?205│ ├─ Terraform → infrastructure/terraform206│ ├─ AWS → infrastructure/aws207│ ├─ GCP → infrastructure/gcp208│ └─ Réseau → infrastructure/networking209│210├─ Concerne le monitoring ?211│ ├─ Métriques → monitoring/prometheus212│ ├─ Dashboards → monitoring/grafana213│ ├─ Logs → monitoring/logging214│ └─ Alertes → monitoring/alerting215│216├─ Concerne les stratégies de déploiement ?217│ ├─ Blue-Green, Canary → deployment/strategies218│ └─ Rollback → deployment/rollback219│220├─ Décision stratégique ?221│ └─ → skill direction-technique/infrastructure222│223└─ Process CI/CD ?224 └─ → skill web-dev-process/setup225```226227## Interaction avec les Autres Skills228229### Flux Entrants230231```232direction-technique/infrastructure ──► devops (stratégie → implémentation)233web-dev-process/setup/cicd ──► devops (process → implémentation)234lead-dev/delivery ──► devops (coordination → exécution)235```236237### Flux Sortants238239```240devops ──► backend-developer (déploiement → app backend)241devops ──► frontend-developer (déploiement → app frontend)242devops ──► nextjs-expert (complément Next.js spécifique)243```244245## Points d'Escalade246247### Vers direction-technique248249| Situation | Raison |250|-----------|--------|251| Choix de cloud provider | Décision stratégique |252| Architecture infrastructure | Impact long terme |253| Budget infrastructure | Validation financière |254| Sécurité réseau globale | Politique sécurité |255256### Vers lead-dev257258| Situation | Raison |259|-----------|--------|260| Planification release | Coordination équipe |261| Hotfix urgent | Décision go/no-go |262| Rollback production | Validation métier |263264### Vers l'humain265266| Situation | Raison |267|-----------|--------|268| Accès credentials production | Sensibilité sécurité |269| Incident P1/P2 | Responsabilité |270| Coûts cloud imprévus | Validation budget |271| Changement architecture majeur | Impact business |272273## Security Best Practices274275Le DevOps gère des opérations sensibles (secrets, déploiements, infrastructure). Appliquer ces principes de sécurité :276277### 1. Gestion des Secrets278279| Pratique | Description |280|----------|-------------|281| **Ne jamais committer de secrets** | Pas de `.env`, credentials, API keys dans git |282| **Variables d'environnement** | Utiliser les secrets managers (GitHub Secrets, GitLab CI/CD Variables) |283| **Secrets par environnement** | Séparer dev, staging, production |284| **Rotation régulière** | Changer les credentials périodiquement |285286```yaml287# ✅ Bon : référence à un secret288env:289 DATABASE_URL: ${{ secrets.DATABASE_URL }}290291# ❌ Mauvais : secret en clair292env:293 DATABASE_URL: "postgresql://user:password@host:5432/db"294```295296### 2. Scanning et Validation297298| Outil | Usage | Intégration |299|-------|-------|-------------|300| **Secret scanning** | Détection de secrets dans le code | GitHub Advanced Security, GitLeaks |301| **SAST** | Analyse statique sécurité | SonarQube, Snyk Code |302| **DAST** | Tests dynamiques | OWASP ZAP |303| **Container scanning** | Vulnérabilités images | Trivy, Snyk Container |304| **Dependency scanning** | Vulnérabilités deps | Dependabot, npm audit |305306```yaml307# Pipeline avec security gates308jobs:309 security:310 steps:311 - name: Secret Scan312 uses: trufflesecurity/trufflehog@main313 - name: SAST314 uses: SonarSource/sonarcloud-github-action@master315 - name: Container Scan316 run: trivy image ${{ env.IMAGE }}317```318319### 3. Infrastructure Security320321| Domaine | Bonnes Pratiques |322|---------|------------------|323| **Réseau** | VPC privés, security groups restrictifs, pas de 0.0.0.0/0 |324| **IAM** | Principe du moindre privilège, pas de credentials root |325| **Encryption** | At-rest et in-transit, KMS pour les clés |326| **Logging** | CloudTrail/Audit logs activés, centralisation |327328### 4. Container Security329330Voir l'agent `containers/security` pour les détails complets :331332- Images de base minimales (alpine, distroless)333- Utilisateur non-root dans les containers334- Scan des vulnérabilités avant push335- Pas de secrets dans les images336- Healthchecks configurés337338### 5. Pipeline Security339340| Risque | Mitigation |341|--------|------------|342| Injection dans workflows | Éviter `${{ github.event.*.body }}` non échappé |343| Permissions excessives | `permissions: read-all` par défaut |344| Actions tierces | Pin par SHA, pas par tag |345| Artifacts sensibles | Ne pas exposer de logs avec secrets |346347```yaml348# Sécurité pipeline GitHub Actions349permissions:350 contents: read351 pull-requests: write # Seulement si nécessaire352353jobs:354 build:355 steps:356 # ✅ Pin par SHA357 - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11358 # ❌ Pin par tag (peut changer)359 - uses: actions/checkout@v4360```361362### 6. Checklist Sécurité363364```markdown365## Pre-Deployment Security Checklist366367### Secrets368- [ ] Aucun secret dans le code source369- [ ] Variables d'environnement configurées370- [ ] Secret scanning activé371372### Scanning373- [ ] SAST passé (0 critical)374- [ ] Container scan passé375- [ ] Dependency audit passé376377### Infrastructure378- [ ] Security groups restrictifs379- [ ] IAM least privilege380- [ ] Encryption activée381382### Pipeline383- [ ] Permissions minimales384- [ ] Actions pinnées par SHA385- [ ] Logs sanitisés386```387388### Références389390- Agent détaillé : `containers/security`391- OWASP DevSecOps Guidelines392- CIS Benchmarks (Docker, Kubernetes)393394## Skills Associés395396| Skill | Niveau | Relation |397|-------|--------|----------|398| `direction-technique` | STRATÉGIE | Reçoit les directives infra |399| `web-dev-process` | OPÉRATIONS | Suit les process CI/CD |400| `lead-dev` | OPÉRATIONS | Coordonne les releases |401| `backend-developer` | IMPLÉMENTATION | Déploie les apps backend |402| `frontend-developer` | IMPLÉMENTATION | Déploie les apps frontend |403| `nextjs-expert` | IMPLÉMENTATION | Complément Vercel/Next.js |404405## Changelog406407### v1.0.0408- Création initiale avec 6 domaines et 30 agents409- Extraction depuis backend-developer/devops410- Position : NIVEAU 3 IMPLÉMENTATION411- Couverture : CI/CD, containers, K8s, IaC, monitoring, deployment