v1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2020 License: Apache-2.0 Imports: 8 Imported by: 24

Documentation

Overview

Package v1 contains API Schema definitions for the apps v1 API group +k8s:deepcopy-gen=package,register +groupName=apps.open-cluster-management.io

Package v1 contains API Schema definitions for the apps v1 API group +k8s:deepcopy-gen=package,register +groupName=apps.open-cluster-management.io

Index

Constants

View Source
const (
	// DefaultRollingUpdateMaxUnavailablePercentage defines the percentage for rolling update
	DefaultRollingUpdateMaxUnavailablePercentage = 25
)

Variables

View Source
var (
	// AnnotationRollingUpdateMaxUnavailable defines max un available clusters during rolling update
	AnnotationRollingUpdateMaxUnavailable = SchemeGroupVersion.Group + "/rollingupdate-maxunavaialble"
	// AnnotationRollingUpdateTarget target deployable to rolling update to
	AnnotationRollingUpdateTarget = SchemeGroupVersion.Group + "/rollingupdate-target"
	// AnnotationDeployableVersion sits in deployable resource to identify if it is local deployable
	AnnotationDeployableVersion = SchemeGroupVersion.Group + "/deployable-version"
	// AnnotationShared sits in deployable resource to identify if it is local deployable
	AnnotationShared = SchemeGroupVersion.Group + "/is-shared-deployable"
	// AnnotationLocal sits in deployable resource to identify if it is local deployable
	AnnotationLocal = SchemeGroupVersion.Group + "/is-local-deployable"
	// AnnotationHosting sits in templated resource, gives name of hosting deployable
	AnnotationHosting = SchemeGroupVersion.Group + "/" + PropertyHostingDeployable
	// AnnotationManagedCluster identifies this is a deployable for managed cluster
	AnnotationManagedCluster = SchemeGroupVersion.Group + "/managed-cluster"
	// AnnotationExternalSource identifies this is a deployable created from an external source
	AnnotationExternalSource = SchemeGroupVersion.Group + "/external-source"
	// AnnotationSubscription identifies this is a object created from Subscription controller.
	// The annotation doesn't exist if the object is created from a Deployable controller
	AnnotationSubscription = SchemeGroupVersion.Group + "/hosting-subscription"
	// AnnotationIsGenerated tells if the deployable is generated by controller or not
	AnnotationIsGenerated = SchemeGroupVersion.Group + "/is-generated"
	//LabelSubscriptionPause sits in deployable label to identify if the deployable is paused or not
	LabelSubscriptionPause = "subscription-pause"
)
View Source
var (
	// PropertyHostingDeployable tells NamespacedName of the hosting deployable of the dependency
	PropertyHostingDeployable = "hosting-deployable"
	// PropertyHostingDeployableName tells the hosting deployable of the dependency
	PropertyHostingDeployableName = "hosting-deployable-name"
)
View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "apps.open-cluster-management.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

Types

type Cluster

type Cluster struct {
	Name string `json:"name,omitempty"`
}

Cluster is object with name field only to specify cluster

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterOverride

type ClusterOverride struct {
	runtime.RawExtension `json:",inline"`
}

ClusterOverride describes rules for override

func (*ClusterOverride) DeepCopy

func (in *ClusterOverride) DeepCopy() *ClusterOverride

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

func (*ClusterOverride) DeepCopyInto

func (in *ClusterOverride) DeepCopyInto(out *ClusterOverride)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Dependency

type Dependency struct {
	corev1.ObjectReference `json:",inline"`
	Annotations            map[string]string `json:"annotations,omitempty"`
	Labels                 map[string]string `json:"labels,omitempty"`
}

Dependency of Deployable Properties field is the flexiblity for different Kind

func (*Dependency) DeepCopy

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto

func (in *Dependency) DeepCopyInto(out *Dependency)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Deployable

type Deployable struct {
	metav1.TypeMeta `json:",inline"`
	// +kubebuilder:validation:Pattern=([0-9]+)((\.[0-9]+)(\.[0-9]+)|(\.[0-9]+)?(\.[xX]))$
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DeployableSpec   `json:"spec,omitempty"`
	Status DeployableStatus `json:"status,omitempty"`
}

