Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/FairwindsOps/pluto
A cli tool to help discover deprecated apiVersions in Kubernetes
https://github.com/FairwindsOps/pluto
fairwinds-official hacktoberfest helm kubernetes
Last synced: about 1 month ago
JSON representation
A cli tool to help discover deprecated apiVersions in Kubernetes
- Host: GitHub
- URL: https://github.com/FairwindsOps/pluto
- Owner: FairwindsOps
- License: apache-2.0
- Created: 2020-03-24T20:47:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-24T19:00:52.000Z (3 months ago)
- Last Synced: 2024-10-29T10:53:32.744Z (about 1 month ago)
- Topics: fairwinds-official, hacktoberfest, helm, kubernetes
- Language: Go
- Homepage: https://fairwinds.com
- Size: 2.92 MB
- Stars: 2,139
- Watchers: 26
- Forks: 124
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing/code-of-conduct.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- awesome-repositories - FairwindsOps/pluto - A cli tool to help discover deprecated apiVersions in Kubernetes (Go)
- awesome-k8s-resources - Pluto - Pluto is a utility to help users find deprecated Kubernetes apiVersions in their code repositories and their helm releases. (Tools and Libraries / Cluster Resources Management)
- awesome-devops - pluto - A cli tool to help discover deprecated apiVersions in Kubernetes - [Easily Find Deprecated API Versions with Pluto](https://www.fairwinds.com/blog/kubernetes-easily-find-deprecated-api-versions-with-pluto) (Kubernetes / Kubernetes // Dashboards, UI, Reporting and Validation)
README
Pluto is a utility to help users find [deprecated Kubernetes apiVersions](https://k8s.io/docs/reference/using-api/deprecation-guide/) in their code repositories and their helm releases.
## Documentation
Check out the [documentation at docs.fairwinds.com](https://pluto.docs.fairwinds.com)## Purpose
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 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## Kubernetes Deprecation Policy
You can read the full policy [here](https://kubernetes.io/docs/reference/using-api/deprecation-policy/)
Long story short, apiVersions get deprecated, and then they eventually get removed entirely. Pluto differentiates between these two, and will tell you if a version is `DEPRECATED` or `REMOVED`
## GitHub Action Usage
Want to use pluto within your GitHub workflows?```yaml
- name: Download Pluto
uses: FairwindsOps/pluto/github-action@master- name: Use pluto
run: |
pluto detect-files -d pkg/finder/testdata
```## Join the Fairwinds Open Source Community
The goal of the Fairwinds Community is to exchange ideas, influence the open source roadmap,
and network with fellow Kubernetes users.
[Chat with us on Slack](https://join.slack.com/t/fairwindscommunity/shared_invite/zt-2na8gtwb4-DGQ4qgmQbczQyB2NlFlYQQ)
or
[join the user group](https://www.fairwinds.com/open-source-software-user-group) to get involved!## Other Projects from Fairwinds
Enjoying Pluto? Check out some of our other projects:
* [Polaris](https://github.com/FairwindsOps/Polaris) - Audit, enforce, and build policies for Kubernetes resources, including over 20 built-in checks for best practices
* [Goldilocks](https://github.com/FairwindsOps/Goldilocks) - Right-size your Kubernetes Deployments by compare your memory and CPU settings against actual usage
* [Nova](https://github.com/FairwindsOps/Nova) - Check to see if any of your Helm charts have updates available
* [rbac-manager](https://github.com/FairwindsOps/rbac-manager) - Simplify the management of RBAC in your Kubernetes clustersOr [check out the full list](https://www.fairwinds.com/open-source-software?utm_source=pluto&utm_medium=pluto&utm_campaign=pluto)
## Fairwinds Insights
If you're interested in running Pluto in multiple clusters,
tracking the results over time, integrating with Slack, Datadog, and Jira,
or unlocking other functionality, check out
[Fairwinds Insights](https://fairwinds.com/pricing),
a platform for auditing and enforcing policy in Kubernetes clusters.