Move CLI related packages into internal (#697)
We don't want people to import these packages, so move these out into private packages.
This commit is contained in:
@@ -19,12 +19,12 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewCommand creates a new providers subcommand
|
// NewCommand creates a new providers subcommand
|
||||||
// This subcommand is used to determine which providers are registered.
|
// This subcommand is used to determine which providers are registered.
|
||||||
func NewCommand(s *providers.Store) *cobra.Command {
|
func NewCommand(s *provider.Store) *cobra.Command {
|
||||||
return &cobra.Command{
|
return &cobra.Command{
|
||||||
Use: "providers",
|
Use: "providers",
|
||||||
Short: "Show the list of supported providers",
|
Short: "Show the list of supported providers",
|
||||||
@@ -24,9 +24,9 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/log"
|
"github.com/virtual-kubelet/virtual-kubelet/log"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/node/api"
|
"github.com/virtual-kubelet/virtual-kubelet/node/api"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// AcceptedCiphers is the list of accepted TLS ciphers, with known weak ciphers elided
|
// AcceptedCiphers is the list of accepted TLS ciphers, with known weak ciphers elided
|
||||||
@@ -57,7 +57,7 @@ func loadTLSConfig(certPath, keyPath string) (*tls.Config, error) {
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupHTTPServer(ctx context.Context, p providers.Provider, cfg *apiServerConfig) (_ func(), retErr error) {
|
func setupHTTPServer(ctx context.Context, p provider.Provider, cfg *apiServerConfig) (_ func(), retErr error) {
|
||||||
var closers []io.Closer
|
var closers []io.Closer
|
||||||
cancel := func() {
|
cancel := func() {
|
||||||
for _, c := range closers {
|
for _, c := range closers {
|
||||||
@@ -113,7 +113,7 @@ func setupHTTPServer(ctx context.Context, p providers.Provider, cfg *apiServerCo
|
|||||||
mux := http.NewServeMux()
|
mux := http.NewServeMux()
|
||||||
|
|
||||||
var summaryHandlerFunc api.PodStatsSummaryHandlerFunc
|
var summaryHandlerFunc api.PodStatsSummaryHandlerFunc
|
||||||
if mp, ok := p.(providers.PodMetricsProvider); ok {
|
if mp, ok := p.(provider.PodMetricsProvider); ok {
|
||||||
summaryHandlerFunc = mp.GetStatsSummary
|
summaryHandlerFunc = mp.GetStatsSummary
|
||||||
}
|
}
|
||||||
podMetricsRoutes := api.PodMetricsConfig{
|
podMetricsRoutes := api.PodMetricsConfig{
|
||||||
@@ -18,8 +18,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@@ -29,7 +29,7 @@ const osLabel = "beta.kubernetes.io/os"
|
|||||||
|
|
||||||
// NodeFromProvider builds a kubernetes node object from a provider
|
// NodeFromProvider builds a kubernetes node object from a provider
|
||||||
// This is a temporary solution until node stuff actually split off from the provider interface itself.
|
// This is a temporary solution until node stuff actually split off from the provider interface itself.
|
||||||
func NodeFromProvider(ctx context.Context, name string, taint *v1.Taint, p providers.Provider, version string) *v1.Node {
|
func NodeFromProvider(ctx context.Context, name string, taint *v1.Taint, p provider.Provider, version string) *v1.Node {
|
||||||
taints := make([]v1.Taint, 0)
|
taints := make([]v1.Taint, 0)
|
||||||
|
|
||||||
if taint != nil {
|
if taint != nil {
|
||||||
@@ -22,11 +22,11 @@ import (
|
|||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/log"
|
"github.com/virtual-kubelet/virtual-kubelet/log"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/node"
|
"github.com/virtual-kubelet/virtual-kubelet/node"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
k8serrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@@ -43,7 +43,7 @@ import (
|
|||||||
|
|
||||||
// NewCommand creates a new top-level command.
|
// NewCommand creates a new top-level command.
|
||||||
// This command is used to start the virtual-kubelet daemon
|
// This command is used to start the virtual-kubelet daemon
|
||||||
func NewCommand(ctx context.Context, name string, s *providers.Store, c Opts) *cobra.Command {
|
func NewCommand(ctx context.Context, name string, s *provider.Store, c Opts) *cobra.Command {
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: name,
|
Use: name,
|
||||||
Short: name + " provides a virtual kubelet interface for your kubernetes cluster.",
|
Short: name + " provides a virtual kubelet interface for your kubernetes cluster.",
|
||||||
@@ -59,11 +59,11 @@ This allows users to schedule kubernetes workloads on nodes that aren't running
|
|||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func runRootCommand(ctx context.Context, s *providers.Store, c Opts) error {
|
func runRootCommand(ctx context.Context, s *provider.Store, c Opts) error {
|
||||||
ctx, cancel := context.WithCancel(ctx)
|
ctx, cancel := context.WithCancel(ctx)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
if ok := providers.ValidOperatingSystems[c.OperatingSystem]; !ok {
|
if ok := provider.ValidOperatingSystems[c.OperatingSystem]; !ok {
|
||||||
return errdefs.InvalidInputf("operating system %q is not supported", c.OperatingSystem)
|
return errdefs.InvalidInputf("operating system %q is not supported", c.OperatingSystem)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,7 +119,7 @@ func runRootCommand(ctx context.Context, s *providers.Store, c Opts) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
initConfig := providers.InitConfig{
|
initConfig := provider.InitConfig{
|
||||||
ConfigPath: c.ProviderConfigPath,
|
ConfigPath: c.ProviderConfigPath,
|
||||||
NodeName: c.NodeName,
|
NodeName: c.NodeName,
|
||||||
OperatingSystem: c.OperatingSystem,
|
OperatingSystem: c.OperatingSystem,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package providers
|
package provider
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package providers
|
package provider
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Store is used for registering/fetching providers
|
// Store is used for registering/fetching providers
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package providers
|
package provider
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// OperatingSystemLinux is the configuration value for defining Linux.
|
// OperatingSystemLinux is the configuration value for defining Linux.
|
||||||
@@ -25,12 +25,12 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
cmdproviders "github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/commands/providers"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/commands/providers"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/commands/root"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/commands/root"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/commands/version"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/commands/version"
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/log"
|
"github.com/virtual-kubelet/virtual-kubelet/log"
|
||||||
logruslogger "github.com/virtual-kubelet/virtual-kubelet/log/logrus"
|
logruslogger "github.com/virtual-kubelet/virtual-kubelet/log/logrus"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/trace"
|
"github.com/virtual-kubelet/virtual-kubelet/trace"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/trace/opencensus"
|
"github.com/virtual-kubelet/virtual-kubelet/trace/opencensus"
|
||||||
)
|
)
|
||||||
@@ -57,11 +57,11 @@ func main() {
|
|||||||
optsErr := root.SetDefaultOpts(&opts)
|
optsErr := root.SetDefaultOpts(&opts)
|
||||||
opts.Version = strings.Join([]string{k8sVersion, "vk", buildVersion}, "-")
|
opts.Version = strings.Join([]string{k8sVersion, "vk", buildVersion}, "-")
|
||||||
|
|
||||||
s := providers.NewStore()
|
s := provider.NewStore()
|
||||||
registerMock(s)
|
registerMock(s)
|
||||||
|
|
||||||
rootCmd := root.NewCommand(ctx, filepath.Base(os.Args[0]), s, opts)
|
rootCmd := root.NewCommand(ctx, filepath.Base(os.Args[0]), s, opts)
|
||||||
rootCmd.AddCommand(version.NewCommand(buildVersion, buildTime), cmdproviders.NewCommand(s))
|
rootCmd.AddCommand(version.NewCommand(buildVersion, buildTime), providers.NewCommand(s))
|
||||||
preRun := rootCmd.PreRunE
|
preRun := rootCmd.PreRunE
|
||||||
|
|
||||||
var logLevel string
|
var logLevel string
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/providers/mock"
|
"github.com/virtual-kubelet/virtual-kubelet/cmd/virtual-kubelet/internal/provider/mock"
|
||||||
)
|
)
|
||||||
|
|
||||||
func registerMock(s *providers.Store) {
|
func registerMock(s *provider.Store) {
|
||||||
s.Register("mock", func(cfg providers.InitConfig) (providers.Provider, error) {
|
s.Register("mock", func(cfg provider.InitConfig) (provider.Provider, error) {
|
||||||
return mock.NewMockProvider(
|
return mock.NewMockProvider(
|
||||||
cfg.ConfigPath,
|
cfg.ConfigPath,
|
||||||
cfg.NodeName,
|
cfg.NodeName,
|
||||||
@@ -16,7 +16,7 @@ func registerMock(s *providers.Store) {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
s.Register("mockV0", func(cfg providers.InitConfig) (providers.Provider, error) {
|
s.Register("mockV0", func(cfg provider.InitConfig) (provider.Provider, error) {
|
||||||
return mock.NewMockProvider(
|
return mock.NewMockProvider(
|
||||||
cfg.ConfigPath,
|
cfg.ConfigPath,
|
||||||
cfg.NodeName,
|
cfg.NodeName,
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ import (
|
|||||||
corev1listers "k8s.io/client-go/listers/core/v1"
|
corev1listers "k8s.io/client-go/listers/core/v1"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
|
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
testutil "github.com/virtual-kubelet/virtual-kubelet/internal/test/util"
|
testutil "github.com/virtual-kubelet/virtual-kubelet/internal/test/util"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestGetPods verifies that the resource manager acts as a passthrough to a pod lister.
|
// TestGetPods verifies that the resource manager acts as a passthrough to a pod lister.
|
||||||
@@ -9,7 +9,7 @@ import (
|
|||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
"k8s.io/client-go/tools/cache"
|
"k8s.io/client-go/tools/cache"
|
||||||
|
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
)
|
)
|
||||||
|
|
||||||
// FakeResourceManager returns an instance of the resource manager that will return the specified objects when its "GetX" methods are called.
|
// FakeResourceManager returns an instance of the resource manager that will return the specified objects when its "GetX" methods are called.
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/envvars"
|
"k8s.io/kubernetes/pkg/kubelet/envvars"
|
||||||
"k8s.io/kubernetes/third_party/forked/golang/expansion"
|
"k8s.io/kubernetes/third_party/forked/golang/expansion"
|
||||||
|
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/log"
|
"github.com/virtual-kubelet/virtual-kubelet/log"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ import (
|
|||||||
|
|
||||||
pkgerrors "github.com/pkg/errors"
|
pkgerrors "github.com/pkg/errors"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
"github.com/virtual-kubelet/virtual-kubelet/errdefs"
|
||||||
|
"github.com/virtual-kubelet/virtual-kubelet/internal/manager"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/log"
|
"github.com/virtual-kubelet/virtual-kubelet/log"
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/manager"
|
|
||||||
"github.com/virtual-kubelet/virtual-kubelet/trace"
|
"github.com/virtual-kubelet/virtual-kubelet/trace"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
|
|||||||
Reference in New Issue
Block a user