Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=kluctl.io
Index ¶
- Constants
- Variables
- func SetKluctlDeploymentHealthiness(k *KluctlDeployment, status metav1.ConditionStatus, reason, message string)
- func SetKluctlDeploymentReadiness(k *KluctlDeployment, status metav1.ConditionStatus, reason, message string, ...)
- type ArchiveInfo
- type Change
- type CommandResult
- type CrossNamespaceSourceReference
- type DeploymentError
- type FixedImage
- type InvolvedRepo
- type InvolvedRepoPattern
- type KluctlDeployment
- func KluctlDeploymentNotReady(k KluctlDeployment, revision, targetHash, reason, message string) KluctlDeployment
- func KluctlDeploymentProgressing(k KluctlDeployment, message string) KluctlDeployment
- func KluctlDeploymentReady(k KluctlDeployment, revision, targetHash, reason, message string) KluctlDeployment
- func (in *KluctlDeployment) DeepCopy() *KluctlDeployment
- func (in *KluctlDeployment) DeepCopyInto(out *KluctlDeployment)
- func (in *KluctlDeployment) DeepCopyObject() runtime.Object
- func (in KluctlDeployment) GetConditions() []metav1.Condition
- func (in KluctlDeployment) GetDependsOn() []meta.NamespacedObjectReference
- func (in KluctlDeployment) GetRequeueAfter() time.Duration
- func (in KluctlDeployment) GetRetryInterval() time.Duration
- func (in *KluctlDeployment) GetStatusConditions() *[]metav1.Condition
- func (in KluctlDeployment) GetTimeout() time.Duration
- func (in *KluctlDeployment) SetConditions(conditions []metav1.Condition)
- type KluctlDeploymentList
- type KluctlDeploymentSpec
- type KluctlDeploymentStatus
- type KluctlProject
- func (in *KluctlProject) DeepCopy() *KluctlProject
- func (in *KluctlProject) DeepCopyInto(out *KluctlProject)
- func (in *KluctlProject) DeepCopyObject() runtime.Object
- func (in *KluctlProject) GetArtifact() *v1beta2.Artifact
- func (in KluctlProject) GetConditions() []metav1.Condition
- func (in KluctlProject) GetRequeueAfter() time.Duration
- func (in *KluctlProject) SetConditions(conditions []metav1.Condition)
- type KluctlProjectList
- type KluctlProjectSpec
- type KluctlProjectStatus
- type KubeConfig
- type ResourceRef
- type TargetInfo
- type ValidateResult
- type ValidateResultEntry
Constants ¶
const ( // HealthyCondition represents the last recorded // health assessment result. HealthyCondition string = "Healthy" ArchiveFailedCondition string = "ArchiveFailed" )
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" )
const ( KluctlDeploymentKind = "KluctlDeployment" KluctlDeploymentFinalizer = "finalizers.kluctl.io" MaxConditionMessageLength = 20000 DisabledValue = "disabled" MergeValue = "merge" )
const ( KluctlProjectKind = "KluctlProject" KluctlProjectFinalizer = "finalizers.kluctl.io" )
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Change.
func (*Change) DeepCopyInto ¶
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 ¶
func (in *CrossNamespaceSourceReference) DeepCopy() *CrossNamespaceSourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossNamespaceSourceReference.
func (*CrossNamespaceSourceReference) DeepCopyInto ¶
func (in *CrossNamespaceSourceReference) DeepCopyInto(out *CrossNamespaceSourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CrossNamespaceSourceReference) String ¶
func (s *CrossNamespaceSourceReference) String() 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 ¶
func (in *KluctlDeploymentList) DeepCopy() *KluctlDeploymentList
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 ¶
func (in *KluctlDeploymentSpec) DeepCopy() *KluctlDeploymentSpec
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 ¶
func (in *KluctlDeploymentStatus) DeepCopy() *KluctlDeploymentStatus
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.