v1alpha1

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 29, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

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

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

Index

Constants

View Source
const (
	// DeployFailedReason represents the fact that the
	// kluctl deploy command failed.
	DeployFailedReason string = "DeployFailed"

	// PruneFailedReason represents the fact that the
	// pruning of the KluctlDeployment failed.
	PruneFailedReason string = "PruneFailed"

	// ValidateFailedReason represents the fact that the
	// validate of the KluctlDeployment failed.
	ValidateFailedReason string = "ValidateFailed"

	// ArtifactFailedReason represents the fact that the
	// source artifact download failed.
	ArtifactFailedReason string = "ArtifactFailed"

	// PrepareFailedReason represents failure in the kluctl preparation phase
	PrepareFailedReason string = "PrepareFailed"

	// DependencyNotReadyReason represents the fact that
	// one of the dependencies is not ready.
	DependencyNotReadyReason string = "DependencyNotReady"

	// ReconciliationSucceededReason represents the fact that
	// the reconciliation succeeded.
	ReconciliationSucceededReason string = "ReconciliationSucceeded"
)
View Source
const (
	KluctlDeploymentKind      = "KluctlDeployment"
	KluctlMultiDeploymentKind = "KluctlMultiDeployment"
	KluctlDeploymentFinalizer = "finalizers.flux.kluctl.io"
	MaxConditionMessageLength = 20000
	DisabledValue             = "disabled"
	MergeValue                = "merge"

	KluctlDeployModeFull   = "full-deploy"
	KluctlDeployPokeImages = "poke-images"
)
View Source
const (
	// HealthyCondition represents the last recorded
	// health assessment result.
	HealthyCondition string = "Healthy"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "flux.kluctl.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
)

Functions

func ConvertFixedImageToKluctl added in v0.0.2

func ConvertFixedImageToKluctl(fi FixedImage) types.FixedImage

func ConvertFixedImagesToKluctl added in v0.0.2

func ConvertFixedImagesToKluctl(fi []FixedImage) []types.FixedImage

func ConvertResourceRefToKluctl added in v0.0.2

func ConvertResourceRefToKluctl(ref *ObjectRef) *k8s.ObjectRef

func KluctlProjectProgressing added in v0.3.0

func KluctlProjectProgressing(k *KluctlProjectStatus, message string)

KluctlProjectProgressing resets the conditions of the given KluctlProjectStatus to a single ReadyCondition with status ConditionUnknown.

func SetDeployResult added in v0.4.0

func SetDeployResult(k *KluctlDeployment, revision string, result *CommandResult, objectHash string, err error)

func SetKluctlProjectHealthiness added in v0.3.0

func SetKluctlProjectHealthiness(k *KluctlProjectStatus, status metav1.ConditionStatus, reason, message string)

SetKluctlProjectHealthiness sets the HealthyCondition status for a KluctlProjectStatus.

func SetKluctlProjectReadiness added in v0.3.0

func SetKluctlProjectReadiness(k *KluctlProjectStatus, status metav1.ConditionStatus, reason, message string, generation int64, revision string)

SetKluctlProjectReadiness sets the ReadyCondition, ObservedGeneration, and LastAttemptedReconcile, on the KluctlProjectStatus.

func SetPruneResult added in v0.4.0

func SetPruneResult(k *KluctlDeployment, revision string, result *CommandResult, objectHash string, err error)

func SetValidateResult added in v0.4.0

func SetValidateResult(k *KluctlDeployment, revision string, result *ValidateResult, objectHash string, err error)

Types

type Change

type Change struct {
	Type        string `json:"type"`
	JsonPath    string `json:"jsonPath"`
	UnifiedDiff string `json:"unifiedDiff,omitempty"`
}

func (*Change) DeepCopy

func (in *Change) DeepCopy() *Change

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

func (*Change) DeepCopyInto

func (in *Change) DeepCopyInto(out *Change)

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

type CommandResult

type CommandResult struct {
	NewObjects     []ObjectRef       `json:"newObjects,omitempty"`
	ChangedObjects []ObjectRef       `json:"changedObjects,omitempty"`
	HookObjects    []ObjectRef       `json:"hookObjects,omitempty"`
	OrphanObjects  []ObjectRef       `json:"orphanObjects,omitempty"`
	DeletedObjects []ObjectRef       `json:"deletedObjects,omitempty"`
	Errors         []DeploymentError `json:"errors,omitempty"`
	Warnings       []DeploymentError `json:"warnings,omitempty"`
	SeenImages     []FixedImage      `json:"seenImages,omitempty"`
}

