Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the liberty v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=liberty.ibm.com
Index ¶
Constants ¶
const ( ConditionInitialized AppConditionType = "Initialized" ConditionDeployed AppConditionType = "Deployed" ConditionReleaseFailed AppConditionType = "ReleaseFailed" ConditionIrreconcilable AppConditionType = "Irreconcilable" StatusTrue AppConditionStatus = "True" StatusFalse AppConditionStatus = "False" StatusUnknown AppConditionStatus = "Unknown" ReasonInstallSuccessful AppConditionReason = "InstallSuccessful" ReasonUpdateSuccessful AppConditionReason = "UpdateSuccessful" ReasonUninstallSuccessful AppConditionReason = "UninstallSuccessful" ReasonInstallError AppConditionReason = "InstallError" ReasonUpdateError AppConditionReason = "UpdateError" ReasonReconcileError AppConditionReason = "ReconcileError" ReasonUninstallError AppConditionReason = "UninstallError" )
Variables ¶
var ( // ErrNotFound indicates the release was not found. ErrNotFound = errors.New("release not found") )
Functions ¶
This section is empty.
Types ¶
type AppCondition ¶
type AppCondition struct { Type AppConditionType `json:"type"` Status AppConditionStatus `json:"status"` Reason AppConditionReason `json:"reason,omitempty"` Message string `json:"message,omitempty"` Release *rpb.Release `json:"release,omitempty"` LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` }
+k8s:deepcopy-gen=true
func (*AppCondition) DeepCopy ¶
func (in *AppCondition) DeepCopy() *AppCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppCondition.
func (*AppCondition) DeepCopyInto ¶
func (in *AppCondition) DeepCopyInto(out *AppCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppRelease ¶
Release describes a deployment of a chart, together with the chart and the variables used to deploy that chart. +k8s:deepcopy-gen=true
func (*AppRelease) DeepCopy ¶
func (in *AppRelease) DeepCopy() *AppRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRelease.
func (*AppRelease) DeepCopyInto ¶
func (in *AppRelease) DeepCopyInto(out *AppRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppResource ¶
type AppResource struct {
GroupVersionKind schema.GroupVersionKind `json:gvk,omitempty`
}
func (*AppResource) DeepCopy ¶
func (in *AppResource) DeepCopy() *AppResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppResource.
func (*AppResource) DeepCopyInto ¶
func (in *AppResource) DeepCopyInto(out *AppResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppStatus ¶
type AppStatus struct {
Conditions []AppCondition `json:"conditions"`
}
+k8s:deepcopy-gen=true
func StatusFor ¶
func StatusFor(cr *unstructured.Unstructured) *AppStatus
StatusFor safely returns a typed status block from a custom resource.
func (*AppStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppStatus.
func (*AppStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppStatus) RemoveCondition ¶
func (s *AppStatus) RemoveCondition(conditionType AppConditionType) *AppStatus
RemoveCondition removes the condition with the passed condition type from the status object. If the condition is not already present, the returned status object is returned unchanged. RemoveCondition does not update the resource in the cluster.
func (*AppStatus) SetCondition ¶
func (s *AppStatus) SetCondition(condition AppCondition) *AppStatus
SetCondition sets a condition on the status object. If the condition already exists, it will be replaced. SetCondition does not update the resource in the cluster.
type Manager ¶
type Manager interface { ReleaseName() string IsInstalled() bool IsUpdateRequired() bool Sync(context.Context, transformFunc) error InstallRelease(context.Context) (*rpb.Release, error) UpdateRelease(context.Context) (*rpb.Release, *rpb.Release, error) ReconcileRelease(context.Context) (*rpb.Release, error) UninstallRelease(context.Context) (*rpb.Release, error) }
Manager manages a Helm release. It can install, update, reconcile, and uninstall a release.
type ManagerFactory ¶
type ManagerFactory interface {
NewManager(r *unstructured.Unstructured) Manager
}
ManagerFactory creates Managers that are specific to custom resources. It is used by the HelmOperatorReconciler during resource reconciliation, and it improves decoupling between reconciliation logic and the Helm backend components used to manage releases.
func NewManagerFactory ¶
func NewManagerFactory(storageBackend *storage.Storage, tillerKubeClient *kube.Client, chartDir string) ManagerFactory
NewManagerFactory returns a new Helm manager factory capable of installing and uninstalling releases.