Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the kraan v1alpha1 API group +kubebuilder:object:generate=true +groupName=kraan.io
Index ¶
Constants ¶
const ( // K8sVersionCondition represents the fact that the addons layer is waiting for the required k8s Version. K8sVersionCondition string = "K8sVersion" // PruningCondition represents the fact that the addons are being pruned. PruningCondition string = "Pruning" // PendingCondition represents the fact that the addons are pending being processed. // Used when source is not ready. PendingCondition string = "Pending" // ApplyPendingCondition represents the fact that the addons are pending being applied. // Used when applying is pending a prereq being met. ApplyPendingCondition string = "ApplyPending" // ApplyingCondition represents the fact that the addons are being deployed. ApplyingCondition string = "Applying" // DeployedCondition represents the fact that the addons are deployed. DeployedCondition string = "Deployed" // FailedCondition represents the fact that the procesing of the addons failed. FailedCondition string = "Failed" // HoldCondition represents the fact that addons are on hold. HoldCondition string = "Hold" // DeletedCondition represents the fact that the addons layer has been deleted. DeletedCondition string = "Deleted" // NotDeployed represents resource status of present in layer source but not deployed on the cluster NotDeployed string = "NotDeployed" // Deployed represents resource status of deployed on the cluster Deployed string = "Deployed" // Name of finalizer AddonsFinalizer = "finalizers.kraan.io" // AddonsLayerKind is the string representation of a AddonsLayer. AddonsLayerKind = "AddonsLayer" )
const ( // AddonsLayerK8sVersionMsg represents the addons layer is wating for the required K8s Version. AddonsLayerK8sVersionMsg string = "AddonsLayer is waiting for the required K8sVersion" // AddonsLayerPruningMsg represents the fact that the addons are being pruned. AddonsLayerPruningMsg string = "AddonsLayer is being pruned" // AddonsLayerApplyPendingMsg represents the fact that the applying of addons is pending. AddonsLayerApplyPendingMsg string = "Deployment of the AddonsLayer is pending because layers it is depends on are not deployed" // AddonsLayerApplyingMsg represents the fact that the addons are being deployed. AddonsLayerApplyingMsg string = "AddonsLayer is being applied" // AddonsLayerFailedMsg represents the fact that the deployment of the addons failed. AddonsLayerFailedMsg string = "AddonsLayer failed" // AddonsLayerHoldMsg represents the fact that addons are on hold. AddonsLayerHoldMsg string = "AddonsLayer is on hold, preventing execution" // AddonsLayerDeployedMsg represents the fact that the addons has been successfully deployed. AddonsLayerDeployedMsg string = "HelmReleases in AddonsLayer are Deployed" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kraan.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 )
var MaxConditions = 10
MaxConditions is the maximum number of condtions to retain.
Functions ¶
This section is empty.
Types ¶
type AddonsLayer ¶
type AddonsLayer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AddonsLayerSpec `json:"spec,omitempty"` Status AddonsLayerStatus `json:"status,omitempty"` }
AddonsLayer is the Schema for the addons API. +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster,shortName=al;layer;addonlayer +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.spec.version` +kubebuilder:printcolumn:name="Source",type=string,JSONPath=`.spec.source.name` +kubebuilder:printcolumn:name="Path",type=string,JSONPath=`.spec.source.path` +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state",description="" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.status==\"True\")].message",description=""
func (*AddonsLayer) DeepCopy ¶
func (in *AddonsLayer) DeepCopy() *AddonsLayer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsLayer.
func (*AddonsLayer) DeepCopyInto ¶
func (in *AddonsLayer) DeepCopyInto(out *AddonsLayer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonsLayer) DeepCopyObject ¶
func (in *AddonsLayer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonsLayerList ¶
type AddonsLayerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AddonsLayer `json:"items"` }
AddonsLayerList contains a list of AddonsLayer. +genclient:nonNamespaced +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster
func (*AddonsLayerList) DeepCopy ¶
func (in *AddonsLayerList) DeepCopy() *AddonsLayerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsLayerList.
func (*AddonsLayerList) DeepCopyInto ¶
func (in *AddonsLayerList) DeepCopyInto(out *AddonsLayerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonsLayerList) DeepCopyObject ¶
func (in *AddonsLayerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonsLayerSpec ¶
type AddonsLayerSpec struct { // The source to obtain the addons definitions from // +required Source SourceSpec `json:"source"` // The prerequisites information, if not present not prerequisites // +optional PreReqs PreReqs `json:"prereqs,omitempty"` // This flag tells the controller to hold off deployment of these addons, // +optional Hold bool `json:"hold,omitempty"` // The interval at which to check for changes. // Defaults to controller's default // +optional Interval *metav1.Duration `json:"interval"` // Timeout for operations. // Defaults to 'Interval' duration. // +optional Timeout *metav1.Duration `json:"timeout,omitempty"` // Version is the version of the addon layer // +required Version string `json:"version"` }
AddonsLayerSpec defines the desired state of AddonsLayer.
func (*AddonsLayerSpec) DeepCopy ¶
func (in *AddonsLayerSpec) DeepCopy() *AddonsLayerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsLayerSpec.
func (*AddonsLayerSpec) DeepCopyInto ¶
func (in *AddonsLayerSpec) DeepCopyInto(out *AddonsLayerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonsLayerStatus ¶
type AddonsLayerStatus struct { // Conditions history. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` // State is the current state of the layer. // +required State string `json:"state,omitempty"` // Version, the version the state relates to. // +required Version string `json:"version,omitempty"` // ObservedGeneration is the last reconciled generation. // +required ObservedGeneration int64 `json:"observedGeneration,omitempty"` // DeployedRevision is the source revsion that has been deployed. // +required DeployedRevision string `json:"revision"` // Resources is a list of resources managed by this layer. // +optional Resources []Resource `json:"resources"` }
AddonsLayerStatus defines the observed status.
func (*AddonsLayerStatus) DeepCopy ¶
func (in *AddonsLayerStatus) DeepCopy() *AddonsLayerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonsLayerStatus.
func (*AddonsLayerStatus) DeepCopyInto ¶
func (in *AddonsLayerStatus) DeepCopyInto(out *AddonsLayerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PreReqs ¶
type PreReqs struct { // The minimum version of K8s to be deployed // +optional K8sVersion string `json:"k8sVersion"` // The names of other addons the addons depend on // +optional DependsOn []string `json:"dependsOn,omitempty"` }
PreReqs defines the prerequisites for an operation to be executed.
func (*PreReqs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreReqs.
func (*PreReqs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resource ¶
type Resource struct { // Namespace of resource. // +optional Namespace string `json:"namespace,omitempty"` // Name of resource. // +required Name string `json:"name"` // Kind of the resource. // +required Kind string `json:"kind"` // LastTransitionTime is the timestamp corresponding to the last status // change of this resource. // +required LastTransitionTime metav1.Time `json:"lastTransitionTime"` // Status of the resource. // +required Status string `json:"status"` }
func (*Resource) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resource.
func (*Resource) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources []Resource
func (Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceSpec ¶
type SourceSpec struct { // The kind of the resource to use, currently only supports gitrepositories.source.toolkit.fluxcd.io // +optional Kind string `json:"kind"` // The name of the resource to use // +required Name string `json:"name"` // The namespace of the resource to use // +optional NameSpace string `json:"namespace"` // Path to the directory in the git repository to use, defaults to repository base directory. // The Kraan controller will process the yaml files in that directory. // +kubebuilder:validation:Pattern="^\\./" // +required Path string `json:"path"` }
SourceSpec defines a source location using the source types supported by the GitOps Toolkit source controller.
func (*SourceSpec) DeepCopy ¶
func (in *SourceSpec) DeepCopy() *SourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceSpec.
func (*SourceSpec) DeepCopyInto ¶
func (in *SourceSpec) DeepCopyInto(out *SourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.