func ConvertCommandResult

func ConvertCommandResult(cmdResult *types.CommandResult) *CommandResult

func (*CommandResult) DeepCopy

func (in *CommandResult) DeepCopy() *CommandResult

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

func (*CommandResult) DeepCopyInto

func (in *CommandResult) DeepCopyInto(out *CommandResult)

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

type CrossNamespaceSourceReference

type CrossNamespaceSourceReference struct {
	// API version of the referent.
	// +optional
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind of the referent.
	// +kubebuilder:validation:Enum=GitRepository;Bucket
	// +required
	Kind string `json:"kind"`

	// Name of the referent.
	// +required
	Name string `json:"name"`

	// Namespace of the referent, defaults to the namespace of the Kubernetes resource object that contains the reference.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

CrossNamespaceSourceReference contains enough information to let you locate the typed Kubernetes resource object at cluster level.

func (*CrossNamespaceSourceReference) DeepCopy

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

func (*CrossNamespaceSourceReference) DeepCopyInto

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

func (*CrossNamespaceSourceReference) String

type DeploymentError

type DeploymentError struct {
	Ref   ObjectRef `json:"ref"`
	Error string    `json:"error"`
}

func (*DeploymentError) DeepCopy

func (in *DeploymentError) DeepCopy() *DeploymentError

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

func (*DeploymentError) DeepCopyInto

func (in *DeploymentError) DeepCopyInto(out *DeploymentError)

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

type FixedImage

type FixedImage struct {
	Image         string     `json:"image"`
	ResultImage   string     `json:"resultImage"`
	DeployedImage *string    `json:"deployedImage,omitempty"`
	RegistryImage *string    `json:"registryImage,omitempty"`
	Namespace     *string    `json:"namespace,omitempty"`
	Object        *ObjectRef `json:"object,omitempty"`
	Deployment    *string    `json:"deployment,omitempty"`
	Container     *string    `json:"container,omitempty"`
	VersionFilter *string    `json:"versionFilter,omitempty"`
	DeployTags    []string   `json:"deployTags,omitempty"`
	DeploymentDir *string    `json:"deploymentDir,omitempty"`
}

func ConvertFixedImage

func ConvertFixedImage(fi types.FixedImage) *FixedImage

func (*FixedImage) DeepCopy

func (in *FixedImage) DeepCopy() *FixedImage

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

func (*FixedImage) DeepCopyInto

func (in *FixedImage) DeepCopyInto(out *FixedImage)

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

type KluctlDeployment

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

	Spec   KluctlDeploymentSpec   `json:"spec,omitempty"`
	Status KluctlDeploymentStatus `json:"status,omitempty"`
}

KluctlDeployment is the Schema for the kluctldeployments API

func (*KluctlDeployment) DeepCopy

func (in *KluctlDeployment) DeepCopy() *KluctlDeployment

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

func (*KluctlDeployment) DeepCopyInto

func (in *KluctlDeployment) DeepCopyInto(out *KluctlDeployment)

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

func (*KluctlDeployment) DeepCopyObject

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

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

func (*KluctlDeployment) GetConditions

func (in *KluctlDeployment) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*KluctlDeployment) GetDependsOn

func (in *KluctlDeployment) GetDependsOn() []meta2.NamespacedObjectReference

func (*KluctlDeployment) GetFullStatus added in v0.3.0

func (in *KluctlDeployment) GetFullStatus() any

func (*KluctlDeployment) GetKluctlProject added in v0.3.0

func (in *KluctlDeployment) GetKluctlProject() *KluctlProjectSpec

func (*KluctlDeployment) GetKluctlStatus added in v0.3.0

func (in *KluctlDeployment) GetKluctlStatus() *KluctlProjectStatus

func (*KluctlDeployment) GetKluctlTiming added in v0.3.0

func (in *KluctlDeployment) GetKluctlTiming() *KluctlTimingSpec

func (*KluctlDeployment) GetStatusConditions

func (in *KluctlDeployment) GetStatusConditions() *[]metav1.Condition

GetStatusConditions returns a pointer to the Status.Conditions slice. Deprecated: use GetConditions instead.

func (*KluctlDeployment) SetConditions