Deployable is the Schema for the deployables API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="template-kind",type="string",JSONPath=".spec.template.kind",description="Kind of the template" +kubebuilder:printcolumn:name="template-apiversion",type="string",JSONPath=".spec.template.apiVersion",description="api version of the template" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.phase"

func (*Deployable) DeepCopy

func (in *Deployable) DeepCopy() *Deployable

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

func (*Deployable) DeepCopyInto

func (in *Deployable) DeepCopyInto(out *Deployable)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Deployable) DeepCopyObject

func (in *Deployable) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeployableList

type DeployableList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Deployable `json:"items"`
}

DeployableList contains a list of Deployable

func (*DeployableList) DeepCopy

func (in *DeployableList) DeepCopy() *DeployableList

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

func (*DeployableList) DeepCopyInto

func (in *DeployableList) DeepCopyInto(out *DeployableList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DeployableList) DeepCopyObject

func (in *DeployableList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeployablePhase

type DeployablePhase string

DeployablePhase indicate the phase of a deployable

const (
	// DeployableUnknown means not processed by controller yet
	DeployableUnknown DeployablePhase = ""
	// DeployableDeployed means successfully deployed to remote clusters
	DeployableDeployed DeployablePhase = "Deployed"
	// DeployableFailed means failed to apply the template into system
	DeployableFailed DeployablePhase = "Failed"
	// DeployablePropagated means created other managed deployables
	DeployablePropagated DeployablePhase = "Propagated"
)

type DeployableSpec

type DeployableSpec struct {
	Template     *runtime.RawExtension        `json:"template"`
	Dependencies []Dependency                 `json:"dependencies,omitempty"`
	Placement    *placementv1alpha1.Placement `json:"placement,omitempty"`
	Overrides    []Overrides                  `json:"overrides,omitempty"`
	Channels     []string                     `json:"channels,omitempty"`
}

DeployableSpec defines the desired state of Deployable

func (*DeployableSpec) DeepCopy

func (in *DeployableSpec) DeepCopy() *DeployableSpec

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

func (*DeployableSpec) DeepCopyInto

func (in *DeployableSpec) DeepCopyInto(out *DeployableSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeployableStatus

type DeployableStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	ResourceUnitStatus
	PropagatedStatus map[string]*ResourceUnitStatus `json:"targetClusters,omitempty"`
}

DeployableStatus defines the observed state of Deployable

func (*DeployableStatus) DeepCopy

func (in *DeployableStatus) DeepCopy() *DeployableStatus

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

func (*DeployableStatus) DeepCopyInto

func (in *DeployableStatus) DeepCopyInto(out *DeployableStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Overrides

type Overrides struct {
	ClusterName string `json:"clusterName"`
	//+kubebuilder:validation:MinItems=1
	ClusterOverrides []ClusterOverride `json:"clusterOverrides"` // To be added
}

Overrides field in deployable

func (*Overrides) DeepCopy

func (in *Overrides) DeepCopy() *Overrides

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

func (*Overrides) DeepCopyInto

func (in *Overrides) DeepCopyInto(out *Overrides)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceUnitStatus

type ResourceUnitStatus struct {
	Phase          DeployablePhase `json:"phase"`
	Reason         string          `json:"reason,omitempty"`
	Message        string          `json:"message,omitempty"`
	LastUpdateTime *metav1.Time    `json:"lastUpdateTime,omitempty"`

	ResourceStatus *runtime.RawExtension `json:"resourceStatus,omitempty"`
}

ResourceUnitStatus aggregates status from target clusters

func (*ResourceUnitStatus) DeepCopy

func (in *ResourceUnitStatus) DeepCopy() *ResourceUnitStatus

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

func (*ResourceUnitStatus) DeepCopyInto

func (in *ResourceUnitStatus) DeepCopyInto(out *ResourceUnitStatus)

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