Kubernetes Static Analysis Tools
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community. It is said to be notoriously difficult to manage Kubernetes clusters, which is why there are many tools and services to help with this task.
9 Kubernetes Tools
chart-testing
ct is the the tool for testing Helm charts. It is meant to be used for linting and testing pull requests. It automatically detects charts changed against the target branch.
clusterlint
Clusterlint queries live Kubernetes clusters for resources, executes common and platform specific checks against these resources and provides actionable feedback to cluster operators. It is a non invasive tool that is run externally. Clusterlint does not alter the resource configurations.
klint
A tool that listens to changes in Kubernetes resources and runs linting rules against them. Identify and debug erroneous objects and nudge objects in line with the policies as both change over time. Klint helps us encode checks and proactively alert teams when they need to take action.
kube-lint
A linter for Kubernetes resources with a customizable rule set. You define a list of rules that you would like to validate against your resources and kube-lint will evaluate those rules against them.
kube-linter
KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
kubeconform
A fast Kubernetes manifests validator with support for custom resources. It is inspired by, contains code from and is designed to stay close to Kubeval, but with the following improvements: * high performance: will validate & download manifests over multiple routines, caching downloaded files in memory * configurable list of remote, or local schemas locations, enabling validating Kubernetes custom resources (CRDs) and offline validation capabilities * uses by default a self-updating fork of the schemas registry maintained by the kubernetes-json-schema project - which guarantees up-to-date schemas for all recent versions of Kubernetes.
KubeLinter
KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices.
6 Multi-Language Tools
Datree
A CLI tool to prevent Kubernetes misconfigurations by ensuring that manifests and Helm charts follow best practices as well as your organization’s policies
kics
Find security vulnerabilities, compliance issues, and infrastructure misconfigurations in your infrastructure-as-code. Supports Terraform, Kubernetes, Docker, AWS CloudFormation and Ansible
krane
Krane is a simple Kubernetes RBAC static analysis tool. It identifies potential security risks in K8s RBAC design and makes suggestions on how to mitigate them. Krane dashboard presents current RBAC security posture and lets you navigate through its definition.
Mega-Linter
Mega-Linter can handle any type of project thanks to its 70+ embedded Linters, its advanced reporting, runnable on any CI system or locally, with assisted installation and configuration, able to apply formatting and fixes
- dotnet
- apex
- c
- csharp
- cpp
- clojure
- coffeescript
- dart
- go
- groovy
- java
- javascript
- jsx
- kotlin
- lwc
- lua
- perl
- php
- powershell
- python
- r
- raku
- ruby
- rust
- scala
- shell
- sql
- typescript
- vbnet
- dotenv
- ansible
- arm
- cloudformation
- configfile
- configmanagement
- container
- ci
- css
- dockerfile
- formatter
- gherkin
- html
- json
- kubernetes
- latex
- markdown
- nodejs
- protobuf
- puppet
- terraform
- vue
- writing
- xml
- yaml
Semgrep
A fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Its rules look like the code you already write; no abstract syntax trees or regex wrestling. Supports 17+ languages.
- c
- csharp
- go
- java
- javascript
- jsx
- ocaml
- php
- python
- ruby
- typescript
- configmanagement
- ci
- dockerfile
- json
- kubernetes
- nodejs
- rails
- security
- terraform
- yaml
Help make this list better
Suggest Tools