v1alpha1

package
v0.0.0-...-162ddea Latest Latest
Warning

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

Go to latest
Published: Dec 1, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the instancemgr v1alpha1 API group +kubebuilder:object:generate=true +groupName=instancemgr.keikoproj.io

Index

Constants

View Source
const (
	// Init States
	ReconcileInit        ReconcileState = "Init"
	ReconcileInitDelete  ReconcileState = "InitDelete"
	ReconcileInitUpdate  ReconcileState = "InitUpdate"
	ReconcileInitCreate  ReconcileState = "InitCreate"
	ReconcileInitUpgrade ReconcileState = "InitUpgrade"

	// Ongoing States
	ReconcileDeleting  ReconcileState = "Deleting"
	ReconcileDeleted   ReconcileState = "Deleted"
	ReconcileModifying ReconcileState = "ReconcileModifying"
	ReconcileModified  ReconcileState = "ReconcileModified"

	// End States
	ReconcileLocked ReconcileState = "Locked"
	ReconcileReady  ReconcileState = "Ready"
	ReconcileErr    ReconcileState = "Error"

	// Userdata bootstrap stages
	PreBootstrapStage  = "PreBootstrap"
	PostBootstrapStage = "PostBootstrap"

	LifecycleStateNormal      = "normal"
	LifecycleStateSpot        = "spot"
	LifecycleStateMixed       = "mixed"
	CRDStrategyName           = "crd"
	RollingUpdateStrategyName = "rollingupdate"
	ManagedStrategyName       = "managed"
	EKSProvisionerName        = "eks"
	EKSManagedProvisionerName = "eks-managed"
	EKSFargateProvisionerName = "eks-fargate"

	NodesReady InstanceGroupConditionType = "NodesReady"

	ForbidConcurrencyPolicy  = "forbid"
	AllowConcurrencyPolicy   = "allow"
	ReplaceConcurrencyPolicy = "replace"

	FileSystemTypeXFS  = "xfs"
	FileSystemTypeEXT4 = "ext4"

	HostPlacementTenancyType      = "host"
	DefaultPlacementTenancyType   = "default"
	DedicatedPlacementTenancyType = "dedicated"

	ImageLatestValue = "latest"
	ImageSSMPrefix   = "ssm://"
)
View Source
const (
	LaunchConfiguration ScalingConfigurationType = "LaunchConfiguration"
	LaunchTemplate      ScalingConfigurationType = "LaunchTemplate"

	DockerRuntime     ContainerRuntime = "dockerd"
	ContainerDRuntime ContainerRuntime = "containerd"

	UpgradeLockedAnnotationKey = "instancemgr.keikoproj.io/lock-upgrades"
)
View Source
const (
	LaunchTemplateStrategyCapacityOptimized = "CapacityOptimized"
	LaunchTemplateStrategyLowestPrice       = "LowestPrice"
	SubFamilyFlexibleInstancePool           = "SubFamilyFlexible"
)
View Source
const (
	LifecycleHookResultAbandon           = "ABANDON"
	LifecycleHookResultContinue          = "CONTINUE"
	LifecycleHookTransitionLaunch        = "Launch"
	LifecycleHookTransitionTerminate     = "Terminate"
	LifecycleHookDefaultHeartbeatTimeout = 300
)

Variables

View Source
var (
	// GroupVersion is group version used to register instance groups
	GroupVersion = schema.GroupVersion{Group: "instancemgr.keikoproj.io", Version: "v1alpha1"}

	// GroupVersionResource is group version resource used to register instance groups
	GroupVersionResource = schema.GroupVersionResource{
		Group:    "instancemgr.keikoproj.io",
		Version:  "v1alpha1",
		Resource: "instancegroups",
	}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Strategies   = []string{CRDStrategyName, RollingUpdateStrategyName, ManagedStrategyName}
	Provisioners = []string{
		EKSProvisionerName,
		EKSManagedProvisionerName,
		EKSFargateProvisionerName,
	}
	EKSConfigurationTypes = []ScalingConfigurationType{
		LaunchConfiguration,
		LaunchTemplate,
	}

	DefaultRollingUpdateStrategy = &RollingUpdateStrategy{
		MaxUnavailable: &intstr.IntOrString{
			Type:   intstr.Int,
			IntVal: 1,
		},
	}
	DefaultCRDStrategyMaxRetries = 3

	AllowedContainerRuntimes            = []ContainerRuntime{ContainerDRuntime, DockerRuntime}
	AllowedFileSystemTypes              = []string{FileSystemTypeXFS, FileSystemTypeEXT4}
	AllowedMixedPolicyStrategies        = []string{LaunchTemplateStrategyCapacityOptimized, LaunchTemplateStrategyLowestPrice}
	AllowedInstancePools                = []string{SubFamilyFlexibleInstancePool}
	LifecycleHookAllowedTransitions     = []string{LifecycleHookTransitionLaunch, LifecycleHookTransitionTerminate}
	LifecycleHookAllowedDefaultResult   = []string{LifecycleHookResultAbandon, LifecycleHookResultContinue}
	LaunchTemplatePlacementTenancyTypes = []string{HostPlacementTenancyType, DefaultPlacementTenancyType, DedicatedPlacementTenancyType}
)

