// createSecret extracts the kubeconfig for a given cluster and populates // a secret with that kubeconfig. func createSecret(hostFactory cmdutil.Factory, clientConfig *clientcmdapi.Config, namespace, contextName, secretName string, dryRun bool) (runtime.Object, error) { // Minify the kubeconfig to ensure that there is only information // relevant to the cluster we are registering. newClientConfig, err := minifyConfig(clientConfig, contextName) if err != nil { glog.V(2).Infof("Failed to minify the kubeconfig for the given context %q: %v", contextName, err) return nil, err } // Flatten the kubeconfig to ensure that all the referenced file // contents are inlined. err = clientcmdapi.FlattenConfig(newClientConfig) if err != nil { glog.V(2).Infof("Failed to flatten the kubeconfig for the given context %q: %v", contextName, err) return nil, err } // Boilerplate to create the secret in the host cluster. clientset, err := hostFactory.ClientSet() if err != nil { glog.V(2).Infof("Failed to serialize the kubeconfig for the given context %q: %v", contextName, err) return nil, err } return util.CreateKubeconfigSecret(clientset, newClientConfig, namespace, secretName, dryRun) }
func (o ViewOptions) Run(out io.Writer, printer kubectl.ResourcePrinter) error { config, err := o.loadConfig() if err != nil { return err } if o.Minify { if err := clientcmdapi.MinifyConfig(config); err != nil { return err } } if o.Flatten { if err := clientcmdapi.FlattenConfig(config); err != nil { return err } } else if !o.RawByteData { clientcmdapi.ShortenConfig(config) } err = printer.PrintObj(config, out) if err != nil { return err } return nil }