diff --git a/cmd/skopeo/utils.go b/cmd/skopeo/utils.go index d31d7de7..4a733417 100644 --- a/cmd/skopeo/utils.go +++ b/cmd/skopeo/utils.go @@ -11,6 +11,15 @@ import ( "github.com/projectatomic/skopeo/types" ) +const ( + // atomicPrefix is the URL-like schema prefix used for Atomic registry image references. + atomicPrefix = "atomic:" + // dockerPrefix is the URL-like schema prefix used for Docker image references. + dockerPrefix = "docker://" + // directoryPrefix is the URL-like schema prefix used for local directories (for debugging) + directoryPrefix = "dir:" +) + // ParseImage converts image URL-like string to an initialized handler for that image. func parseImage(c *cli.Context) (types.Image, error) { var ( @@ -19,8 +28,8 @@ func parseImage(c *cli.Context) (types.Image, error) { tlsVerify = c.GlobalBool("tls-verify") ) switch { - case strings.HasPrefix(imgName, types.DockerPrefix): - return docker.NewDockerImage(strings.TrimPrefix(imgName, types.DockerPrefix), certPath, tlsVerify) + case strings.HasPrefix(imgName, dockerPrefix): + return docker.NewDockerImage(strings.TrimPrefix(imgName, dockerPrefix), certPath, tlsVerify) //case strings.HasPrefix(img, appcPrefix): // } @@ -34,12 +43,12 @@ func parseImageSource(c *cli.Context, name string) (types.ImageSource, error) { tlsVerify = c.GlobalBool("tls-verify") // FIXME!! defaults to false? ) switch { - case strings.HasPrefix(name, types.DockerPrefix): - return docker.NewDockerImageSource(strings.TrimPrefix(name, types.DockerPrefix), certPath, tlsVerify) - case strings.HasPrefix(name, types.AtomicPrefix): - return openshift.NewOpenshiftImageSource(strings.TrimPrefix(name, types.AtomicPrefix), certPath, tlsVerify) - case strings.HasPrefix(name, types.DirectoryPrefix): - return directory.NewDirImageSource(strings.TrimPrefix(name, types.DirectoryPrefix)), nil + case strings.HasPrefix(name, dockerPrefix): + return docker.NewDockerImageSource(strings.TrimPrefix(name, dockerPrefix), certPath, tlsVerify) + case strings.HasPrefix(name, atomicPrefix): + return openshift.NewOpenshiftImageSource(strings.TrimPrefix(name, atomicPrefix), certPath, tlsVerify) + case strings.HasPrefix(name, directoryPrefix): + return directory.NewDirImageSource(strings.TrimPrefix(name, directoryPrefix)), nil } return nil, fmt.Errorf("Unrecognized image reference %s", name) } @@ -51,12 +60,12 @@ func parseImageDestination(c *cli.Context, name string) (types.ImageDestination, tlsVerify = c.GlobalBool("tls-verify") // FIXME!! defaults to false? ) switch { - case strings.HasPrefix(name, types.DockerPrefix): - return docker.NewDockerImageDestination(strings.TrimPrefix(name, types.DockerPrefix), certPath, tlsVerify) - case strings.HasPrefix(name, types.AtomicPrefix): - return openshift.NewOpenshiftImageDestination(strings.TrimPrefix(name, types.AtomicPrefix), certPath, tlsVerify) - case strings.HasPrefix(name, types.DirectoryPrefix): - return directory.NewDirImageDestination(strings.TrimPrefix(name, types.DirectoryPrefix)), nil + case strings.HasPrefix(name, dockerPrefix): + return docker.NewDockerImageDestination(strings.TrimPrefix(name, dockerPrefix), certPath, tlsVerify) + case strings.HasPrefix(name, atomicPrefix): + return openshift.NewOpenshiftImageDestination(strings.TrimPrefix(name, atomicPrefix), certPath, tlsVerify) + case strings.HasPrefix(name, directoryPrefix): + return directory.NewDirImageDestination(strings.TrimPrefix(name, directoryPrefix)), nil } return nil, fmt.Errorf("Unrecognized image reference %s", name) } diff --git a/openshift/openshift-copies.go b/openshift/openshift-copies.go index e0aaf207..ec0cda76 100644 --- a/openshift/openshift-copies.go +++ b/openshift/openshift-copies.go @@ -166,10 +166,10 @@ func (config *deferredLoadingClientConfig) ClientConfig() (*restConfig, error) { var ( // DefaultCluster is the cluster config used when no other config is specified // TODO: eventually apiserver should start on 443 and be secure by default - DefaultCluster = clientcmdCluster{Server: "http://localhost:8080"} + defaultCluster = clientcmdCluster{Server: "http://localhost:8080"} // EnvVarCluster allows overriding the DefaultCluster using an envvar for the server name - EnvVarCluster = clientcmdCluster{Server: os.Getenv("KUBERNETES_MASTER")} + envVarCluster = clientcmdCluster{Server: os.Getenv("KUBERNETES_MASTER")} ) // directClientConfig is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.DirectClientConfig. @@ -440,8 +440,8 @@ func (config *directClientConfig) getCluster() clientcmdCluster { clusterInfoName := config.getClusterName() var mergedClusterInfo clientcmdCluster - mergo.Merge(&mergedClusterInfo, DefaultCluster) - mergo.Merge(&mergedClusterInfo, EnvVarCluster) + mergo.Merge(&mergedClusterInfo, defaultCluster) + mergo.Merge(&mergedClusterInfo, envVarCluster) if configClusterInfo, exists := clusterInfos[clusterInfoName]; exists { mergo.Merge(&mergedClusterInfo, configClusterInfo) } diff --git a/types/types.go b/types/types.go index 994f6de7..6e828915 100644 --- a/types/types.go +++ b/types/types.go @@ -6,15 +6,6 @@ import ( "time" ) -const ( - // AtomicPrefix is the URL-like schema prefix used for Atomic registry image references. - AtomicPrefix = "atomic:" - // DockerPrefix is the URL-like schema prefix used for Docker image references. - DockerPrefix = "docker://" - // DirectoryPrefix is the URL-like schema prefix used for local directories (for debugging) - DirectoryPrefix = "dir:" -) - // Registry is a service providing repositories. type Registry interface { Repositories() []Repository