v1alpha1

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the k11n.dev v1alpha1 API group +kubebuilder:object:generate=true +groupName=k11n.dev

Index

Constants

View Source
const (
	AppLabel    = "k11n.dev/app"
	TargetLabel = "k11n.dev/target"
)
View Source
const (
	ConfigEnvVar      = "APP_CONFIG"
	ConfigHashLabel   = "k11n.dev/configHash"
	SharedConfigLabel = "k11n.dev/sharedConfig"

	ConfigTypeApp    ConfigType = "app"
	ConfigTypeShared ConfigType = "shared"
)
View Source
const (
	// no special role
	ReleaseRoleNone = ""
	// indicates the release that should be serving all of current traffic
	ReleaseRoleActive = "active"
	// indicates the release we are moving towards
	ReleaseRoleTarget = "target"
	ReleaseRoleBad    = "bad"
)
View Source
const (
	AppTargetHash = "k11n.dev/appTargetHash"
)
View Source
const (
	SpecHashAnnotation = "k11n.dev/lsaSpecHash"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "k11n.dev", Version: "v1alpha1"}

	// 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
)

Functions

func GenerateAppReleaseName added in v0.5.2

func GenerateAppReleaseName(at *AppTarget, build *Build, cm *corev1.ConfigMap) string

Types

type AWSClusterSpec

type AWSClusterSpec struct {
	// input values
	VpcCidr           string          `json:"vpcCidr"`
	VpcId             string          `json:"vpcId"`
	AvailabilityZones []string        `json:"availabilityZone"`
	Topology          NetworkTopology `json:"topology"`
	// +kubebuilder:validation:Optional
	// +nullable
	AdminGroups []string `json:"adminGroups,omitempty"`
}

func (*AWSClusterSpec) DeepCopy

func (in *AWSClusterSpec) DeepCopy() *AWSClusterSpec

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

func (*AWSClusterSpec) DeepCopyInto

func (in *AWSClusterSpec) DeepCopyInto(out *AWSClusterSpec)

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

func (*AWSClusterSpec) NumZones

func (cs *AWSClusterSpec) NumZones() int

type AWSClusterStatus

type AWSClusterStatus struct {
	// current vpc id
	VpcId string `json:"vpcId"`

	// set after cluster is created
	Ipv6Cidr       string       `json:"ipv6Cidr,omitempty"`
	SecurityGroups []string     `json:"securityGroups"`
	PublicSubnets  []*AWSSubnet `json:"publicSubnets"`
	// +kubebuilder:validation:Optional
	// +nullable
	PrivateSubnets []*AWSSubnet `json:"privateSubnets"`
	AlbRoleArn     string       `json:"albRoleArn"`
	NodeRoleArn    string       `json:"nodeRoleArn"`
	AdminRoleArn   string       `json:"adminRoleArn"`
}

func (*AWSClusterStatus) DeepCopy

func (in *AWSClusterStatus) DeepCopy() *AWSClusterStatus

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

func (*AWSClusterStatus) DeepCopyInto

func (in *AWSClusterStatus) DeepCopyInto(out *AWSClusterStatus)

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

type AWSNodepoolSpec

type AWSNodepoolSpec struct {
	AMIType             string `json:"amiType" desc:"AMI Type"`
	SSHKeypair          string `json:"sshKeypair" desc:"SSH keypair"`
	ConnectFromAnywhere bool   `json:"connectFromAnywhere" desc:"Allow connection from internet"`
}

func (*AWSNodepoolSpec) DeepCopy

func (in *AWSNodepoolSpec) DeepCopy() *AWSNodepoolSpec

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

func (*AWSNodepoolSpec) DeepCopyInto

func (in *AWSNodepoolSpec) DeepCopyInto(out *AWSNodepoolSpec)

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

type AWSNodepoolStatus

type AWSNodepoolStatus struct {
	// set only after nodepool is created
	// +kubebuilder:validation:Optional
	ASGID string `json:"asgId,omitempty"`
}

func (*AWSNodepoolStatus) DeepCopy

func (in *AWSNodepoolStatus) DeepCopy() *AWSNodepoolStatus

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

func (*AWSNodepoolStatus) DeepCopyInto

func (in *AWSNodepoolStatus) DeepCopyInto(out *AWSNodepoolStatus)

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

type AWSSubnet

type AWSSubnet struct {
	SubnetId         string `json:"subnetId"`
	IsPublic         bool   `json:"isPublic"`
	Ipv4Cidr         string `json:"ipv4Cidr"`
	Ipv6Cidr         string `json:"ipv6Cidr,omitempty"`
	AvailabilityZone string `json:"availabilityZone"`
}

func (*AWSSubnet) DeepCopy

func (in *AWSSubnet) DeepCopy() *AWSSubnet

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

func (*AWSSubnet) DeepCopyInto

func (in *AWSSubnet) DeepCopyInto(out *AWSSubnet)

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

type App

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

	Spec   AppSpec   `json:"spec,omitempty"`
	Status AppStatus `json:"status,omitempty"`
}

