v1alpha1

package
v0.0.1 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	// HealthyCondition represents the last recorded
	// health assessment result.
	HealthyCondition string = "Healthy"

	ArchiveFailedCondition string = "ArchiveFailed"
)
View Source
const (

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

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

	// TargetNotFoundReason represents the fact that the
	// target was not found.
	TargetNotFoundReason string = "TargetNotFound"

	// DeployFailedReason represents the fact that the
	// kluctl deploy command failed.
	DeployFailedReason string = "DeployFailed"

	// HealthCheckFailedReason represents the fact that
	// one of the health checks failed.
	HealthCheckFailedReason string = "HealthCheckFailed"

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

	// ReconciliationSkippedReason represents the fact that
	// the reconciliation was skipped due to an unchanged target.
	ReconciliationSkippedReason string = "ReconciliationSkipped"

	// ReconciliationFailedReason represents the fact that
	// the reconciliation failed.
	ReconciliationFailedReason string = "ReconciliationFailed"

	// ArchiveFailedReason represents a failed call to kluctl archive
	ArchiveFailedReason string = "ArchiveFailed"
)
View Source
const (
	KluctlDeploymentKind      = "KluctlDeployment"
	KluctlDeploymentFinalizer = "finalizers.kluctl.io"
	MaxConditionMessageLength = 20000
	DisabledValue             = "disabled"
	MergeValue                = "merge"
)
View Source
const (
	KluctlProjectKind      = "KluctlProject"
	KluctlProjectFinalizer = "finalizers.kluctl.io"
)

Variables

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

func SetKluctlDeploymentHealthiness(k *KluctlDeployment, status metav1.ConditionStatus, reason, message string)

SetKluctlDeploymentHealthiness sets the HealthyCondition status for a KluctlDeployment.

func SetKluctlDeploymentReadiness

func SetKluctlDeploymentReadiness(k *KluctlDeployment, status metav1.ConditionStatus, reason, message string, revision string, targetHash string)

SetKluctlDeploymentReadiness sets the ReadyCondition, ObservedGeneration, and LastAttemptedRevision, on the KluctlDeployment.

Types

type ArchiveInfo

type ArchiveInfo struct {
	// ArchiveHash is the hash of archive.tar.gz
	// +required
	ArchiveHash string `json:"archiveHash"`

	// MetdataHash is the hash of metadata.yml
	// +required
	MetadataHash string `json:"metadataHash"`

	// InvolvedRepos is a list of repositories and refs involved with this KluctlProject
	InvolvedRepos []InvolvedRepo `json:"involvedRepos"`

	// Targets is a list of targets found in the KluctlProject
	Targets []TargetInfo `json:"targets"`
}

ArchiveInfo holds infos related to the project archive

func (*ArchiveInfo) DeepCopy

func (in *ArchiveInfo) DeepCopy() *ArchiveInfo

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

func (*ArchiveInfo) DeepCopyInto

func (in *ArchiveInfo) DeepCopyInto(out *ArchiveInfo)

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

func (ArchiveInfo) Revision