func (in *KluctlDeployment) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

func (*KluctlDeployment) SetFullStatus added in v0.3.0

func (in *KluctlDeployment) SetFullStatus(s any)

type KluctlDeploymentList

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

KluctlDeploymentList contains a list of KluctlDeployment

func (*KluctlDeploymentList) DeepCopy

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

func (*KluctlDeploymentList) DeepCopyInto

func (in *KluctlDeploymentList) DeepCopyInto(out *KluctlDeploymentList)

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

func (*KluctlDeploymentList) DeepCopyObject

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

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

func (*KluctlDeploymentList) GetItems added in v0.3.0

func (in *KluctlDeploymentList) GetItems() []client.Object

type KluctlDeploymentSpec

type KluctlDeploymentSpec struct {
	KluctlProjectSpec            `json:",inline"`
	KluctlDeploymentTemplateSpec `json:",inline"`

	// Target specifies the kluctl target to deploy
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=63
	// +required
	Target string `json:"target"`
}

KluctlDeploymentSpec defines the desired state of KluctlDeployment

func (*KluctlDeploymentSpec) DeepCopy

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

func (*KluctlDeploymentSpec) DeepCopyInto

func (in *KluctlDeploymentSpec) DeepCopyInto(out *KluctlDeploymentSpec)

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

type KluctlDeploymentStatus

type KluctlDeploymentStatus struct {
	KluctlProjectStatus `json:",inline"`

	// LastDeployResult is the result of the last deploy command
	// +optional
	LastDeployResult *LastCommandResult `json:"lastDeployResult,omitempty"`

	// LastDeployResult is the result of the last prune command
	// +optional
	LastPruneResult *LastCommandResult `json:"lastPruneResult,omitempty"`

	// LastValidateResult is the result of the last validate command
	// +optional
	LastValidateResult *LastValidateResult `json:"lastValidateResult,omitempty"`

	// CommonLabels are the commonLabels found in the deployment project when the last deployment was done.
	// This is used to perform cleanup/deletion in case the KluctlDeployment project is deleted
	// +optional
	CommonLabels map[string]string `json:"commonLabels,omitempty"`
}

KluctlDeploymentStatus defines the observed state of KluctlDeployment

func (*KluctlDeploymentStatus) DeepCopy

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

func (*KluctlDeploymentStatus) DeepCopyInto

func (in *KluctlDeploymentStatus) DeepCopyInto(out *KluctlDeploymentStatus)

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

type KluctlDeploymentTemplateSpec added in v0.3.0

