v1alpha1

package
v0.68.0 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: Apache-2.0 Imports: 25 Imported by: 1

Documentation

Overview

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

Index

Constants

View Source
const (
	SystemNamespace = "kratix-platform-system"

	WorkflowActionConfigure Action = "configure"
	WorkflowActionDelete    Action = "delete"

	WorkflowTypeResource Type = "resource"
	WorkflowTypePromise  Type = "promise"
)
View Source
const (
	BasicAuthMethod = "basicAuth"
	SSHAuthMethod   = "ssh"
)
View Source
const (
	PromiseStatusAvailable   = "Available"
	PromiseStatusUnavailable = "Unavailable"
	PromisePlural            = "promises"

	KratixResourceHashLabel = "kratix.io/hash"
)
View Source
const (
	KratixPrefix        = "kratix.io/"
	PromiseVersionLabel = KratixPrefix + "promise-version"
)
View Source
const (
	DependencyReplicas            = -1
	ResourceRequestReplicas       = 1
	DefaultWorkloadGroupDirectory = "."

	PromiseNameLabel  = KratixPrefix + "promise-name"
	ResourceNameLabel = KratixPrefix + "resource-name"
	PipelineNameLabel = KratixPrefix + "pipeline-name"
	WorkTypeLabel     = KratixPrefix + "work-type"

	WorkTypePromise          = "promise"
	WorkTypeResource         = "resource"
	WorkTypeStaticDependency = "static-dependency"
)
View Source
const (
	TypeHTTP = "http"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "platform.kratix.io", 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
)
View Source
var ErrNoAPI = fmt.Errorf("promise does not contain an API")

Functions

func GenerateSharedLabelsForPromise added in v0.0.5

func GenerateSharedLabelsForPromise(promiseName string) map[string]string

func SquashPromiseScheduling added in v0.1.0

func SquashPromiseScheduling(scheduling []PromiseScheduling) map[string]string

Types

type Action added in v0.48.0

type Action string

So we can set a functions arguments to be of type Action instead of string

type BucketStateStore added in v0.0.3

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

	Spec   BucketStateStoreSpec   `json:"spec,omitempty"`
	Status BucketStateStoreStatus `json:"status,omitempty"`
}

BucketStateStore is the Schema for the bucketstatestores API

func (*BucketStateStore) DeepCopy added in v0.0.3

func (in *BucketStateStore) DeepCopy() *BucketStateStore

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

func (*BucketStateStore) DeepCopyInto added in v0.0.3

func (in *BucketStateStore) DeepCopyInto(out *BucketStateStore)

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

func (*BucketStateStore) DeepCopyObject added in v0.0.3

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

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

func (*BucketStateStore) GetSecretRef added in v0.0.5

func (b *BucketStateStore) GetSecretRef() *corev1.SecretReference

type BucketStateStoreList added in v0.0.3

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

BucketStateStoreList contains a list of BucketStateStore

func (*BucketStateStoreList) DeepCopy added in v0.0.3

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

func (*BucketStateStoreList) DeepCopyInto added in v0.0.3

func (in *BucketStateStoreList) DeepCopyInto(out *BucketStateStoreList)

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

func (*BucketStateStoreList) DeepCopyObject added in v0.0.3

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

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

type BucketStateStoreSpec added in v0.0.3

type BucketStateStoreSpec struct {
	BucketName           string `json:"bucketName"`
	Endpoint             string `json:"endpoint"`
	StateStoreCoreFields `json:",inline"`

	//+kubebuilder:validation:Optional
	Insecure bool `json:"insecure"`

	// AuthMethod used to access the StateStore
	//+kubebuilder:validation:Enum=accessKey;IAM
	//+kubebuilder:default:=accessKey
	AuthMethod string `json:"authMethod,omitempty"`
}

BucketStateStoreSpec defines the desired state of BucketStateStore

func (*BucketStateStoreSpec) DeepCopy added in v0.0.3

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

func (*BucketStateStoreSpec) DeepCopyInto added in v0.0.3

func (in *BucketStateStoreSpec) DeepCopyInto(out *BucketStateStoreSpec)

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