func (a ArchiveInfo) Revision() string

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     []ResourceRef     `json:"newObjects,omitempty"`
	ChangedObjects []ResourceRef     `json:"changedObjects,omitempty"`
	HookObjects    []ResourceRef     `json:"hookObjects,omitempty"`
	OrphanObjects  []ResourceRef     `json:"orphanObjects,omitempty"`
	DeletedObjects []ResourceRef     `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;KluctlProject
	// +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   ResourceRef `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        *ResourceRef `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 InvolvedRepo

type InvolvedRepo struct {
	// URL is the url of the involved git repository
	URL string `json:"url"`

	// Patterns is a list of pattern+refs combinations
	Patterns []InvolvedRepoPattern `json:"patterns"`
}

InvolvedRepo represents a git repository and all involved refs

func (*InvolvedRepo) DeepCopy

func (in *InvolvedRepo) DeepCopy() *InvolvedRepo

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

func (*InvolvedRepo) DeepCopyInto

func (in *InvolvedRepo) DeepCopyInto(out *InvolvedRepo)

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

type InvolvedRepoPattern

type InvolvedRepoPattern struct {
	// Pattern is a regex to filter refs
	Pattern string `json:"pattern"`

	// Refs is the filtered list of refs
	Refs map[string]string `json:"refs"`
}

InvolvedRepoPattern represents a ref pattern and the found refs

func (*InvolvedRepoPattern) DeepCopy

func (in *InvolvedRepoPattern) DeepCopy() *InvolvedRepoPattern

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

func (*InvolvedRepoPattern) DeepCopyInto

func (in *InvolvedRepoPattern) DeepCopyInto(out *InvolvedRepoPattern)

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 KluctlDeploymentNotReady

func KluctlDeploymentNotReady(k KluctlDeployment, revision, targetHash, reason, message string) KluctlDeployment

KluctlDeploymentNotReady registers a failed apply attempt of the given KluctlDeployment.

func KluctlDeploymentProgressing

func KluctlDeploymentProgressing(k KluctlDeployment, message string) KluctlDeployment

KluctlDeploymentProgressing resets the conditions of the given KluctlDeployment to a single ReadyCondition with status ConditionUnknown.

func KluctlDeploymentReady

func KluctlDeploymentReady(k KluctlDeployment, revision, targetHash, reason, message string) KluctlDeployment

KluctlDeploymentReady registers a successful deploy attempt of the given KluctlDeployment.

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() []meta.NamespacedObjectReference

GetDependsOn returns the list of dependencies across-namespaces.

func (KluctlDeployment) GetRequeueAfter

func (in KluctlDeployment) GetRequeueAfter() time.Duration

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

func (KluctlDeployment) GetRetryInterval

func (in KluctlDeployment) GetRetryInterval() time.Duration

GetRetryInterval returns the retry interval

func (*KluctlDeployment) GetStatusConditions

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

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

func (KluctlDeployment) GetTimeout

func (in KluctlDeployment) GetTimeout() time.Duration

GetTimeout returns the timeout with default.

func (*KluctlDeployment) SetConditions

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

SetConditions sets the status conditions on the object.

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.

type KluctlDeploymentSpec

type KluctlDeploymentSpec 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"`

	// 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"`

	// 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.
	// +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"`

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

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

	// The KubeConfig for deploying to the target cluster.
	// Specifies the kubeconfig to be used when invoking kluctl. Contexts in this kubeconfig must match
	// the cluster config found in the kluctl project.
	// +required
	KubeConfig *KubeConfig `json:"kubeConfig"`

	// Args specifies dynamic target args
	// +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"`

	// 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"`

	// 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 only include 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 only include deployments with the given dir.
	// Equivalent to using '--exclude-deployment-dir' when calling kluctl.
	// +optional
	ExcludeDeploymentDirs []string `json:"excludeDeploymentDirs,omitempty"`

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

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 {
	meta.ReconcileRequestStatus `json:",inline"`

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

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

	// The last successfully deployed revision.
	// +optional
	LastDeployedRevision string `json:"lastDeployedRevision,omitempty"`

	// LastDeployedTargetHash is the last successfully deployed target configuration hash.
	// +optional
	LastDeployedTargetHash string `json:"lastDeployedTargetHash,omitempty"`

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

	// LastAttemptedTargetHash is the hash of the last target configuration that was attempted.
	// +optional
	LastAttemptedTargetHash string `json:"lastAttemptedTargetHash"`

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

	// LastPruneResult is the last prune command result
	// +optional
	LastPruneResult *CommandResult `json:"lastPruneResult,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 KluctlProject

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

	Spec   KluctlProjectSpec   `json:"spec,omitempty"`
	Status KluctlProjectStatus `json:"status,omitempty"`
}

KluctlProject is the Schema for the kluctlprojects API

func (*KluctlProject) DeepCopy

func (in *KluctlProject) DeepCopy() *KluctlProject

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

func (*KluctlProject) DeepCopyInto

func (in *KluctlProject) DeepCopyInto(out *KluctlProject)

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

func (*KluctlProject) DeepCopyObject

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

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

func (*KluctlProject) GetArtifact

func (in *KluctlProject) GetArtifact() *v1beta2.Artifact

GetArtifact returns the latest Artifact from the GitRepository if present in the status sub-resource.

func (KluctlProject) GetConditions

func (in KluctlProject) GetConditions() []metav1.Condition

GetConditions returns the status conditions of the object.

func (KluctlProject) GetRequeueAfter

func (in KluctlProject) GetRequeueAfter() time.Duration

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

func (*KluctlProject) SetConditions

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

SetConditions sets the status conditions on the object.

type KluctlProjectList

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

KluctlProjectList contains a list of KluctlProject

func (*KluctlProjectList) DeepCopy

func (in *KluctlProjectList) DeepCopy() *KluctlProjectList

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

func (*KluctlProjectList) DeepCopyInto

func (in *KluctlProjectList) DeepCopyInto(out *KluctlProjectList)

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

func (*KluctlProjectList) DeepCopyObject

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

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

type KluctlProjectSpec

type KluctlProjectSpec struct {
	// URL specifies the Git repository URL, it can be an HTTP/S or SSH address.
	// +kubebuilder:validation:Pattern="^(http|https|ssh)://"
	// +required
	URL string `json:"url"`

	// Reference specifies the Git reference to resolve and monitor for
	// changes, defaults to the default branch.
	// +optional
	Ref *string `json:"ref,omitempty"`

	// Suspend tells the controller to suspend the reconciliation of this
	// KluctlProject.
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// SecretRef specifies the Secret containing authentication credentials for
	// the KluctlProject. The same credentials are used for all involved repos.
	// For HTTPS repositories the Secret must contain 'username' and 'password'
	// fields.
	// For SSH repositories the Secret must contain 'identity', 'identity.pub'
	// and 'known_hosts' fields.
	// +optional
	SecretRef *meta.LocalObjectReference `json:"secretRef,omitempty"`

	// Interval at which to check the KluctlProject and all involved repos for updates.
	// +required
	Interval metav1.Duration `json:"interval"`

	// Timeout for Git operations like cloning, defaults to 60s.
	// +kubebuilder:default="60s"
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

KluctlProjectSpec defines the desired state of KluctlProject

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.

type KluctlProjectStatus

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

	// ObservedGeneration is the last observed generation of the KluctlProject
	// object.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

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

	// URL is the dynamic fetch link for the latest Artifact.
	// It is provided on a "best effort" basis, and using the precise
	// KluctlProjectStatus.Artifact data is recommended.
	// +optional
	URL string `json:"url,omitempty"`

	// Artifact represents the last successful KluctlProject reconciliation.
	// +optional
	Artifact *v1beta2.Artifact `json:"artifact,omitempty"`

	// ArchiveInfo holds infos about the archive
	// +optional
	ArchiveInfo *ArchiveInfo `json:"archiveInfo,omitempty"`
}

KluctlProjectStatus defines the observed state of KluctlProject

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 KubeConfig

type KubeConfig struct {
	// SecretRef holds the name to a secret that contains a 'value' key with
	// the kubeconfig file as the value. It 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 Kustomization.
	// +required
	SecretRef meta.LocalObjectReference `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 ResourceRef

type ResourceRef struct {
	// ID is the string representation of the Kubernetes resource object's metadata,
	// in the format '<namespace>_<name>_<group>_<kind>'.
	ID string `json:"id"`

	// Version is the API version of the Kubernetes resource object's kind.
	Version string `json:"v"`
}

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

func ConvertResourceRef

func ConvertResourceRef(ref *k8s.ObjectRef) *ResourceRef

func (*ResourceRef) DeepCopy

func (in *ResourceRef) DeepCopy() *ResourceRef

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

func (*ResourceRef) DeepCopyInto

func (in *ResourceRef) DeepCopyInto(out *ResourceRef)

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

type TargetInfo

type TargetInfo struct {
	// Name is the name of the target
	// +required
	Name string `json:"name"`

	// TargetHash is the hash of the target configuration
	// +required
	TargetHash string `json:"targetHash"`
}

func (*TargetInfo) DeepCopy

func (in *TargetInfo) DeepCopy() *TargetInfo

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

func (*TargetInfo) DeepCopyInto

func (in *TargetInfo) DeepCopyInto(out *TargetInfo)

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 (*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        ResourceRef `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