v1alpha1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 11, 2021 License: MIT Imports: 6 Imported by: 0

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

View Source
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

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

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

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

func (in *ChartRef) DeepCopy() *ChartRef

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

func (*ChartRef) DeepCopyInto added in v0.4.0

func (in *ChartRef) DeepCopyInto(out *ChartRef)

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

func (in *DAG) DeepCopy() *DAG

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

func (*DAG) DeepCopyInto

func (in *DAG) DeepCopyInto(out *DAG)

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

func (in *Release) DeepCopy() *Release

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

func (*Release) DeepCopyInto added in v0.4.0

func (in *Release) DeepCopyInto(out *Release)

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