auth0 / k8s-pixy-auth

k8s plugin to authenticate against an OIDC compatible issuer using PKCE (pixy) flow
MIT License
26 stars 9 forks source link

Not works with kubectl 1.23.5 #40

Closed STRRL closed 2 years ago

STRRL commented 2 years ago

Description

Provide a clear and concise description of the issue, including what you expected to happen.

k8s-pixy-auth does not work well with kubectl 1.23.5.

Reproduction

Detail the steps taken to reproduce this error, what was expected, and whether this issue can be reproduced consistently or if it is intermittent.

Where applicable, please include:

  • Code sample to reproduce the issue
  • Log files (redact/remove sensitive information)
  • Application settings (redact/remove sensitive information)
  • Screenshots

Following https://github.com/auth0/k8s-pixy-auth/blob/master/docs/Auth0Setup.md, but with the latest minikube (version v1.25.2)

When I execute k8s-pixy-auth init xxxxxx, it reports:

./k8s-pixy-auth init --context-name "minikube" --issuer-endpoint "https://xxx.auth0.com/" --audience "xxx-self-hosted-cluster" --client-id "<CLIENT ID>"
Installing binary...
Updating kube config...
panic: Error saving kube config: converting  to : type names don't match (Unknown, RawExtension), and no conversion 'func (runtime.Unknown, runtime.RawExtension) error' registered.

goroutine 1 [running]:
github.com/auth0/k8s-pixy-auth/cmd.glob..func2(0xe87fe0?, {0xa275de?, 0x8?, 0x8?})
        /home/strrl/playground/github/k8s-pixy-auth/cmd/init.go:39 +0x253
github.com/spf13/cobra.(*Command).execute(0xe87fe0, {0xc000168780, 0x8, 0x8})
        /home/strrl/.gvm/pkgsets/go1.18/global/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:766 +0x663
github.com/spf13/cobra.(*Command).ExecuteC(0xe88240)
        /home/strrl/.gvm/pkgsets/go1.18/global/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:852 +0x2dc
github.com/spf13/cobra.(*Command).Execute(...)
        /home/strrl/.gvm/pkgsets/go1.18/global/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:800
github.com/auth0/k8s-pixy-auth/cmd.Execute()
        /home/strrl/playground/github/k8s-pixy-auth/cmd/root.go:36 +0x25
main.main()
        /home/strrl/playground/github/k8s-pixy-auth/main.go:8 +0x17

But I found a possible solution:

I tried to upgrade the dependency of client-go to v0.23.1, it just works. :D

Environment

Please provide the following:

Both master and v0.4.0

$ minikube version  
minikube version: v1.25.2
commit: 362d5fdc0a3dbee389b3d3f1034e8023e72bd3a7-dirty

$ kubectl version                                                                                              
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.5", GitCommit:"c285e781331a3785a7f436042c65c5641ce8a9e9", GitTreeState:"archive", BuildDate:"2022-03-17T21:14:47Z", GoVersion:"go1.18", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.3", GitCommit:"816c97ab8cff8a1c72eccca1026f7820e93e0d25", GitTreeState:"clean", BuildDate:"2022-01-25T21:19:12Z", GoVersion:"go1.17.6", Compiler:"gc", Platform:"linux/amd64"}
STRRL commented 2 years ago

This issue mostly relates to https://github.com/kubernetes/minikube/issues/10859. And library client-go < 0.17.x would meet this issue.