type BucketStateStoreStatus added in v0.0.3

type BucketStateStoreStatus struct {
}

BucketStateStoreStatus defines the observed state of BucketStateStore

func (*BucketStateStoreStatus) DeepCopy added in v0.0.3

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

func (*BucketStateStoreStatus) DeepCopyInto added in v0.0.3

func (in *BucketStateStoreStatus) DeepCopyInto(out *BucketStateStoreStatus)

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

type Container added in v0.0.4

type Container struct {
	Name            string                 `json:"name,omitempty"`
	Image           string                 `json:"image,omitempty"`
	Args            []string               `json:"args,omitempty"`
	Command         []string               `json:"command,omitempty"`
	Env             []corev1.EnvVar        `json:"env,omitempty"`
	EnvFrom         []corev1.EnvFromSource `json:"envFrom,omitempty"`
	VolumeMounts    []corev1.VolumeMount   `json:"volumeMounts,omitempty"`
	ImagePullPolicy corev1.PullPolicy      `json:"imagePullPolicy,omitempty"`
}

func (*Container) DeepCopy added in v0.0.4

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto added in v0.0.4

func (in *Container) DeepCopyInto(out *Container)

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

type Dependencies added in v0.0.5

type Dependencies []Dependency

func (Dependencies) DeepCopy added in v0.0.5

func (in Dependencies) DeepCopy() Dependencies

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

func (Dependencies) DeepCopyInto added in v0.0.5

func (in Dependencies) DeepCopyInto(out *Dependencies)

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

func (Dependencies) Marshal added in v0.0.5

func (d Dependencies) Marshal() ([]byte, error)

type Dependency added in v0.0.4

type Dependency struct {
	// Manifests represents a list of resources to be deployed on the Destination
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	unstructured.Unstructured `json:",inline"`
}

Resources represents the manifest workload to be deployed on Destinations

func (*Dependency) DeepCopy added in v0.0.4

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto added in v0.0.4

func (in *Dependency) DeepCopyInto(out *Dependency)

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

type Destination added in v0.0.5

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

	Spec   DestinationSpec   `json:"spec,omitempty"`
	Status DestinationStatus `json:"status,omitempty"`
}

Destination is the Schema for the Destinations API

func (*Destination) DeepCopy added in v0.0.5

func (in *Destination) DeepCopy() *Destination

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

func (*Destination) DeepCopyInto added in v0.0.5

func (in *Destination) DeepCopyInto(out *Destination)

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

func (*Destination) DeepCopyObject added in v0.0.5

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

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

type DestinationList added in v0.0.5

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

DestinationList contains a list of Destination

func (*DestinationList) DeepCopy added in v0.0.5

func (in *DestinationList) DeepCopy() *DestinationList

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

func (*DestinationList) DeepCopyInto added in v0.0.5

func (in *DestinationList) DeepCopyInto(out *DestinationList)

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

func (*DestinationList) DeepCopyObject added in v0.0.5

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

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

type DestinationSpec added in v0.0.5

type DestinationSpec struct {

	// Path within StateStore to write documents, this will be appended to any
	// specficed Spec.Path provided in the referenced StateStore.
	// Kratix will then namespace any resources within the provided path.
	// Path structure will be:
	//   <StateStore.Spec.Path>/<Destination.Spec.Path>/<Destination.Metadata.Namespace>/<Destination.Metadata.Name>/
	//+kubebuilder:validation:Optional
	StateStoreCoreFields `json:",inline"`
	StateStoreRef        *StateStoreReference `json:"stateStoreRef,omitempty"`

	// By default, Kratix will schedule works without labels to all destinations
	// (for promise dependencies) or to a random destination (for resource
	// requests). If StrictMatchLabels is true, Kratix will only schedule works
	// to this destination if it can be selected by the Promise's
	// destinationSelectors. An empty label set on the work won't be scheduled
	// to this destination, unless the destination label set is also empty
	// +kubebuilder:validation:Optional
	StrictMatchLabels bool `json:"strictMatchLabels,omitempty"`
}

DestinationSpec defines the desired state of Destination

func (*DestinationSpec) DeepCopy added in v0.0.5

