Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the orkestra v1alpha1 API group +kubebuilder:object:generate=true +groupName=orkestra.azure.microsoft.com
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "orkestra.azure.microsoft.com", 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 ¶
This section is empty.
Types ¶
type Application ¶
type Application struct { // DAG contains the dependency information DAG `json:",inline"` // Spec contains the application spec including the chart info and overlay values Spec ApplicationSpec `json:"spec,omitempty"` }
Application spec and dependency on other applications
func (*Application) DeepCopy ¶
func (in *Application) DeepCopy() *Application
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Application.
func (*Application) DeepCopyInto ¶
func (in *Application) DeepCopyInto(out *Application)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationGroup ¶
type ApplicationGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationGroupSpec `json:"spec,omitempty"` Status ApplicationGroupStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:resource:path=applicationgroups,scope=Cluster +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=`.status.phase` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp` ApplicationGroup is the Schema for the applicationgroups API
func (*ApplicationGroup) DeepCopy ¶
func (in *ApplicationGroup) DeepCopy() *ApplicationGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationGroup.
func (*ApplicationGroup) DeepCopyInto ¶
func (in *ApplicationGroup) DeepCopyInto(out *ApplicationGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationGroup) DeepCopyObject ¶
func (in *ApplicationGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationGroupList ¶
type ApplicationGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationGroup `json:"items"` }
ApplicationGroupList contains a list of ApplicationGroup
func (*ApplicationGroupList) DeepCopy ¶
func (in *ApplicationGroupList) DeepCopy() *ApplicationGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationGroupList.
func (*ApplicationGroupList) DeepCopyInto ¶
func (in *ApplicationGroupList) DeepCopyInto(out *ApplicationGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationGroupList) DeepCopyObject ¶
func (in *ApplicationGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationGroupSpec ¶
type ApplicationGroupSpec struct { // Applications that make up the application group Applications []Application `json:"applications,omitempty"` }
ApplicationGroupSpec defines the desired state of ApplicationGroup
func (*ApplicationGroupSpec) DeepCopy ¶
func (in *ApplicationGroupSpec) DeepCopy() *ApplicationGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationGroupSpec.
func (*ApplicationGroupSpec) DeepCopyInto ¶
func (in *ApplicationGroupSpec) DeepCopyInto(out *ApplicationGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationGroupStatus ¶
type ApplicationGroupStatus struct { // Checksums for each application are calculated from the application spec // The status/metadata information is ignored Checksums map[string]string `json:"checksums,omitempty"` // Applications status Applications []ApplicationStatus `json:"status,omitempty"` // Phase is the reconciliation phase Phase ReconciliationPhase `json:"phase,omitempty"` // Update is an internal flag used to trigger a workflow update Update bool `json:"update,omitempty"` // Error string from errors during reconciliation Error string `json:"error,omitempty"` }
ApplicationGroupStatus defines the observed state of ApplicationGroup
func (*ApplicationGroupStatus) DeepCopy ¶
func (in *ApplicationGroupStatus) DeepCopy() *ApplicationGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationGroupStatus.
func (*ApplicationGroupStatus) DeepCopyInto ¶
func (in *ApplicationGroupStatus) DeepCopyInto(out *ApplicationGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSpec ¶
type ApplicationSpec struct { // Chart holds the values needed to pull the chart // +required Chart *ChartRef `json:"chart"` // Release holds the values to apply to the helm release // +required Release *Release `json:"release"` // Subcharts provides the dependency order among the subcharts of the application // +optional Subcharts []DAG `json:"subcharts,omitempty"` }
ApplicationSpec defines the desired state of Application
func (*ApplicationSpec) DeepCopy ¶
func (in *ApplicationSpec) DeepCopy() *ApplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSpec.
func (*ApplicationSpec) DeepCopyInto ¶
func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationStatus ¶
type ApplicationStatus struct { // Name of the application Name string `json:"name"` // ChartStatus for the application helm chart ChartStatus `json:",inline"` // Subcharts contains the subchart chart status Subcharts map[string]ChartStatus `json:"subcharts,omitempty"` }
ApplicationStatus shows the current status of the application helm release
func (*ApplicationStatus) DeepCopy ¶
func (in *ApplicationStatus) DeepCopy() *ApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationStatus.
func (*ApplicationStatus) DeepCopyInto ¶
func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartRef ¶ added in v0.4.0
type ChartRef struct { // GitChartSource references the chart repository if the // the helm chart is stored in a git repo // +optional helmopv1.GitChartSource `json:",inline"` // RepoChartSource references the chart repository of // a normal helm chart repo // +optional helmopv1.RepoChartSource `json:",inline"` // AuthSecretRef is a reference to the auth secret // to access a private helm repository // +optional AuthSecretRef *corev1.ObjectReference `json:"authSecretRef,omitempty"` }
func (*ChartRef) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartRef.
func (*ChartRef) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartStatus ¶
type ChartStatus struct { // Phase reflects the current state of the HelmRelease Phase helmopv1.HelmReleasePhase `json:"phase,omitempty"` // Error string from the error during reconciliation (if any) Error string `json:"error,omitempty"` // Version of the chart/subchart Version string `json:"version,omitempty"` // Staged if true denotes that the chart/subchart has been pushed to the // staging helm repo Staged bool `json:"staged,omitempty"` }
ChartStatus shows the current status of the Application Reconciliation process
func (*ChartStatus) DeepCopy ¶
func (in *ChartStatus) DeepCopy() *ChartStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartStatus.
func (*ChartStatus) DeepCopyInto ¶
func (in *ChartStatus) DeepCopyInto(out *ChartStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DAG ¶
type DAG struct { // Name of the application // +required Name string `json:"name,omitempty"` // Namespace of the application // +required Namespace string `json:"namespace,omitempty"` // Dependencies on other applications by name // +optional Dependencies []string `json:"dependencies,omitempty"` }
DAG contains the dependency information
func (*DAG) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DAG.
func (*DAG) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReconciliationPhase ¶ added in v0.3.0
type ReconciliationPhase string
ReconciliationPhase is an enum
const ( Init ReconciliationPhase = "Init" Running ReconciliationPhase = "Running" Succeeded ReconciliationPhase = "Succeeded" Error ReconciliationPhase = "Error" Rollback ReconciliationPhase = "Rollback" )
type Release ¶ added in v0.4.0
type Release struct { // HelmVersion is the version of Helm to target. If not supplied, // the lowest _enabled Helm version_ will be targeted. // +kubebuilder:validation:Enum=v2;v3 // +kubebuilder:default:=v3 // +optional HelmVersion string `json:"helmVersion"` // Force will mark this Helm release to `--force` upgrades. This // forces the resource updates through delete/recreate if needed. // +optional ForceUpgrade bool `json:"forceUpgrade,omitempty"` // Wait will mark this Helm release to wait until all Pods, // PVCs, Services, and minimum number of Pods of a Deployment, // StatefulSet, or ReplicaSet are in a ready state before marking // the release as successful. // +optional Wait *bool `json:"wait,omitempty"` // TargetNamespace overrides the targeted namespace for the Helm // release. The default namespace equals to the namespace of the // HelmRelease resource. // +required TargetNamespace string `json:"targetNamespace,omitempty"` // Timeout is the time to wait for any individual Kubernetes // operation (like Jobs for hooks) during installation and // upgrade operations. // +optional Timeout *int64 `json:"timeout,omitempty"` // Values holds the values for this Helm release. // +optional // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:XPreserveUnknownFields Values helmopv1.HelmValues `json:"values,omitempty"` }
func (*Release) DeepCopy ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.