kube-linter
Overview
kube-linter, c'est l'outil de linting développé par StackRox (maintenant Red Hat) qui pense que déployer des YAML Kubernetes sans validation préalable, c'est de l'inconscience. Il analyse tes manifests K8s pour détecter les misconfigurations de sécurité, reliability, et performance avant qu'ils atteignent le cluster. Si tu veux shift-left ta sécurité K8s et éviter les déploiements foireux, c'est indispensable.
kube-linter utilise des rules configurables pour analyser les YAML Kubernetes : sécurité (containers privilégiés, missing security contexts), reliability (pas de resource limits), performance (anti-patterns). Intégration native CI/CD, output formats multiples, rules custom, et whitelist/ignore patterns.
kube-linter se distingue par sa rapidité (analyse statique pure), sa configurabilité (rules à la carte), et son focus shift-left (validation avant déploiement dans le pipeline).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://github.com/stackrox/kube-linter |
| Repository | https://github.com/stackrox/kube-linter |
| Licence | Apache 2.0 |
| Développeur | Red Hat (ex-StackRox) |
| Langage | Go |
| Analyse | Statique YAML |
Cas d'usage typiques
- Validation de manifests Kubernetes dans pipelines CI/CD (shift-left security)
- Pre-commit hooks pour bloquer YAML mal configurés avant Git push
- IDE integration pour feedback temps réel pendant développement
- Policy enforcement avec checks automatisés sur Pull Requests
- Audit de configurations existantes avec batch analysis de repos
- Custom rules pour standards organisationnels spécifiques
Intégrations et écosystème
- CI/CD : intégration native GitHub Actions, GitLab CI, Jenkins, etc.
- IDE : plugins VS Code, IntelliJ pour linting temps réel
- Git hooks : pre-commit, pre-push pour validation automatique
- Output : JSON, sarif, plain text pour intégration downstream tools
- Helm : support des charts Helm avec template rendering
- Kustomize : analyse des outputs après kustomization
Avantages
- ✅ Shift-left security : détection problèmes avant déploiement cluster
- ✅ Performance : analyse statique ultra-rapide, pas de cluster requis
- ✅ Configurable : rules à la carte, custom rules, whitelist patterns
- ✅ CI/CD native : intégration parfaite pipelines et Git workflows
- ✅ Multi-format : support YAML raw, Helm, Kustomize outputs
- ✅ Zero dependencies : binaire unique, pas de setup complexe
Inconvénients et limitations
- ❌ Static analysis only : ne détecte pas problèmes runtime ou interactions
- ❌ Context limité : analyse fichiers individuellement, pas cluster-wide context
- ❌ False positives : certaines rules peuvent ne pas s'appliquer selon contexte
- ❌ Limited scope : focus sur manifests K8s, pas sur code application
- ❌ Rule maintenance : custom rules nécessitent maintenance et expertise
Alternatives
- Polaris : validation best practices avec dashboard (plus complet)
- kubesec : focus sécurité uniquement (moins de rules)
- OPA Conftest : plus flexible avec Rego mais plus complexe
- kube-bench : audit cluster déployé (complémentaire)
- Admission controllers : Kyverno/Gatekeeper pour runtime enforcement
Ressources
- GitHub : https://github.com/stackrox/kube-linter
- Documentation : README avec rules reference complète
- Red Hat : intégration dans Advanced Cluster Security