mirror of https://github.com/k3s-io/k3s
Cut a dependency between kubectl and the rest of the repo
The types referenced in credentialprovider are part of a long term api and will not change, and kubectl doesn't need to take a dependency on this package in order to do minimal validation here.pull/58/head
parent
5e905f1f5f
commit
9f5c2aea1a
|
@ -393,6 +393,7 @@ package_group(
|
|||
"//pkg/kubectl",
|
||||
"//pkg/kubectl/cmd",
|
||||
"//pkg/kubectl/generate",
|
||||
"//pkg/kubectl/generate/versioned",
|
||||
"//pkg/kubectl/proxy",
|
||||
],
|
||||
)
|
||||
|
|
|
@ -190,6 +190,9 @@ pkg/kubectl/cmd/util/openapi
|
|||
pkg/kubectl/cmd/util/sanity
|
||||
pkg/kubectl/cmd/version
|
||||
pkg/kubectl/cmd/wait
|
||||
pkg/kubectl/describe
|
||||
pkg/kubectl/generate
|
||||
pkg/kubectl/generate/versioned
|
||||
pkg/kubectl/metricsutil
|
||||
pkg/kubectl/util
|
||||
pkg/kubectl/util/slice
|
||||
|
|
|
@ -25,7 +25,6 @@ go_library(
|
|||
importpath = "k8s.io/kubernetes/pkg/kubectl/generate/versioned",
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//pkg/credentialprovider:go_default_library",
|
||||
"//pkg/kubectl/generate:go_default_library",
|
||||
"//pkg/kubectl/util:go_default_library",
|
||||
"//pkg/kubectl/util/hash:go_default_library",
|
||||
|
|
|
@ -22,7 +22,6 @@ import (
|
|||
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/kubernetes/pkg/credentialprovider"
|
||||
"k8s.io/kubernetes/pkg/kubectl/generate"
|
||||
"k8s.io/kubernetes/pkg/kubectl/util/hash"
|
||||
)
|
||||
|
@ -149,15 +148,34 @@ func (s SecretForDockerRegistryGeneratorV1) validate() error {
|
|||
|
||||
// handleDockerCfgJsonContent serializes a ~/.docker/config.json file
|
||||
func handleDockerCfgJsonContent(username, password, email, server string) ([]byte, error) {
|
||||
dockercfgAuth := credentialprovider.DockerConfigEntry{
|
||||
dockercfgAuth := DockerConfigEntry{
|
||||
Username: username,
|
||||
Password: password,
|
||||
Email: email,
|
||||
}
|
||||
|
||||
dockerCfgJson := credentialprovider.DockerConfigJson{
|
||||
Auths: map[string]credentialprovider.DockerConfigEntry{server: dockercfgAuth},
|
||||
dockerCfgJson := DockerConfigJson{
|
||||
Auths: map[string]DockerConfigEntry{server: dockercfgAuth},
|
||||
}
|
||||
|
||||
return json.Marshal(dockerCfgJson)
|
||||
}
|
||||
|
||||
// DockerConfigJson represents a local docker auth config file
|
||||
// for pulling images.
|
||||
type DockerConfigJson struct {
|
||||
Auths DockerConfig `json:"auths"`
|
||||
// +optional
|
||||
HttpHeaders map[string]string `json:"HttpHeaders,omitempty"`
|
||||
}
|
||||
|
||||
// DockerConfig represents the config file used by the docker CLI.
|
||||
// This config that represents the credentials that should be used
|
||||
// when pulling images from specific image repositories.
|
||||
type DockerConfig map[string]DockerConfigEntry
|
||||
|
||||
type DockerConfigEntry struct {
|
||||
Username string
|
||||
Password string
|
||||
Email string
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@ func TestSecretForDockerRegistryGenerate(t *testing.T) {
|
|||
},
|
||||
expected: &v1.Secret{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
Name: "foo-548cm7fgdh",
|
||||
Name: "foo-7566tc6mgc",
|
||||
},
|
||||
Data: map[string][]byte{
|
||||
v1.DockerConfigJsonKey: secretData,
|
||||
|
|
Loading…
Reference in New Issue