func (in *DestinationSpec) DeepCopy() *DestinationSpec

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

func (*DestinationSpec) DeepCopyInto added in v0.0.5

func (in *DestinationSpec) DeepCopyInto(out *DestinationSpec)

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

type DestinationStatus added in v0.0.5

type DestinationStatus struct {
}

DestinationStatus defines the observed state of Destination

func (*DestinationStatus) DeepCopy added in v0.0.5

func (in *DestinationStatus) DeepCopy() *DestinationStatus

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

func (*DestinationStatus) DeepCopyInto added in v0.0.5

func (in *DestinationStatus) DeepCopyInto(out *DestinationStatus)

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

type GitStateStore added in v0.0.3

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

	Spec   GitStateStoreSpec   `json:"spec,omitempty"`
	Status GitStateStoreStatus `json:"status,omitempty"`
}

GitStateStore is the Schema for the gitstatestores API

func (*GitStateStore) DeepCopy added in v0.0.3

func (in *GitStateStore) DeepCopy() *GitStateStore

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

func (*GitStateStore) DeepCopyInto added in v0.0.3

func (in *GitStateStore) DeepCopyInto(out *GitStateStore)

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

func (*GitStateStore) DeepCopyObject added in v0.0.3

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

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

func (*GitStateStore) GetSecretRef added in v0.0.5

func (g *GitStateStore) GetSecretRef() *corev1.SecretReference

type GitStateStoreList added in v0.0.3

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

GitStateStoreList contains a list of GitStateStore

func (*GitStateStoreList) DeepCopy added in v0.0.3

func (in *GitStateStoreList) DeepCopy() *GitStateStoreList

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

func (*GitStateStoreList) DeepCopyInto added in v0.0.3

func (in *GitStateStoreList) DeepCopyInto(out *GitStateStoreList)

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

func (*GitStateStoreList) DeepCopyObject added in v0.0.3

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

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

type GitStateStoreSpec added in v0.0.3

type GitStateStoreSpec struct {
	URL string `json:"url,omitempty"`

	StateStoreCoreFields `json:",inline"`

	//+kubebuilder:validation:Optional
	//+kubebuilder:default=main
	Branch string `json:"branch,omitempty"`

	// AuthMethod used to access the StateStore
	//+kubebuilder:validation:Enum=basicAuth;ssh
	//+kubebuilder:default:=basicAuth
	AuthMethod string `json:"authMethod,omitempty"`
}

GitStateStoreSpec defines the desired state of GitStateStore

func (*GitStateStoreSpec) DeepCopy added in v0.0.3

func (in *GitStateStoreSpec) DeepCopy() *GitStateStoreSpec

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

func (*GitStateStoreSpec) DeepCopyInto added in v0.0.3

func (in *GitStateStoreSpec) DeepCopyInto(out *GitStateStoreSpec)

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

type GitStateStoreStatus added in v0.0.3

type GitStateStoreStatus struct {
}

GitStateStoreStatus defines the observed state of GitStateStore

func (*GitStateStoreStatus) DeepCopy added in v0.0.3

func (in *GitStateStoreStatus) DeepCopy() *GitStateStoreStatus

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

func (*GitStateStoreStatus) DeepCopyInto added in v0.0.3

func (in *GitStateStoreStatus) DeepCopyInto(out *GitStateStoreStatus)

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

type Pipeline added in v0.0.4

type Pipeline struct {
	//Note: Removed TypeMeta in order to stop the CRD generation.
	//		This is only for internal Kratix use.
	//metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

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

Pipeline is the Schema for the pipelines API

func (*Pipeline) DeepCopy added in v0.0.4

func (in *Pipeline) DeepCopy() *Pipeline

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

func (*Pipeline) DeepCopyInto added in v0.0.4

func (in *Pipeline) DeepCopyInto(out *Pipeline)

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

type PipelineSpec added in v0.0.4

type PipelineSpec struct {
	Containers       []Container                   `json:"containers,omitempty"`
	Volumes          []corev1.Volume               `json:"volumes,omitempty"`
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}

PipelineSpec defines the desired state of Pipeline

func (*PipelineSpec) DeepCopy added in v0.0.4

func (in *PipelineSpec) DeepCopy() *PipelineSpec

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

func (*PipelineSpec) DeepCopyInto added in v0.0.4

func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec)

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

