Copper

An open source tool to validate Kubernetes configuration files

Why do I need Copper?

If infrastructure as code is the right way to go, then you need to apply the same principles you use for code to infrastructure configuration as well.

What can I use Copper for?

You can use Copper to make sure your Kubernetes configuration files adhere to policies you set for your infrastructure, like not allowing latest as an image tag or making sure your Load Balancer IP addresses don't get changed by mistake.

How do I use Copper?

Write a simple rule

rule NoLatest ensure {  // use of latest as image tag is not allowed
fetch("$.spec.template.spec.containers..image")
    .as(:image)
    .pick(:tag)
    .contains("latest") == false
}

Run it against your configuration file

$ copper check --rules my_rule.cop --file deploy.yml

Ready to get started?

Read the Docs and Checkout the GitHub repo

Get Started