Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AggregatedStatus
- type Base
- type BaseList
- type BaseSpec
- type ChartPullSecret
- type ChartReference
- type Description
- type DescriptionDeployer
- type DescriptionList
- type DescriptionPhase
- type DescriptionSpec
- type DescriptionStatus
- type DividingScheduling
- type DynamicDividing
- type DynamicDividingStrategy
- type Feed
- type FeedInventory
- type FeedInventoryList
- type FeedInventorySpec
- type FeedOrder
- type FeedStatus
- type FeedStatusPerCluster
- type Globalization
- type GlobalizationList
- type GlobalizationSpec
- type HelmChart
- type HelmChartList
- type HelmChartPhase
- type HelmChartSpec
- type HelmChartStatus
- type HelmOptions
- type HelmRelease
- type HelmReleaseList
- type HelmReleaseSpec
- type HelmReleaseStatus
- type Localization
- type LocalizationList
- type LocalizationSpec
- type Manifest
- type ManifestList
- type ManifestStatus
- type OverrideConfig
- type OverridePolicy
- type OverrideType
- type PreemptionPolicy
- type ReplicaDividingType
- type ReplicaRequirements
- type ReplicaStatus
- type SchedulingStrategyType
- type SubGroupStrategy
- type Subscriber
- type Subscription
- type SubscriptionList
- type SubscriptionSpec
- type SubscriptionStatus
Constants ¶
const (
VERSION = "v1alpha1"
)
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: apps.GroupName, Version: VERSION}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AggregatedStatus ¶ added in v0.11.0
type AggregatedStatus struct { // Feed holds references to the resource. Feed `json:",inline"` // FeedStatusSummary aggregates the feed statuses from each child cluster. // // +optional FeedStatusSummary FeedStatus `json:"feedStatusSummary,omitempty"` // FeedStatusDetails shows the feed statuses in each child cluster. // // +optional FeedStatusDetails []FeedStatusPerCluster `json:"feedStatusDetails,omitempty"` }
AggregatedStatus contains aggregated status of current feed.
func (*AggregatedStatus) DeepCopy ¶ added in v0.11.0
func (in *AggregatedStatus) DeepCopy() *AggregatedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AggregatedStatus.
func (*AggregatedStatus) DeepCopyInto ¶ added in v0.11.0
func (in *AggregatedStatus) DeepCopyInto(out *AggregatedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Base ¶
type Base struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BaseSpec `json:"spec"` }
Base represents the referenced resources/templates before rendering.
func (*Base) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Base.
func (*Base) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Base) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BaseList ¶
type BaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Base `json:"items"` }
BaseList contains a list of Base
func (*BaseList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseList.
func (*BaseList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BaseList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BaseSpec ¶
type BaseSpec struct { // Feeds // // +required // +kubebuilder:validation:Required Feeds []Feed `json:"feeds"` }
BaseSpec defines the desired state of Base
func (*BaseSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BaseSpec.
func (*BaseSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartPullSecret ¶ added in v0.7.0
type ChartPullSecret struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` }
ChartPullSecret is the name of the secret that contains the auth information for the chart repository.
func (*ChartPullSecret) DeepCopy ¶ added in v0.7.0
func (in *ChartPullSecret) DeepCopy() *ChartPullSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartPullSecret.
func (*ChartPullSecret) DeepCopyInto ¶ added in v0.7.0
func (in *ChartPullSecret) DeepCopyInto(out *ChartPullSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartReference ¶
type ChartReference struct { // Namespace of the HelmChart. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Namespace string `json:"namespace"` // Name of the HelmChart. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Name string `json:"name"` }
func (*ChartReference) DeepCopy ¶
func (in *ChartReference) DeepCopy() *ChartReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartReference.
func (*ChartReference) DeepCopyInto ¶
func (in *ChartReference) DeepCopyInto(out *ChartReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Description ¶
type Description struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DescriptionSpec `json:"spec"` Status DescriptionStatus `json:"status,omitempty"` }
Description is the Schema for the resources to be installed
func (*Description) DeepCopy ¶
func (in *Description) DeepCopy() *Description
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Description.
func (*Description) DeepCopyInto ¶
func (in *Description) DeepCopyInto(out *Description)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Description) DeepCopyObject ¶
func (in *Description) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DescriptionDeployer ¶
type DescriptionDeployer string
const ( DescriptionHelmDeployer DescriptionDeployer = "Helm" DescriptionGenericDeployer DescriptionDeployer = "Generic" )
type DescriptionList ¶
type DescriptionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Description `json:"items"` }
DescriptionList contains a list of Description
func (*DescriptionList) DeepCopy ¶
func (in *DescriptionList) DeepCopy() *DescriptionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DescriptionList.
func (*DescriptionList) DeepCopyInto ¶
func (in *DescriptionList) DeepCopyInto(out *DescriptionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DescriptionList) DeepCopyObject ¶
func (in *DescriptionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DescriptionPhase ¶
type DescriptionPhase string
const ( DescriptionPhaseSuccess DescriptionPhase = "Success" DescriptionPhaseFailure DescriptionPhase = "Failure" // The following is the helm-specific status // DescriptionPhaseInstalling indicates that an install operation is underway. DescriptionPhaseInstalling DescriptionPhase = "Installing" // DescriptionPhaseUpgrading indicates that an upgrade operation is underway. DescriptionPhaseUpgrading DescriptionPhase = "Upgrading" // DescriptionPhaseUninstalling indicates that a uninstall operation is underway. DescriptionPhaseUninstalling DescriptionPhase = "Uninstalling" // DescriptionPhaseSuperseded indicates that this release object is outdated and a newer one exists. DescriptionPhaseSuperseded DescriptionPhase = "Superseded" // DescriptionPhaseUnknown indicates that a release is in an uncertain state. DescriptionPhaseUnknown DescriptionPhase = "Unknown" )
type DescriptionSpec ¶
type DescriptionSpec struct { // Deployer indicates the deployer for this Description // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=Helm;Generic Deployer DescriptionDeployer `json:"deployer"` // Charts describe all the helm charts to be installed // // +optional Charts []ChartReference `json:"charts,omitempty"` // Raw is the underlying serialization of all objects. // // +optional Raw [][]byte `json:"raw,omitempty"` // ChartRaw is the underlying serialization of all helm chart objects. // // +optional ChartRaw [][]byte `json:"chartRaw,omitempty"` }
DescriptionSpec defines the spec of Description
func (*DescriptionSpec) DeepCopy ¶
func (in *DescriptionSpec) DeepCopy() *DescriptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DescriptionSpec.
func (*DescriptionSpec) DeepCopyInto ¶
func (in *DescriptionSpec) DeepCopyInto(out *DescriptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DescriptionStatus ¶
type DescriptionStatus struct { // Phase denotes the phase of Description // +optional // +kubebuilder:validation:Enum=Pending;Success;Failure;Installing;Upgrading;Uninstalling;Superseded;Unknown Phase DescriptionPhase `json:"phase,omitempty"` // Reason indicates the reason of DescriptionPhase // +optional Reason string `json:"reason,omitempty"` // ManifestStatuses contains a list of running statuses of manifests in DescriptionSpec. // // +optional ManifestStatuses []ManifestStatus `json:"manifestStatuses,omitempty"` }
DescriptionStatus defines the observed state of Description
func (*DescriptionStatus) DeepCopy ¶
func (in *DescriptionStatus) DeepCopy() *DescriptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DescriptionStatus.
func (*DescriptionStatus) DeepCopyInto ¶
func (in *DescriptionStatus) DeepCopyInto(out *DescriptionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DividingScheduling ¶ added in v0.11.0
type DividingScheduling struct { // Type of dividing replica scheduling. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=Static;Dynamic // +kubebuilder:validation:Type=string // +kubebuilder:default=Static Type ReplicaDividingType `json:"type"` // DynamicDividing describes how to divide replicas into target clusters dynamically. // // +optional DynamicDividing *DynamicDividing `json:"dynamicDividing,omitempty"` }
DividingScheduling describes how to divide replicas into target clusters.
func (*DividingScheduling) DeepCopy ¶ added in v0.11.0
func (in *DividingScheduling) DeepCopy() *DividingScheduling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DividingScheduling.
func (*DividingScheduling) DeepCopyInto ¶ added in v0.11.0
func (in *DividingScheduling) DeepCopyInto(out *DividingScheduling)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynamicDividing ¶ added in v0.11.0
type DynamicDividing struct { // Type of dynamic dividing replica strategy. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=Spread;Binpack // +kubebuilder:validation:Type=string // +kubebuilder:default=Spread Strategy DynamicDividingStrategy `json:"strategy"` // TopologySpreadConstraints describes how a group of replicas ought to spread across topology // domains. Scheduler will schedule pods in a way which abides by the constraints. // All topologySpreadConstraints are ANDed. // Present only for spread divided scheduling. // // +optional TopologySpreadConstraints []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"` // PreferredClusters describes the assigning preference. If we have a preference for cluster group A // compared to cluster group B (i.e., group A has a larger Weight), desired replicas will be assigned // to cluster group A as many as possible, while the rest ones will be assigned to cluster group B. // // +optional PreferredClusters []corev1.PreferredSchedulingTerm `json:"preferredClusters,omitempty"` // MinClusters describes the lower bound number of target clusters. // // +optional MinClusters *int32 `json:"minClusters,omitempty"` // MaxClusters describes the upper bound number of target clusters. // // +optional MaxClusters *int32 `json:"maxClusters,omitempty"` }
DynamicDividing describes how to divide replicas into target clusters dynamically.
func (*DynamicDividing) DeepCopy ¶ added in v0.11.0
func (in *DynamicDividing) DeepCopy() *DynamicDividing
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicDividing.
func (*DynamicDividing) DeepCopyInto ¶ added in v0.11.0
func (in *DynamicDividing) DeepCopyInto(out *DynamicDividing)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DynamicDividingStrategy ¶ added in v0.11.0
type DynamicDividingStrategy string
const ( // SpreadDividingStrategy spreads out replicas as much as possible. SpreadDividingStrategy DynamicDividingStrategy = "Spread" // BinpackDividingStrategy aggregates replicas as much as possible. BinpackDividingStrategy DynamicDividingStrategy = "Binpack" )
type Feed ¶
type Feed struct { // Kind is a string value representing the REST resource this object represents. // In CamelCase. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Kind string `json:"kind"` // APIVersion defines the versioned schema of this representation of an object. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string APIVersion string `json:"apiVersion"` // Namespace of the target resource. // // +optional Namespace string `json:"namespace,omitempty"` // Name of the target resource. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Name string `json:"name"` }
Feed defines the resource to be selected.
func (*Feed) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Feed.
func (*Feed) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeedInventory ¶ added in v0.9.0
type FeedInventory struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FeedInventorySpec `json:"spec"` }
FeedInventory defines a group of feeds which correspond to a subscription.
func (*FeedInventory) DeepCopy ¶ added in v0.9.0
func (in *FeedInventory) DeepCopy() *FeedInventory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedInventory.
func (*FeedInventory) DeepCopyInto ¶ added in v0.9.0
func (in *FeedInventory) DeepCopyInto(out *FeedInventory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeedInventory) DeepCopyObject ¶ added in v0.9.0
func (in *FeedInventory) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeedInventoryList ¶ added in v0.9.0
type FeedInventoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FeedInventory `json:"items"` }
FeedInventoryList contains a list of FeedInventory.
func (*FeedInventoryList) DeepCopy ¶ added in v0.9.0
func (in *FeedInventoryList) DeepCopy() *FeedInventoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedInventoryList.
func (*FeedInventoryList) DeepCopyInto ¶ added in v0.9.0
func (in *FeedInventoryList) DeepCopyInto(out *FeedInventoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeedInventoryList) DeepCopyObject ¶ added in v0.9.0
func (in *FeedInventoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeedInventorySpec ¶ added in v0.9.0
type FeedInventorySpec struct {
Feeds []FeedOrder `json:"feeds"`
}
FeedInventorySpec defines the desired state of FeedInventory.
func (*FeedInventorySpec) DeepCopy ¶ added in v0.9.0
func (in *FeedInventorySpec) DeepCopy() *FeedInventorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedInventorySpec.
func (*FeedInventorySpec) DeepCopyInto ¶ added in v0.9.0
func (in *FeedInventorySpec) DeepCopyInto(out *FeedInventorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeedOrder ¶ added in v0.9.0
type FeedOrder struct { Feed `json:",inline"` // DesiredReplicas specifies the number of desired replica. This is a pointer to distinguish between explicit // zero and not specified. // // +optional DesiredReplicas *int32 `json:"desiredReplicas,omitempty"` // ReplicaRequirements describes the scheduling requirements for a new replica. // // +optional ReplicaRequirements ReplicaRequirements `json:"replicaRequirements,omitempty"` // ReplicaJsonPath specifies the JSONPath for replica settings, // such as `/spec/replicas` for Deployment/StatefulSet/ReplicaSet. // Should not be empty when DesiredReplicas is non-nil. // // +optional ReplicaJsonPath string `json:"replicaJsonPath,omitempty"` }
FeedOrder defines the scheduling requirements of a Feed.
func (*FeedOrder) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedOrder.
func (*FeedOrder) DeepCopyInto ¶ added in v0.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeedStatus ¶ added in v0.11.0
type FeedStatus struct { // Available indicates whether the feed status is synced successfully to corresponding Description. // // +optional Available bool `json:"available,omitempty"` // ReplicaStatus indicates the replica status of workload-type feed, such as Deployment/StatefulSet/Job. // // +optional ReplicaStatus `json:"replicaStatus,omitempty"` }
FeedStatus defines the feed status.
func (*FeedStatus) DeepCopy ¶ added in v0.11.0
func (in *FeedStatus) DeepCopy() *FeedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedStatus.
func (*FeedStatus) DeepCopyInto ¶ added in v0.11.0
func (in *FeedStatus) DeepCopyInto(out *FeedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeedStatusPerCluster ¶ added in v0.11.0
type FeedStatusPerCluster struct { // ClusterID indicates the id of current cluster. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" ClusterID types.UID `json:"clusterId,omitempty"` // ClusterName is the cluster name. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:MaxLength=30 // +kubebuilder:validation:Pattern="[a-z0-9]([-a-z0-9]*[a-z0-9])?([a-z0-9]([-a-z0-9]*[a-z0-9]))*" ClusterName string `json:"clusterName,omitempty"` // FeedStatus contains the brief feed status in child cluster. // // +optional FeedStatus `json:",inline"` }
FeedStatusPerCluster shows the feed status running in current cluster.
func (*FeedStatusPerCluster) DeepCopy ¶ added in v0.11.0
func (in *FeedStatusPerCluster) DeepCopy() *FeedStatusPerCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeedStatusPerCluster.
func (*FeedStatusPerCluster) DeepCopyInto ¶ added in v0.11.0
func (in *FeedStatusPerCluster) DeepCopyInto(out *FeedStatusPerCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Globalization ¶
type Globalization struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec GlobalizationSpec `json:"spec"` }
Globalization represents the cluster-scoped override config for a group of resources.
func (*Globalization) DeepCopy ¶
func (in *Globalization) DeepCopy() *Globalization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Globalization.
func (*Globalization) DeepCopyInto ¶
func (in *Globalization) DeepCopyInto(out *Globalization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Globalization) DeepCopyObject ¶
func (in *Globalization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalizationList ¶
type GlobalizationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Globalization `json:"items"` }
GlobalizationList contains a list of Globalization
func (*GlobalizationList) DeepCopy ¶
func (in *GlobalizationList) DeepCopy() *GlobalizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalizationList.
func (*GlobalizationList) DeepCopyInto ¶
func (in *GlobalizationList) DeepCopyInto(out *GlobalizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalizationList) DeepCopyObject ¶
func (in *GlobalizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalizationSpec ¶
type GlobalizationSpec struct { // OverridePolicy specifies the override policy for this Globalization. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=ApplyNow;ApplyLater // +kubebuilder:default=ApplyLater OverridePolicy OverridePolicy `json:"overridePolicy,omitempty"` // ClusterAffinity is a label query over managed clusters by labels. // If no labels are specified, all clusters will be selected. // // +optional ClusterAffinity *metav1.LabelSelector `json:"clusterAffinity,omitempty"` // Overrides holds all the OverrideConfig. // // +optional Overrides []OverrideConfig `json:"overrides,omitempty"` // Priority is an integer defining the relative importance of this Globalization compared to others. // Lower numbers are considered lower priority. // And these Globalization(s) will be applied by order from lower priority to higher. // That means override values in lower Globalization will be overridden by those in higher Globalization. // // +optional // +kubebuilder:validation:Maximum=1000 // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=500 Priority int32 `json:"priority,omitempty"` // Feed holds references to the objects the Globalization applies to. // // +optional Feed `json:"feed,omitempty"` }
GlobalizationSpec defines the desired state of Globalization
func (*GlobalizationSpec) DeepCopy ¶
func (in *GlobalizationSpec) DeepCopy() *GlobalizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalizationSpec.
func (*GlobalizationSpec) DeepCopyInto ¶
func (in *GlobalizationSpec) DeepCopyInto(out *GlobalizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmChart ¶
type HelmChart struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HelmChartSpec `json:"spec"` Status HelmChartStatus `json:"status,omitempty"` }
HelmChart is the Schema for the helm chart
func (*HelmChart) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChart.
func (*HelmChart) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HelmChart) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HelmChartList ¶
type HelmChartList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HelmChart `json:"items"` }
HelmChartList contains a list of HelmChart
func (*HelmChartList) DeepCopy ¶
func (in *HelmChartList) DeepCopy() *HelmChartList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChartList.
func (*HelmChartList) DeepCopyInto ¶
func (in *HelmChartList) DeepCopyInto(out *HelmChartList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HelmChartList) DeepCopyObject ¶
func (in *HelmChartList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HelmChartPhase ¶
type HelmChartPhase string
const ( HelmChartFound HelmChartPhase = "Found" HelmChartNotFound HelmChartPhase = "NotFound" )
type HelmChartSpec ¶
type HelmChartSpec struct { HelmOptions `json:",inline"` // TargetNamespace specifies the namespace to install this HelmChart // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string TargetNamespace string `json:"targetNamespace"` }
HelmChartSpec defines the spec of HelmChart
func (*HelmChartSpec) DeepCopy ¶
func (in *HelmChartSpec) DeepCopy() *HelmChartSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChartSpec.
func (*HelmChartSpec) DeepCopyInto ¶
func (in *HelmChartSpec) DeepCopyInto(out *HelmChartSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmChartStatus ¶
type HelmChartStatus struct { // Phase denotes the phase of HelmChart // // +optional // +kubebuilder:validation:Enum=Found;NotFound Phase HelmChartPhase `json:"phase,omitempty"` // Reason indicates the reason of HelmChartPhase // // +optional Reason string `json:"reason,omitempty"` }
HelmChartStatus defines the observed state of HelmChart
func (*HelmChartStatus) DeepCopy ¶
func (in *HelmChartStatus) DeepCopy() *HelmChartStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChartStatus.
func (*HelmChartStatus) DeepCopyInto ¶
func (in *HelmChartStatus) DeepCopyInto(out *HelmChartStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmOptions ¶
type HelmOptions struct { // a Helm Repository to be used. // OCI-based registries are also supported. // For example, https://charts.bitnami.com/bitnami or oci://localhost:5000/helm-charts // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern=`^(http|https|oci)?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$` Repository string `json:"repo"` // ChartPullSecret is the name of the secret that contains the auth information for the chart repository. // // +optional ChartPullSecret ChartPullSecret `json:"chartPullSecret,omitempty"` // Chart is the name of a Helm Chart in the Repository. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Chart string `json:"chart"` // ChartVersion is the version of the chart to be deployed. // It will be defaulted with current latest version if empty. // // +optional ChartVersion string `json:"version,omitempty"` // CreateNamespace create namespace when install helm release // // +optional // +kubebuilder:default=true CreateNamespace *bool `json:"createNamespace,omitempty"` // TimeoutSeconds is the timeout of the chart to be install/upgrade/rollback/uninstall // // +optional // +kubebuilder:validation:Type=integer // +kubebuilder:default=300 TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` // Wait determines whether the wait operation should be performed after helm install, upgrade or uninstall is requested. // // +optional // +kubebuilder:validation:Type=boolean Wait *bool `json:"wait,omitempty"` // WaitForJobs determines whether the wait operation for the Jobs should be performed after the upgrade is requested. // // +optional // +kubebuilder:validation:Type=boolean WaitForJob *bool `json:"waitForJob,omitempty"` // Replace will re-use the given name, only if that name is a deleted release that remains in the history. // This is unsafe in production. // // +optional // +kubebuilder:validation:Type=boolean Replace *bool `json:"replace,omitempty"` // Atomic, for install case, if true, will uninstall failed release. // // +optional // +kubebuilder:validation:Type=boolean Atomic *bool `json:"atomic,omitempty"` // UpgradeAtomic, for upgrade case, if true, will roll back failed release. // // +optional // +kubebuilder:validation:Type=boolean UpgradeAtomic *bool `json:"upgradeAtomic,omitempty"` // SkipCRDs skips installing CRDs when install flag is enabled during upgrade // // +optional // +kubebuilder:validation:Type=boolean SkipCRDs *bool `json:"skipCRDs,omitempty"` // ReplaceCRDs replace all crds in chart and sub charts before upgrade and install, not working when SkipCRDs true // // +optional // +kubebuilder:validation:Type=boolean ReplaceCRDs *bool `json:"replaceCRDs,omitempty"` // DisableHooks disables hook processing if set to true. // // +optional // +kubebuilder:validation:Type=boolean DisableHooks *bool `json:"disableHooks,omitempty"` // Force will, if set to `true`, ignore certain warnings and perform the upgrade anyway. // This should be used with caution. // // +optional // +kubebuilder:validation:Type=boolean Force *bool `json:"force,omitempty"` }
func (*HelmOptions) DeepCopy ¶
func (in *HelmOptions) DeepCopy() *HelmOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmOptions.
func (*HelmOptions) DeepCopyInto ¶
func (in *HelmOptions) DeepCopyInto(out *HelmOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmRelease ¶
type HelmRelease struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HelmReleaseSpec `json:"spec"` Status HelmReleaseStatus `json:"status,omitempty"` }
HelmRelease is the Schema for the helm release
func (*HelmRelease) DeepCopy ¶
func (in *HelmRelease) DeepCopy() *HelmRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmRelease.
func (*HelmRelease) DeepCopyInto ¶
func (in *HelmRelease) DeepCopyInto(out *HelmRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HelmRelease) DeepCopyObject ¶
func (in *HelmRelease) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HelmReleaseList ¶
type HelmReleaseList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HelmRelease `json:"items"` }
HelmReleaseList contains a list of HelmRelease
func (*HelmReleaseList) DeepCopy ¶
func (in *HelmReleaseList) DeepCopy() *HelmReleaseList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmReleaseList.
func (*HelmReleaseList) DeepCopyInto ¶
func (in *HelmReleaseList) DeepCopyInto(out *HelmReleaseList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HelmReleaseList) DeepCopyObject ¶
func (in *HelmReleaseList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HelmReleaseSpec ¶
type HelmReleaseSpec struct { HelmOptions `json:",inline"` // ReleaseName specifies the desired release name in child cluster. // If nil, the default release name will be in the format of "{Description Name}-{HelmChart Namespace}-{HelmChart Name}" // // +optional // +kubebuilder:validation:Type=string ReleaseName *string `json:"releaseName,omitempty"` // TargetNamespace specifies the namespace to install the chart // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string TargetNamespace string `json:"targetNamespace"` // Overrides specifies the override values for this release. // // +optional Overrides []byte `json:"overrides,omitempty"` }
HelmReleaseSpec defines the spec of HelmRelease
func (*HelmReleaseSpec) DeepCopy ¶
func (in *HelmReleaseSpec) DeepCopy() *HelmReleaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmReleaseSpec.
func (*HelmReleaseSpec) DeepCopyInto ¶
func (in *HelmReleaseSpec) DeepCopyInto(out *HelmReleaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmReleaseStatus ¶
type HelmReleaseStatus struct { // FirstDeployed is when the release was first deployed. // // +optional FirstDeployed string `json:"firstDeployed,omitempty"` // LastDeployed is when the release was last deployed. // // +optional LastDeployed string `json:"lastDeployed,omitempty"` // Description is human-friendly "log entry" about this release. // // +optional Description string `json:"description,omitempty"` // Phase is the current state of the release Phase release.Status `json:"phase,omitempty"` // Contains the rendered templates/NOTES.txt if available // // +optional Notes string `json:"notes,omitempty"` // Version is an int which represents the revision of the release. // // +optional Version int `json:"version,omitempty"` }
HelmReleaseStatus defines the observed state of HelmRelease
func (*HelmReleaseStatus) DeepCopy ¶
func (in *HelmReleaseStatus) DeepCopy() *HelmReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmReleaseStatus.
func (*HelmReleaseStatus) DeepCopyInto ¶
func (in *HelmReleaseStatus) DeepCopyInto(out *HelmReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Localization ¶
type Localization struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LocalizationSpec `json:"spec"` }
Localization represents the override config for a group of resources.
func (*Localization) DeepCopy ¶
func (in *Localization) DeepCopy() *Localization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Localization.
func (*Localization) DeepCopyInto ¶
func (in *Localization) DeepCopyInto(out *Localization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Localization) DeepCopyObject ¶
func (in *Localization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LocalizationList ¶
type LocalizationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Localization `json:"items"` }
LocalizationList contains a list of Localization
func (*LocalizationList) DeepCopy ¶
func (in *LocalizationList) DeepCopy() *LocalizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalizationList.
func (*LocalizationList) DeepCopyInto ¶
func (in *LocalizationList) DeepCopyInto(out *LocalizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LocalizationList) DeepCopyObject ¶
func (in *LocalizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LocalizationSpec ¶
type LocalizationSpec struct { // OverridePolicy specifies the override policy for this Localization. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=ApplyNow;ApplyLater // +kubebuilder:default=ApplyLater OverridePolicy OverridePolicy `json:"overridePolicy,omitempty"` // Overrides holds all the OverrideConfig. // // +optional Overrides []OverrideConfig `json:"overrides,omitempty"` // Priority is an integer defining the relative importance of this Localization compared to others. // Lower numbers are considered lower priority. // And these Localization(s) will be applied by order from lower priority to higher. // That means override values in lower Localization will be overridden by those in higher Localization. // // +optional // +kubebuilder:validation:Maximum=1000 // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=500 Priority int32 `json:"priority,omitempty"` // Feed holds references to the objects the Localization applies to. // // +optional Feed `json:"feed,omitempty"` }
LocalizationSpec defines the desired state of Localization
func (*LocalizationSpec) DeepCopy ¶
func (in *LocalizationSpec) DeepCopy() *LocalizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalizationSpec.
func (*LocalizationSpec) DeepCopyInto ¶
func (in *LocalizationSpec) DeepCopyInto(out *LocalizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Manifest ¶
type Manifest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Template defines the raw Kubernetes resource // // +kubebuilder:pruning:PreserveUnknownFields Template runtime.RawExtension `json:"template"` }
Manifest stores the raw object
func (*Manifest) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Manifest.
func (*Manifest) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Manifest) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManifestList ¶
type ManifestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Manifest `json:"items"` }
ManifestList contains a list of Manifest
func (*ManifestList) DeepCopy ¶
func (in *ManifestList) DeepCopy() *ManifestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManifestList.
func (*ManifestList) DeepCopyInto ¶
func (in *ManifestList) DeepCopyInto(out *ManifestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManifestList) DeepCopyObject ¶
func (in *ManifestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ManifestStatus ¶ added in v0.11.0
type ManifestStatus struct { // Feed holds references to the resource. Feed `json:",inline"` // ObservedStatus reflects observed status of current feed. // // +optional // +kubebuilder:pruning:PreserveUnknownFields ObservedStatus runtime.RawExtension `json:"observedStatus,omitempty"` }
ManifestStatus contains details for the current status of this feed.
func (*ManifestStatus) DeepCopy ¶ added in v0.11.0
func (in *ManifestStatus) DeepCopy() *ManifestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManifestStatus.
func (*ManifestStatus) DeepCopyInto ¶ added in v0.11.0
func (in *ManifestStatus) DeepCopyInto(out *ManifestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverrideConfig ¶
type OverrideConfig struct { // Name indicate the OverrideConfig name. // // +optional Name string `json:"name,omitempty"` // Value represents override value. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string Value string `json:"value"` // Type specifies the override type for override value. // // +required // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=Helm;JSONPatch;MergePatch Type OverrideType `json:"type"` // OverrideChart indicates whether the override value for the HelmChart CR. // // +optional OverrideChart bool `json:"overrideChart,omitempty"` }
OverrideConfig holds information that describes a override config.
func (*OverrideConfig) DeepCopy ¶
func (in *OverrideConfig) DeepCopy() *OverrideConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OverrideConfig.
func (*OverrideConfig) DeepCopyInto ¶
func (in *OverrideConfig) DeepCopyInto(out *OverrideConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OverridePolicy ¶
type OverridePolicy string
const ( // Apply overrides for all matched objects immediately, including those already populated ApplyNow OverridePolicy = "ApplyNow" // Apply overrides for all matched objects on next updates (including updates on Subscription, // Manifest, HelmChart, etc) or new created objects. ApplyLater OverridePolicy = "ApplyLater" )
type OverrideType ¶
type OverrideType string
const ( // HelmType applies Helm values for all matched HelmCharts. // Note: HelmType only works with HelmChart(s). HelmType OverrideType = "Helm" // JSONPatchType applies a json patch for all matched objects. // Note: JSONPatchType does not work with HelmChart(s). JSONPatchType OverrideType = "JSONPatch" // MergePatchType applies a json merge patch for all matched objects. // Note: MergePatchType does not work with HelmChart(s). MergePatchType OverrideType = "MergePatch" )
type PreemptionPolicy ¶ added in v0.17.0
type PreemptionPolicy string
const ( // PreemptLowerPriority means that subscription can preempt other subscriptions with lower priority. PreemptLowerPriority PreemptionPolicy = "PreemptLowerPriority" // PreemptNever means that subscription never preempts other subscriptions with lower priority. PreemptNever PreemptionPolicy = "Never" )
type ReplicaDividingType ¶ added in v0.9.0
type ReplicaDividingType string
const ( // StaticReplicaDividingType divides replicas by a fixed weight. StaticReplicaDividingType ReplicaDividingType = "Static" // DynamicReplicaDividingType divides replicas by cluster resource predictor. DynamicReplicaDividingType ReplicaDividingType = "Dynamic" )
type ReplicaRequirements ¶ added in v0.9.0
type ReplicaRequirements struct { // NodeSelector specifies hard node constraints that must be met for a new replica to fit on a node. // Selector which must match a node's labels for a new replica to be scheduled on that node. // +optional // +mapType=atomic NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations specifies the tolerations of a new replica. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Affinity specifies the scheduling constraints of a new replica. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // Resources describes the compute resource requirements. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
ReplicaRequirements describes the scheduling requirements for a new replica.
func (*ReplicaRequirements) DeepCopy ¶ added in v0.9.0
func (in *ReplicaRequirements) DeepCopy() *ReplicaRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaRequirements.
func (*ReplicaRequirements) DeepCopyInto ¶ added in v0.9.0
func (in *ReplicaRequirements) DeepCopyInto(out *ReplicaRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaStatus ¶ added in v0.11.0
type ReplicaStatus struct { // The generation observed by the workload controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Total number of non-terminated pods targeted by this workload (their labels match the selector). // +optional Replicas int32 `json:"replicas,omitempty"` // Total number of non-terminated pods targeted by this workload that have the desired template spec. // +optional UpdatedReplicas int32 `json:"updatedReplicas,omitempty"` // currentReplicas is the number of Pods created by the workload controller from the StatefulSet version // indicated by currentRevision. // +optional CurrentReplicas int32 `json:"currentReplicas,omitempty"` // readyReplicas is the number of pods targeted by this workload with a Ready Condition. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` // Total number of available pods (ready for at least minReadySeconds) targeted by this workload. // +optional AvailableReplicas int32 `json:"availableReplicas,omitempty"` // pods that are still required for the workload to have 100% available capacity. They may // either be pods that are running but not yet available or pods that still have not been created. // +optional UnavailableReplicas int32 `json:"unavailableReplicas,omitempty"` // The number of pending and running pods. // +optional Active int32 `json:"active,omitempty"` // The number of pods which reached phase Succeeded. // +optional Succeeded int32 `json:"succeeded,omitempty"` // The number of pods which reached phase Failed. // +optional Failed int32 `json:"failed,omitempty"` }
ReplicaStatus represents brief information about feed replicas running in child cluster. This is used for workload-type feeds.
func (*ReplicaStatus) DeepCopy ¶ added in v0.11.0
func (in *ReplicaStatus) DeepCopy() *ReplicaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaStatus.
func (*ReplicaStatus) DeepCopyInto ¶ added in v0.11.0
func (in *ReplicaStatus) DeepCopyInto(out *ReplicaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingStrategyType ¶ added in v0.7.0
type SchedulingStrategyType string
const ( // ReplicaSchedulingStrategyType places and maintains a copy of this Subscription on each matched clusters. ReplicaSchedulingStrategyType SchedulingStrategyType = "Replication" // DividingSchedulingStrategyType divides the replicas of a Subscription to several matching clusters. DividingSchedulingStrategyType SchedulingStrategyType = "Dividing" )
type SubGroupStrategy ¶ added in v0.13.0
type SubGroupStrategy struct { // MinClusters is the minimum number of clusters to be selected in this subgroup. // If this value is more than the total number of clusters in this subgroup, then all clusters will be selected. // // +optional // +kubebuilder:validation:Minimum=0 MinClusters int32 `json:"minClusters,omitempty"` }
SubGroupStrategy defines the subgroup strategy
func (*SubGroupStrategy) DeepCopy ¶ added in v0.13.0
func (in *SubGroupStrategy) DeepCopy() *SubGroupStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubGroupStrategy.
func (*SubGroupStrategy) DeepCopyInto ¶ added in v0.13.0
func (in *SubGroupStrategy) DeepCopyInto(out *SubGroupStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subscriber ¶
type Subscriber struct { // ClusterAffinity is a label query over managed clusters by labels. // // +required // +kubebuilder:validation:Required ClusterAffinity *metav1.LabelSelector `json:"clusterAffinity"` // Static weight of subscriber when dividing replicas. // Present only for static divided scheduling. // // +optional // +kubebuilder:validation:Minimum=0 Weight int32 `json:"weight,omitempty"` // SubGroupStrategy defines the subgroup strategy for the clusters matched by this subscriber. // During the scheduling, all the matching clusters will be treated as a subgroup instead of individual clusters. // With subgroup, we can describe clusters with different regions, zones, etc. // Present only when SchedulingBySubGroup is set. // // +optional SubGroupStrategy *SubGroupStrategy `json:"subGroupStrategy,omitempty"` }
Subscriber defines
func (*Subscriber) DeepCopy ¶
func (in *Subscriber) DeepCopy() *Subscriber
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscriber.
func (*Subscriber) DeepCopyInto ¶
func (in *Subscriber) DeepCopyInto(out *Subscriber)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subscription ¶
type Subscription struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SubscriptionSpec `json:"spec"` Status SubscriptionStatus `json:"status,omitempty"` }
Subscription represents the policy that install a group of resources to one or more clusters.
func (*Subscription) DeepCopy ¶
func (in *Subscription) DeepCopy() *Subscription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscription.
func (*Subscription) DeepCopyInto ¶
func (in *Subscription) DeepCopyInto(out *Subscription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Subscription) DeepCopyObject ¶
func (in *Subscription) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubscriptionList ¶
type SubscriptionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Subscription `json:"items"` }
SubscriptionList contains a list of Subscription
func (*SubscriptionList) DeepCopy ¶
func (in *SubscriptionList) DeepCopy() *SubscriptionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionList.
func (*SubscriptionList) DeepCopyInto ¶
func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubscriptionList) DeepCopyObject ¶
func (in *SubscriptionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubscriptionSpec ¶
type SubscriptionSpec struct { // If specified, the Subscription will be handled by specified scheduler. // If not specified, the Subscription will be handled by default scheduler. // // +optional // +kubebuilder:default=default SchedulerName string `json:"schedulerName,omitempty"` // If specified, the Subscription will be handled with SchedulingBySubGroup. // Used together with SubGroupStrategy in every Subscriber. // Can work with all supported SchedulingStrategy, such as Replication, Dividing. // // +optional SchedulingBySubGroup *bool `json:"schedulingBySubGroup,omitempty"` // If specified, the Subscription will be handled with specified SchedulingStrategy. // Otherwise, with generic SchedulingStrategy. // // +optional // +kubebuilder:validation:Type=string // +kubebuilder:validation:Enum=Replication;Dividing // +kubebuilder:default=Replication SchedulingStrategy SchedulingStrategyType `json:"schedulingStrategy,omitempty"` // Dividing scheduling config params. Present only if SchedulingStrategy = Dividing. // // +optional DividingScheduling *DividingScheduling `json:"dividingScheduling,omitempty"` // The priority value. clusternet-scheduler use this field to find the // priority of the subscription. // The higher the value, the higher the priority. // +optional Priority *int32 `json:"priority,omitempty"` // PreemptionPolicy is the Policy for preempting subscriptions with lower priority. // One of Never, PreemptLowerPriority. // Defaults to PreemptLowerPriority if unset. // // +optional // +kubebuilder:validation:Enum=PreemptLowerPriority;PreemptNever // +kubebuilder:validation:Type=string // +kubebuilder:default=PreemptLowerPriority PreemptionPolicy *PreemptionPolicy `json:"preemptionPolicy,omitempty"` // Subscribers subscribes // // +required // +kubebuilder:validation:Required Subscribers []Subscriber `json:"subscribers"` // ClusterTolerations tolerates any matched taints of ManagedCluster. // // +optional ClusterTolerations []corev1.Toleration `json:"clusterTolerations,omitempty"` // Feeds // // +required // +kubebuilder:validation:Required Feeds []Feed `json:"feeds"` }
SubscriptionSpec defines the desired state of Subscription
func (*SubscriptionSpec) DeepCopy ¶
func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionSpec.
func (*SubscriptionSpec) DeepCopyInto ¶
func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubscriptionStatus ¶
type SubscriptionStatus struct { // Namespaced names of targeted clusters that Subscription binds to. // // +optional BindingClusters []string `json:"bindingClusters,omitempty"` // Desired replicas of targeted clusters for each feed. // // +optional Replicas map[string][]int32 `json:"replicas,omitempty"` // SpecHash calculates the hash value of current SubscriptionSpec. // // +optional SpecHash uint64 `json:"specHash,omitempty"` // Total number of Helm releases desired by this Subscription. // // +optional DesiredReleases int `json:"desiredReleases,omitempty"` // Total number of completed releases targeted by this Subscription. // // +optional CompletedReleases int `json:"completedReleases,omitempty"` // AggregatedStatuses shows the aggregated statuses of feeds that are running in each child cluster. // // +optional AggregatedStatuses []AggregatedStatus `json:"aggregatedStatuses,omitempty"` }
SubscriptionStatus defines the observed state of Subscription
func (*SubscriptionStatus) DeepCopy ¶
func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionStatus.
func (*SubscriptionStatus) DeepCopyInto ¶
func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.