type Promise

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

	Spec   PromiseSpec   `json:"spec,omitempty"`
	Status PromiseStatus `json:"status,omitempty"`
}

Promise is the Schema for the promises API

func (*Promise) ContainsAPI added in v0.0.5

func (p *Promise) ContainsAPI() bool

func (*Promise) DeepCopy

func (in *Promise) DeepCopy() *Promise

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

func (*Promise) DeepCopyInto

func (in *Promise) DeepCopyInto(out *Promise)

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

func (*Promise) DeepCopyObject

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

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

func (*Promise) Default added in v0.0.5

func (p *Promise) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Promise) DoesNotContainAPI added in v0.0.4

func (p *Promise) DoesNotContainAPI() bool

func (*Promise) GeneratePipelines added in v0.21.0

func (p *Promise) GeneratePipelines(logger logr.Logger) (PromisePipelines, error)

func (*Promise) GenerateSharedLabels added in v0.0.2

func (p *Promise) GenerateSharedLabels() map[string]string

func (*Promise) GetAPIAsCRD added in v0.0.5

func (p *Promise) GetAPIAsCRD() (*v1.CustomResourceDefinition, error)

func (*Promise) GetControllerResourceName added in v0.0.2

func (p *Promise) GetControllerResourceName() string

func (*Promise) GetPipelineResourceName added in v0.0.2

func (p *Promise) GetPipelineResourceName() string

func (*Promise) GetPipelineResourceNamespace added in v0.0.2

func (p *Promise) GetPipelineResourceNamespace() string

func (*Promise) GetSchedulingSelectors added in v0.0.4

func (p *Promise) GetSchedulingSelectors() map[string]string

func (*Promise) SetupWebhookWithManager added in v0.0.5

func (p *Promise) SetupWebhookWithManager(mgr ctrl.Manager, cs *clientset.Clientset, c client.Client) error

func (*Promise) ToUnstructured added in v0.21.0

func (p *Promise) ToUnstructured() (*unstructured.Unstructured, error)

func (*Promise) ValidateCreate added in v0.0.5

func (p *Promise) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Promise) ValidateDelete added in v0.0.5

func (p *Promise) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Promise) ValidateUpdate added in v0.0.5

func (p *Promise) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PromiseFetcher added in v0.35.0

type PromiseFetcher interface {
	FromURL(string) (*Promise, error)
}

+kubebuilder:object:generate=false

type PromiseList

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

PromiseList contains a list of Promise

func (*PromiseList) DeepCopy

func (in *PromiseList) DeepCopy() *PromiseList

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

func (*PromiseList) DeepCopyInto

func (in *PromiseList) DeepCopyInto(out *PromiseList)

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

func (*PromiseList) DeepCopyObject

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

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

type PromisePipelines added in v0.21.0

type PromisePipelines struct {
	DeleteResource    []Pipeline
	ConfigureResource []Pipeline
	ConfigurePromise  []Pipeline
	DeletePromise     []Pipeline
}

func (*PromisePipelines) DeepCopy added in v0.21.0

func (in *PromisePipelines) DeepCopy() *PromisePipelines

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

func (*PromisePipelines) DeepCopyInto added in v0.21.0

func (in *PromisePipelines) DeepCopyInto(out *PromisePipelines)

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

type PromiseRelease added in v0.1.0

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

	Spec   PromiseReleaseSpec   `json:"spec,omitempty"`
	Status PromiseReleaseStatus `json:"status,omitempty"`
}

PromiseRelease is the Schema for the promisereleases API

func (*PromiseRelease) DeepCopy added in v0.1.0

func (in *PromiseRelease) DeepCopy() *PromiseRelease

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

func (*PromiseRelease) DeepCopyInto added in v0.1.0

func (in *PromiseRelease) DeepCopyInto(out *PromiseRelease)

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

func (*PromiseRelease) DeepCopyObject added in v0.1.0

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

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

func (*PromiseRelease) SetupWebhookWithManager added in v0.35.0

