Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logo to README #32

Merged
merged 9 commits into from
Apr 10, 2020
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,41 @@
# Pluto
<div align="center">
<img src="/img/logo.png" alt="Pluto Logo" height="200"/>
<br>

![CircleCI](https://img.shields.io/circleci/build/github/FairwindsOps/pluto) [![codecov](https://codecov.io/gh/FairwindsOps/pluto/branch/master/graph/badge.svg?token=A23F79JTNA)](https://codecov.io/gh/FairwindsOps/pluto) [![Go Report Card](https://goreportcard.com/badge/github.com/FairwindsOps/pluto)](https://goreportcard.com/report/github.com/FairwindsOps/pluto) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/FairwindsOps/pluto) ![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/FairwindsOps/pluto)
<h3>Find Kubernetes resources that have been <strike>abandoned by the scientific community</strike> deprecated</h3>

[![GitHub go.mod Go version][version-image]][version-link] [![GitHub release (latest SemVer)][release-image]][release-link] [![CircleCI][circleci-image]][circleci-link] [![Code Coverage][codecov-image]][codecov-link] [![Go Report Card][goreport-image]][goreport-link]
</div>

[version-image]: https://img.shields.io/github/go-mod/go-version/FairwindsOps/pluto
[version-link]: https://github.com/FairwindsOps/pluto

[release-image]: https://img.shields.io/github/go-mod/go-version/FairwindsOps/pluto
[release-link]: https://github.com/FairwindsOps/pluto

[goreport-image]: https://goreportcard.com/badge/github.com/FairwindsOps/pluto
[goreport-link]: https://goreportcard.com/report/github.com/FairwindsOps/pluto

[circleci-image]: https://circleci.com/gh/FairwindsOps/pluto.svg?style=svg
[circleci-link]: https://circleci.com/gh/FairwindsOps/pluto.svg

[codecov-image]: https://codecov.io/gh/FairwindsOps/pluto/branch/master/graph/badge.svg
[codecov-link]: https://codecov.io/gh/FairwindsOps/pluto

This is a very simple utility to help users find deprecated Kubernetes apiVersions in their code repositories and their helm releases.

**Want to learn more?** Reach out on [the Slack channel](https://fairwindscommunity.slack.com/messages/pluto), send an email to `opensource@fairwinds.com`, or join us for [office hours on Zoom](https://fairwindscommunity.slack.com/messages/office-hours)

## Purpose

Kubernetes sometimes deprecates apiVersions. The most notable currently is the large number of deprecations that happen in the [1.16 release](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/). This is fine, and it's a fairly easy thing to deal with. However, it can be difficult to find all the places where you might have used a version that will be deprecated in your next upgrade. You might think, "I'll just ask the api-server to tell me!", but this is fraught with danger. If you ask the api-server to give you `deployments.v1.apps`, and the deployment was deployed as `deployments.v1beta1.extensions`, the api-server will quite happily convert the api version and return a manifest with `apps/v1`. This is fairly well outlined in the discussion in [this issue](https://github.com/kubernetes/kubernetes/issues/58131#issuecomment-356823588).
Kubernetes sometimes deprecates apiVersions. Most notably, a large number of deprecations happened in the [1.16 release](https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/). This is fine, and it's a fairly easy thing to deal with. However, it can be difficult to find all the places where you might have used a version that will be deprecated in your next upgrade.

You might think, "I'll just ask the api-server to tell me!", but this is fraught with danger. If you ask the api-server to give you `deployments.v1.apps`, and the deployment was deployed as `deployments.v1beta1.extensions`, the api-server will quite happily convert the api version and return a manifest with `apps/v1`. This is fairly well outlined in the discussion in [this issue](https://github.com/kubernetes/kubernetes/issues/58131#issuecomment-356823588).

So, long story short, finding the places where you have deployed a deprecated apiVersion can be challenging. This is where `pluto` comes in. You can use pluto to check a few different places where you might have placed a deprecated version. The first is in your code, whether static manifests or a helm chart. The second place you can look is in the Helm releases stored in your cluster. Pluto makes it easy to do either of those things.
So, long story short, finding the places where you have deployed a deprecated apiVersion can be challenging. This is where `pluto` comes in. You can use pluto to check a couple different places where you might have placed a deprecated version:
* Infrastructure-as-Code repos: Pluto can check both static manifests and Helm charts for deprecated apiVersions
* Live Helm releases: Pluto can check both Helm 2 and Helm 3 releases running in your cluster for deprecated apiVersions

## Installation

Expand Down
Binary file added img/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.