Here at Fairwinds, we rely on our open source projects to help customers and our community build the right Kubernetes architecture for their organization. One of our most popular open source projects, Pluto, allows users to easily find deprecated Kubernetes API versions in their Infrastructure-as-Code repositories and Helm releases. Named after the original deprecated dwarf planet, our open source project Pluto recognizes outdated APIs in Kubernetes objects as they are replaced by more stable APIs.
While deprecated API versions are fairly easy to remedy, the trick is finding all the places where you may have used a version that will be outdated in your next upgrade. Asking the Kubernetes API server to identify them for you can be problematic. If you ask the API server to give you deployments.v1.apps, and the deployment was originally created as deployments.v1beta1.extensions, the server will convert the API version and return a manifest with apps/v1. This means locating where a deprecated API has been used can be challenging to say the least. More information about why Pluto was originally created can be found in the Pluto documentation.
Pluto remedies this issue by checking a few different places where a deprecated version may be running. In infrastructure-as-Code repositories, Pluto can check both static manifests and charts for older API versions. And in live Helm releases, Pluto can confirm Helm releases running in your clusters do not contain deprecated versions. Pluto differentiates between apiVersions that have simply been deprecated and versions that have been completely removed from the Kubernetes API.
CircleCI has introduced the concept of reusable configuration in the form of “orbs,” a reusable package of YAML configuration that condenses repeated pieces of configuration into a single line of code. These orbs are reusable snippets of code that help organizations:
As of Pluto v5.2.0, Fairwinds publishes an orb called fairwinds/pluto in order to provide easier configuration inside of CircleCI. We would like to thank our open source community for this contribution to the project.
We have also recently started signing our containers with cosign, pushing them to a new location: us-docker.pkg.dev/fairwinds-ops/oss/pluto. Users can now run cosign verify us-docker.pkg.dev/fairwinds-ops/oss/pluto:v5 — key https://artifacts.fairwinds.com/cosign.pub to check the signature. This is a supply chain security measure to help practitioners verify that they are running the actual Pluto container published by Fairwinds.
Lastly, in light of the many deprecations and removals coming in Kubernetes v1.22, we have made sure to keep our list of versions up-to-date with the latest available information. If you do find an error or update in the versions that Pluto is reporting, please let us know by filing a Github issue.
At Fairwinds, we are huge advocates of Kubernetes and the community of open source technologies surrounding it. Our team has managed hundreds of clusters for customers over the years, and we have learned a lot about the problems and pitfalls involved in running Kubernetes. In fact, we are firm believers that open source software is paving the way for more competitive business models.
Even with thousands of users in our open source community, we are always looking for ways to bring people together around these projects, to discuss development and give practitioners a chance to influence the ongoing roadmap. This is why we established our Fairwinds Open Source User Group last year—to give members a chance to ask questions, solve problems, network with other users and share what has been working in their environment.
Our next open source community meeting will be held on June 22, 2022 at 11am EDT | 8am PDT. If you are interested in joining us, please REGISTER FOR THE GROUP, and we will send you an official invitation. And if you attend our next open source meeting, you will get some excellent Fairwinds swag!
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, our platform for auditing and enforcing policy in Kubernetes clusters.