func (r *PromiseRelease) SetupWebhookWithManager(mgr ctrl.Manager, pf PromiseFetcher) error

func (*PromiseRelease) ValidateCreate added in v0.35.0

func (r *PromiseRelease) ValidateCreate() (admission.Warnings, error)

func (*PromiseRelease) ValidateDelete added in v0.35.0

func (r *PromiseRelease) ValidateDelete() (admission.Warnings, error)

func (*PromiseRelease) ValidateUpdate added in v0.35.0

func (r *PromiseRelease) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type PromiseReleaseList added in v0.1.0

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

PromiseReleaseList contains a list of PromiseRelease

func (*PromiseReleaseList) DeepCopy added in v0.1.0

func (in *PromiseReleaseList) DeepCopy() *PromiseReleaseList

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

func (*PromiseReleaseList) DeepCopyInto added in v0.1.0

func (in *PromiseReleaseList) DeepCopyInto(out *PromiseReleaseList)

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

func (*PromiseReleaseList) DeepCopyObject added in v0.1.0

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

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

type PromiseReleaseSpec added in v0.1.0

type PromiseReleaseSpec struct {
	Version   string    `json:"version,omitempty"`
	SourceRef SourceRef `json:"sourceRef,omitempty"`
}

PromiseReleaseSpec defines the desired state of PromiseRelease

func (*PromiseReleaseSpec) DeepCopy added in v0.1.0

func (in *PromiseReleaseSpec) DeepCopy() *PromiseReleaseSpec

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

func (*PromiseReleaseSpec) DeepCopyInto added in v0.1.0

func (in *PromiseReleaseSpec) DeepCopyInto(out *PromiseReleaseSpec)

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

type PromiseReleaseStatus added in v0.1.0

type PromiseReleaseStatus struct {
	Status     string             `json:"status,omitempty"`
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PromiseReleaseStatus defines the observed state of PromiseRelease

func (*PromiseReleaseStatus) DeepCopy added in v0.1.0

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

func (*PromiseReleaseStatus) DeepCopyInto added in v0.1.0

func (in *PromiseReleaseStatus) DeepCopyInto(out *PromiseReleaseStatus)

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

type PromiseScheduling added in v0.1.0

type PromiseScheduling struct {
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
}

For Promise spec

func (*PromiseScheduling) DeepCopy added in v0.1.0

func (in *PromiseScheduling) DeepCopy() *PromiseScheduling

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

func (*PromiseScheduling) DeepCopyInto added in v0.1.0

func (in *PromiseScheduling) DeepCopyInto(out *PromiseScheduling)

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

type PromiseSpec

type PromiseSpec struct {

	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:EmbeddedResource
	// +kubebuilder:validation:Optional
	API *runtime.RawExtension `json:"api,omitempty"`

	Workflows Workflows `json:"workflows,omitempty"`

	RequiredPromises []RequiredPromise `json:"requiredPromises,omitempty"`

	Dependencies Dependencies `json:"dependencies,omitempty"`

	DestinationSelectors []PromiseScheduling `json:"destinationSelectors,omitempty"`
}

PromiseSpec defines the desired state of Promise

func (*PromiseSpec) DeepCopy

func (in *PromiseSpec) DeepCopy() *PromiseSpec

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

func (*PromiseSpec) DeepCopyInto

func (in *PromiseSpec) DeepCopyInto(out *PromiseSpec)

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

type PromiseStatus

type PromiseStatus struct {
	Conditions         []metav1.Condition      `json:"conditions,omitempty"`
	Version            string                  `json:"version,omitempty"`
	ObservedGeneration int64                   `json:"observedGeneration,omitempty"`
	Kind               string                  `json:"kind,omitempty"`
	APIVersion         string                  `json:"apiVersion,omitempty"`
	Status             string                  `json:"status,omitempty"`
	RequiredPromises   []RequiredPromiseStatus `json:"requiredPromises,omitempty"`
	RequiredBy         []RequiredBy            `json:"requiredBy,omitempty"`
}

PromiseStatus defines the observed state of Promise

func (*PromiseStatus) DeepCopy

func (in *PromiseStatus) DeepCopy() *PromiseStatus

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

func (*PromiseStatus) DeepCopyInto

func (in *PromiseStatus) DeepCopyInto(out *PromiseStatus)

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

type PromiseSummary added in v0.1.0

type PromiseSummary struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
}

