mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-14 13:45:06 +00:00
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.
This commit is contained in:
@@ -393,6 +393,7 @@ package_group(
|
|||||||
"//pkg/kubectl",
|
"//pkg/kubectl",
|
||||||
"//pkg/kubectl/cmd",
|
"//pkg/kubectl/cmd",
|
||||||
"//pkg/kubectl/generate",
|
"//pkg/kubectl/generate",
|
||||||
|
"//pkg/kubectl/generate/versioned",
|
||||||
"//pkg/kubectl/proxy",
|
"//pkg/kubectl/proxy",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@@ -190,6 +190,9 @@ pkg/kubectl/cmd/util/openapi
|
|||||||
pkg/kubectl/cmd/util/sanity
|
pkg/kubectl/cmd/util/sanity
|
||||||
pkg/kubectl/cmd/version
|
pkg/kubectl/cmd/version
|
||||||
pkg/kubectl/cmd/wait
|
pkg/kubectl/cmd/wait
|
||||||
|
pkg/kubectl/describe
|
||||||
|
pkg/kubectl/generate
|
||||||
|
pkg/kubectl/generate/versioned
|
||||||
pkg/kubectl/metricsutil
|
pkg/kubectl/metricsutil
|
||||||
pkg/kubectl/util
|
pkg/kubectl/util
|
||||||
pkg/kubectl/util/slice
|
pkg/kubectl/util/slice
|
||||||
|
@@ -25,7 +25,6 @@ go_library(
|
|||||||
importpath = "k8s.io/kubernetes/pkg/kubectl/generate/versioned",
|
importpath = "k8s.io/kubernetes/pkg/kubectl/generate/versioned",
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
deps = [
|
deps = [
|
||||||
"//pkg/credentialprovider:go_default_library",
|
|
||||||
"//pkg/kubectl/generate:go_default_library",
|
"//pkg/kubectl/generate:go_default_library",
|
||||||
"//pkg/kubectl/util:go_default_library",
|
"//pkg/kubectl/util:go_default_library",
|
||||||
"//pkg/kubectl/util/hash:go_default_library",
|
"//pkg/kubectl/util/hash:go_default_library",
|
||||||
|
@@ -22,7 +22,6 @@ import (
|
|||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/kubernetes/pkg/credentialprovider"
|
|
||||||
"k8s.io/kubernetes/pkg/kubectl/generate"
|
"k8s.io/kubernetes/pkg/kubectl/generate"
|
||||||
"k8s.io/kubernetes/pkg/kubectl/util/hash"
|
"k8s.io/kubernetes/pkg/kubectl/util/hash"
|
||||||
)
|
)
|
||||||
@@ -149,15 +148,34 @@ func (s SecretForDockerRegistryGeneratorV1) validate() error {
|
|||||||
|
|
||||||
// handleDockerCfgJsonContent serializes a ~/.docker/config.json file
|
// handleDockerCfgJsonContent serializes a ~/.docker/config.json file
|
||||||
func handleDockerCfgJsonContent(username, password, email, server string) ([]byte, error) {
|
func handleDockerCfgJsonContent(username, password, email, server string) ([]byte, error) {
|
||||||
dockercfgAuth := credentialprovider.DockerConfigEntry{
|
dockercfgAuth := DockerConfigEntry{
|
||||||
Username: username,
|
Username: username,
|
||||||
Password: password,
|
Password: password,
|
||||||
Email: email,
|
Email: email,
|
||||||
}
|
}
|
||||||
|
|
||||||
dockerCfgJson := credentialprovider.DockerConfigJson{
|
dockerCfgJson := DockerConfigJson{
|
||||||
Auths: map[string]credentialprovider.DockerConfigEntry{server: dockercfgAuth},
|
Auths: map[string]DockerConfigEntry{server: dockercfgAuth},
|
||||||
}
|
}
|
||||||
|
|
||||||
return json.Marshal(dockerCfgJson)
|
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{
|
expected: &v1.Secret{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "foo-548cm7fgdh",
|
Name: "foo-7566tc6mgc",
|
||||||
},
|
},
|
||||||
Data: map[string][]byte{
|
Data: map[string][]byte{
|
||||||
v1.DockerConfigJsonKey: secretData,
|
v1.DockerConfigJsonKey: secretData,
|
||||||
|
Reference in New Issue
Block a user