type KluctlDeploymentTemplateSpec struct {
	KluctlTimingSpec `json:",inline"`

	// RegistrySecrets is a list of secret references to be used for image registry authentication.
	// The secrets must either have ".dockerconfigjson" included or "registry", "username" and "password".
	// Additionally, "caFile" and "insecure" can be specified.
	// +optional
	RegistrySecrets []meta.LocalObjectReference `json:"registrySecrets,omitempty"`

	// The name of the Kubernetes service account to use while deploying.
	// If not specified, the default service account is used.
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// The KubeConfig for deploying to the target cluster.
	// Specifies the kubeconfig to be used when invoking kluctl. Contexts in this kubeconfig must match
	// the context found in the kluctl target. As an alternative, RenameContexts can be used to fix
	// non-matching context names.
	// +optional
	KubeConfig *KubeConfig `json:"kubeConfig"`

	// RenameContexts specifies a list of context rename operations.
	// This is useful when the kluctl target's context does not match with the
	// contexts found in the kubeconfig while deploying. This is the case when using kubeconfigs generated from
	// service accounts, in which case the context name is always "default".
	// +optional
	RenameContexts []RenameContext `json:"renameContexts,omitempty"`

	// Args specifies dynamic target args.
	// Only arguments defined by 'dynamicArgs' of the target are allowed.
	// +optional
	Args map[string]string `json:"args,omitempty"`

	// UpdateImages instructs kluctl to update dynamic images.
	// Equivalent to using '-u' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	UpdateImages bool `json:"updateImages,omitempty"`

	// Images contains a list of fixed image overrides.
	// Equivalent to using '--fixed-images-file' when calling kluctl.
	// +optional
	Images []FixedImage `json:"images,omitempty"`

	// DryRun instructs kluctl to run everything in dry-run mode.
	// Equivalent to using '--dry-run' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	DryRun bool `json:"dryRun,omitempty"`

	// NoWait instructs kluctl to not wait for any resources to become ready, including hooks.
	// Equivalent to using '--no-wait' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	NoWait bool `json:"noWait,omitempty"`

	// ForceApply instructs kluctl to force-apply in case of SSA conflicts.
	// Equivalent to using '--force-apply' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ForceApply bool `json:"forceApply,omitempty"`

	// ReplaceOnError instructs kluctl to replace resources on error.
	// Equivalent to using '--replace-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ReplaceOnError bool `json:"replaceOnError,omitempty"`

	// ForceReplaceOnError instructs kluctl to force-replace resources in case a normal replace fails.
	// Equivalent to using '--force-replace-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	ForceReplaceOnError bool `json:"forceReplaceOnError,omitempty"`

	// ForceReplaceOnError instructs kluctl to abort deployments immediately when something fails.
	// Equivalent to using '--abort-on-error' when calling kluctl.
	// +kubebuilder:default:=false
	// +optional
	AbortOnError bool `json:"abortOnError,omitempty"`

	// IncludeTags instructs kluctl to only include deployments with given tags.
	// Equivalent to using '--include-tag' when calling kluctl.
	// +optional
	IncludeTags []string `json:"includeTags,omitempty"`

	// ExcludeTags instructs kluctl to exclude deployments with given tags.
	// Equivalent to using '--exclude-tag' when calling kluctl.
	// +optional
	ExcludeTags []string `json:"excludeTags,omitempty"`

	// IncludeDeploymentDirs instructs kluctl to only include deployments with the given dir.
	// Equivalent to using '--include-deployment-dir' when calling kluctl.
	// +optional
	IncludeDeploymentDirs []string `json:"includeDeploymentDirs,omitempty"`

	// ExcludeDeploymentDirs instructs kluctl to exclude deployments with the given dir.
	// Equivalent to using '--exclude-deployment-dir' when calling kluctl.
	// +optional
	ExcludeDeploymentDirs []string `json:"excludeDeploymentDirs,omitempty"`

	// DeployMode specifies what deploy mode should be used
	// +kubebuilder:default:=full-deploy
	// +kubebuilder:validation:Enum=full-deploy;poke-images
	// +optional
	DeployMode string `json:"deployMode,omitempty"`

	// Prune enables pruning after deploying.
	// +kubebuilder:default:=false
	// +optional
	Prune bool `json:"prune,omitempty"`

	// DeployInterval specifies the interval at which to deploy the KluctlDeployment.
	// This is independent of the 'Interval' value, which only causes deployments if some deployment objects have
	// changed.
	// +optional
	DeployInterval *metav1.Duration `json:"deployInterval"`

	// ValidateInterval specifies the interval at which to validate the KluctlDeployment.
	// Validation is performed the same way as with 'kluctl validate -t <target>'.
	// Defaults to 1m.
	// +kubebuilder:default:="5m"
	// +optional
	ValidateInterval metav1.Duration `json:"validateInterval"`
}

func (*KluctlDeploymentTemplateSpec) DeepCopy added in v0.3.0

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

func (*KluctlDeploymentTemplateSpec) DeepCopyInto added in v0.3.0

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

type KluctlMultiDeployment added in v0.3.0

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

	Spec   KluctlMultiDeploymentSpec   `json:"spec,omitempty"`
	Status KluctlMultiDeploymentStatus `json:"status,omitempty"`
}

KluctlMultiDeployment is the Schema for the kluctlmultideployments API

func (*KluctlMultiDeployment) DeepCopy added in v0.3.0

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

func (*KluctlMultiDeployment) DeepCopyInto added in v0.3.0

func (in *KluctlMultiDeployment) DeepCopyInto(out *KluctlMultiDeployment)

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

func (*KluctlMultiDeployment) DeepCopyObject added in v0.3.0

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

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

func (*KluctlMultiDeployment) GetConditions added in v0.3.0

func (in *KluctlMultiDeployment) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (*KluctlMultiDeployment) GetDependsOn added in v0.3.0

func (*KluctlMultiDeployment) GetFullStatus added in v0.3.0

func (in *KluctlMultiDeployment) GetFullStatus() any

func (*KluctlMultiDeployment) GetKluctlProject added in v0.3.0

func (in *KluctlMultiDeployment) GetKluctlProject() *KluctlProjectSpec

