mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
cluster/gce/gci/credential-provider: refactor for better testability
Signed-off-by: Andrew Sy Kim <andrewsy@google.com> Co-authored-by: Aditi Sharma <adi.sky17@gmail.com>
This commit is contained in:
parent
fe55bf111b
commit
bfed342e5c
@ -30,20 +30,23 @@ import (
|
|||||||
credentialproviderv1alpha1 "k8s.io/kubelet/pkg/apis/credentialprovider/v1alpha1"
|
credentialproviderv1alpha1 "k8s.io/kubelet/pkg/apis/credentialprovider/v1alpha1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const metadataTokenEndpoint = "http://metadata.google.internal./computeMetadata/v1/instance/service-accounts/default/token"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if err := getCredentials(os.Stdout); err != nil {
|
if err := getCredentials(metadataTokenEndpoint, os.Stdin, os.Stdout); err != nil {
|
||||||
klog.Fatalf("failed to get credentials: %v", err)
|
klog.Fatalf("failed to get credentials: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getCredentials(w io.Writer) error {
|
func getCredentials(tokenEndpoint string, r io.Reader, w io.Writer) error {
|
||||||
provider := &provider{
|
provider := &provider{
|
||||||
client: &http.Client{
|
client: &http.Client{
|
||||||
Timeout: 10 * time.Second,
|
Timeout: 10 * time.Second,
|
||||||
},
|
},
|
||||||
|
tokenEndpoint: tokenEndpoint,
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := ioutil.ReadAll(os.Stdin)
|
data, err := ioutil.ReadAll(r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -29,8 +29,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
metadataToken = "http://metadata.google.internal./computeMetadata/v1/instance/service-accounts/default/token"
|
|
||||||
metadataEmail = "http://metadata.google.internal./computeMetadata/v1/instance/service-accounts/default/email"
|
|
||||||
maxReadLength = 10 * 1 << 20 // 10MB
|
maxReadLength = 10 * 1 << 20 // 10MB
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -57,7 +55,8 @@ type TokenBlob struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type provider struct {
|
type provider struct {
|
||||||
client *http.Client
|
client *http.Client
|
||||||
|
tokenEndpoint string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *provider) Provide(image string) (map[string]credentialproviderv1alpha1.AuthConfig, error) {
|
func (p *provider) Provide(image string) (map[string]credentialproviderv1alpha1.AuthConfig, error) {
|
||||||
@ -91,7 +90,7 @@ func readURL(url string, client *http.Client) (body []byte, err error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
rea.Header = &http.Header{
|
req.Header = http.Header{
|
||||||
"Metadata-Flavor": []string{"Google"},
|
"Metadata-Flavor": []string{"Google"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user