App is the Schema for the apps API

func (*App) DeepCopy

func (in *App) DeepCopy() *App

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

func (*App) DeepCopyInto

func (in *App) DeepCopyInto(out *App)

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

func (*App) DeepCopyObject

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

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

func (*App) GetAppTargetName

func (a *App) GetAppTargetName(target string) string

type AppCommonSpec

type AppCommonSpec struct {
	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Ports []PortSpec `json:"ports,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Command []string `json:"command,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Args []string `json:"args,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Dependencies []AppReference `json:"dependencies,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	ServiceAccount string `json:"serviceAccount,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	Probes ProbeConfig `json:"probes,omitempty"`
}

func (*AppCommonSpec) DeepCopy

func (in *AppCommonSpec) DeepCopy() *AppCommonSpec

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

func (*AppCommonSpec) DeepCopyInto

func (in *AppCommonSpec) DeepCopyInto(out *AppCommonSpec)

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

type AppConfig

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

	Type       ConfigType `json:"type"`
	ConfigYaml []byte     `json:"config"`
}

AppConfig is the Schema for the appconfigs API

func NewAppConfig

func NewAppConfig(app, target string) *AppConfig

func NewSharedConfig

func NewSharedConfig(name, target string) *AppConfig

func (*AppConfig) DeepCopy

func (in *AppConfig) DeepCopy() *AppConfig

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

func (*AppConfig) DeepCopyInto

func (in *AppConfig) DeepCopyInto(out *AppConfig)

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

func (*AppConfig) DeepCopyObject

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

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

func (*AppConfig) GetAppName

func (c *AppConfig) GetAppName() string

func (*AppConfig) GetConfig

func (c *AppConfig) GetConfig() map[string]interface{}

func (*AppConfig) GetSharedName

func (c *AppConfig) GetSharedName() string

func (*AppConfig) GetTarget

func (c *AppConfig) GetTarget() string

func (*AppConfig) MergeWith

func (c *AppConfig) MergeWith(other *AppConfig)

func (*AppConfig) SetConfig

func (c *AppConfig) SetConfig(config map[string]interface{}) error

func (*AppConfig) SetConfigYAML

func (c *AppConfig) SetConfigYAML(conf []byte) error

func (*AppConfig) ToEnvMap

func (c *AppConfig) ToEnvMap() map[string]string

type AppConfigList

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

AppConfigList contains a list of AppConfig

func (*AppConfigList) DeepCopy

func (in *AppConfigList) DeepCopy() *AppConfigList

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

func (*AppConfigList) DeepCopyInto

func (in *AppConfigList) DeepCopyInto(out *AppConfigList)

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

func (*AppConfigList) DeepCopyObject

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

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

type AppList

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

AppList contains a list of App

func (*AppList) DeepCopy

func (in *AppList) DeepCopy() *AppList

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

func (*AppList) DeepCopyInto

func (in *AppList) DeepCopyInto(out *AppList)

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

func (*AppList) DeepCopyObject

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

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

type AppReference

type AppReference struct {
	Name string `json:"name"`

	// +optional
	Target string `json:"target,omitempty"`
	// +optional
	Port string `json:"port,omitempty"`
}

func (*AppReference) DeepCopy

func (in *AppReference) DeepCopy() *AppReference

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

func (*AppReference) DeepCopyInto

func (in *AppReference) DeepCopyInto(out *AppReference)

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

type AppRelease

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

	Spec   AppReleaseSpec   `json:"spec,omitempty"`
	Status AppReleaseStatus `json:"status,omitempty"`
}

AppRelease is the Schema for the appreleases API

func (*AppRelease) DeepCopy

func (in *AppRelease) DeepCopy() *AppRelease

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

func (*AppRelease) DeepCopyInto

func (in *AppRelease) DeepCopyInto(out *AppRelease)

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

func (*AppRelease) DeepCopyObject

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

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

type AppReleaseList

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

AppReleaseList contains a list of AppRelease

func (*AppReleaseList) DeepCopy

func (in *AppReleaseList) DeepCopy() *AppReleaseList

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

func (*AppReleaseList) DeepCopyInto

func (in *AppReleaseList) DeepCopyInto(out *AppReleaseList)

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

func (*AppReleaseList) DeepCopyObject

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

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

type AppReleaseSpec

type AppReleaseSpec struct {
	App    string `json:"app"`
	Target string `json:"target"`
	Build  string `json:"build"`
	Config string `json:"config"`

	// num desired default state, autoscaling could change desired in status
	NumDesired        int32       `json:"numDesired"`
	Role              ReleaseRole `json:"role"`
	TrafficPercentage int32       `json:"trafficPercentage"`

	AppCommonSpec `json:",inline"`
}

AppReleaseSpec defines a release of AppTarget

func (*AppReleaseSpec) ContainerPorts

func (s *AppReleaseSpec) ContainerPorts() []corev1.ContainerPort

func (*AppReleaseSpec) DeepCopy