func (*PromiseSummary) DeepCopy added in v0.1.0

func (in *PromiseSummary) DeepCopy() *PromiseSummary

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

func (*PromiseSummary) DeepCopyInto added in v0.1.0

func (in *PromiseSummary) DeepCopyInto(out *PromiseSummary)

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

type RequiredBy added in v0.1.0

type RequiredBy struct {
	Promise         PromiseSummary `json:"promise,omitempty"`
	RequiredVersion string         `json:"requiredVersion,omitempty"`
}

func (*RequiredBy) DeepCopy added in v0.1.0

func (in *RequiredBy) DeepCopy() *RequiredBy

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

func (*RequiredBy) DeepCopyInto added in v0.1.0

func (in *RequiredBy) DeepCopyInto(out *RequiredBy)

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

type RequiredPromise added in v0.43.0

type RequiredPromise struct {
	// Name of Promise
	Name string `json:"name,omitempty"`
	// Version of Promise
	Version string `json:"version,omitempty"`
}

func (*RequiredPromise) DeepCopy added in v0.43.0

func (in *RequiredPromise) DeepCopy() *RequiredPromise

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

func (*RequiredPromise) DeepCopyInto added in v0.43.0

func (in *RequiredPromise) DeepCopyInto(out *RequiredPromise)

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

type RequiredPromiseStatus added in v0.43.0

type RequiredPromiseStatus struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
	State   string `json:"state,omitempty"`
}

func (*RequiredPromiseStatus) DeepCopy added in v0.43.0

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

func (*RequiredPromiseStatus) DeepCopyInto added in v0.43.0

func (in *RequiredPromiseStatus) DeepCopyInto(out *RequiredPromiseStatus)

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

type SourceRef added in v0.1.0

type SourceRef struct {
	Type string `json:"type,omitempty"`
	URL  string `json:"url,omitempty"`
}

func (*SourceRef) DeepCopy added in v0.1.0

func (in *SourceRef) DeepCopy() *SourceRef

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

func (*SourceRef) DeepCopyInto added in v0.1.0

func (in *SourceRef) DeepCopyInto(out *SourceRef)

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

type StateStoreCoreFields added in v0.0.3

