func (r *Root) Schema() *plugin.EntrySchema {
	return plugin.
		NewEntrySchema(r, "kubernetes").
		SetDescription(rootDescription).
		IsSingleton()
}
Schema returns the root's schema
package kubernetes
import (
	"context"
	"github.com/puppetlabs/wash/activity"
	"github.com/puppetlabs/wash/plugin"
	"k8s.io/apimachinery/pkg/api/resource"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	k8s "k8s.io/client-go/kubernetes"
	"k8s.io/client-go/tools/clientcmd"
	clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
	_ "k8s.io/client-go/plugin/pkg/client/auth"
)
type Root struct {
	plugin.EntryBase
}
func createContext(raw clientcmdapi.Config, name string, access clientcmd.ConfigAccess) (plugin.Entry, error) {
	config := clientcmd.NewNonInteractiveClientConfig(raw, name, &clientcmd.ConfigOverrides{}, access)
	cfg, err := config.ClientConfig()
	if err != nil {
		return nil, err
	}
	clientset, err := k8s.NewForConfig(cfg)
	if err != nil {
		return nil, err
	}
	defaultns, _, err := config.Namespace()
	if err != nil {
		return nil, err
	}
	return newK8Context(name, clientset, cfg, defaultns), nil
}
func (r *Root) Init(map[string]interface{}) error {
	r.EntryBase = plugin.NewEntry("kubernetes")
	r.DisableDefaultCaching()
	return nil
}