Functions

This section is empty.

Types

type AwsUpgradeStrategy

type AwsUpgradeStrategy struct {
	Type              string                 `json:"type,omitempty"`
	CRDType           *CRDUpdateStrategy     `json:"crd,omitempty"`
	RollingUpdateType *RollingUpdateStrategy `json:"rollingUpdate,omitempty"`
}

AwsUpgradeStrategy defines the upgrade strategy of an AWS Instance Group

func (*AwsUpgradeStrategy) DeepCopy

func (in *AwsUpgradeStrategy) DeepCopy() *AwsUpgradeStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AwsUpgradeStrategy.

func (*AwsUpgradeStrategy) DeepCopyInto

func (in *AwsUpgradeStrategy) DeepCopyInto(out *AwsUpgradeStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AwsUpgradeStrategy) GetCRDType

func (s *AwsUpgradeStrategy) GetCRDType() *CRDUpdateStrategy

func (*AwsUpgradeStrategy) GetRollingUpdateType

func (s *AwsUpgradeStrategy) GetRollingUpdateType() *RollingUpdateStrategy

func (*AwsUpgradeStrategy) GetType

func (strategy *AwsUpgradeStrategy) GetType() string

func (*AwsUpgradeStrategy) SetCRDType

func (s *AwsUpgradeStrategy) SetCRDType(crd *CRDUpdateStrategy)

func (*AwsUpgradeStrategy) SetRollingUpdateType

func (s *AwsUpgradeStrategy) SetRollingUpdateType(ru *RollingUpdateStrategy)

func (*AwsUpgradeStrategy) SetType

func (strategy *AwsUpgradeStrategy) SetType(strategyType string)

type BootstrapOptions

type BootstrapOptions struct {
	MaxPods          int64            `json:"maxPods,omitempty"`
	ContainerRuntime ContainerRuntime `json:"containerRuntime,omitempty"`
}

func (*BootstrapOptions) DeepCopy

func (in *BootstrapOptions) DeepCopy() *BootstrapOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootstrapOptions.

func (*BootstrapOptions) DeepCopyInto