func (in *AppReleaseSpec) DeepCopy() *AppReleaseSpec

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

func (*AppReleaseSpec) DeepCopyInto

func (in *AppReleaseSpec) DeepCopyInto(out *AppReleaseSpec)

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

type AppReleaseStatus

type AppReleaseStatus struct {
	State          ReleaseState `json:"state"`
	StateChangedAt metav1.Time  `json:"stateChangedAt"`
	NumDesired     int32        `json:"numDesired"`
	NumReady       int32        `json:"numReady"`
	NumAvailable   int32        `json:"numAvailable"`

	// contains pods that are failing to become ready
	// +kubebuilder:validation:Optional
	// +nullable
	PodErrors []PodStatus `json:"podErrors,omitempty"`
}

AppReleaseStatus defines the observed state of AppRelease

func (*AppReleaseStatus) DeepCopy

func (in *AppReleaseStatus) DeepCopy() *AppReleaseStatus

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

func (*AppReleaseStatus) DeepCopyInto

func (in *AppReleaseStatus) DeepCopyInto(out *AppReleaseStatus)

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

type AppSpec

type AppSpec struct {
	Registry string `json:"registry,omitempty"`

	// +kubebuilder:validation:Required
	Image string `json:"image"`

	// +optional
	ImageTag string `json:"imageTag,omitempty"`

	AppCommonSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Configs []string `json:"configs,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	Scale ScaleSpec `json:"scale,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	Prometheus *PrometheusSpec `json:"prometheus,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	Targets []TargetConfig `json:"targets"`
}

AppSpec defines the desired state of App

func (*AppSpec) DeepCopy

func (in *AppSpec) DeepCopy() *AppSpec

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

func (*AppSpec) DeepCopyInto

func (in *AppSpec) DeepCopyInto(out *AppSpec)

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

func (*AppSpec) DeployModeForTarget

func (a *AppSpec) DeployModeForTarget(target string) DeployMode

func (*AppSpec) EnvForTarget added in v0.6.0

func (a *AppSpec) EnvForTarget(target string) []corev1.EnvVar

func (*AppSpec) GetTargetConfig

func (a *AppSpec) GetTargetConfig(target string) *TargetConfig

func (*AppSpec) ProbesForTarget

func (a *AppSpec) ProbesForTarget(target string) *ProbeConfig

func (*AppSpec) ResourcesForTarget

func (a *AppSpec) ResourcesForTarget(target string) *corev1.ResourceRequirements

func (*AppSpec) ScaleSpecForTarget

func (a *AppSpec) ScaleSpecForTarget(target string) *ScaleSpec

type AppStatus

type AppStatus struct {
	ActiveTargets []string `json:"activeTargets,omitempty"`
}

AppStatus defines the observed state of App

func (*AppStatus) DeepCopy

func (in *AppStatus) DeepCopy() *AppStatus

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

func (*AppStatus) DeepCopyInto

func (in *AppStatus) DeepCopyInto(out *AppStatus)

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

type AppTarget

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

	Spec   AppTargetSpec   `json:"spec,omitempty"`
	Status AppTargetStatus `json:"status,omitempty"`
}

AppTarget is the Schema for the apptargets API

func (*AppTarget) DeepCopy

func (in *AppTarget) DeepCopy() *AppTarget

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

func (*AppTarget) DeepCopyInto

func (in *AppTarget) DeepCopyInto(out *AppTarget)

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

func (*AppTarget) DeepCopyObject

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

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

func (*AppTarget) DesiredInstances

func (at *AppTarget) DesiredInstances() int32

func (*AppTarget) GetHash

func (at *AppTarget) GetHash() string

func (*AppTarget) NeedsAutoscaler

func (at *AppTarget) NeedsAutoscaler() bool

func (*AppTarget) NeedsIngress

func (at *AppTarget) NeedsIngress() bool

func (*AppTarget) NeedsService

func (at *AppTarget) NeedsService() bool

func (*AppTarget) ScopedName

func (at *AppTarget) ScopedName() string

*

  • Namespace for all of resources that this obj owns

func (*AppTarget) TargetNamespace

func (at *AppTarget) TargetNamespace() string

func (*AppTarget) UpdateHash

func (at *AppTarget) UpdateHash() error

sets a label on the app target with its hash

type AppTargetList

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

AppTargetList contains a list of AppTarget

func (*AppTargetList) DeepCopy

func (in *AppTargetList) DeepCopy() *AppTargetList

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

func (*AppTargetList) DeepCopyInto

func (in *AppTargetList) DeepCopyInto(out *AppTargetList)

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

func (*AppTargetList) DeepCopyObject

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

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

type AppTargetPhase

type AppTargetPhase string
var (
	AppTargetPhaseRunning   AppTargetPhase = "running"   // normal
	AppTargetPhaseDeploying AppTargetPhase = "deploying" // deploying a new release
	AppTargetPhaseHalted    AppTargetPhase = "halted"    // target halted
)

type AppTargetSpec

