From 34e7af7ec6154694cb760a0bb76be71695f03f7e Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Wed, 16 Jan 2019 22:29:29 -0500 Subject: [PATCH] Add docs around importing auth plugins --- .../src/k8s.io/client-go/examples/README.md | 19 +++++++++++++++++++ .../create-update-delete-deployment/main.go | 9 ++++++++- .../in-cluster-client-configuration/main.go | 9 +++++++++ .../main.go | 9 ++++++++- 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/staging/src/k8s.io/client-go/examples/README.md b/staging/src/k8s.io/client-go/examples/README.md index 0bbc56720d..449c11b6c3 100644 --- a/staging/src/k8s.io/client-go/examples/README.md +++ b/staging/src/k8s.io/client-go/examples/README.md @@ -3,6 +3,25 @@ This directory contains examples that cover various use cases and functionality for client-go. +### Auth plugins + +Client configuration is typically loaded from kubeconfig files containing server and credential configuration. +Several plugins for obtaining credentials from external sources are available, but are not loaded by default. +To enable these plugins in your program, import them in your main package. + +You can load all auth plugins: +```go +import _ "k8s.io/client-go/plugin/pkg/client/auth +``` + +Or you can load specific auth plugins: +```go +import _ "k8s.io/client-go/plugin/pkg/client/auth/azure" +import _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" +import _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" +import _ "k8s.io/client-go/plugin/pkg/client/auth/openstack" +``` + ### Configuration - [**Authenticate in cluster**](./in-cluster-client-configuration): Configure a diff --git a/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go b/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go index 333ada0183..ad32b74f5f 100644 --- a/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go +++ b/staging/src/k8s.io/client-go/examples/create-update-delete-deployment/main.go @@ -31,8 +31,15 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/util/homedir" "k8s.io/client-go/util/retry" - // Uncomment the following line to load the gcp plugin (only required to authenticate against GKE clusters). + // + // Uncomment to load all auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth + // + // Or uncomment to load specific auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth/azure" // _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + // _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" + // _ "k8s.io/client-go/plugin/pkg/client/auth/openstack" ) func main() { diff --git a/staging/src/k8s.io/client-go/examples/in-cluster-client-configuration/main.go b/staging/src/k8s.io/client-go/examples/in-cluster-client-configuration/main.go index f715068175..fd10784464 100644 --- a/staging/src/k8s.io/client-go/examples/in-cluster-client-configuration/main.go +++ b/staging/src/k8s.io/client-go/examples/in-cluster-client-configuration/main.go @@ -25,6 +25,15 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" + // + // Uncomment to load all auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth + // + // Or uncomment to load specific auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth/azure" + // _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + // _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" + // _ "k8s.io/client-go/plugin/pkg/client/auth/openstack" ) func main() { diff --git a/staging/src/k8s.io/client-go/examples/out-of-cluster-client-configuration/main.go b/staging/src/k8s.io/client-go/examples/out-of-cluster-client-configuration/main.go index 9d79b97760..852d280c2d 100644 --- a/staging/src/k8s.io/client-go/examples/out-of-cluster-client-configuration/main.go +++ b/staging/src/k8s.io/client-go/examples/out-of-cluster-client-configuration/main.go @@ -28,8 +28,15 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" - // Uncomment the following line to load the gcp plugin (only required to authenticate against GKE clusters). + // + // Uncomment to load all auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth + // + // Or uncomment to load specific auth plugins + // _ "k8s.io/client-go/plugin/pkg/client/auth/azure" // _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" + // _ "k8s.io/client-go/plugin/pkg/client/auth/oidc" + // _ "k8s.io/client-go/plugin/pkg/client/auth/openstack" ) func main() {