nodeprovider

package
v0.0.0-...-d3ca436 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2023 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompareSlices

func CompareSlices[T comparable](a, b []T) bool

func GetLastRegisterEvent

func GetLastRegisterEvent(_events []*nomad.NodeEvent) *nomad.NodeEvent

func Min

func Min[T int | int32 | float32](a T, b T) T

func RemoveSliceElements

func RemoveSliceElements[T comparable](slice []T, elements []T) []T

Types

type AnyNodeProvider

type AnyNodeProvider struct {
	// contains filtered or unexported fields
}

func (*AnyNodeProvider) IsNodeExists

func (c *AnyNodeProvider) IsNodeExists(_nomadNode *nomad.Node) bool

func (*AnyNodeProvider) RemoveNode

func (c *AnyNodeProvider) RemoveNode(_nomadNode []*nomad.Node) error

func (*AnyNodeProvider) UpdateNode

func (c *AnyNodeProvider) UpdateNode(_ctx context.Context, _nodes []*structs.Node, _totalcount int32) error

type AwsAutoscaleGroupProvider

type AwsAutoscaleGroupProvider struct {
	// contains filtered or unexported fields
}

func (*AwsAutoscaleGroupProvider) IsNodeExists

func (c *AwsAutoscaleGroupProvider) IsNodeExists(_nomadNode *nomad.Node) bool

func (*AwsAutoscaleGroupProvider) RemoveNode

func (c *AwsAutoscaleGroupProvider) RemoveNode(_nomadNodes []*nomad.Node) error

func (*AwsAutoscaleGroupProvider) UpdateNode

func (c *AwsAutoscaleGroupProvider) UpdateNode(_ctx context.Context, _nodes []*structs.Node, _totalcount int32) error

type INodeProvider

type INodeProvider interface {
	IsNodeExists(_nomadNode *nomad.Node) bool
	RemoveNode(_nomadNode []*nomad.Node) error //TODO возможно добавить передачу контекста, чтобы была возможность отмены
	UpdateNode(_сtx context.Context, _nodes []*structs.Node, _totalcount int32) error
}

func Createawsautoscalegroupv2

func Createawsautoscalegroupv2(_params interface{}) (INodeProvider, error)

func Createkarpenterprovider

func Createkarpenterprovider(_params interface{}, _res *K8sKapenterProviderResources) (INodeProvider, error)

func NewAnyNodeProvider

func NewAnyNodeProvider() (INodeProvider, error)

func NewAwsAutoscaleGroupProvider

func NewAwsAutoscaleGroupProvider(_asgName string) (INodeProvider, error)

func NewK8sKapenterProvider

func NewK8sKapenterProvider(_name string, _ami map[string]string, _securityGroups map[string]string, _subnets map[string]string, _instanceProfile string, _launchTemplate *string, _reqs []*karpenterprovidergrpc.Requirement, _res *K8sKapenterProviderResources) (INodeProvider, error)

type K8sKapenterProvider

type K8sKapenterProvider struct {
	// contains filtered or unexported fields
}

func (*K8sKapenterProvider) IsNodeExists

func (p *K8sKapenterProvider) IsNodeExists(_nomadNode *nomad.Node) bool

func (*K8sKapenterProvider) RemoveNode

func (p *K8sKapenterProvider) RemoveNode(_nomadNodes []*nomad.Node) error

func (*K8sKapenterProvider) UpdateNode

func (p *K8sKapenterProvider) UpdateNode(_ctx context.Context, _nodes []*structs.Node, _totalcount int32) error

type K8sKapenterProviderClient

type K8sKapenterProviderClient struct {
	// contains filtered or unexported fields
}

func (*K8sKapenterProviderClient) AddInstances

func (k *K8sKapenterProviderClient) AddInstances(_ctx context.Context, _poolName string, _count int, _spec *karpenterprovidergrpc.AddInstancesSpec) ([]string, string, error)

func (*K8sKapenterProviderClient) ListInstances

func (k *K8sKapenterProviderClient) ListInstances(_poolName string) ([]string, error)

func (*K8sKapenterProviderClient) RemoveInstances

func (k *K8sKapenterProviderClient) RemoveInstances(_poolName string, _instanses []string) error

type K8sKapenterProviderPLuginSingleton

type K8sKapenterProviderPLuginSingleton struct {
	// contains filtered or unexported fields
}

type K8sKapenterProviderPlugin

type K8sKapenterProviderPlugin struct {
	plugin.Plugin

	Impl K8sKapenterProviderPluginInterface
}

func (*K8sKapenterProviderPlugin) GRPCClient

func (p *K8sKapenterProviderPlugin) GRPCClient(ctx context.Context, broker *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)

func (*K8sKapenterProviderPlugin) GRPCServer

func (p *K8sKapenterProviderPlugin) GRPCServer(broker *plugin.GRPCBroker, s *grpc.Server) error

type K8sKapenterProviderPluginInterface

type K8sKapenterProviderPluginInterface interface {
	ListInstances(string) ([]string, error)
	AddInstances(context.Context, string, int, *karpenterprovidergrpc.AddInstancesSpec) ([]string, string, error)
	RemoveInstances(string, []string) error
}

type K8sKapenterProviderResources

type K8sKapenterProviderResources struct {
	Cpu    int
	MemMB  int
	DiskMB int
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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