kubeclient icon indicating copy to clipboard operation
kubeclient copied to clipboard

Kubernetes Incubation Proposal for Kubeclient

Open simon3z opened this issue 8 years ago • 5 comments
trafficstars

Reference: https://github.com/kubernetes/community/blob/master/incubator.md Champion: Clayton Coleman - @smarterclayton

README

Problem Statement

Kubernetes is currently missing a Ruby client of reference. Kubeclient is a project started in December 2014 that implements the Kubernetes API for Ruby. Since Q1 2016 with the addition of the api-group support it covers all the discoverable objects and the majority of the verbs of the API.

Proposed Solution

Kubeclient will continue tracking the evolution of Kubernetes API to enable Ruby applications to interact with Kubernetes.

At the moment Kubeclient is incompatible with the client code generation; it currently uses the swagger API definition to discover the objects at run-time (rather than generating code). Anyway following the semver rules for the Gem versioning we'll be able to gradually converge to the generated code once that will be stable enough and on par with features.

The build and release of the Kubeclient Gem to rubygems.org can be integrated in any build/ci workflow (jenkins, etc.) that the Kubernetes Incubator may have already in place.

Roadmap

  • [x] Q1 2015 - Project started
  • [x] Q2 2015 - Adopted by ManageIQ as client for Kubernetes
  • [x] Q1 2016 - Support for the api-group and OpenShift extensions
  • [ ] Q3 2016 - Evaluation of the convergence with code generation
  • [ ] FUTURE - Continue tracking the evolution of Kubernetes API

OWNERS

assignees:
  - abonas
  - fsimonce
  - mtayer

simon3z avatar Dec 14 '16 15:12 simon3z

Add description of how to converge with client generation, and add points about whether this is inconsistent or not.

Ask the question about how the ruby gems can be built and pushed to the mirrors. Who does that?

smarterclayton avatar Dec 14 '16 15:12 smarterclayton

Add description of how to converge with client generation, and add points about whether this is inconsistent or not.

Ask the question about how the ruby gems can be built and pushed to the mirrors. Who does that?

@smarterclayton I think these two parts are related. I assume there's a way to auto-generate ruby code from swagger (we'll have to evaluate if that has issues), but even so, is there anyone in Kubernetes already assigned to release Gems? If that's not in place we could converge this client to the auto-generation and provide the Gem generation if that's missing.

simon3z avatar Dec 14 '16 15:12 simon3z

I don't think you have to start with auto gen, just have an answer for how you'd use it / approach it.

Gem generation I don't think is happening, so there may be some concern about approaching it.

smarterclayton avatar Dec 14 '16 16:12 smarterclayton

@smarterclayton I updated the issue with the info you needed.

simon3z avatar Dec 14 '16 17:12 simon3z

Looks ok.

smarterclayton avatar Dec 19 '16 20:12 smarterclayton