kubernetes-client / c

Official C client library for Kubernetes
Apache License 2.0
148 stars 47 forks source link

[WIP][Feature]Configuraion support for kubernetes-client/c #4

Closed ityuhui closed 3 years ago

ityuhui commented 4 years ago

Hi @brendandburns

In order to meet the requirement of client bronze requirements , I begin to implement the configuration utility now.

My design is adding a directory "config" under the directory kubernetes

c/kubernetes/config 

and some source files

c/kubernetes/config/kube_config.h
c/kubernetes/config/kube_config.c

to hold the utility functions.

What methods should we support at least ?

brendandburns commented 4 years ago

We should definitely also support exec https://kubernetes.io/docs/reference/access-authn-authz/authentication/#configuration

and probably clouds (GCP, Azure, AWS) auth.

Ideally we can make it pluggable so that people can dynamically register new authentication methods.

ityuhui commented 4 years ago

Status updated on Aug 21, 2020

  1. Support GCP, Azure, AWS by plugin library (the plugin framework and OIDC plugin are Implemented by PR https://github.com/kubernetes-client/c/pull/26)

  2. Support exec following the specification https://kubernetes.io/docs/reference/access-authn-authz/authentication/#configuration (Implemented by PR https://github.com/kubernetes-client/c/pull/12)

  3. Support load_k8s_config_in_cluster for

  4. Support load_k8s_config_out_of_cluster for

ityuhui commented 4 years ago

SSL client authentication is implemented by https://github.com/kubernetes-client/c/pull/7

ityuhui commented 4 years ago

X509 client certificate in kube config file is supported by the PR https://github.com/kubernetes-client/c/pull/9

ityuhui commented 4 years ago

Configuration of service token and CA in cluster is supported by the PR https://github.com/kubernetes-client/c/pull/10

ityuhui commented 4 years ago

exec (https://kubernetes.io/docs/reference/access-authn-authz/authentication/#configuration) is supported by the PR #12

ityuhui commented 4 years ago

auth provider plugin framework and OIDC plugin are implemented by the PR https://github.com/kubernetes-client/c/pull/26

ityuhui commented 4 years ago

Considering most of configuration cases are supported, I will suspend this task from now.

If other authentication method (e.g. AWS, Azure, GCP) is needed, I can continue by demand. And PR is welcome.

fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

ityuhui commented 3 years ago

/remove-lifecycle stale

Use this ticket to trace the current status of configuration support.

fejta-bot commented 3 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

fejta-bot commented 3 years ago

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten

fejta-bot commented 3 years ago

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-contributor-experience at kubernetes/community. /close

k8s-ci-robot commented 3 years ago

@fejta-bot: Closing this issue.

In response to [this](https://github.com/kubernetes-client/c/issues/4#issuecomment-851164798): >Rotten issues close after 30d of inactivity. >Reopen the issue with `/reopen`. >Mark the issue as fresh with `/remove-lifecycle rotten`. > >Send feedback to sig-contributor-experience at [kubernetes/community](https://github.com/kubernetes/community). >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.