Documentation ¶
Overview ¶
Package v1beta1 contains resources relating to the Open Application Model. See https://github.com/oam-dev/spec for more details. +kubebuilder:object:generate=true +groupName=core.oam.dev +versionName=v1beta1
Index ¶
- Constants
- Variables
- type AppDeployment
- type AppDeploymentList
- type AppDeploymentPhase
- type AppDeploymentSpec
- type AppDeploymentStatus
- type AppRevision
- type AppRollout
- type AppRolloutList
- type AppRolloutSpec
- type Application
- type ApplicationComponent
- type ApplicationList
- type ApplicationRevision
- type ApplicationRevisionList
- type ApplicationRevisionSpec
- type ApplicationSpec
- type ApplicationTrait
- type Cluster
- type ClusterList
- type ClusterPlacement
- type ClusterPlacementStatus
- type ClusterSelector
- type ClusterSpec
- type ClusterStatus
- type ComponentDefinition
- func (in *ComponentDefinition) DeepCopy() *ComponentDefinition
- func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)
- func (in *ComponentDefinition) DeepCopyObject() runtime.Object
- func (cd *ComponentDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (cd *ComponentDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type ComponentDefinitionList
- type ComponentDefinitionSpec
- type ComponentDefinitionStatus
- type DefinitionRevision
- type DefinitionRevisionList
- type DefinitionRevisionSpec
- type Distribution
- type HTTPMatchRequest
- type HTTPRule
- type LocalSecretReference
- type PlacementStatus
- type ResourceTracker
- type ResourceTrackerList
- type ResourceTrackerStatus
- type ScopeDefinition
- type ScopeDefinitionList
- type ScopeDefinitionSpec
- type Traffic
- type TraitDefinition
- func (in *TraitDefinition) DeepCopy() *TraitDefinition
- func (in *TraitDefinition) DeepCopyInto(out *TraitDefinition)
- func (in *TraitDefinition) DeepCopyObject() runtime.Object
- func (td *TraitDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (td *TraitDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type TraitDefinitionList
- type TraitDefinitionSpec
- type TraitDefinitionStatus
- type TypedReference
- type URIMatch
- type WeightedTarget
- type WorkloadDefinition
- func (in *WorkloadDefinition) DeepCopy() *WorkloadDefinition
- func (in *WorkloadDefinition) DeepCopyInto(out *WorkloadDefinition)
- func (in *WorkloadDefinition) DeepCopyObject() runtime.Object
- func (wd *WorkloadDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
- func (wd *WorkloadDefinition) SetConditions(c ...runtimev1alpha1.Condition)
- type WorkloadDefinitionList
- type WorkloadDefinitionSpec
- type WorkloadDefinitionStatus
Constants ¶
const ( Group = "core.oam.dev" Version = "v1beta1" )
Package type metadata.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( ComponentDefinitionKind = reflect.TypeOf(ComponentDefinition{}).Name() ComponentDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: ComponentDefinitionKind}.String() ComponentDefinitionKindAPIVersion = ComponentDefinitionKind + "." + SchemeGroupVersion.String() ComponentDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(ComponentDefinitionKind) )
ComponentDefinition type metadata.
var ( WorkloadDefinitionKind = reflect.TypeOf(WorkloadDefinition{}).Name() WorkloadDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: WorkloadDefinitionKind}.String() WorkloadDefinitionKindAPIVersion = WorkloadDefinitionKind + "." + SchemeGroupVersion.String() WorkloadDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(WorkloadDefinitionKind) )
WorkloadDefinition type metadata.
var ( TraitDefinitionKind = reflect.TypeOf(TraitDefinition{}).Name() TraitDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: TraitDefinitionKind}.String() TraitDefinitionKindAPIVersion = TraitDefinitionKind + "." + SchemeGroupVersion.String() TraitDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(TraitDefinitionKind) )
TraitDefinition type metadata.
var ( DefinitionRevisionKind = reflect.TypeOf(DefinitionRevision{}).Name() DefinitionRevisionGroupKind = schema.GroupKind{Group: Group, Kind: DefinitionRevisionKind}.String() DefinitionRevisionKindAPIVersion = DefinitionRevisionKind + "." + SchemeGroupVersion.String() DefinitionRevisionGroupVersionKind = SchemeGroupVersion.WithKind(DefinitionRevisionKind) )
DefinitionRevision type metadata.
var ( ApplicationKind = reflect.TypeOf(Application{}).Name() ApplicationGroupKind = schema.GroupKind{Group: Group, Kind: ApplicationKind}.String() ApplicationKindAPIVersion = ApplicationKind + "." + SchemeGroupVersion.String() ApplicationKindVersionKind = SchemeGroupVersion.WithKind(ApplicationKind) )
Application type metadata.
var ( AppRolloutKind = reflect.TypeOf(AppRollout{}).Name() AppRolloutGroupKind = schema.GroupKind{Group: Group, Kind: AppRolloutKind}.String() AppRolloutKindAPIVersion = ApplicationKind + "." + SchemeGroupVersion.String() AppRolloutKindVersionKind = SchemeGroupVersion.WithKind(AppRolloutKind) )
AppRollout type metadata.
var ( ApplicationRevisionKind = reflect.TypeOf(ApplicationRevision{}).Name() ApplicationRevisionGroupKind = schema.GroupKind{Group: Group, Kind: ApplicationRevisionKind}.String() ApplicationRevisionKindAPIVersion = ApplicationRevisionKind + "." + SchemeGroupVersion.String() ApplicationRevisionGroupVersionKind = SchemeGroupVersion.WithKind(ApplicationRevisionKind) )
ApplicationRevision type metadata
var ( ScopeDefinitionKind = reflect.TypeOf(ScopeDefinition{}).Name() ScopeDefinitionGroupKind = schema.GroupKind{Group: Group, Kind: ScopeDefinitionKind}.String() ScopeDefinitionKindAPIVersion = ScopeDefinitionKind + "." + SchemeGroupVersion.String() ScopeDefinitionGroupVersionKind = SchemeGroupVersion.WithKind(ScopeDefinitionKind) )
ScopeDefinition type metadata.
var ( ResourceTrackerKind = reflect.TypeOf(ResourceTracker{}).Name() ResourceTrackerGroupKind = schema.GroupKind{Group: Group, Kind: ResourceTrackerKind}.String() ResourceTrackerKindAPIVersion = ResourceTrackerKind + "." + SchemeGroupVersion.String() ResourceTrackerKindVersionKind = SchemeGroupVersion.WithKind(ResourceTrackerKind) )
ResourceTracker type metadata.
var ( AppDeploymentKind = reflect.TypeOf(AppDeployment{}).Name() AppDeploymentGroupKind = schema.GroupKind{Group: Group, Kind: AppDeploymentKind}.String() AppDeploymentKindAPIVersion = AppDeploymentKind + "." + SchemeGroupVersion.String() AppDeploymentKindVersionKind = SchemeGroupVersion.WithKind(AppDeploymentKind) )
AppDeployment type metadata.
var ( ClusterKind = reflect.TypeOf(Cluster{}).Name() ClusterGroupKind = schema.GroupKind{Group: Group, Kind: ClusterKind}.String() ClusterKindAPIVersion = ApplicationKind + "." + SchemeGroupVersion.String() ClusterKindVersionKind = SchemeGroupVersion.WithKind(ClusterKind) )
Cluster type metadata.
Functions ¶
This section is empty.
Types ¶
type AppDeployment ¶
type AppDeployment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AppDeploymentSpec `json:"spec,omitempty"` Status AppDeploymentStatus `json:"status,omitempty"` }
AppDeployment is the Schema for the AppDeployment API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam},shortName=appdeploy +kubebuilder:subresource:status
func (*AppDeployment) DeepCopy ¶
func (in *AppDeployment) DeepCopy() *AppDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDeployment.
func (*AppDeployment) DeepCopyInto ¶
func (in *AppDeployment) DeepCopyInto(out *AppDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppDeployment) DeepCopyObject ¶
func (in *AppDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppDeploymentList ¶
type AppDeploymentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AppDeployment `json:"items"` }
AppDeploymentList contains a list of AppDeployment +kubebuilder:object:root=true
func (*AppDeploymentList) DeepCopy ¶
func (in *AppDeploymentList) DeepCopy() *AppDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDeploymentList.
func (*AppDeploymentList) DeepCopyInto ¶
func (in *AppDeploymentList) DeepCopyInto(out *AppDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppDeploymentList) DeepCopyObject ¶
func (in *AppDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppDeploymentPhase ¶
type AppDeploymentPhase string
AppDeploymentPhase defines the phase that the AppDeployment is undergoing.
const ( // PhaseRolling is the phase when the AppDeployment is rolling live instances from old revisions to new ones. PhaseRolling AppDeploymentPhase = "Rolling" // PhaseCompleted is the phase when the AppDeployment is done with reconciliation. PhaseCompleted AppDeploymentPhase = "Completed" // PhaseFailed is the phase when the AppDeployment has failed in reconciliation due to unexpected conditions. PhaseFailed AppDeploymentPhase = "Failed" )
type AppDeploymentSpec ¶
type AppDeploymentSpec struct { // Traffic defines the traffic rules to apply across revisions. Traffic *Traffic `json:"traffic,omitempty"` // AppRevision specifies AppRevision resources to and the rules to apply to them. AppRevisions []AppRevision `json:"appRevisions,omitempty"` }
AppDeploymentSpec defines how to describe an upgrade between different apps
func (*AppDeploymentSpec) DeepCopy ¶
func (in *AppDeploymentSpec) DeepCopy() *AppDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDeploymentSpec.
func (*AppDeploymentSpec) DeepCopyInto ¶
func (in *AppDeploymentSpec) DeepCopyInto(out *AppDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppDeploymentStatus ¶
type AppDeploymentStatus struct { // Conditions represents the latest available observations of a CloneSet's current state. runtimev1alpha1.ConditionedStatus `json:",inline"` // Phase shows the phase that the AppDeployment is undergoing. // If Phase is Rolling, no update should be made to the spec. Phase AppDeploymentPhase `json:"phase,omitempty"` // Placement shows the cluster placement results of the app revisions. Placement []PlacementStatus `json:"placement,omitempty"` }
AppDeploymentStatus defines the observed state of AppDeployment
func (*AppDeploymentStatus) DeepCopy ¶
func (in *AppDeploymentStatus) DeepCopy() *AppDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppDeploymentStatus.
func (*AppDeploymentStatus) DeepCopyInto ¶
func (in *AppDeploymentStatus) DeepCopyInto(out *AppDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppRevision ¶
type AppRevision struct { // RevisionName is the name of the AppRevision. RevisionName string `json:"revisionName,omitempty"` // Placement defines the cluster placement rules for an app revision. Placement []ClusterPlacement `json:"placement,omitempty"` }
AppRevision specifies an AppRevision resource to and the rules to apply to it.
func (*AppRevision) DeepCopy ¶
func (in *AppRevision) DeepCopy() *AppRevision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRevision.
func (*AppRevision) DeepCopyInto ¶
func (in *AppRevision) DeepCopyInto(out *AppRevision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppRollout ¶
type AppRollout struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AppRolloutSpec `json:"spec,omitempty"` Status common.AppRolloutStatus `json:"status,omitempty"` }
AppRollout is the Schema for the AppRollout API +kubebuilder:object:root=true +kubebuilder:resource:categories={oam},shortName=approllout +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="TARGET",type=string,JSONPath=`.status.rolloutTargetSize` +kubebuilder:printcolumn:name="UPGRADED",type=string,JSONPath=`.status.upgradedReplicas` +kubebuilder:printcolumn:name="READY",type=string,JSONPath=`.status.upgradedReadyReplicas` +kubebuilder:printcolumn:name="BATCH-STATE",type=string,JSONPath=`.status.batchRollingState` +kubebuilder:printcolumn:name="ROLLING-STATE",type=string,JSONPath=`.status.rollingState` +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp"
func (*AppRollout) DeepCopy ¶
func (in *AppRollout) DeepCopy() *AppRollout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRollout.
func (*AppRollout) DeepCopyInto ¶
func (in *AppRollout) DeepCopyInto(out *AppRollout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppRollout) DeepCopyObject ¶
func (in *AppRollout) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppRolloutList ¶
type AppRolloutList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AppRollout `json:"items"` }
AppRolloutList contains a list of AppRollout +kubebuilder:object:root=true
func (*AppRolloutList) DeepCopy ¶
func (in *AppRolloutList) DeepCopy() *AppRolloutList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutList.
func (*AppRolloutList) DeepCopyInto ¶
func (in *AppRolloutList) DeepCopyInto(out *AppRolloutList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppRolloutList) DeepCopyObject ¶
func (in *AppRolloutList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppRolloutSpec ¶
type AppRolloutSpec struct { // TargetAppRevisionName contains the name of the applicationConfiguration that we need to upgrade to. // Here we use an applicationConfiguration as a revision of an application, thus the name alone is suffice TargetAppRevisionName string `json:"targetAppRevisionName"` // SourceAppRevisionName contains the name of the applicationConfiguration that we need to upgrade from. // it can be empty only when it's the first time to deploy the application SourceAppRevisionName string `json:"sourceAppRevisionName,omitempty"` // The list of component to upgrade in the application. // We only support single component application so far // TODO: (RZ) Support multiple components in an application // +optional ComponentList []string `json:"componentList,omitempty"` // RolloutPlan is the details on how to rollout the resources RolloutPlan v1alpha1.RolloutPlan `json:"rolloutPlan"` // RevertOnDelete revert the failed rollout when the rollout CR is deleted // It will revert the change back to the source version at once (not in batches) // Default is false // +optional RevertOnDelete bool `json:"revertOnDelete,omitempty"` }
AppRolloutSpec defines how to describe an upgrade between different apps
func (*AppRolloutSpec) DeepCopy ¶
func (in *AppRolloutSpec) DeepCopy() *AppRolloutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppRolloutSpec.
func (*AppRolloutSpec) DeepCopyInto ¶
func (in *AppRolloutSpec) DeepCopyInto(out *AppRolloutSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Application ¶
type Application struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationSpec `json:"spec,omitempty"` Status common.AppStatus `json:"status,omitempty"` }
Application is the Schema for the applications API +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:resource:categories={oam},shortName=app +kubebuilder:printcolumn:name="COMPONENT",type=string,JSONPath=`.spec.components[*].name` +kubebuilder:printcolumn:name="TYPE",type=string,JSONPath=`.spec.components[*].type` +kubebuilder:printcolumn:name="PHASE",type=string,JSONPath=`.status.status` +kubebuilder:printcolumn:name="HEALTHY",type=boolean,JSONPath=`.status.services[*].healthy` +kubebuilder:printcolumn:name="STATUS",type=string,JSONPath=`.status.services[*].message` +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp"
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.
func (*Application) DeepCopyObject ¶
func (in *Application) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Application) GetComponent ¶
func (app *Application) GetComponent(workloadType string) *ApplicationComponent
GetComponent get the component from the application based on its workload type
type ApplicationComponent ¶
type ApplicationComponent struct { Name string `json:"name"` Type string `json:"type"` // +kubebuilder:pruning:PreserveUnknownFields Properties runtime.RawExtension `json:"properties,omitempty"` // Traits define the trait of one component, the type must be array to keep the order. Traits []ApplicationTrait `json:"traits,omitempty"` // +kubebuilder:pruning:PreserveUnknownFields // scopes in ApplicationComponent defines the component-level scopes // the format is <scope-type:scope-instance-name> pairs, the key represents type of `ScopeDefinition` while the value represent the name of scope instance. Scopes map[string]string `json:"scopes,omitempty"` }
ApplicationComponent describe the component of application
func (*ApplicationComponent) DeepCopy ¶
func (in *ApplicationComponent) DeepCopy() *ApplicationComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationComponent.
func (*ApplicationComponent) DeepCopyInto ¶
func (in *ApplicationComponent) DeepCopyInto(out *ApplicationComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationList ¶
type ApplicationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Application `json:"items"` }
ApplicationList contains a list of Application
func (*ApplicationList) DeepCopy ¶
func (in *ApplicationList) DeepCopy() *ApplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationList.
func (*ApplicationList) DeepCopyInto ¶
func (in *ApplicationList) DeepCopyInto(out *ApplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationList) DeepCopyObject ¶
func (in *ApplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationRevision ¶
type ApplicationRevision struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ApplicationRevisionSpec `json:"spec,omitempty"` }
ApplicationRevision is the Schema for the ApplicationRevision API +kubebuilder:storageversion +kubebuilder:resource:categories={oam},shortName=apprev +kubebuilder:printcolumn:name="AGE",type=date,JSONPath=".metadata.creationTimestamp"
func (*ApplicationRevision) DeepCopy ¶
func (in *ApplicationRevision) DeepCopy() *ApplicationRevision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationRevision.
func (*ApplicationRevision) DeepCopyInto ¶
func (in *ApplicationRevision) DeepCopyInto(out *ApplicationRevision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationRevision) DeepCopyObject ¶
func (in *ApplicationRevision) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationRevisionList ¶
type ApplicationRevisionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ApplicationRevision `json:"items"` }
ApplicationRevisionList contains a list of ApplicationRevision
func (*ApplicationRevisionList) DeepCopy ¶
func (in *ApplicationRevisionList) DeepCopy() *ApplicationRevisionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationRevisionList.
func (*ApplicationRevisionList) DeepCopyInto ¶
func (in *ApplicationRevisionList) DeepCopyInto(out *ApplicationRevisionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationRevisionList) DeepCopyObject ¶
func (in *ApplicationRevisionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationRevisionSpec ¶
type ApplicationRevisionSpec struct { // Application records the snapshot of the created/modified Application Application Application `json:"application"` // ComponentDefinitions records the snapshot of the componentDefinitions related with the created/modified Application ComponentDefinitions map[string]ComponentDefinition `json:"componentDefinitions,omitempty"` // WorkloadDefinitions records the snapshot of the workloadDefinitions related with the created/modified Application WorkloadDefinitions map[string]WorkloadDefinition `json:"workloadDefinitions,omitempty"` // TraitDefinitions records the snapshot of the traitDefinitions related with the created/modified Application TraitDefinitions map[string]TraitDefinition `json:"traitDefinitions,omitempty"` // ScopeDefinitions records the snapshot of the scopeDefinitions related with the created/modified Application ScopeDefinitions map[string]ScopeDefinition `json:"scopeDefinitions,omitempty"` // Components records the rendered components from Application, it will contains the whole K8s CR of workload in it. Components []common.RawComponent `json:"components,omitempty"` // ApplicationConfiguration records the rendered applicationConfiguration from Application, // it will contains the whole K8s CR of trait and the reference component in it. // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields ApplicationConfiguration runtime.RawExtension `json:"applicationConfiguration"` }
ApplicationRevisionSpec is the spec of ApplicationRevision
func (*ApplicationRevisionSpec) DeepCopy ¶
func (in *ApplicationRevisionSpec) DeepCopy() *ApplicationRevisionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationRevisionSpec.
func (*ApplicationRevisionSpec) DeepCopyInto ¶
func (in *ApplicationRevisionSpec) DeepCopyInto(out *ApplicationRevisionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSpec ¶
type ApplicationSpec struct { Components []ApplicationComponent `json:"components"` // RolloutPlan is the details on how to rollout the resources // The controller simply replace the old resources with the new one if there is no rollout plan involved // +optional RolloutPlan *v1alpha1.RolloutPlan `json:"rolloutPlan,omitempty"` }
ApplicationSpec is the spec 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 ApplicationTrait ¶
type ApplicationTrait struct { Type string `json:"type"` // +kubebuilder:pruning:PreserveUnknownFields Properties runtime.RawExtension `json:"properties,omitempty"` }
ApplicationTrait defines the trait of application
func (*ApplicationTrait) DeepCopy ¶
func (in *ApplicationTrait) DeepCopy() *ApplicationTrait
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationTrait.
func (*ApplicationTrait) DeepCopyInto ¶
func (in *ApplicationTrait) DeepCopyInto(out *ApplicationTrait)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster is the Schema for the clusters API
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterPlacement ¶
type ClusterPlacement struct { // ClusterSelector selects the cluster to deploy apps to. // If not specified, it indicates the host cluster per se. ClusterSelector *ClusterSelector `json:"clusterSelector,omitempty"` // Distribution defines the replica distribution of an AppRevision to a cluster. Distribution Distribution `json:"distribution,omitempty"` }
ClusterPlacement defines the cluster placement rules for an app revision.
func (*ClusterPlacement) DeepCopy ¶
func (in *ClusterPlacement) DeepCopy() *ClusterPlacement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPlacement.
func (*ClusterPlacement) DeepCopyInto ¶
func (in *ClusterPlacement) DeepCopyInto(out *ClusterPlacement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPlacementStatus ¶
type ClusterPlacementStatus struct { // ClusterName indicates the name of the cluster to deploy apps to. // If empty, it indicates the host cluster per se. ClusterName string `json:"clusterName,omitempty"` // Replicas indicates the replica number of an app revision to deploy to a cluster. Replicas int `json:"replicas,omitempty"` }
ClusterPlacementStatus shows the placement results of a cluster.
func (*ClusterPlacementStatus) DeepCopy ¶
func (in *ClusterPlacementStatus) DeepCopy() *ClusterPlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterPlacementStatus.
func (*ClusterPlacementStatus) DeepCopyInto ¶
func (in *ClusterPlacementStatus) DeepCopyInto(out *ClusterPlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSelector ¶
type ClusterSelector struct { // Name is the name of the cluster. Name string `json:"name,omitempty"` // Labels defines the label selector to select the cluster. Labels map[string]string `json:"labels,omitempty"` }
ClusterSelector defines the rules to select a Cluster resource. Either name or labels is needed.
func (*ClusterSelector) DeepCopy ¶
func (in *ClusterSelector) DeepCopy() *ClusterSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSelector.
func (*ClusterSelector) DeepCopyInto ¶
func (in *ClusterSelector) DeepCopyInto(out *ClusterSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSpec ¶
type ClusterSpec struct { // KubeconfigSecretRef specifies the reference to the secret // that contains the kubeconfig in field `config`. KubeconfigSecretRef LocalSecretReference `json:"kubeconfigSecretRef,omitempty"` }
ClusterSpec defines the desired state of Cluster
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { }
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentDefinition ¶
type ComponentDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ComponentDefinitionSpec `json:"spec,omitempty"` Status ComponentDefinitionStatus `json:"status,omitempty"` }
ComponentDefinition is the Schema for the componentdefinitions API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=comp +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="WORKLOAD-KIND",type=string,JSONPath=".spec.workload.definition.kind" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description"
func (*ComponentDefinition) DeepCopy ¶
func (in *ComponentDefinition) DeepCopy() *ComponentDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinition.
func (*ComponentDefinition) DeepCopyInto ¶
func (in *ComponentDefinition) DeepCopyInto(out *ComponentDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentDefinition) DeepCopyObject ¶
func (in *ComponentDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ComponentDefinition) GetCondition ¶
func (cd *ComponentDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from WorkloadDefinition
func (*ComponentDefinition) SetConditions ¶
func (cd *ComponentDefinition) SetConditions(c ...runtimev1alpha1.Condition)
SetConditions set condition for WorkloadDefinition
type ComponentDefinitionList ¶
type ComponentDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ComponentDefinition `json:"items"` }
ComponentDefinitionList contains a list of ComponentDefinition
func (*ComponentDefinitionList) DeepCopy ¶
func (in *ComponentDefinitionList) DeepCopy() *ComponentDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinitionList.
func (*ComponentDefinitionList) DeepCopyInto ¶
func (in *ComponentDefinitionList) DeepCopyInto(out *ComponentDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComponentDefinitionList) DeepCopyObject ¶
func (in *ComponentDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComponentDefinitionSpec ¶
type ComponentDefinitionSpec struct { // Workload is a workload type descriptor Workload common.WorkloadTypeDescriptor `json:"workload"` // ChildResourceKinds are the list of GVK of the child resources this workload generates ChildResourceKinds []common.ChildResourceKind `json:"childResourceKinds,omitempty"` // RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload // can be used by trait to create resource selectors(e.g. label selector for pods). // +optional RevisionLabel string `json:"revisionLabel,omitempty"` // PodSpecPath indicates where/if this workload has K8s podSpec field // if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields. // +optional PodSpecPath string `json:"podSpecPath,omitempty"` // Status defines the custom health policy and status message for workload // +optional Status *common.Status `json:"status,omitempty"` // Schematic defines the data format and template of the encapsulation of the workload // +optional Schematic *common.Schematic `json:"schematic,omitempty"` // Extension is used for extension needs by OAM platform builders // +optional // +kubebuilder:pruning:PreserveUnknownFields Extension *runtime.RawExtension `json:"extension,omitempty"` }
ComponentDefinitionSpec defines the desired state of ComponentDefinition
func (*ComponentDefinitionSpec) DeepCopy ¶
func (in *ComponentDefinitionSpec) DeepCopy() *ComponentDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinitionSpec.
func (*ComponentDefinitionSpec) DeepCopyInto ¶
func (in *ComponentDefinitionSpec) DeepCopyInto(out *ComponentDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentDefinitionStatus ¶
type ComponentDefinitionStatus struct { // ConditionedStatus reflects the observed status of a resource runtimev1alpha1.ConditionedStatus `json:",inline"` // ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters. ConfigMapRef string `json:"configMapRef,omitempty"` // LatestRevision of the component definition // +optional LatestRevision *common.Revision `json:"latestRevision,omitempty"` }
ComponentDefinitionStatus is the status of ComponentDefinition
func (*ComponentDefinitionStatus) DeepCopy ¶
func (in *ComponentDefinitionStatus) DeepCopy() *ComponentDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentDefinitionStatus.
func (*ComponentDefinitionStatus) DeepCopyInto ¶
func (in *ComponentDefinitionStatus) DeepCopyInto(out *ComponentDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefinitionRevision ¶ added in v1.0.4
type DefinitionRevision struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DefinitionRevisionSpec `json:"spec,omitempty"` }
DefinitionRevision is the Schema for the DefinitionRevision API +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=comprev +kubebuilder:printcolumn:name="REVISION",type=integer,JSONPath=".spec.revision" +kubebuilder:printcolumn:name="HASH",type=string,JSONPath=".spec.revisionHash" +kubebuilder:printcolumn:name="TYPE",type=string,JSONPath=".spec.definitionType"
func (*DefinitionRevision) DeepCopy ¶ added in v1.0.4
func (in *DefinitionRevision) DeepCopy() *DefinitionRevision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionRevision.
func (*DefinitionRevision) DeepCopyInto ¶ added in v1.0.4
func (in *DefinitionRevision) DeepCopyInto(out *DefinitionRevision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DefinitionRevision) DeepCopyObject ¶ added in v1.0.4
func (in *DefinitionRevision) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DefinitionRevisionList ¶ added in v1.0.4
type DefinitionRevisionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DefinitionRevision `json:"items"` }
DefinitionRevisionList contains a list of DefinitionRevision
func (*DefinitionRevisionList) DeepCopy ¶ added in v1.0.4
func (in *DefinitionRevisionList) DeepCopy() *DefinitionRevisionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionRevisionList.
func (*DefinitionRevisionList) DeepCopyInto ¶ added in v1.0.4
func (in *DefinitionRevisionList) DeepCopyInto(out *DefinitionRevisionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DefinitionRevisionList) DeepCopyObject ¶ added in v1.0.4
func (in *DefinitionRevisionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DefinitionRevisionSpec ¶ added in v1.0.4
type DefinitionRevisionSpec struct { // Revision record revision number of DefinitionRevision Revision int64 `json:"revision"` // RevisionHash record the hash value of the spec of DefinitionRevision object. RevisionHash string `json:"revisionHash"` // DefinitionType DefinitionType common.DefinitionType `json:"definitionType"` // ComponentDefinition records the snapshot of the created/modified ComponentDefinition ComponentDefinition ComponentDefinition `json:"componentDefinition,omitempty"` // TraitDefinition records the snapshot of the created/modified TraitDefinition TraitDefinition TraitDefinition `json:"traitDefinition,omitempty"` }
DefinitionRevisionSpec is the spec of DefinitionRevision
func (*DefinitionRevisionSpec) DeepCopy ¶ added in v1.0.4
func (in *DefinitionRevisionSpec) DeepCopy() *DefinitionRevisionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefinitionRevisionSpec.
func (*DefinitionRevisionSpec) DeepCopyInto ¶ added in v1.0.4
func (in *DefinitionRevisionSpec) DeepCopyInto(out *DefinitionRevisionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Distribution ¶
type Distribution struct { // Replicas is the replica number. Replicas int `json:"replicas,omitempty"` }
Distribution defines the replica distribution of an AppRevision to a cluster.
func (*Distribution) DeepCopy ¶
func (in *Distribution) DeepCopy() *Distribution
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Distribution.
func (*Distribution) DeepCopyInto ¶
func (in *Distribution) DeepCopyInto(out *Distribution)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPMatchRequest ¶
type HTTPMatchRequest struct { // URI defines how to match with an URI. URI *URIMatch `json:"uri,omitempty"` }
HTTPMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a custom `end-user` header with value `jason`.
func (*HTTPMatchRequest) DeepCopy ¶
func (in *HTTPMatchRequest) DeepCopy() *HTTPMatchRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPMatchRequest.
func (*HTTPMatchRequest) DeepCopyInto ¶
func (in *HTTPMatchRequest) DeepCopyInto(out *HTTPMatchRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRule ¶
type HTTPRule struct { // Match defines the conditions to be satisfied for the rule to be // activated. All conditions inside a single match block have AND // semantics, while the list of match blocks have OR semantics. The rule // is matched if any one of the match blocks succeed. Match []*HTTPMatchRequest `json:"match,omitempty"` // WeightedTargets defines the revision targets to select and route traffic to. WeightedTargets []WeightedTarget `json:"weightedTargets,omitempty"` }
HTTPRule defines the rules to match and split http traffic across revisions.
func (*HTTPRule) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRule.
func (*HTTPRule) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalSecretReference ¶
type LocalSecretReference struct { // Name of a secret within the enclosing namespace. Name string `json:"name"` }
LocalSecretReference is a reference to a secret within the enclosing namespace.
func (*LocalSecretReference) DeepCopy ¶
func (in *LocalSecretReference) DeepCopy() *LocalSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretReference.
func (*LocalSecretReference) DeepCopyInto ¶
func (in *LocalSecretReference) DeepCopyInto(out *LocalSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlacementStatus ¶
type PlacementStatus struct { // RevisionName is the name of the AppRevision. RevisionName string `json:"revisionName,omitempty"` // Clusters shows cluster placement results. Clusters []ClusterPlacementStatus `json:"clusters,omitempty"` }
PlacementStatus shows the cluster placement results of an app revision.
func (*PlacementStatus) DeepCopy ¶
func (in *PlacementStatus) DeepCopy() *PlacementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementStatus.
func (*PlacementStatus) DeepCopyInto ¶
func (in *PlacementStatus) DeepCopyInto(out *PlacementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceTracker ¶
type ResourceTracker struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Status ResourceTrackerStatus `json:"status,omitempty"` }
An ResourceTracker represents a tracker for track cross namespace resources +kubebuilder:resource:scope=Cluster,categories={oam},shortName=tracker
func (*ResourceTracker) DeepCopy ¶
func (in *ResourceTracker) DeepCopy() *ResourceTracker
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTracker.
func (*ResourceTracker) DeepCopyInto ¶
func (in *ResourceTracker) DeepCopyInto(out *ResourceTracker)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceTracker) DeepCopyObject ¶
func (in *ResourceTracker) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceTrackerList ¶
type ResourceTrackerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ResourceTracker `json:"items"` }
ResourceTrackerList contains a list of ResourceTracker
func (*ResourceTrackerList) DeepCopy ¶
func (in *ResourceTrackerList) DeepCopy() *ResourceTrackerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTrackerList.
func (*ResourceTrackerList) DeepCopyInto ¶
func (in *ResourceTrackerList) DeepCopyInto(out *ResourceTrackerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceTrackerList) DeepCopyObject ¶
func (in *ResourceTrackerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceTrackerStatus ¶ added in v1.0.2
type ResourceTrackerStatus struct {
TrackedResources []TypedReference `json:"trackedResources,omitempty"`
}
ResourceTrackerStatus define the status of resourceTracker
func (*ResourceTrackerStatus) DeepCopy ¶ added in v1.0.2
func (in *ResourceTrackerStatus) DeepCopy() *ResourceTrackerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceTrackerStatus.
func (*ResourceTrackerStatus) DeepCopyInto ¶ added in v1.0.2
func (in *ResourceTrackerStatus) DeepCopyInto(out *ResourceTrackerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScopeDefinition ¶
type ScopeDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScopeDefinitionSpec `json:"spec,omitempty"` }
A ScopeDefinition registers a kind of Kubernetes custom resource as a valid OAM scope kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the scope when it is embedded in an OAM ApplicationConfiguration. +kubebuilder:printcolumn:JSONPath=".spec.definitionRef.name",name=DEFINITION-NAME,type=string +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=scope +kubebuilder:storageversion
func (*ScopeDefinition) DeepCopy ¶
func (in *ScopeDefinition) DeepCopy() *ScopeDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeDefinition.
func (*ScopeDefinition) DeepCopyInto ¶
func (in *ScopeDefinition) DeepCopyInto(out *ScopeDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScopeDefinition) DeepCopyObject ¶
func (in *ScopeDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScopeDefinitionList ¶
type ScopeDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScopeDefinition `json:"items"` }
ScopeDefinitionList contains a list of ScopeDefinition.
func (*ScopeDefinitionList) DeepCopy ¶
func (in *ScopeDefinitionList) DeepCopy() *ScopeDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeDefinitionList.
func (*ScopeDefinitionList) DeepCopyInto ¶
func (in *ScopeDefinitionList) DeepCopyInto(out *ScopeDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScopeDefinitionList) DeepCopyObject ¶
func (in *ScopeDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScopeDefinitionSpec ¶
type ScopeDefinitionSpec struct { // Reference to the CustomResourceDefinition that defines this scope kind. Reference common.DefinitionReference `json:"definitionRef"` // WorkloadRefsPath indicates if/where a scope accepts workloadRef objects WorkloadRefsPath string `json:"workloadRefsPath,omitempty"` // AllowComponentOverlap specifies whether an OAM component may exist in // multiple instances of this kind of scope. AllowComponentOverlap bool `json:"allowComponentOverlap"` // Extension is used for extension needs by OAM platform builders // +optional // +kubebuilder:pruning:PreserveUnknownFields Extension *runtime.RawExtension `json:"extension,omitempty"` }
A ScopeDefinitionSpec defines the desired state of a ScopeDefinition.
func (*ScopeDefinitionSpec) DeepCopy ¶
func (in *ScopeDefinitionSpec) DeepCopy() *ScopeDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScopeDefinitionSpec.
func (*ScopeDefinitionSpec) DeepCopyInto ¶
func (in *ScopeDefinitionSpec) DeepCopyInto(out *ScopeDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Traffic ¶
type Traffic struct { // Hosts are the destination hosts to which traffic is being sent. Could // be a DNS name with wildcard prefix or an IP address. Hosts []string `json:"hosts,omitempty"` // Gateways specifies the names of gateways that should apply these rules. // Gateways in other namespaces may be referred to by // `<gateway namespace>/<gateway name>`; specifying a gateway with no // namespace qualifier is the same as specifying the AppDeployment's namespace. Gateways []string `json:"gateways,omitempty"` // HTTP defines the rules to match and split http traffoc across revisions. HTTP []HTTPRule `json:"http,omitempty"` }
Traffic defines the traffic rules to apply across revisions.
func (*Traffic) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Traffic.
func (*Traffic) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitDefinition ¶
type TraitDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TraitDefinitionSpec `json:"spec,omitempty"` Status TraitDefinitionStatus `json:"status,omitempty"` }
A TraitDefinition registers a kind of Kubernetes custom resource as a valid OAM trait kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the trait when it is embedded in an OAM ApplicationConfiguration. +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=trait +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="APPLIES-TO",type=string,JSONPath=".spec.appliesToWorkloads" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description"
func (*TraitDefinition) DeepCopy ¶
func (in *TraitDefinition) DeepCopy() *TraitDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitDefinition.
func (*TraitDefinition) DeepCopyInto ¶
func (in *TraitDefinition) DeepCopyInto(out *TraitDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TraitDefinition) DeepCopyObject ¶
func (in *TraitDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TraitDefinition) GetCondition ¶
func (td *TraitDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from TraitDefinition
func (*TraitDefinition) SetConditions ¶
func (td *TraitDefinition) SetConditions(c ...runtimev1alpha1.Condition)
SetConditions set condition for TraitDefinition
type TraitDefinitionList ¶
type TraitDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TraitDefinition `json:"items"` }
TraitDefinitionList contains a list of TraitDefinition.
func (*TraitDefinitionList) DeepCopy ¶
func (in *TraitDefinitionList) DeepCopy() *TraitDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitDefinitionList.
func (*TraitDefinitionList) DeepCopyInto ¶
func (in *TraitDefinitionList) DeepCopyInto(out *TraitDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TraitDefinitionList) DeepCopyObject ¶
func (in *TraitDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TraitDefinitionSpec ¶
type TraitDefinitionSpec struct { // Reference to the CustomResourceDefinition that defines this trait kind. Reference common.DefinitionReference `json:"definitionRef,omitempty"` // Revision indicates whether a trait is aware of component revision // +optional RevisionEnabled bool `json:"revisionEnabled,omitempty"` // WorkloadRefPath indicates where/if a trait accepts a workloadRef object // +optional WorkloadRefPath string `json:"workloadRefPath,omitempty"` // PodDisruptive specifies whether using the trait will cause the pod to restart or not. // +optional PodDisruptive bool `json:"podDisruptive,omitempty"` // AppliesToWorkloads specifies the list of workload kinds this trait // applies to. Workload kinds are specified in kind.group/version format, // e.g. server.core.oam.dev/v1alpha2. Traits that omit this field apply to // all workload kinds. // +optional AppliesToWorkloads []string `json:"appliesToWorkloads,omitempty"` // ConflictsWith specifies the list of traits(CRD name, Definition name, CRD group) // which could not apply to the same workloads with this trait. // Traits that omit this field can work with any other traits. // Example rules: // "service" # Trait definition name // "services.k8s.io" # API resource/crd name // "*.networking.k8s.io" # API group // "labelSelector:foo=bar" # label selector // labelSelector format: https://pkg.go.dev/k8s.io/apimachinery/pkg/labels#Parse // +optional ConflictsWith []string `json:"conflictsWith,omitempty"` // Schematic defines the data format and template of the encapsulation of the trait // +optional Schematic *common.Schematic `json:"schematic,omitempty"` // Status defines the custom health policy and status message for trait // +optional Status *common.Status `json:"status,omitempty"` // Extension is used for extension needs by OAM platform builders // +optional // +kubebuilder:pruning:PreserveUnknownFields Extension *runtime.RawExtension `json:"extension,omitempty"` }
A TraitDefinitionSpec defines the desired state of a TraitDefinition.
func (*TraitDefinitionSpec) DeepCopy ¶
func (in *TraitDefinitionSpec) DeepCopy() *TraitDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitDefinitionSpec.
func (*TraitDefinitionSpec) DeepCopyInto ¶
func (in *TraitDefinitionSpec) DeepCopyInto(out *TraitDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TraitDefinitionStatus ¶
type TraitDefinitionStatus struct { // ConditionedStatus reflects the observed status of a resource runtimev1alpha1.ConditionedStatus `json:",inline"` // ConfigMapRef refer to a ConfigMap which contains OpenAPI V3 JSON schema of Component parameters. ConfigMapRef string `json:"configMapRef,omitempty"` // LatestRevision of the component definition // +optional LatestRevision *common.Revision `json:"latestRevision,omitempty"` }
TraitDefinitionStatus is the status of TraitDefinition
func (*TraitDefinitionStatus) DeepCopy ¶
func (in *TraitDefinitionStatus) DeepCopy() *TraitDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TraitDefinitionStatus.
func (*TraitDefinitionStatus) DeepCopyInto ¶
func (in *TraitDefinitionStatus) DeepCopyInto(out *TraitDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TypedReference ¶ added in v1.0.2
type TypedReference struct { // APIVersion of the referenced object. APIVersion string `json:"apiVersion"` // Kind of the referenced object. Kind string `json:"kind"` // Name of the referenced object. Name string `json:"name"` // Namespace of the objects outside the application namespace. // +optional Namespace string `json:"namespace,omitempty"` // UID of the referenced object. // +optional UID types.UID `json:"uid,omitempty"` }
A TypedReference refers to an object by Name, Kind, and APIVersion. It is commonly used to reference across-namespace objects
func (*TypedReference) DeepCopy ¶ added in v1.0.2
func (in *TypedReference) DeepCopy() *TypedReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TypedReference.
func (*TypedReference) DeepCopyInto ¶ added in v1.0.2
func (in *TypedReference) DeepCopyInto(out *TypedReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type URIMatch ¶
type URIMatch struct {
Prefix string `json:"prefix,omitempty"`
}
URIMatch defines the rules to match with an URI.
func (*URIMatch) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URIMatch.
func (*URIMatch) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WeightedTarget ¶
type WeightedTarget struct { // RevisionName is the name of the app revision. RevisionName string `json:"revisionName,omitempty"` // ComponentName is the name of the component. // Note that it is the original component name in the Application. No need to append revision. ComponentName string `json:"componentName,omitempty"` // Port is the port to route traffic towards. Port int `json:"port,omitempty"` // Weight defines the proportion of traffic to be forwarded to the service // version. (0-100). Sum of weights across destinations SHOULD BE == 100. // If there is only one destination in a rule, the weight value is assumed to // be 100. Weight int `json:"weight,omitempty"` }
WeightedTarget defines the revision target to select and route traffic to.
func (*WeightedTarget) DeepCopy ¶
func (in *WeightedTarget) DeepCopy() *WeightedTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeightedTarget.
func (*WeightedTarget) DeepCopyInto ¶
func (in *WeightedTarget) DeepCopyInto(out *WeightedTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadDefinition ¶
type WorkloadDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WorkloadDefinitionSpec `json:"spec,omitempty"` Status WorkloadDefinitionStatus `json:"status,omitempty"` }
A WorkloadDefinition registers a kind of Kubernetes custom resource as a valid OAM workload kind by referencing its CustomResourceDefinition. The CRD is used to validate the schema of the workload when it is embedded in an OAM Component. +kubebuilder:resource:scope=Namespaced,categories={oam},shortName=workload +kubebuilder:storageversion +kubebuilder:printcolumn:name="DEFINITION-NAME",type=string,JSONPath=".spec.definitionRef.name" +kubebuilder:printcolumn:name="DESCRIPTION",type=string,JSONPath=".metadata.annotations.definition\\.oam\\.dev/description"
func (*WorkloadDefinition) DeepCopy ¶
func (in *WorkloadDefinition) DeepCopy() *WorkloadDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDefinition.
func (*WorkloadDefinition) DeepCopyInto ¶
func (in *WorkloadDefinition) DeepCopyInto(out *WorkloadDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadDefinition) DeepCopyObject ¶
func (in *WorkloadDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*WorkloadDefinition) GetCondition ¶
func (wd *WorkloadDefinition) GetCondition(conditionType runtimev1alpha1.ConditionType) runtimev1alpha1.Condition
GetCondition gets condition from WorkloadDefinition
func (*WorkloadDefinition) SetConditions ¶
func (wd *WorkloadDefinition) SetConditions(c ...runtimev1alpha1.Condition)
SetConditions set condition for WorkloadDefinition
type WorkloadDefinitionList ¶
type WorkloadDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []WorkloadDefinition `json:"items"` }
WorkloadDefinitionList contains a list of WorkloadDefinition.
func (*WorkloadDefinitionList) DeepCopy ¶
func (in *WorkloadDefinitionList) DeepCopy() *WorkloadDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDefinitionList.
func (*WorkloadDefinitionList) DeepCopyInto ¶
func (in *WorkloadDefinitionList) DeepCopyInto(out *WorkloadDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkloadDefinitionList) DeepCopyObject ¶
func (in *WorkloadDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkloadDefinitionSpec ¶
type WorkloadDefinitionSpec struct { // Reference to the CustomResourceDefinition that defines this workload kind. Reference common.DefinitionReference `json:"definitionRef"` // ChildResourceKinds are the list of GVK of the child resources this workload generates ChildResourceKinds []common.ChildResourceKind `json:"childResourceKinds,omitempty"` // RevisionLabel indicates which label for underlying resources(e.g. pods) of this workload // can be used by trait to create resource selectors(e.g. label selector for pods). // +optional RevisionLabel string `json:"revisionLabel,omitempty"` // PodSpecPath indicates where/if this workload has K8s podSpec field // if one workload has podSpec, trait can do lot's of assumption such as port, env, volume fields. // +optional PodSpecPath string `json:"podSpecPath,omitempty"` // Status defines the custom health policy and status message for workload // +optional Status *common.Status `json:"status,omitempty"` // Schematic defines the data format and template of the encapsulation of the workload // +optional Schematic *common.Schematic `json:"schematic,omitempty"` // Extension is used for extension needs by OAM platform builders // +optional // +kubebuilder:pruning:PreserveUnknownFields Extension *runtime.RawExtension `json:"extension,omitempty"` }
A WorkloadDefinitionSpec defines the desired state of a WorkloadDefinition.
func (*WorkloadDefinitionSpec) DeepCopy ¶
func (in *WorkloadDefinitionSpec) DeepCopy() *WorkloadDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDefinitionSpec.
func (*WorkloadDefinitionSpec) DeepCopyInto ¶
func (in *WorkloadDefinitionSpec) DeepCopyInto(out *WorkloadDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkloadDefinitionStatus ¶
type WorkloadDefinitionStatus struct {
runtimev1alpha1.ConditionedStatus `json:",inline"`
}
WorkloadDefinitionStatus is the status of WorkloadDefinition
func (*WorkloadDefinitionStatus) DeepCopy ¶
func (in *WorkloadDefinitionStatus) DeepCopy() *WorkloadDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadDefinitionStatus.
func (*WorkloadDefinitionStatus) DeepCopyInto ¶
func (in *WorkloadDefinitionStatus) DeepCopyInto(out *WorkloadDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.