func (*KluctlMultiDeployment) GetKluctlStatus added in v0.3.0

func (in *KluctlMultiDeployment) GetKluctlStatus() *KluctlProjectStatus

func (*KluctlMultiDeployment) GetKluctlTiming added in v0.3.0

func (in *KluctlMultiDeployment) GetKluctlTiming() *KluctlTimingSpec

func (*KluctlMultiDeployment) GetStatusConditions added in v0.3.0

func (in *KluctlMultiDeployment) GetStatusConditions() *[]metav1.Condition

GetStatusConditions returns a pointer to the Status.Conditions slice. Deprecated: use GetConditions instead.

func (*KluctlMultiDeployment) SetConditions added in v0.3.0

func (in *KluctlMultiDeployment) SetConditions(conditions []metav1.Condition)

SetConditions sets the status conditions on the object.

func (*KluctlMultiDeployment) SetFullStatus added in v0.3.0

func (in *KluctlMultiDeployment) SetFullStatus(s any)

type KluctlMultiDeploymentList added in v0.3.0

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

KluctlMultiDeploymentList contains a list of KluctlMultiDeployment

func (*KluctlMultiDeploymentList) DeepCopy added in v0.3.0

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

func (*KluctlMultiDeploymentList) DeepCopyInto added in v0.3.0

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

func (*KluctlMultiDeploymentList) DeepCopyObject added in v0.3.0

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

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

func (*KluctlMultiDeploymentList) GetItems added in v0.3.0

func (in *KluctlMultiDeploymentList) GetItems() []client.Object

type KluctlMultiDeploymentSpec added in v0.3.0

type KluctlMultiDeploymentSpec struct {
	KluctlProjectSpec `json:",inline"`
	KluctlTimingSpec  `json:",inline"`

	// TargetPattern is the regex pattern used to match targets
	// +required
	TargetPattern string `json:"targetPattern"`

	// Template is the object template used to create KluctlDeploymet objects
	// +required
	Template KluctlMultiDeploymentTemplate `json:"template"`
}

KluctlMultiDeploymentSpec defines the desired state of KluctlMultiDeployment

func (*KluctlMultiDeploymentSpec) DeepCopy added in v0.3.0

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

func (*KluctlMultiDeploymentSpec) DeepCopyInto added in v0.3.0

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

type KluctlMultiDeploymentStatus added in v0.3.0

type KluctlMultiDeploymentStatus struct {
	KluctlProjectStatus `json:",inline"`

	// TargetCount is the number of targets detected
	// +optional
	TargetCount int `json:"targetCount,omitempty"`

	// Targets is the list of detected targets
	// +optional
	Targets []KluctlMultiDeploymentTargetStatus `json:"targets,omitempty"`
}

KluctlMultiDeploymentStatus defines the observed state of KluctlMultiDeployment

func (*KluctlMultiDeploymentStatus) DeepCopy added in v0.3.0

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

func (*KluctlMultiDeploymentStatus) DeepCopyInto added in v0.3.0

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

type KluctlMultiDeploymentTargetStatus added in v0.5.0

type KluctlMultiDeploymentTargetStatus struct {
	// Name is the name of the detected target
	Name string `json:"name"`

	// KluctlDeploymentName is the name of the generated KluctlDeployment object
	KluctlDeploymentName string `json:"kluctlDeploymentName"`
}

KluctlMultiDeploymentTargetStatus describes the status of a single target

type KluctlMultiDeploymentTemplate added in v0.3.0

type KluctlMultiDeploymentTemplate struct {
	metav1.ObjectMeta `json:",inline"`

	// Spec is the KluctlDeployment spec to be used as a template
	// +required
	Spec KluctlDeploymentTemplateSpec `json:"spec"`
}

KluctlMultiDeploymentTemplate is the template used to create KluctlDeployment objects

func (*KluctlMultiDeploymentTemplate) DeepCopy added in v0.3.0

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

func (*KluctlMultiDeploymentTemplate) DeepCopyInto added in v0.3.0

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

type KluctlProjectSpec