type StateStoreCoreFields struct {
	// Path within the StateStore to write documents. This path should be allocated
	// to Kratix as it will create, update, and delete files within this path.
	// Path structure begins with provided path and ends with namespaced destination name:
	//   <StateStore.Spec.Path>/<Destination.Spec.Path>/<Destination.Metadata.Namespace>/<Destination.Metadata.Name>/
	//+kubebuilder:validation:Optional
	Path string `json:"path,omitempty"`
	// SecretRef specifies the Secret containing authentication credentials
	SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`
}

func (*StateStoreCoreFields) DeepCopy added in v0.0.3

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

func (*StateStoreCoreFields) DeepCopyInto added in v0.0.3

func (in *StateStoreCoreFields) DeepCopyInto(out *StateStoreCoreFields)

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

type StateStoreReference added in v0.0.3

type StateStoreReference struct {
	// +kubebuilder:validation:Enum=BucketStateStore;GitStateStore
	Kind string `json:"kind"`
	Name string `json:"name"`
}

StateStoreReference is a reference to a StateStore

func (*StateStoreReference) DeepCopy added in v0.0.3

func (in *StateStoreReference) DeepCopy() *StateStoreReference

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

func (*StateStoreReference) DeepCopyInto added in v0.0.3

func (in *StateStoreReference) DeepCopyInto(out *StateStoreReference)

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

type Type added in v0.48.0

type Type string

type Work

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

	Spec   WorkSpec   `json:"spec,omitempty"`
	Status WorkStatus `json:"status,omitempty"`
}

Work is the Schema for the works API

func NewPromiseDependenciesWork added in v0.0.5

func NewPromiseDependenciesWork(promise *Promise, name string) (*Work, error)

func (*Work) DeepCopy

func (in *Work) DeepCopy() *Work

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

func (*Work) DeepCopyInto

func (in *Work) DeepCopyInto(out *Work)

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

func (*Work) DeepCopyObject

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

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

func (*Work) GetDefaultScheduling added in v0.1.0

func (w *Work) GetDefaultScheduling(source string) *WorkloadGroupScheduling

func (*Work) GetWorkloadGroupScheduling added in v0.1.0

func (w *Work) GetWorkloadGroupScheduling(source, directory string) *WorkloadGroupScheduling

Returns the WorkloadGroupScheduling for the given source and directory

func (*Work) IsDependency added in v0.0.5

func (w *Work) IsDependency() bool

func (*Work) IsResourceRequest

func (w *Work) IsResourceRequest() bool

type WorkList

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

WorkList contains a list of Work

func (*WorkList) DeepCopy

func (in *WorkList) DeepCopy() *WorkList

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

func (*WorkList) DeepCopyInto

func (in *WorkList) DeepCopyInto(out *WorkList)

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

func (*WorkList) DeepCopyObject

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

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

type WorkPlacement

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

	Spec   WorkPlacementSpec   `json:"spec,omitempty"`
	Status WorkPlacementStatus `json:"status,omitempty"`
}

WorkPlacement is the Schema for the workplacements API

func (*WorkPlacement) DeepCopy

func (in *WorkPlacement) DeepCopy() *WorkPlacement

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

func (*WorkPlacement) DeepCopyInto

func (in *WorkPlacement) DeepCopyInto(out *WorkPlacement)

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

func (*WorkPlacement) DeepCopyObject

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

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

func (*WorkPlacement) PipelineName added in v0.67.0

func (w *WorkPlacement) PipelineName() string

func (*WorkPlacement) SetPipelineName added in v0.67.0

func (w *WorkPlacement) SetPipelineName(work *Work)

type WorkPlacementList

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

WorkPlacementList contains a list of WorkPlacement

func (*WorkPlacementList) DeepCopy

func (in *WorkPlacementList) DeepCopy() *WorkPlacementList

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

func (*WorkPlacementList) DeepCopyInto

func (in *WorkPlacementList) DeepCopyInto(out *WorkPlacementList)

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

func (*WorkPlacementList) DeepCopyObject

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

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

type WorkPlacementSpec

type WorkPlacementSpec struct {
	TargetDestinationName string     `json:"targetDestinationName,omitempty"`
	Workloads             []Workload `json:"workloads,omitempty"`
	PromiseName           string     `json:"promiseName,omitempty"`
	// +optional
	ResourceName string `json:"resourceName,omitempty"`
	ID           string `json:"id,omitempty"`
}

WorkPlacementSpec defines the desired state of WorkPlacement

func (*WorkPlacementSpec) DeepCopy

func (in *WorkPlacementSpec) DeepCopy() *WorkPlacementSpec

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

func (*WorkPlacementSpec) DeepCopyInto

func (in *WorkPlacementSpec) DeepCopyInto(out *WorkPlacementSpec)

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

type WorkPlacementStatus

type WorkPlacementStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

WorkPlacementStatus defines the observed state of WorkPlacement

func (*WorkPlacementStatus) DeepCopy

func (in *WorkPlacementStatus) DeepCopy() *WorkPlacementStatus

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

func (*WorkPlacementStatus) DeepCopyInto

func (in *WorkPlacementStatus) DeepCopyInto(out *WorkPlacementStatus)

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

type WorkSpec

type WorkSpec struct {
	// -1 denotes dependencies, 1 denotes Resource Request
	Replicas int `json:"replicas,omitempty"`

	WorkloadCoreFields `json:",inline"`
}

WorkSpec defines the desired state of Work

func (*WorkSpec) DeepCopy

func (in *WorkSpec) DeepCopy() *WorkSpec

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

func (*WorkSpec) DeepCopyInto

func (in *WorkSpec) DeepCopyInto(out *WorkSpec)

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

type WorkStatus

type WorkStatus struct {
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

WorkStatus defines the observed state of Work

func (*WorkStatus) DeepCopy

func (in *WorkStatus) DeepCopy() *WorkStatus

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

func (*WorkStatus) DeepCopyInto

func (in *WorkStatus) DeepCopyInto(out *WorkStatus)

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

type WorkflowDestinationSelectors added in v0.1.0

type WorkflowDestinationSelectors struct {
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
	// +optional
	Directory string `json:"directory,omitempty"`
}

For /kratix/metadata/destination-selectors.yaml

func (*WorkflowDestinationSelectors) DeepCopy added in v0.1.0

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

func (*WorkflowDestinationSelectors) DeepCopyInto added in v0.1.0

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

type WorkflowTriggers added in v0.0.4

type WorkflowTriggers struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	Configure []unstructured.Unstructured `json:"configure,omitempty"`
	// +kubebuilder:pruning:PreserveUnknownFields
	Delete []unstructured.Unstructured `json:"delete,omitempty"`
}

func (*WorkflowTriggers) DeepCopy added in v0.0.4

func (in *WorkflowTriggers) DeepCopy() *WorkflowTriggers

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

func (*WorkflowTriggers) DeepCopyInto added in v0.0.4

func (in *WorkflowTriggers) DeepCopyInto(out *WorkflowTriggers)

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

type Workflows added in v0.0.4

type Workflows struct {
	Resource WorkflowTriggers `json:"resource,omitempty"`
	Promise  WorkflowTriggers `json:"promise,omitempty"`
}

func (*Workflows) DeepCopy added in v0.0.4

func (in *Workflows) DeepCopy() *Workflows

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

func (*Workflows) DeepCopyInto added in v0.0.4

func (in *Workflows) DeepCopyInto(out *Workflows)

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

type Workload added in v0.0.5

type Workload struct {
	// +optional
	Filepath string `json:"filepath,omitempty"`
	Content  string `json:"content,omitempty"`
}

Workload represents the manifest workload to be deployed on destination

func (*Workload) DeepCopy added in v0.0.5

func (in *Workload) DeepCopy() *Workload

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

func (*Workload) DeepCopyInto added in v0.0.5

func (in *Workload) DeepCopyInto(out *Workload)

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

type WorkloadCoreFields added in v0.0.5

type WorkloadCoreFields struct {
	// Workload represents the manifest workload to be deployed on destination
	WorkloadGroups []WorkloadGroup `json:"workloadGroups,omitempty"`

	PromiseName string `json:"promiseName,omitempty"`
	// +optional
	ResourceName string `json:"resourceName,omitempty"`
}

func (*WorkloadCoreFields) DeepCopy added in v0.0.5

func (in *WorkloadCoreFields) DeepCopy() *WorkloadCoreFields

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

func (*WorkloadCoreFields) DeepCopyInto added in v0.0.5

func (in *WorkloadCoreFields) DeepCopyInto(out *WorkloadCoreFields)

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

type WorkloadGroup added in v0.1.0

type WorkloadGroup struct {
	// +optional
	Workloads            []Workload                `json:"workloads,omitempty"`
	Directory            string                    `json:"directory,omitempty"`
	ID                   string                    `json:"id,omitempty"`
	DestinationSelectors []WorkloadGroupScheduling `json:"destinationSelectors,omitempty"`
}

WorkloadGroup represents the workloads in a particular directory that should be scheduled to a to Destination

func (*WorkloadGroup) DeepCopy added in v0.1.0

func (in *WorkloadGroup) DeepCopy() *WorkloadGroup

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

func (*WorkloadGroup) DeepCopyInto added in v0.1.0

func (in *WorkloadGroup) DeepCopyInto(out *WorkloadGroup)

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

type WorkloadGroupScheduling added in v0.1.0

type WorkloadGroupScheduling struct {
	MatchLabels map[string]string `json:"matchLabels,omitempty"`
	Source      string            `json:"source,omitempty"`
}

func (*WorkloadGroupScheduling) DeepCopy added in v0.1.0

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

func (*WorkloadGroupScheduling) DeepCopyInto added in v0.1.0

func (in *WorkloadGroupScheduling) DeepCopyInto(out *WorkloadGroupScheduling)

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

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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