type AppTargetSpec struct {
	App    string `json:"app"`
	Target string `json:"target"`
	Build  string `json:"build"`

	// +kubebuilder:validation:Required
	DeployMode DeployMode `json:"deployMode"`

	AppCommonSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Configs []string `json:"configs,omitempty"`

	// +kubebuilder:validation:Optional
	// +optional
	Scale ScaleSpec `json:"scale,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Ingress *IngressConfig `json:"ingress,omitempty"`

	// +kubebuilder:validation:Optional
	// +nullable
	Prometheus *PrometheusSpec `json:"prometheus,omitempty"`
}

AppTargetSpec defines a deployment target for App

func (*AppTargetSpec) DeepCopy

func (in *AppTargetSpec) DeepCopy() *AppTargetSpec

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

func (*AppTargetSpec) DeepCopyInto

func (in *AppTargetSpec) DeepCopyInto(out *AppTargetSpec)

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

type AppTargetStatus

type AppTargetStatus struct {
	Phase           AppTargetPhase `json:"phase"`
	TargetRelease   string         `json:"targetRelease"`
	ActiveRelease   string         `json:"activeRelease"`
	DeployUpdatedAt metav1.Time    `json:"deployUpdatedAt"`
	// +kubebuilder:validation:Optional
	// +nullable
	LastScaledAt *metav1.Time `json:"lastScaledAt"`
	NumDesired   int32        `json:"numDesired"`
	NumReady     int32        `json:"numReady"`
	NumAvailable int32        `json:"numAvailable"`
	Hostname     string       `json:"hostname,omitempty"`
}

AppTargetStatus defines the observed state of AppTarget

func (*AppTargetStatus) DeepCopy

func (in *AppTargetStatus) DeepCopy() *AppTargetStatus

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

func (*AppTargetStatus) DeepCopyInto

func (in *AppTargetStatus) DeepCopyInto(out *AppTargetStatus)

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

type Build

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

	Spec   BuildSpec   `json:"spec,omitempty"`
	Status BuildStatus `json:"status,omitempty"`
}

Build is the Schema for the builds API

func NewBuild

func NewBuild(registry, image, tag string) *Build

func (*Build) DeepCopy

func (in *Build) DeepCopy() *Build

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

func (*Build) DeepCopyInto

func (in *Build) DeepCopyInto(out *Build)

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

func (*Build) DeepCopyObject

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

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

func (*Build) FullImageWithTag

func (b *Build) FullImageWithTag() string

func (*Build) GetUniqueName

func (b *Build) GetUniqueName() string

sha1 hash of full name

func (*Build) ImagePath

func (b *Build) ImagePath() string

func (*Build) ShortName

func (b *Build) ShortName() string

type BuildList

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

BuildList contains a list of Build

func (*BuildList) DeepCopy

func (in *BuildList) DeepCopy() *BuildList

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

func (*BuildList) DeepCopyInto

func (in *BuildList) DeepCopyInto(out *BuildList)

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

func (*BuildList) DeepCopyObject

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

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

type BuildSpec

type BuildSpec struct {
	Registry  string           `json:"registry"`
	Image     string           `json:"image"`
	Tag       string           `json:"tag"`
	CreatedAt metav1.Timestamp `json:"createdAt"`
}

BuildSpec defines the desired state of Build

func (*BuildSpec) DeepCopy

func (in *BuildSpec) DeepCopy() *BuildSpec

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

func (*BuildSpec) DeepCopyInto

func (in *BuildSpec) DeepCopyInto(out *BuildSpec)

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

type BuildStatus

type BuildStatus struct {
}

BuildStatus defines the observed state of Build

func (*BuildStatus) DeepCopy

func (in *BuildStatus) DeepCopy() *BuildStatus

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

func (*BuildStatus) DeepCopyInto

func (in *BuildStatus) DeepCopyInto(out *BuildStatus)

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

type CertificateRef

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

	Spec CertificateRefSpec `json:"spec,omitempty"`
}

CertificateRef is the Schema for the certificaterefs API

func (*CertificateRef) DeepCopy

func (in *CertificateRef) DeepCopy() *CertificateRef

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

func (*CertificateRef) DeepCopyInto

func (in *CertificateRef) DeepCopyInto(out *CertificateRef)

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

func (*CertificateRef) DeepCopyObject

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

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

type CertificateRefList

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

CertificateRefList contains a list of CertificateRef

func (*CertificateRefList) DeepCopy

func (in *CertificateRefList) DeepCopy() *CertificateRefList

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

func (*CertificateRefList) DeepCopyInto

func (in *CertificateRefList) DeepCopyInto(out *CertificateRefList)

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

func (*CertificateRefList) DeepCopyObject

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

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

type CertificateRefSpec

type CertificateRefSpec struct {
	ProviderID         string      `json:"providerId"`
	Domain             string      `json:"domain"`
	Issuer             string      `json:"issuer"`
	Status             string      `json:"status"`
	ExpiresAt          metav1.Time `json:"expiresAt"`
	KeyAlgorithm       string      `json:"keyAlgorithm"`
	SignatureAlgorithm string      `json:"signatureAlgorithm"`
}

CertificateRefSpec defines the desired state of CertificateRef

func (*CertificateRefSpec) DeepCopy

func (in *CertificateRefSpec) DeepCopy() *CertificateRefSpec

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

func (*CertificateRefSpec) DeepCopyInto

func (in *CertificateRefSpec) DeepCopyInto(out *CertificateRefSpec)

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

type ClusterConfig

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

	Spec   ClusterConfigSpec   `json:"spec,omitempty"`
	Status ClusterConfigStatus `json:"status,omitempty"`
}

ClusterConfig is the Schema for the clusterconfigs API

func (*ClusterConfig) DeepCopy

func (in *ClusterConfig) DeepCopy() *ClusterConfig

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

func (*ClusterConfig) DeepCopyInto

func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig)

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

func (*ClusterConfig) DeepCopyObject

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

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

func (*ClusterConfig) GetComponentConfig

func (c *ClusterConfig) GetComponentConfig(name string) ComponentConfig

type ClusterConfigList

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

ClusterConfigList contains a list of ClusterConfig

func (*ClusterConfigList) DeepCopy

func (in *ClusterConfigList) DeepCopy() *ClusterConfigList

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

func (*ClusterConfigList) DeepCopyInto

func (in *ClusterConfigList) DeepCopyInto(out *ClusterConfigList)

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

func (*ClusterConfigList) DeepCopyObject

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

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

type ClusterConfigSpec

type ClusterConfigSpec struct {
	Version     string `json:"version"`
	KubeVersion string `json:"kubeVersion"`
	Cloud       string `json:"cloud"`
	Region      string `json:"region"`
	EnableIpv6  bool   `json:"enableIpv6"`
	// +kubebuilder:validation:Optional
	// +nullable
	AWS *AWSClusterSpec `json:"aws"`
	// +kubebuilder:validation:Optional
	// +nullable
	Targets []string `json:"targets"`
	// +kubebuilder:validation:Optional
	// +nullable
	ComponentConfig map[string]ComponentConfig `json:"componentConfig"`
}

ClusterConfigSpec defines the desired state of ClusterConfig

func (*ClusterConfigSpec) DeepCopy

func (in *ClusterConfigSpec) DeepCopy() *ClusterConfigSpec

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

func (*ClusterConfigSpec) DeepCopyInto

func (in *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec)

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

type ClusterConfigStatus

type ClusterConfigStatus struct {
	// +kubebuilder:validation:Optional
	// +nullable
	InstalledComponents []ComponentSpec   `json:"components"`
	AWS                 *AWSClusterStatus `json:"aws,omitempty"`
}

ClusterConfigStatus defines the observed state of ClusterConfig

func (*ClusterConfigStatus) DeepCopy

func (in *ClusterConfigStatus) DeepCopy() *ClusterConfigStatus

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

func (*ClusterConfigStatus) DeepCopyInto

func (in *ClusterConfigStatus) DeepCopyInto(out *ClusterConfigStatus)

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

type ComponentConfig

type ComponentConfig map[string]string

func (ComponentConfig) DeepCopy

func (in ComponentConfig) DeepCopy() ComponentConfig

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

func (ComponentConfig) DeepCopyInto

func (in ComponentConfig) DeepCopyInto(out *ComponentConfig)

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

type ComponentSpec

type ComponentSpec struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

func (*ComponentSpec) DeepCopy

func (in *ComponentSpec) DeepCopy() *ComponentSpec

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

func (*ComponentSpec) DeepCopyInto

func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)

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

type ConfigType

type ConfigType string

type DeployMode

type DeployMode string

+kubebuilder:validation:Enum=latest;halt

const (
	DeployLatest DeployMode = "latest"
	DeployHalt   DeployMode = "halt"
)

type HTTPGetAction

type HTTPGetAction struct {
	// Path to access on the HTTP server.
	// +optional
	Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
	// Name of the port to access on the container.
	// Name must be an IANA_SVC_NAME.
	Port string `json:"port"`
	// Host name to connect to, defaults to the pod IP. You probably want to set
	// "Host" in httpHeaders instead.
	// +optional
	Host string `json:"host,omitempty" protobuf:"bytes,3,opt,name=host"`
	// Scheme to use for connecting to the host.
	// Defaults to HTTP.
	// +optional
	Scheme corev1.URIScheme `json:"scheme,omitempty" protobuf:"bytes,4,opt,name=scheme,casttype=URIScheme"`
	// Custom headers to set in the request. HTTP allows repeated headers.
	// +optional
	HTTPHeaders []corev1.HTTPHeader `json:"httpHeaders,omitempty" protobuf:"bytes,5,rep,name=httpHeaders"`
}

HTTPGetAction describes an action based on HTTP Get requests.

func (*HTTPGetAction) DeepCopy

func (in *HTTPGetAction) DeepCopy() *HTTPGetAction

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

func (*HTTPGetAction) DeepCopyInto

func (in *HTTPGetAction) DeepCopyInto(out *HTTPGetAction)

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

type Handler

type Handler struct {
	// One and only one of the following should be specified.
	// Exec specifies the action to take.
	// +optional
	Exec *corev1.ExecAction `json:"exec,omitempty" protobuf:"bytes,1,opt,name=exec"`
	// HTTPGet specifies the http request to perform.
	// +optional
	HTTPGet *HTTPGetAction `json:"httpGet,omitempty" protobuf:"bytes,2,opt,name=httpGet"`
}

func (*Handler) DeepCopy

func (in *Handler) DeepCopy() *Handler

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

func (*Handler) DeepCopyInto

func (in *Handler) DeepCopyInto(out *Handler)

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

type IngressConfig

type IngressConfig struct {
	Hosts []string `json:"hosts"`
	// +kubebuilder:validation:Optional
	Paths []string `json:"paths,omitempty"`
	// +kubebuilder:validation:Optional
	Port string `json:"port,omitempty"`

	// when enabled, redirect http traffic to https
	// +optional
	RequireHTTPS bool `json:"requireHttps,omitempty"`

	// custom annotations for the Ingress
	// +optional
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*IngressConfig) DeepCopy

func (in *IngressConfig) DeepCopy() *IngressConfig

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

func (*IngressConfig) DeepCopyInto

func (in *IngressConfig) DeepCopyInto(out *IngressConfig)

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

type IngressRequest added in v0.5.2

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

	Spec   IngressRequestSpec   `json:"spec,omitempty"`
	Status IngressRequestStatus `json:"status,omitempty"`
}

IngressRequest is the Schema for the ingressrequests API

func (*IngressRequest) DeepCopy added in v0.5.2

func (in *IngressRequest) DeepCopy() *IngressRequest

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

func (*IngressRequest) DeepCopyInto added in v0.5.2

func (in *IngressRequest) DeepCopyInto(out *IngressRequest)

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

func (*IngressRequest) DeepCopyObject added in v0.5.2

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

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

type IngressRequestList added in v0.5.2

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

IngressRequestList contains a list of IngressRequest

func (*IngressRequestList) DeepCopy added in v0.5.2

func (in *IngressRequestList) DeepCopy() *IngressRequestList

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

func (*IngressRequestList) DeepCopyInto added in v0.5.2

func (in *IngressRequestList) DeepCopyInto(out *IngressRequestList)

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

func (*IngressRequestList) DeepCopyObject added in v0.5.2

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

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

type IngressRequestSpec added in v0.5.2

type IngressRequestSpec struct {
	Hosts []string `json:"hosts"`

	// +optional
	Paths []string `json:"paths,omitempty"`

	// +optional
	RequireHTTPS bool `json:"requireHttps,omitempty"`

	// +optional
	AppProtocol string `json:"protocol,omitempty"`

	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

IngressRequestSpec defines the desired state of IngressRequest

func (*IngressRequestSpec) DeepCopy added in v0.5.2

func (in *IngressRequestSpec) DeepCopy() *IngressRequestSpec

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

func (*IngressRequestSpec) DeepCopyInto added in v0.5.2

func (in *IngressRequestSpec) DeepCopyInto(out *IngressRequestSpec)

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

type IngressRequestStatus added in v0.5.2

type IngressRequestStatus struct {
	Address string `json:"address"`
}

IngressRequestStatus defines the observed state of IngressRequest

func (*IngressRequestStatus) DeepCopy added in v0.5.2

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

func (*IngressRequestStatus) DeepCopyInto added in v0.5.2

func (in *IngressRequestStatus) DeepCopyInto(out *IngressRequestStatus)

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

type LinkedServiceAccount

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

	Spec   LinkedServiceAccountSpec   `json:"spec,omitempty"`
	Status LinkedServiceAccountStatus `json:"status,omitempty"`
}

LinkedServiceAccount is the Schema for the linkedserviceaccounts API

func (*LinkedServiceAccount) DeepCopy

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

func (*LinkedServiceAccount) DeepCopyInto

func (in *LinkedServiceAccount) DeepCopyInto(out *LinkedServiceAccount)

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

func (*LinkedServiceAccount) DeepCopyObject

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

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

func (*LinkedServiceAccount) GetPolicies

func (l *LinkedServiceAccount) GetPolicies() []string

func (*LinkedServiceAccount) NeedsReconcile

func (l *LinkedServiceAccount) NeedsReconcile() (bool, error)

func (*LinkedServiceAccount) UpdateHash

func (l *LinkedServiceAccount) UpdateHash() error

type LinkedServiceAccountAWSSpec

type LinkedServiceAccountAWSSpec struct {
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems:=1
	PolicyARNs []string `json:"policyArns"`
}

func (*LinkedServiceAccountAWSSpec) DeepCopy

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

func (*LinkedServiceAccountAWSSpec) DeepCopyInto

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

type LinkedServiceAccountList

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

LinkedServiceAccountList contains a list of LinkedServiceAccount

func (*LinkedServiceAccountList) DeepCopy

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

func (*LinkedServiceAccountList) DeepCopyInto

func (in *LinkedServiceAccountList) DeepCopyInto(out *LinkedServiceAccountList)

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

func (*LinkedServiceAccountList) DeepCopyObject

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

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

type LinkedServiceAccountSpec

type LinkedServiceAccountSpec struct {
	Targets []string `json:"targets"`
	// +kubebuilder:validation:Optional
	AWS *LinkedServiceAccountAWSSpec `json:"aws,omitempty"`
}

LinkedServiceAccountSpec defines the desired state of LinkedServiceAccount

func (*LinkedServiceAccountSpec) DeepCopy

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

func (*LinkedServiceAccountSpec) DeepCopyInto

func (in *LinkedServiceAccountSpec) DeepCopyInto(out *LinkedServiceAccountSpec)

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

type LinkedServiceAccountStatus

type LinkedServiceAccountStatus struct {
	LinkedTargets []string `json:"linkedTargets,omitempty"` // list of targets that are linked
}

ConnectedServiceAccountStatus defines the observed state of LinkedServiceAccount

func (*LinkedServiceAccountStatus) DeepCopy

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

func (*LinkedServiceAccountStatus) DeepCopyInto

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

type NetworkTopology

type NetworkTopology string
const (
	NetworkTopologyPublic        NetworkTopology = "public"
	NetworkTopologyPublicPrivate NetworkTopology = "public_private"
)

type Nodepool

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

	Spec   NodepoolSpec   `json:"spec,omitempty"`
	Status NodepoolStatus `json:"status,omitempty"`
}

Nodepool is the Schema for the nodepools API

func (*Nodepool) DeepCopy

func (in *Nodepool) DeepCopy() *Nodepool

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

func (*Nodepool) DeepCopyInto

func (in *Nodepool) DeepCopyInto(out *Nodepool)

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

func (*Nodepool) DeepCopyObject

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

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

type NodepoolList

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

NodepoolList contains a list of Nodepool

func (*NodepoolList) DeepCopy

func (in *NodepoolList) DeepCopy() *NodepoolList

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

func (*NodepoolList) DeepCopyInto

func (in *NodepoolList) DeepCopyInto(out *NodepoolList)

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

func (*NodepoolList) DeepCopyObject

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

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

type NodepoolSpec

type NodepoolSpec struct {
	Autoscale   bool             `json:"autoscale" desc:"Uses autoscale"`
	MinSize     int64            `json:"minSize" desc:"Min number of nodes"`
	MaxSize     int64            `json:"maxSize" desc:"Max number of nodes"`
	MachineType string           `json:"machineType" desc:"Machine type"`
	DiskSizeGiB int              `json:"diskSizeGiB" desc:"Disk size (GiB)"`
	RequiresGPU bool             `json:"requiresGPU" desc:"Needs GPU"`
	AWS         *AWSNodepoolSpec `json:"aws,omitempty"`
}

NodepoolSpec defines the desired state of Nodepool

func (*NodepoolSpec) DeepCopy

func (in *NodepoolSpec) DeepCopy() *NodepoolSpec

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

func (*NodepoolSpec) DeepCopyInto

func (in *NodepoolSpec) DeepCopyInto(out *NodepoolSpec)

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

type NodepoolStatus

type NodepoolStatus struct {
	// +kubebuilder:validation:Optional
	// +nullable
	Nodes    []string           `json:"nodes"`
	NumReady int                `json:"numReady"`
	AWS      *AWSNodepoolStatus `json:"aws,omitempty"`
}

NodepoolStatus defines the observed state of Nodepool

func (*NodepoolStatus) DeepCopy

func (in *NodepoolStatus) DeepCopy() *NodepoolStatus

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

func (*NodepoolStatus) DeepCopyInto

func (in *NodepoolStatus) DeepCopyInto(out *NodepoolStatus)

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

type PodStatus

type PodStatus struct {
	Pod     string `json:"pod"`
	Reason  string `json:"reason"`
	Message string `json:"message"`
}

func (*PodStatus) DeepCopy

func (in *PodStatus) DeepCopy() *PodStatus

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

func (*PodStatus) DeepCopyInto

func (in *PodStatus) DeepCopyInto(out *PodStatus)

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

type PortSpec

type PortSpec struct {
	Name string `json:"name"`
	Port int32  `json:"port"`
	// TCP by default. Ingress works only with HTTP services
	// +optional
	Protocol corev1.Protocol `json:"protocol,omitempty"`
}

func (*PortSpec) DeepCopy

func (in *PortSpec) DeepCopy() *PortSpec

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

func (*PortSpec) DeepCopyInto

func (in *PortSpec) DeepCopyInto(out *PortSpec)

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

type Probe

type Probe struct {
	// The action taken to determine the health of a container
	Handler `json:",inline" protobuf:"bytes,1,opt,name=handler"`
	// Number of seconds after the container has started before liveness probes are initiated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	// +optional
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty" protobuf:"varint,2,opt,name=initialDelaySeconds"`
	// Number of seconds after which the probe times out.
	// Defaults to 1 second. Minimum value is 1.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	// +optional
	TimeoutSeconds int32 `json:"timeoutSeconds,omitempty" protobuf:"varint,3,opt,name=timeoutSeconds"`
	// How often (in seconds) to perform the probe.
	// Default to 10 seconds. Minimum value is 1.
	// +optional
	PeriodSeconds int32 `json:"periodSeconds,omitempty" protobuf:"varint,4,opt,name=periodSeconds"`
	// Minimum consecutive successes for the probe to be considered successful after having failed.
	// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
	// +optional
	SuccessThreshold int32 `json:"successThreshold,omitempty" protobuf:"varint,5,opt,name=successThreshold"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	// Defaults to 3. Minimum value is 1.
	// +optional
	FailureThreshold int32 `json:"failureThreshold,omitempty" protobuf:"varint,6,opt,name=failureThreshold"`
}

---------------------------------------------------------------------------// a duplication of core Kube types, repeated here to avoid dependency on intOrString type Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

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

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

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

func (*Probe) ToCoreProbe

func (p *Probe) ToCoreProbe() *corev1.Probe

type ProbeConfig

type ProbeConfig struct {
	// +optional
	Liveness *Probe `json:"liveness,omitempty"`
	// +optional
	Readiness *Probe `json:"readiness,omitempty"`
	// +optional
	Startup *Probe `json:"startup,omitempty"`
}

func (*ProbeConfig) DeepCopy

func (in *ProbeConfig) DeepCopy() *ProbeConfig

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

func (*ProbeConfig) DeepCopyInto

func (in *ProbeConfig) DeepCopyInto(out *ProbeConfig)

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

func (*ProbeConfig) GetReadinessTimeout

func (p *ProbeConfig) GetReadinessTimeout() time.Duration

type PrometheusSpec

type PrometheusSpec struct {
	// +kubebuilder:validation:Required
	Endpoints []promv1.Endpoint `json:"endpoints"`

	// +kubebuilder:validation:Optional
	Rules []promv1.Rule `json:"rules,omitempty"`
}

func (*PrometheusSpec) DeepCopy

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

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

func (*PrometheusSpec) DeepCopyInto

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

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

type ReleaseRole

type ReleaseRole string

func (ReleaseRole) String

func (rr ReleaseRole) String() string

type ReleaseState

type ReleaseState string
const (
	ReleaseStateNew       ReleaseState = "new"
	ReleaseStateCanarying ReleaseState = "canarying"
	ReleaseStateReleasing ReleaseState = "releasing"
	ReleaseStateReleased  ReleaseState = "released"
	ReleaseStateRetiring  ReleaseState = "retiring"
	ReleaseStateRetired   ReleaseState = "retired"
	ReleaseStateFailed    ReleaseState = "failed"
	ReleaseStateBad       ReleaseState = "bad"
	ReleaseStateHalted    ReleaseState = "halted"
)

func (ReleaseState) String

func (rs ReleaseState) String() string

type ScaleBehavior

type ScaleBehavior struct {
	Step  int32 `json:"step,omitempty"`
	Delay int32 `json:"delay,omitempty"`
}

func (*ScaleBehavior) DeepCopy

func (in *ScaleBehavior) DeepCopy() *ScaleBehavior

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

func (*ScaleBehavior) DeepCopyInto

func (in *ScaleBehavior) DeepCopyInto(out *ScaleBehavior)

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

type ScaleSpec

type ScaleSpec struct {
	TargetCPUUtilization int32 `json:"targetCPUUtilizationPercentage,omitempty"`
	Min                  int32 `json:"min,omitempty"`
	Max                  int32 `json:"max,omitempty"`
	// +optional
	ScaleUp *ScaleBehavior `json:"scaleUp,omitempty"`
	// +optional
	ScaleDown *ScaleBehavior `json:"scaleDown,omitempty"`
}

func (*ScaleSpec) DeepCopy

func (in *ScaleSpec) DeepCopy() *ScaleSpec

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

func (*ScaleSpec) DeepCopyInto

func (in *ScaleSpec) DeepCopyInto(out *ScaleSpec)

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

type TargetConfig

type TargetConfig struct {
	Name string `json:"name"`

	// +optional
	// +kubebuilder:validation:Optional
	DeployMode DeployMode `json:"deployMode,omitempty"`
	// if ingress is needed
	// +optional
	Ingress *IngressConfig `json:"ingress,omitempty"`
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// +kubebuilder:validation:Optional
	// +nullable
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`
	// +optional
	Scale ScaleSpec `json:"scale,omitempty"`
	// +optional
	Probes ProbeConfig `json:"probes,omitempty"`
}

func (*TargetConfig) DeepCopy

func (in *TargetConfig) DeepCopy() *TargetConfig

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

func (*TargetConfig) DeepCopyInto

func (in *TargetConfig) DeepCopyInto(out *TargetConfig)

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

Jump to

Keyboard shortcuts

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