type KluctlProjectSpec struct {
	// DependsOn may contain a meta.NamespacedObjectReference slice
	// with references to resources that must be ready before this
	// kluctl project can be deployed.
	// +optional
	DependsOn []meta.NamespacedObjectReference `json:"dependsOn,omitempty"`

	// Path to the directory containing the .kluctl.yaml file, or the
	// Defaults to 'None', which translates to the root path of the SourceRef.
	// +optional
	Path string `json:"path,omitempty"`

	// Reference of the source where the kluctl project is.
	// The authentication secrets from the source are also used to authenticate
	// dependent git repositories which are cloned while deploying the kluctl project.
	// +required
	SourceRef CrossNamespaceSourceReference `json:"sourceRef"`

	// This flag tells the controller to suspend subsequent kluctl executions,
	// it does not apply to already started executions. Defaults to false.
	// +optional
	Suspend bool `json:"suspend,omitempty"`
}

func (*KluctlProjectSpec) DeepCopy

func (in *KluctlProjectSpec) DeepCopy() *KluctlProjectSpec

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

func (*KluctlProjectSpec) DeepCopyInto

func (in *KluctlProjectSpec) DeepCopyInto(out *KluctlProjectSpec)

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

func (KluctlProjectSpec) GetDependsOn added in v0.3.0

func (in KluctlProjectSpec) GetDependsOn() []meta.NamespacedObjectReference

GetDependsOn returns the list of dependencies across-namespaces.

type KluctlProjectStatus

type KluctlProjectStatus struct {
	meta.ReconcileRequestStatus `json:",inline"`

	// ObservedGeneration is the last reconciled generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// LastAttemptedRevision is the revision of the last reconciliation attempt.
	// +optional
	LastAttemptedRevision string `json:"lastAttemptedRevision,omitempty"`
}

KluctlProjectStatus defines the observed state of KluctlProjectStatus

func (*KluctlProjectStatus) DeepCopy

func (in *KluctlProjectStatus) DeepCopy() *KluctlProjectStatus

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

func (*KluctlProjectStatus) DeepCopyInto

func (in *KluctlProjectStatus) DeepCopyInto(out *KluctlProjectStatus)

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

type KluctlTimingSpec added in v0.3.0

