cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
133 stars 22 forks source link

[Sandbox] Silver Surfer #53

Closed Abhinav-26 closed 2 months ago

Abhinav-26 commented 1 year ago

Application contact emails

abhinav@devtron.ai, prakarsh@devtron.ai, prashant@devtron.ai

Project Summary

Kubernetes objects api-version compatibility checker and provides migration path for K8s objects

Project Description

Silver surfer is used to check the api-version compatibility of running Kubernetes objects against the user-defined target Kubernetes version in which you want to upgrade your Kubernetes cluster to. It also provides a migration path for updating the current objects along with the configurations and descriptions.

kubedd is the command line utility that is used to check issues in migration of Kubernetes objects from one Kubernetes version to another.

It uses openapi spec provided by the Kubernetes with each release. For e.g, in case of target Kubernetes version 1.27, it will use openapi spec for 1.27 to validate the Kubernetes objects for depreciation or non-conformity with openapi spec.

Supported input formats

It also provides the details of issues with the Kubernetes object in case they are migrated to cluster with newer Kubernetes version.

Org repo URL (provide if all repos under the org are in scope of the application)

N/A

Project repo URL in scope of application

https://github.com/devtron-labs/silver-surfer

Additional repos in scope of the application

N/A

Website URL

https://github.com/devtron-labs/silver-surfer

Roadmap

https://github.com/devtron-labs/silver-surfer/blob/main/ROADMAP.md

Roadmap context

N/A

Contributing Guide

https://github.com/devtron-labs/silver-surfer/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

https://github.com/devtron-labs/silver-surfer/blob/main/CODE_OF_CONDUCT.md

Adopters

No response

Contributing or Sponsoring Org

https://devtron.ai/

Maintainers file

https://github.com/devtron-labs/silver-surfer/blob/main/MAINTAINERS

IP Policy

Trademark and accounts

Why CNCF?

Silver surfer was written around 2 years back. We believe the project has successfully established its foundational elements and now we would like to encourage further adoption and contributions from the community. By becoming the part of CNCF, it also makes it easier for users to contribute to the project as the CNCF CLA is widely accepted in the industry and this will also highlight our commitments to the open source ecosystem. Further, it brings an opportunity to build a vibrant community whose valuable inputs/suggestions can bring the best out this project.

Benefit to the Landscape

Cluster upgrades still remains a significant challenge for Kubernetes users. Silver surfer helps users to get the holistic view of current workloads, ensuring api-version compatibility and provides a migration path for K8s objects for the desired Kubernetes version. It uses openapi spec provided by Kubernetes for every new releases to validate the Kubernetes objects for depreciation or non-conformity with openapi spec. We firmly believe that the addition of Silver surfer to CNCF Landscape will help communities and enterprises to experience a seamless process of Kubernetes cluster upgrades.

Cloud Native 'Fit'

Silver surfer is designed specifically for Kubernetes cluster upgrades, examining running workload configuration and giving a migration path (desired configuration) so we think it can be a good fit for "Automation & Configuration" area.

Cloud Native 'Integration'

Silver surfer entirely works on Kubernetes ecosystem and can easily be integrated with any Kubernetes cluster to examine the running K8s objects and deprecations. The only pre-requisite or dependency of using this is project is to have a Kubernetes cluster.

Cloud Native Overlap

As per our understanding, there isn't any direct overlap with any other CNCF hosted projects as of today.

Similar projects

Kubeval: The most popular tool in this space but only validates against the user-defined Kubernetes version and doesn't provide a migration path. It is officially deprecated and no longer maintained.

Kube-no-trouble: It provides the information about removed and deprecated APIs but doesn't validate schema.

Kubepug: It gives information based on the deprecation comments in the schema, doesn't provide information

Landscape

The Contributing organization is already listed on CNCF Landscape

https://landscape.cncf.io/?selected=devtron

Business Product or Service to Project separation

N/A

Project presentations

N/A

Project champions

N/A

Additional information

N/A

nikhita commented 1 year ago

@joshgav do you think this would be related to TAG App Delivery?

thschue commented 1 year ago

@nikhita: Yes, I think this is in our scope ...

nikhita commented 1 year ago

Awesome!

@Abhinav-26 it would be great if you could present about Silver Surfer in TAG App Delivery.

Abhinav-26 commented 1 year ago

Hello @nikhita, that's awesome. I would love to talk about Silver Surfer in TAG App Delivery. In which meeting are we planning for this demo? 16th Aug, or 6th Sept?

joshgav commented 1 year ago

Thanks @Abhinav-26. I pencilled you in for our next open slot on Sept 6 and opened tracking issue https://github.com/cncf/tag-app-delivery/issues/446. Does Sept 6 work for you?

Here's the TAG's agenda/notes doc: https://docs.google.com/document/d/1OykvqvhSG4AxEdmDMXilrupsX2n1qCSJUWwTc3I7AOs/edit#heading=h.udpsv4r4ens

Abhinav-26 commented 1 year ago

Hello @joshgav, yes Sept 6 works for me. Thanks for creating a tracking issue & sharing the TAG's agenda docs.

joshgav commented 1 year ago

Thanks @Abhinav-26 for presenting Silver Surfer to TAG App Delivery on September 6. The recording starts here (https://youtu.be/vi49fpVI-_I?t=804) and notes are recorded in the TAG's tracking issue.

The TAG believes this fits in CNCF; though it might fit even better in Kubernetes itself. A small doubt was that it's small in scope compared to many CNCF projects, but we noted that there are other small projects in sandbox.

jberkus commented 11 months ago

Are there plans to propose/evaluate this as a Kubernetes subproject?

cathyhongzhang commented 11 months ago

CNCF TOCs have evaluated this project. We think it is a better fit for the Kubernetes project. We suggest that you review it with the Kubernetes community such as SIG-cluster-lifecycle.

amye commented 7 months ago

CNCF TOCs have evaluated this project. We think it is a better fit for the Kubernetes project. We suggest that you review it with the Kubernetes community such as SIG-cluster-lifecycle.

Abhinav-26 - have you discussed with the SIG-cluster-lifecycle team?

Abhinav-26 commented 7 months ago

CNCF TOCs have evaluated this project. We think it is a better fit for the Kubernetes project. We suggest that you review it with the Kubernetes community such as SIG-cluster-lifecycle.

Abhinav-26 - have you discussed with the SIG-cluster-lifecycle team?

Hey @amye, I haven't discussed it with SIG-cluster-lifecycle team yet, but planning to. Just curious to know if there are any specific reasons why it's not a fit for CNCF Sandbox?

mrbobbytables commented 5 months ago

Hey amye, I haven't discussed it with SIG-cluster-lifecycle team yet, but planning to. Just curious to know if there are any specific reasons why it's not a fit for CNCF Sandbox?

@Abhinav-26 I can't comment on the specific reasons^^;; but just wanted to check back in and see if you had a chance to talk to SIG Cluster Lifecycle?

cathyhongzhang commented 5 months ago

The TAG app delivery believes it might fit better in Kubernetes. TOC thinks the same. This project is about Kubernetes cluster upgrades. K8s SIG-cluster-lifecycle covers cluster deployment and upgrades. Suggest discussing it with the SIG-cluster-lifecycle

mrbobbytables commented 2 months ago

Closing as @cathyhongzhang responded with the recommendations for the project.