func (in *BootstrapOptions) DeepCopyInto(out *BootstrapOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CRDUpdateStrategy

type CRDUpdateStrategy struct {
	Spec                string `json:"spec,omitempty"`
	CRDName             string `json:"crdName,omitempty"`
	ConcurrencyPolicy   string `json:"concurrencyPolicy,omitempty"`
	MaxRetries          *int   `json:"maxRetries,omitempty"`
	StatusJSONPath      string `json:"statusJSONPath,omitempty"`
	StatusSuccessString string `json:"statusSuccessString,omitempty"`
	StatusFailureString string `json:"statusFailureString,omitempty"`
}

func (*CRDUpdateStrategy) DeepCopy

func (in *CRDUpdateStrategy) DeepCopy() *CRDUpdateStrategy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRDUpdateStrategy.

func (*CRDUpdateStrategy) DeepCopyInto

func (in *CRDUpdateStrategy) DeepCopyInto(out *CRDUpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CRDUpdateStrategy) GetCRDName

func (c *CRDUpdateStrategy) GetCRDName() string

func (*CRDUpdateStrategy) GetConcurrencyPolicy

func (c *CRDUpdateStrategy) GetConcurrencyPolicy() string

func (*CRDUpdateStrategy) GetSpec

func (c *CRDUpdateStrategy) GetSpec() string

func (*CRDUpdateStrategy) GetStatusFailureString

func (c *CRDUpdateStrategy) GetStatusFailureString() string

func (*CRDUpdateStrategy) GetStatusJSONPath

func (c *CRDUpdateStrategy) GetStatusJSONPath() string

func (*CRDUpdateStrategy) GetStatusSuccessString

func (c *CRDUpdateStrategy) GetStatusSuccessString() string

func (*CRDUpdateStrategy) SetCRDName

func (c *CRDUpdateStrategy) SetCRDName(name string)

func (*CRDUpdateStrategy) SetConcurrencyPolicy

func (c *CRDUpdateStrategy) SetConcurrencyPolicy(policy string)

func (*CRDUpdateStrategy) SetSpec

func (c *CRDUpdateStrategy) SetSpec(body string)

func (*CRDUpdateStrategy) SetStatusFailureString

func (c *CRDUpdateStrategy) SetStatusFailureString(str string)

func (*CRDUpdateStrategy) SetStatusJSONPath

func (c *CRDUpdateStrategy) SetStatusJSONPath(path string)

func (*CRDUpdateStrategy) SetStatusSuccessString

func (c *CRDUpdateStrategy) SetStatusSuccessString(str string)

func (*CRDUpdateStrategy) Validate

func (c *CRDUpdateStrategy) Validate() error

type ContainerRuntime

type ContainerRuntime string

type EKSConfiguration

type EKSConfiguration struct {
	EksClusterName              string                    `json:"clusterName,omitempty"`
	KeyPairName                 string                    `json:"keyPairName,omitempty"`
	Image                       string                    `json:"image,omitempty"`
	InstanceType                string                    `json:"instanceType,omitempty"`
	NodeSecurityGroups          []string                  `json:"securityGroups,omitempty"`
	Volumes                     []NodeVolume              `json:"volumes,omitempty"`
	Subnets                     []string                  `json:"subnets,omitempty"`
	SuspendedProcesses          []string                  `json:"suspendProcesses,omitempty"`
	BootstrapArguments          string                    `json:"bootstrapArguments,omitempty"`
	BootstrapOptions            *BootstrapOptions         `json:"bootstrapOptions,omitempty"`
	SpotPrice                   string                    `json:"spotPrice,omitempty"`
	Tags                        []map[string]string       `json:"tags,omitempty"`
	Labels                      map[string]string         `json:"labels,omitempty"`
	Taints                      []corev1.Taint            `json:"taints,omitempty"`
	UserData                    []UserDataStage           `json:"userData,omitempty"`
	ExistingRoleName            string                    `json:"roleName,omitempty"`
	ExistingInstanceProfileName string                    `json:"instanceProfileName,omitempty"`
	ManagedPolicies             []string                  `json:"managedPolicies,omitempty"`
	MetricsCollection           []string                  `json:"metricsCollection,omitempty"`
	LifecycleHooks              []LifecycleHookSpec       `json:"lifecycleHooks,omitempty"`
	MixedInstancesPolicy        *MixedInstancesPolicySpec `json:"mixedInstancesPolicy,omitempty"`
	LicenseSpecifications       []string                  `json:"licenseSpecifications,omitempty"`
	Placement                   *PlacementSpec            `json:"placement,omitempty"`
	MetadataOptions             *MetadataOptions          `json:"metadataOptions,omitempty"`
}

func (*EKSConfiguration) DeepCopy

func (in *EKSConfiguration) DeepCopy() *EKSConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSConfiguration.

func (*EKSConfiguration) DeepCopyInto

func (in *EKSConfiguration) DeepCopyInto(out *EKSConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EKSConfiguration) GetBootstrapArguments

func (c *EKSConfiguration) GetBootstrapArguments() string

func (*EKSConfiguration) GetBootstrapOptions

func (c *EKSConfiguration) GetBootstrapOptions() *BootstrapOptions

func (*EKSConfiguration) GetClusterName

func (c *EKSConfiguration) GetClusterName() string

func (*EKSConfiguration) GetImage

func (c *EKSConfiguration) GetImage() string

func (*EKSConfiguration) GetInstanceProfileName

func (c *EKSConfiguration) GetInstanceProfileName() string

func (*EKSConfiguration) GetLabels

func (c *EKSConfiguration) GetLabels() map[string]string

func (*EKSConfiguration) GetLifecycleHooks

func (c *EKSConfiguration) GetLifecycleHooks() []LifecycleHookSpec

func (*EKSConfiguration) GetManagedPolicies

func (c *EKSConfiguration) GetManagedPolicies() []string

func (*EKSConfiguration) GetMetadataOptions

func (c *EKSConfiguration) GetMetadataOptions() *MetadataOptions

func (*EKSConfiguration) GetMetricsCollection

func (c *EKSConfiguration) GetMetricsCollection() []string

func (*EKSConfiguration) GetMixedInstancesPolicy

func (c *EKSConfiguration) GetMixedInstancesPolicy() *MixedInstancesPolicySpec

func (*EKSConfiguration) GetPlacement

func (c *EKSConfiguration) GetPlacement() *PlacementSpec

func (*EKSConfiguration) GetRoleName

func (c *EKSConfiguration) GetRoleName() string

func (*EKSConfiguration) GetSecurityGroups

func (c *EKSConfiguration) GetSecurityGroups() []string

func (*EKSConfiguration) GetSpotPrice

func (c *EKSConfiguration) GetSpotPrice() string

func (*EKSConfiguration) GetSubnets

func (c *EKSConfiguration) GetSubnets() []string

func (*EKSConfiguration) GetSuspendProcesses

func (c *EKSConfiguration) GetSuspendProcesses() []string

func (*EKSConfiguration) GetTags

func (c *EKSConfiguration) GetTags() []map[string]string

func (*EKSConfiguration) GetTaints

func (c *EKSConfiguration) GetTaints() []corev1.Taint

func (*EKSConfiguration) GetUserData

func (c *EKSConfiguration) GetUserData() []UserDataStage

func (*EKSConfiguration) GetVolumes

func (c *EKSConfiguration) GetVolumes() []NodeVolume

func (*EKSConfiguration) HasExistingRole

func (c *EKSConfiguration) HasExistingRole() bool

func (*EKSConfiguration) SetClusterName

func (c *EKSConfiguration) SetClusterName(name string)

func (*EKSConfiguration) SetInstanceProfileName

func (c *EKSConfiguration) SetInstanceProfileName(profile string)

func (*EKSConfiguration) SetLabels

func (c *EKSConfiguration) SetLabels(labels map[string]string)

func (*EKSConfiguration) SetLifecycleHooks

func (c *EKSConfiguration) SetLifecycleHooks(hooks []LifecycleHookSpec)

func (*EKSConfiguration) SetManagedPolicies

func (c *EKSConfiguration) SetManagedPolicies(policies []string)

func (*EKSConfiguration) SetMetricsCollection

func (c *EKSConfiguration) SetMetricsCollection(metrics []string)

func (*EKSConfiguration) SetRoleName

func (c *EKSConfiguration) SetRoleName(role string)

func (*EKSConfiguration) SetSpotPrice

func (c *EKSConfiguration) SetSpotPrice(price string)

func (*EKSConfiguration) SetSubnets

func (c *EKSConfiguration) SetSubnets(subnets []string)

func (*EKSConfiguration) SetSuspendProcesses

func (c *EKSConfiguration) SetSuspendProcesses(suspendProcesses []string)

func (*EKSConfiguration) SetTags

func (c *EKSConfiguration) SetTags(tags []map[string]string)

func (*EKSConfiguration) SetTaints

func (c *EKSConfiguration) SetTaints(taints []corev1.Taint)

func (*EKSConfiguration) Validate

func (c *EKSConfiguration) Validate() error

type EKSFargateSelectors

type EKSFargateSelectors struct {
	Namespace string            `json:"namespace"`
	Labels    map[string]string `json:"labels,omitempty"`
}

func (*EKSFargateSelectors) DeepCopy

func (in *EKSFargateSelectors) DeepCopy() *EKSFargateSelectors

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSFargateSelectors.

func (*EKSFargateSelectors) DeepCopyInto

func (in *EKSFargateSelectors) DeepCopyInto(out *EKSFargateSelectors)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EKSFargateSpec

type EKSFargateSpec struct {
	ClusterName         string                `json:"clusterName"`
	PodExecutionRoleArn string                `json:"podExecutionRoleArn,omitempty"`
	Subnets             []string              `json:"subnets,omitempty"`
	Selectors           []EKSFargateSelectors `json:"selectors"`
	Tags                []map[string]string   `json:"tags,omitempty"`
}

func (*EKSFargateSpec) DeepCopy

func (in *EKSFargateSpec) DeepCopy() *EKSFargateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSFargateSpec.

func (*EKSFargateSpec) DeepCopyInto

func (in *EKSFargateSpec) DeepCopyInto(out *EKSFargateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EKSFargateSpec) GetClusterName

func (spec *EKSFargateSpec) GetClusterName() string

func (*EKSFargateSpec) GetPodExecutionRoleArn

func (spec *EKSFargateSpec) GetPodExecutionRoleArn() string

func (*EKSFargateSpec) GetSelectors

func (spec *EKSFargateSpec) GetSelectors() []EKSFargateSelectors

func (*EKSFargateSpec) GetSubnets

func (spec *EKSFargateSpec) GetSubnets() []string

func (*EKSFargateSpec) GetTags

func (spec *EKSFargateSpec) GetTags() []map[string]string

func (*EKSFargateSpec) SetClusterName

func (spec *EKSFargateSpec) SetClusterName(name string)

func (*EKSFargateSpec) SetPodExecutionRoleArn

func (spec *EKSFargateSpec) SetPodExecutionRoleArn(arn string)

func (*EKSFargateSpec) SetSelectors

func (spec *EKSFargateSpec) SetSelectors(selectors []EKSFargateSelectors)

func (*EKSFargateSpec) SetSubnets

func (spec *EKSFargateSpec) SetSubnets(subnets []string)

func (*EKSFargateSpec) SetTags

func (spec *EKSFargateSpec) SetTags(tags []map[string]string)

func (*EKSFargateSpec) Validate

func (spec *EKSFargateSpec) Validate() error

type EKSManagedConfiguration

type EKSManagedConfiguration struct {
	EksClusterName     string              `json:"clusterName,omitempty"`
	VolSize            int64               `json:"volSize,omitempty"`
	InstanceType       string              `json:"instanceType,omitempty"`
	NodeLabels         map[string]string   `json:"nodeLabels,omitempty"`
	NodeRole           string              `json:"nodeRole,omitempty"`
	NodeSecurityGroups []string            `json:"securityGroups,omitempty"`
	KeyPairName        string              `json:"keyPairName,omitempty"`
	Tags               []map[string]string `json:"tags,omitempty"`
	Subnets            []string            `json:"subnets,omitempty"`
	AmiType            string              `json:"amiType,omitempty"`
	ReleaseVersion     string              `json:"releaseVersion,omitempty"`
	Version            string              `json:"version,omitempty"`
}

func (*EKSManagedConfiguration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSManagedConfiguration.

func (*EKSManagedConfiguration) DeepCopyInto

func (in *EKSManagedConfiguration) DeepCopyInto(out *EKSManagedConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EKSManagedConfiguration) GetLabels

func (conf *EKSManagedConfiguration) GetLabels() map[string]string

func (*EKSManagedConfiguration) SetClusterName

func (conf *EKSManagedConfiguration) SetClusterName(name string)

func (*EKSManagedConfiguration) SetSubnets

func (conf *EKSManagedConfiguration) SetSubnets(subnets []string)

type EKSManagedSpec

type EKSManagedSpec struct {
	MaxSize                 int64                    `json:"maxSize"`
	MinSize                 int64                    `json:"minSize"`
	EKSManagedConfiguration *EKSManagedConfiguration `json:"configuration"`
}

func (*EKSManagedSpec) DeepCopy

func (in *EKSManagedSpec) DeepCopy() *EKSManagedSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSManagedSpec.

func (*EKSManagedSpec) DeepCopyInto

func (in *EKSManagedSpec) DeepCopyInto(out *EKSManagedSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EKSManagedSpec) GetMaxSize

func (spec *EKSManagedSpec) GetMaxSize() int64

func (*EKSManagedSpec) GetMinSize

func (spec *EKSManagedSpec) GetMinSize() int64

type EKSSpec

type EKSSpec struct {
	MaxSize          int64                    `json:"maxSize,omitempty"`
	MinSize          int64                    `json:"minSize,omitempty"`
	WarmPool         *WarmPoolSpec            `json:"warmPool,omitempty"`
	Type             ScalingConfigurationType `json:"type,omitempty"`
	EKSConfiguration *EKSConfiguration        `json:"configuration"`
}

func (*EKSSpec) DeepCopy

func (in *EKSSpec) DeepCopy() *EKSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSSpec.

func (*EKSSpec) DeepCopyInto

func (in *EKSSpec) DeepCopyInto(out *EKSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EKSSpec) GetMaxSize

func (spec *EKSSpec) GetMaxSize() int64

func (*EKSSpec) GetMinSize

func (spec *EKSSpec) GetMinSize() int64

func (*EKSSpec) GetType

func (spec *EKSSpec) GetType() ScalingConfigurationType

func (*EKSSpec) HasWarmPool

func (s *EKSSpec) HasWarmPool() bool

func (*EKSSpec) IsLaunchConfiguration

func (s *EKSSpec) IsLaunchConfiguration() bool

func (*EKSSpec) IsLaunchTemplate

func (s *EKSSpec) IsLaunchTemplate() bool

func (*EKSSpec) Validate

func (s *EKSSpec) Validate(overrides *ValidationOverrides) error

type InstanceGroup

type InstanceGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`

	Spec   InstanceGroupSpec   `json:"spec"`
	Status InstanceGroupStatus `json:"status,omitempty"`
}

InstanceGroup is the Schema for the instancegroups API +kubebuilder:object:root=true +kubebuilder:resource:path=instancegroups,scope=Namespaced,shortName=ig +kubebuilder:subresource:status +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.currentState",description="current state of the instancegroup" +kubebuilder:printcolumn:name="Min",type="integer",JSONPath=".status.currentMin",description="currently set min instancegroup size" +kubebuilder:printcolumn:name="Max",type="integer",JSONPath=".status.currentMax",description="currently set max instancegroup size" +kubebuilder:printcolumn:name="Group Name",type="string",JSONPath=".status.activeScalingGroupName",description="instancegroup created scalinggroup name" +kubebuilder:printcolumn:name="Provisioner",type="string",JSONPath=".status.provisioner",description="instance group provisioner" +kubebuilder:printcolumn:name="Strategy",type="string",JSONPath=".status.strategy",description="instance group upgrade strategy" +kubebuilder:printcolumn:name="Lifecycle",type="string",JSONPath=".status.lifecycle",description="instance group lifecycle spot/normal" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="time passed since instancegroup creation"

func (*InstanceGroup) DeepCopy

func (in *InstanceGroup) DeepCopy() *InstanceGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroup.

func (*InstanceGroup) DeepCopyInto

func (in *InstanceGroup) DeepCopyInto(out *InstanceGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceGroup) DeepCopyObject

func (in *InstanceGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceGroup) GetEKSConfiguration

func (ig *InstanceGroup) GetEKSConfiguration() *EKSConfiguration

func (*InstanceGroup) GetEKSFargateSpec

func (ig *InstanceGroup) GetEKSFargateSpec() *EKSFargateSpec

func (*InstanceGroup) GetEKSManagedConfiguration

func (ig *InstanceGroup) GetEKSManagedConfiguration() *EKSManagedConfiguration

func (*InstanceGroup) GetEKSManagedSpec

func (ig *InstanceGroup) GetEKSManagedSpec() *EKSManagedSpec

func (*InstanceGroup) GetEKSSpec

func (ig *InstanceGroup) GetEKSSpec() *EKSSpec

func (*InstanceGroup) GetState

func (ig *InstanceGroup) GetState() ReconcileState

func (*InstanceGroup) GetStatus

func (ig *InstanceGroup) GetStatus() *InstanceGroupStatus

func (*InstanceGroup) GetUpgradeStrategy

func (ig *InstanceGroup) GetUpgradeStrategy() *AwsUpgradeStrategy

func (*InstanceGroup) Locked

func (ig *InstanceGroup) Locked() bool

func (*InstanceGroup) NamespacedName

func (ig *InstanceGroup) NamespacedName() string

func (*InstanceGroup) SetState

func (ig *InstanceGroup) SetState(s ReconcileState)

func (*InstanceGroup) SetUpgradeStrategy

func (ig *InstanceGroup) SetUpgradeStrategy(strategy AwsUpgradeStrategy)

func (*InstanceGroup) Validate

func (ig *InstanceGroup) Validate(overrides *ValidationOverrides) error

type InstanceGroupCondition

type InstanceGroupCondition struct {
	Type   InstanceGroupConditionType `json:"type,omitempty"`
	Status corev1.ConditionStatus     `json:"status,omitempty"`
}

InstanceGroupConditions describes the conditions of the InstanceGroup

func (*InstanceGroupCondition) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupCondition.

func (*InstanceGroupCondition) DeepCopyInto

func (in *InstanceGroupCondition) DeepCopyInto(out *InstanceGroupCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupConditionType

type InstanceGroupConditionType string

type InstanceGroupList

type InstanceGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []InstanceGroup `json:"items"`
}

InstanceGroupList contains a list of InstanceGroup +kubebuilder:object:root=true

func (*InstanceGroupList) DeepCopy

func (in *InstanceGroupList) DeepCopy() *InstanceGroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupList.

func (*InstanceGroupList) DeepCopyInto

func (in *InstanceGroupList) DeepCopyInto(out *InstanceGroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceGroupList) DeepCopyObject

func (in *InstanceGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InstanceGroupSpec

type InstanceGroupSpec struct {
	Provisioner        string             `json:"provisioner,omitempty"`
	EKSManagedSpec     *EKSManagedSpec    `json:"eks-managed,omitempty"`
	EKSFargateSpec     *EKSFargateSpec    `json:"eks-fargate,omitempty"`
	EKSSpec            *EKSSpec           `json:"eks,omitempty"`
	AwsUpgradeStrategy AwsUpgradeStrategy `json:"strategy,omitempty"`
}

InstanceGroupSpec defines the schema of resource Spec

func (*InstanceGroupSpec) DeepCopy

func (in *InstanceGroupSpec) DeepCopy() *InstanceGroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupSpec.

func (*InstanceGroupSpec) DeepCopyInto

func (in *InstanceGroupSpec) DeepCopyInto(out *InstanceGroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceGroupStatus

type InstanceGroupStatus struct {
	CurrentState                  string                   `json:"currentState,omitempty"`
	CurrentMin                    int                      `json:"currentMin,omitempty"`
	CurrentMax                    int                      `json:"currentMax,omitempty"`
	ActiveLaunchConfigurationName string                   `json:"activeLaunchConfigurationName,omitempty"`
	ActiveLaunchTemplateName      string                   `json:"activeLaunchTemplateName,omitempty"`
	LatestTemplateVersion         string                   `json:"latestTemplateVersion,omitempty"`
	ActiveScalingGroupName        string                   `json:"activeScalingGroupName,omitempty"`
	NodesArn                      string                   `json:"nodesInstanceRoleArn,omitempty"`
	StrategyResourceName          string                   `json:"strategyResourceName,omitempty"`
	StrategyResourceNamespace     string                   `json:"strategyResourceNamespace,omitempty"`
	StrategyRetryCount            int                      `json:"strategyRetryCount,omitempty"`
	UsingSpotRecommendation       bool                     `json:"usingSpotRecommendation,omitempty"`
	Lifecycle                     string                   `json:"lifecycle,omitempty"`
	ConfigHash                    string                   `json:"configMD5,omitempty"`
	Conditions                    []InstanceGroupCondition `json:"conditions,omitempty"`
	Provisioner                   string                   `json:"provisioner,omitempty"`
	Strategy                      string                   `json:"strategy,omitempty"`
}

InstanceGroupStatus defines the schema of resource Status

func (*InstanceGroupStatus) DeepCopy

func (in *InstanceGroupStatus) DeepCopy() *InstanceGroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceGroupStatus.

func (*InstanceGroupStatus) DeepCopyInto

func (in *InstanceGroupStatus) DeepCopyInto(out *InstanceGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceGroupStatus) GetActiveLaunchConfigurationName

func (status *InstanceGroupStatus) GetActiveLaunchConfigurationName() string

func (*InstanceGroupStatus) GetActiveLaunchTemplateName

func (status *InstanceGroupStatus) GetActiveLaunchTemplateName() string

func (*InstanceGroupStatus) GetActiveScalingGroupName

func (status *InstanceGroupStatus) GetActiveScalingGroupName() string

func (*InstanceGroupStatus) GetConditions

func (status *InstanceGroupStatus) GetConditions() []InstanceGroupCondition

func (*InstanceGroupStatus) GetConfigHash

func (status *InstanceGroupStatus) GetConfigHash() string

func (*InstanceGroupStatus) GetCurrentMax

func (status *InstanceGroupStatus) GetCurrentMax() int

func (*InstanceGroupStatus) GetCurrentMin

func (status *InstanceGroupStatus) GetCurrentMin() int

func (*InstanceGroupStatus) GetLatestTemplateVersion

func (status *InstanceGroupStatus) GetLatestTemplateVersion() string

func (*InstanceGroupStatus) GetLifecycle

func (status *InstanceGroupStatus) GetLifecycle() string

func (*InstanceGroupStatus) GetNodesArn

func (status *InstanceGroupStatus) GetNodesArn() string

func (*InstanceGroupStatus) GetNodesReadyCondition

func (status *InstanceGroupStatus) GetNodesReadyCondition() corev1.ConditionStatus

func (*InstanceGroupStatus) GetStrategyResourceName

func (status *InstanceGroupStatus) GetStrategyResourceName() string

func (*InstanceGroupStatus) GetStrategyResourceNamespace

func (status *InstanceGroupStatus) GetStrategyResourceNamespace() string

func (*InstanceGroupStatus) GetStrategyRetryCount

func (status *InstanceGroupStatus) GetStrategyRetryCount() int

func (*InstanceGroupStatus) GetUsingSpotRecommendation

func (status *InstanceGroupStatus) GetUsingSpotRecommendation() bool

func (*InstanceGroupStatus) IncrementStrategyRetryCount

func (status *InstanceGroupStatus) IncrementStrategyRetryCount()

func (*InstanceGroupStatus) SetActiveLaunchConfigurationName

func (status *InstanceGroupStatus) SetActiveLaunchConfigurationName(name string)

func (*InstanceGroupStatus) SetActiveLaunchTemplateName

func (status *InstanceGroupStatus) SetActiveLaunchTemplateName(name string)

func (*InstanceGroupStatus) SetActiveScalingGroupName

func (status *InstanceGroupStatus) SetActiveScalingGroupName(name string)

func (*InstanceGroupStatus) SetConditions

func (status *InstanceGroupStatus) SetConditions(conditions []InstanceGroupCondition)

func (*InstanceGroupStatus) SetConfigHash

func (status *InstanceGroupStatus) SetConfigHash(hash string)

func (*InstanceGroupStatus) SetCurrentMax

func (status *InstanceGroupStatus) SetCurrentMax(max int)

func (*InstanceGroupStatus) SetCurrentMin

func (status *InstanceGroupStatus) SetCurrentMin(min int)

func (*InstanceGroupStatus) SetLatestTemplateVersion

func (status *InstanceGroupStatus) SetLatestTemplateVersion(version string)

func (*InstanceGroupStatus) SetLifecycle

func (status *InstanceGroupStatus) SetLifecycle(phase string)

func (*InstanceGroupStatus) SetNodesArn

func (status *InstanceGroupStatus) SetNodesArn(arn string)

func (*InstanceGroupStatus) SetProvisioner

func (status *InstanceGroupStatus) SetProvisioner(provisioner string)

func (*InstanceGroupStatus) SetStrategy

func (status *InstanceGroupStatus) SetStrategy(strategy string)

func (*InstanceGroupStatus) SetStrategyResourceName

func (status *InstanceGroupStatus) SetStrategyResourceName(name string)

func (*InstanceGroupStatus) SetStrategyResourceNamespace

func (status *InstanceGroupStatus) SetStrategyResourceNamespace(namespace string)

func (*InstanceGroupStatus) SetStrategyRetryCount

func (status *InstanceGroupStatus) SetStrategyRetryCount(n int)

func (*InstanceGroupStatus) SetUsingSpotRecommendation

func (status *InstanceGroupStatus) SetUsingSpotRecommendation(condition bool)

type InstanceTypeSpec

type InstanceTypeSpec struct {
	Type   string `json:"type"`
	Weight int64  `json:"weight,omitempty"`
}

func (*InstanceTypeSpec) DeepCopy

func (in *InstanceTypeSpec) DeepCopy() *InstanceTypeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceTypeSpec.

func (*InstanceTypeSpec) DeepCopyInto

func (in *InstanceTypeSpec) DeepCopyInto(out *InstanceTypeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LifecycleHookSpec

type LifecycleHookSpec struct {
	Name             string `json:"name"`
	Lifecycle        string `json:"lifecycle"`
	DefaultResult    string `json:"defaultResult,omitempty"`
	HeartbeatTimeout int64  `json:"heartbeatTimeout,omitempty"`
	NotificationArn  string `json:"notificationArn,omitempty"`
	Metadata         string `json:"metadata,omitempty"`
	RoleArn          string `json:"roleArn,omitempty"`
}

func (*LifecycleHookSpec) DeepCopy

func (in *LifecycleHookSpec) DeepCopy() *LifecycleHookSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleHookSpec.

func (*LifecycleHookSpec) DeepCopyInto

func (in *LifecycleHookSpec) DeepCopyInto(out *LifecycleHookSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (LifecycleHookSpec) ExistInSlice

func (h LifecycleHookSpec) ExistInSlice(hooks []LifecycleHookSpec) bool

type MetadataOptions

type MetadataOptions struct {
	HttpEndpoint    string `json:"httpEndpoint,omitempty"`
	HttpTokens      string `json:"httpTokens,omitempty"`
	HttpPutHopLimit int64  `json:"httpPutHopLimit,omitempty"`
}

func (*MetadataOptions) DeepCopy

func (in *MetadataOptions) DeepCopy() *MetadataOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetadataOptions.

func (*MetadataOptions) DeepCopyInto

func (in *MetadataOptions) DeepCopyInto(out *MetadataOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MixedInstancesPolicySpec

type MixedInstancesPolicySpec struct {
	Strategy      *string             `json:"strategy,omitempty"`
	SpotPools     *int64              `json:"spotPools,omitempty"`
	BaseCapacity  *int64              `json:"baseCapacity,omitempty"`
	SpotRatio     *intstr.IntOrString `json:"spotRatio,omitempty"`
	InstancePool  *string             `json:"instancePool,omitempty"`
	InstanceTypes []*InstanceTypeSpec `json:"instanceTypes,omitempty"`
}

func (*MixedInstancesPolicySpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MixedInstancesPolicySpec.

func (*MixedInstancesPolicySpec) DeepCopyInto

func (in *MixedInstancesPolicySpec) DeepCopyInto(out *MixedInstancesPolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*MixedInstancesPolicySpec) Validate

func (m *MixedInstancesPolicySpec) Validate() error

type NodeVolume

type NodeVolume struct {
	Name                string                  `json:"name"`
	Type                string                  `json:"type"`
	Size                int64                   `json:"size"`
	Iops                int64                   `json:"iops,omitempty"`
	Throughput          int64                   `json:"throughput,omitempty"`
	DeleteOnTermination *bool                   `json:"deleteOnTermination,omitempty"`
	Encrypted           *bool                   `json:"encrypted,omitempty"`
	SnapshotID          string                  `json:"snapshotId,omitempty"`
	MountOptions        *NodeVolumeMountOptions `json:"mountOptions,omitempty"`
}

func (*NodeVolume) DeepCopy

func (in *NodeVolume) DeepCopy() *NodeVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeVolume.

func (*NodeVolume) DeepCopyInto

func (in *NodeVolume) DeepCopyInto(out *NodeVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeVolumeMountOptions

type NodeVolumeMountOptions struct {
	FileSystem  string `json:"fileSystem,omitempty"`
	Mount       string `json:"mount,omitempty"`
	Persistance *bool  `json:"persistance,omitempty"`
}

func (*NodeVolumeMountOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeVolumeMountOptions.

func (*NodeVolumeMountOptions) DeepCopyInto

func (in *NodeVolumeMountOptions) DeepCopyInto(out *NodeVolumeMountOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlacementSpec

type PlacementSpec struct {
	AvailabilityZone     string `json:"availabilityZone,omitempty"`
	HostResourceGroupArn string `json:"hostResourceGroupArn,omitempty"`
	Tenancy              string `json:"tenancy,omitempty"`
}

func (*PlacementSpec) DeepCopy

func (in *PlacementSpec) DeepCopy() *PlacementSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementSpec.

func (*PlacementSpec) DeepCopyInto

func (in *PlacementSpec) DeepCopyInto(out *PlacementSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PlacementSpec) Validate

func (p *PlacementSpec) Validate() error

type ReconcileState

type ReconcileState string

type RollingUpdateStrategy

type RollingUpdateStrategy struct {
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

func (*RollingUpdateStrategy) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdateStrategy.

func (*RollingUpdateStrategy) DeepCopyInto

func (in *RollingUpdateStrategy) DeepCopyInto(out *RollingUpdateStrategy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RollingUpdateStrategy) GetMaxUnavailable

func (s *RollingUpdateStrategy) GetMaxUnavailable() *intstr.IntOrString

func (*RollingUpdateStrategy) SetMaxUnavailable

func (s *RollingUpdateStrategy) SetMaxUnavailable(value *intstr.IntOrString)

type ScalingConfigurationType

type ScalingConfigurationType string

type UserDataStage

type UserDataStage struct {
	Name  string `json:"name,omitempty"`
	Stage string `json:"stage"`
	Data  string `json:"data"`
}

func (*UserDataStage) DeepCopy

func (in *UserDataStage) DeepCopy() *UserDataStage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDataStage.

func (*UserDataStage) DeepCopyInto

func (in *UserDataStage) DeepCopyInto(out *UserDataStage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ValidationOverrides

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

func NewValidationOverrides

func NewValidationOverrides(defaultScalingConfiguration *ScalingConfigurationType) *ValidationOverrides

func (*ValidationOverrides) DeepCopy

func (in *ValidationOverrides) DeepCopy() *ValidationOverrides

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValidationOverrides.

func (*ValidationOverrides) DeepCopyInto

func (in *ValidationOverrides) DeepCopyInto(out *ValidationOverrides)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WarmPoolSpec

type WarmPoolSpec struct {
	MaxSize int64 `json:"maxSize,omitempty"`
	MinSize int64 `json:"minSize,omitempty"`
}

func (*WarmPoolSpec) DeepCopy

func (in *WarmPoolSpec) DeepCopy() *WarmPoolSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarmPoolSpec.

func (*WarmPoolSpec) DeepCopyInto

func (in *WarmPoolSpec) DeepCopyInto(out *WarmPoolSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WarmPoolSpec) GetMaxSize

func (spec *WarmPoolSpec) GetMaxSize() int64

func (*WarmPoolSpec) GetMinSize

func (spec *WarmPoolSpec) GetMinSize() int64

Jump to

Keyboard shortcuts

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