digitalocean / clusterlint

A best practices checker for Kubernetes clusters. 🤠
Apache License 2.0
547 stars 45 forks source link

Add support for local checks via Go plugins #73

Closed adamwg closed 4 years ago

adamwg commented 4 years ago

We've had questions a few times about whether it's possible to implement organization-specific checks that are not appropriate for inclusion in the clusterlint codebase. For example, a company may have some highly specific best practice that isn't relevant anywhere else, but want to enforce it using clusterlint alongside all their other best practices.

Implement this capability by allowing Go plugins to be loaded into clusterlint at runtime. Document how to build plugins, and provide an example.

adamwg commented 4 years ago

@timoreimann Thanks for the review. I've expanded on the caveats to using plugins, so hopefully we're giving sufficient warning. Plugins do work on macOS as well as Linux now, but not on Windows and other platforms.