type KluctlTimingSpec struct {
	// The interval at which to reconcile the KluctlDeployment.
	// +required
	Interval metav1.Duration `json:"interval"`

	// The interval at which to retry a previously failed reconciliation.
	// When not specified, the controller uses the KluctlDeploymentSpec.Interval
	// value to retry failures.
	// +optional
	RetryInterval *metav1.Duration `json:"retryInterval,omitempty"`

	// Timeout for all operations.
	// Defaults to 'Interval' duration.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

func (*KluctlTimingSpec) DeepCopy added in v0.3.0

func (in *KluctlTimingSpec) DeepCopy() *KluctlTimingSpec

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

func (*KluctlTimingSpec) DeepCopyInto added in v0.3.0

func (in *KluctlTimingSpec) DeepCopyInto(out *KluctlTimingSpec)

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

func (KluctlTimingSpec) GetRequeueAfter added in v0.3.0

func (in KluctlTimingSpec) GetRequeueAfter() time.Duration

GetRequeueAfter returns the duration after which the KluctlDeployment must be reconciled again.

func (KluctlTimingSpec) GetRetryInterval added in v0.3.0

func (in KluctlTimingSpec) GetRetryInterval() time.Duration

GetRetryInterval returns the retry interval

func (KluctlTimingSpec) GetTimeout added in v0.3.0

func (in KluctlTimingSpec) GetTimeout() time.Duration

GetTimeout returns the timeout with default.

type KubeConfig

type KubeConfig struct {
	// SecretRef holds the name of a secret that contains a key with
	// the kubeconfig file as the value. If no key is set, the key will default
	// to 'value'. The secret must be in the same namespace as
	// the Kustomization.
	// It is recommended that the kubeconfig is self-contained, and the secret
	// is regularly updated if credentials such as a cloud-access-token expire.
	// Cloud specific `cmd-path` auth helpers will not function without adding
	// binaries and credentials to the Pod that is responsible for reconciling
	// the KluctlDeployment.
	// +required
	SecretRef meta.SecretKeyReference `json:"secretRef,omitempty"`
}

KubeConfig references a Kubernetes secret that contains a kubeconfig file.

func (*KubeConfig) DeepCopy

func (in *KubeConfig) DeepCopy() *KubeConfig

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

func (*KubeConfig) DeepCopyInto

func (in *KubeConfig) DeepCopyInto(out *KubeConfig)

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

type LastCommandResult added in v0.4.0

type LastCommandResult struct {
	ReconcileResultBase `json:",inline"`

	// +optional
	Result *CommandResult `json:"result,omitempty"`

	// +optional
	Error string `json:"error,omitempty"`
}

func (*LastCommandResult) DeepCopy added in v0.4.0

func (in *LastCommandResult) DeepCopy() *LastCommandResult

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

func (*LastCommandResult) DeepCopyInto added in v0.4.0

func (in *LastCommandResult) DeepCopyInto(out *LastCommandResult)

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

type LastValidateResult added in v0.4.0

type LastValidateResult struct {
	ReconcileResultBase `json:",inline"`

	// +optional
	Result *ValidateResult `json:"result,omitempty"`
	Error  string          `json:"error"`
}

func (*LastValidateResult) DeepCopy added in v0.4.0

func (in *LastValidateResult) DeepCopy() *LastValidateResult

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

func (*LastValidateResult) DeepCopyInto added in v0.4.0

func (in *LastValidateResult) DeepCopyInto(out *LastValidateResult)

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

type ObjectRef added in v0.4.0

type ObjectRef struct {
	Group     string `json:"group"`
	Version   string `json:"version"`
	Kind      string `json:"kind"`
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

ObjectRef contains the information necessary to locate a resource within a cluster.

func ConvertObjectRef added in v0.4.0

func ConvertObjectRef(ref *k8s.ObjectRef) *ObjectRef

func (*ObjectRef) DeepCopy added in v0.4.0

func (in *ObjectRef) DeepCopy() *ObjectRef

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

func (*ObjectRef) DeepCopyInto added in v0.4.0

func (in *ObjectRef) DeepCopyInto(out *ObjectRef)

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

type ReconcileResultBase added in v0.4.0

type ReconcileResultBase struct {
	// AttemptedAt is the time when the attempt was performed
	// +required
	AttemptedAt metav1.Time `json:"time"`

	// Revision is the source revision. Please note that kluctl projects have
	// dependent git repositories which are not considered in the source revision
	// +optional
	Revision string `json:"revision,omitempty"`

	// TargetName is the name of the target
	// +required
	TargetName string `json:"targetName"`

	// ObjectsHash is the hash of all rendered objects
	// +optional
	ObjectsHash string `json:"objectsHash,omitempty"`
}

func (*ReconcileResultBase) DeepCopy added in v0.4.0

func (in *ReconcileResultBase) DeepCopy() *ReconcileResultBase

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

func (*ReconcileResultBase) DeepCopyInto added in v0.4.0

func (in *ReconcileResultBase) DeepCopyInto(out *ReconcileResultBase)

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

type RenameContext added in v0.0.2

type RenameContext struct {
	// OldContext is the name of the context to be renamed
	// +required
	OldContext string `json:"oldContext"`

	// NewContext is the new name of the context
	// +required
	NewContext string `json:"newContext"`
}

RenameContext specifies a single rename of a context

func (*RenameContext) DeepCopy added in v0.0.2

func (in *RenameContext) DeepCopy() *RenameContext

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

func (*RenameContext) DeepCopyInto added in v0.0.2

func (in *RenameContext) DeepCopyInto(out *RenameContext)

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

type ValidateResult

type ValidateResult struct {
	Ready    bool                  `json:"ready"`
	Warnings []DeploymentError     `json:"warnings,omitempty"`
	Errors   []DeploymentError     `json:"errors,omitempty"`
	Results  []ValidateResultEntry `json:"results,omitempty"`
}

func ConvertValidateResult added in v0.4.0

func ConvertValidateResult(cmdResult *types.ValidateResult) *ValidateResult

func (*ValidateResult) DeepCopy

func (in *ValidateResult) DeepCopy() *ValidateResult

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

func (*ValidateResult) DeepCopyInto

func (in *ValidateResult) DeepCopyInto(out *ValidateResult)

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

type ValidateResultEntry

type ValidateResultEntry struct {
	Ref        ObjectRef `json:"ref"`
	Annotation string    `json:"annotation"`
	Message    string    `json:"message"`
}

func (*ValidateResultEntry) DeepCopy

func (in *ValidateResultEntry) DeepCopy() *ValidateResultEntry

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

func (*ValidateResultEntry) DeepCopyInto

func (in *ValidateResultEntry) DeepCopyInto(out *ValidateResultEntry)

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