CreMindES / whalelint

Dockerfile linter written in Go. It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WhaleLint

made-with-Go

Disclaimer: this has started out as a pet-project while learning Golang.

Dockerfile linter written in Go.

It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.

Sample output

Rules

Each Dockerfile AST element has a corresponding set of rules. Click on the picture for details.

Development

Roadmap

Feature Status
Extendable ruleset Done
CLI Done
Configurable Output Done
- JSON Done
- Colored Summary Done
Docker image Done
Rule pass NotYetStarted
- Per line NotYetStarted
- Config file NotYetStarted
Config file NotYetStarted
- Rule profiles NotYetStarted
IDE plugins/extensions InProgress
- VSCode PreviewRelease
- JetBrains PreviewRelease

Design Decisions

A collection of documents describing the thought process behind selected design decisions. Link >

Contribution Guide

Link > TODO

Docker Image

Docker imaage version DockerHub Downloads Docker image size

docker pull cremindes/whalelint:[tag]
docker run --rm -v $(pwd)/Dockerfile:/Dockerfile cremindes/whalelint:[tag] Dockerfile

Plugins

JetBrains

Version Downloads

*Note: make sure, to also install the Docker plugin in case it's not bundled with the IDE.

VSCode

Version Installs

Alternatives

Alternatives

About

Dockerfile linter written in Go. It provides static analysis for Dockerfiles, identifying common mistakes and promotes best practices.

License:MIT License


Languages

Language:Go 89.7%Language:Kotlin 5.8%Language:TypeScript 3.7%Language:JavaScript 0.5%Language:Dockerfile 0.3%Language:Shell 0.1%Language:HTML 0.0%