providers

package
v1.6.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: AGPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const Delimiter = "_"

Delimiter is used to split name into kind,namespace,name,replicacount

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	OriginalName string
	Kind         string // deployment or statefulset
	Namespace    string
	Name         string
	Replicas     int32
}

type DockerClassicProvider

type DockerClassicProvider struct {
	Client client.APIClient
	// contains filtered or unexported fields
}

func NewDockerClassicProvider

func NewDockerClassicProvider() (*DockerClassicProvider, error)

func (*DockerClassicProvider) GetGroups

func (provider *DockerClassicProvider) GetGroups(ctx context.Context) (map[string][]string, error)

func (*DockerClassicProvider) GetState

func (provider *DockerClassicProvider) GetState(ctx context.Context, name string) (instance.State, error)

func (*DockerClassicProvider) NotifyInstanceStopped

func (provider *DockerClassicProvider) NotifyInstanceStopped(ctx context.Context, instance chan<- string)

func (*DockerClassicProvider) Start

func (provider *DockerClassicProvider) Start(ctx context.Context, name string) (instance.State, error)

func (*DockerClassicProvider) Stop

func (provider *DockerClassicProvider) Stop(ctx context.Context, name string) (instance.State, error)

type DockerSwarmProvider

type DockerSwarmProvider struct {
	Client client.APIClient
	// contains filtered or unexported fields
}

func NewDockerSwarmProvider

func NewDockerSwarmProvider() (*DockerSwarmProvider, error)

func (*DockerSwarmProvider) GetGroups

func (provider *DockerSwarmProvider) GetGroups(ctx context.Context) (map[string][]string, error)

func (*DockerSwarmProvider) GetState

func (provider *DockerSwarmProvider) GetState(ctx context.Context, name string) (instance.State, error)

func (*DockerSwarmProvider) NotifyInstanceStopped

func (provider *DockerSwarmProvider) NotifyInstanceStopped(ctx context.Context, instance chan<- string)

func (*DockerSwarmProvider) Start

func (provider *DockerSwarmProvider) Start(ctx context.Context, name string) (instance.State, error)

func (*DockerSwarmProvider) Stop

func (provider *DockerSwarmProvider) Stop(ctx context.Context, name string) (instance.State, error)

type KubernetesProvider

type KubernetesProvider struct {
	Client kubernetes.Interface
}

func NewKubernetesProvider

func NewKubernetesProvider(providerConfig providerConfig.Kubernetes) (*KubernetesProvider, error)

func (*KubernetesProvider) GetGroups

func (provider *KubernetesProvider) GetGroups(ctx context.Context) (map[string][]string, error)

func (*KubernetesProvider) GetState

func (provider *KubernetesProvider) GetState(ctx context.Context, name string) (instance.State, error)

func (*KubernetesProvider) NotifyInstanceStopped

func (provider *KubernetesProvider) NotifyInstanceStopped(ctx context.Context, instance chan<- string)

func (*KubernetesProvider) Start

func (provider *KubernetesProvider) Start(ctx context.Context, name string) (instance.State, error)

func (*KubernetesProvider) Stop

func (provider *KubernetesProvider) Stop(ctx context.Context, name string) (instance.State, error)

type Provider

type Provider interface {
	Start(ctx context.Context, name string) (instance.State, error)
	Stop(ctx context.Context, name string) (instance.State, error)
	GetState(ctx context.Context, name string) (instance.State, error)
	GetGroups(ctx context.Context) (map[string][]string, error)

	NotifyInstanceStopped(ctx context.Context, instance chan<- string)
}

func NewProvider

func NewProvider(config config.Provider) (Provider, error)

type Workload

type Workload interface {
	GetScale(ctx context.Context, workloadName string, options metav1.GetOptions) (*autoscalingv1.Scale, error)
	UpdateScale(ctx context.Context, workloadName string, scale *autoscalingv1.Scale, opts metav1.UpdateOptions) (*autoscalingv1.Scale, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL