v1alpha1

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Oct 21, 2020 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the standard v1alpha1 API group +kubebuilder:object:generate=true +groupName=standard.oam.dev

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "standard.oam.dev", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Backend added in v0.0.4

type Backend struct {
	// ReadTimeout used for setting read timeout duration for backend service, the unit is second.
	ReadTimeout int `json:"readTimeout,omitempty"`
	// SendTimeout used for setting send timeout duration for backend service, the unit is second.
	SendTimeout int `json:"sendTimeout,omitempty"`
	// BackendService specifies the backend K8s service and port, it's optional
	BackendService *BackendServiceRef `json:"backendService,omitempty"`
}

Route will automatically discover podSpec and label for BackendService. If BackendService is already set, discovery won't work. If BackendService is not set, the discovery mechanism will work.

func (*Backend) DeepCopy added in v0.0.4

func (in *Backend) DeepCopy() *Backend

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

func (*Backend) DeepCopyInto added in v0.0.4

func (in *Backend) DeepCopyInto(out *Backend)

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

type BackendServiceRef added in v0.0.8

type BackendServiceRef struct {
	// Port allow you direct specify backend service port.
	Port intstr.IntOrString `json:"port"`
	// ServiceName allow you direct specify K8s service for backend service.
	ServiceName string `json:"serviceName"`
}

BackendServiceRef specifies the backend K8s service and port, if specified, the two fields are all required

func (*BackendServiceRef) DeepCopy added in v0.0.8

func (in *BackendServiceRef) DeepCopy() *BackendServiceRef

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

func (*BackendServiceRef) DeepCopyInto added in v0.0.8

func (in *BackendServiceRef) DeepCopyInto(out *BackendServiceRef)

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

type IssuerType added in v0.0.4

type IssuerType string
const (
	ClusterIssuer   IssuerType = "ClusterIssuer"
	NamespaceIssuer IssuerType = "Issuer"
)

type MetricsTrait

type MetricsTrait struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MetricsTraitSpec   `json:"spec"`
	Status MetricsTraitStatus `json:"status,omitempty"`
}

MetricsTrait is the Schema for the metricstraits API +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status

func (*MetricsTrait) DeepCopy

func (in *MetricsTrait) DeepCopy() *MetricsTrait

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

func (*MetricsTrait) DeepCopyInto

func (in *MetricsTrait) DeepCopyInto(out *MetricsTrait)

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

func (*MetricsTrait) DeepCopyObject

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

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

func (*MetricsTrait) GetCondition

func (*MetricsTrait) GetWorkloadReference

func (tr *MetricsTrait) GetWorkloadReference() runtimev1alpha1.TypedReference

GetWorkloadReference of this ManualScalerTrait.

func (*MetricsTrait) SetConditions

func (tr *MetricsTrait) SetConditions(c ...runtimev1alpha1.Condition)

func (*MetricsTrait) SetWorkloadReference

func (tr *MetricsTrait) SetWorkloadReference(r runtimev1alpha1.TypedReference)

SetWorkloadReference of this ManualScalerTrait.

type MetricsTraitList

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

MetricsTraitList contains a list of MetricsTrait

func (*MetricsTraitList) DeepCopy

func (in *MetricsTraitList) DeepCopy() *MetricsTraitList

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

func (*MetricsTraitList) DeepCopyInto

func (in *MetricsTraitList) DeepCopyInto(out *MetricsTraitList)

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

func (*MetricsTraitList) DeepCopyObject

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

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

type MetricsTraitSpec

type MetricsTraitSpec struct {
	// An endpoint to be monitored by a ServiceMonitor.
	ScrapeService ScapeServiceEndPoint `json:"scrapeService"`
	// WorkloadReference to the workload whose metrics needs to be exposed
	WorkloadReference runtimev1alpha1.TypedReference `json:"workloadRef,omitempty"`
}

MetricsTraitSpec defines the desired state of MetricsTrait

func (*MetricsTraitSpec) DeepCopy

func (in *MetricsTraitSpec) DeepCopy() *MetricsTraitSpec

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

func (*MetricsTraitSpec) DeepCopyInto

func (in *MetricsTraitSpec) DeepCopyInto(out *MetricsTraitSpec)

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

type MetricsTraitStatus

type MetricsTraitStatus struct {
	runtimev1alpha1.ConditionedStatus `json:",inline"`

	// ServiceMonitorNames managed by this trait
	ServiceMonitorNames []string `json:"serviceMonitorName,omitempty"`
}

MetricsTraitStatus defines the observed state of MetricsTrait

func (*MetricsTraitStatus) DeepCopy

func (in *MetricsTraitStatus) DeepCopy() *MetricsTraitStatus

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

func (*MetricsTraitStatus) DeepCopyInto

func (in *MetricsTraitStatus) DeepCopyInto(out *MetricsTraitStatus)

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

type PodSpecWorkload added in v0.0.8

type PodSpecWorkload struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PodSpecWorkloadSpec   `json:"spec,omitempty"`
	Status PodSpecWorkloadStatus `json:"status,omitempty"`
}

PodSpecWorkload is the Schema for the PodSpec API +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status

func (*PodSpecWorkload) DeepCopy added in v0.0.8

func (in *PodSpecWorkload) DeepCopy() *PodSpecWorkload

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

func (*PodSpecWorkload) DeepCopyInto added in v0.0.8

func (in *PodSpecWorkload) DeepCopyInto(out *PodSpecWorkload)

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

func (*PodSpecWorkload) DeepCopyObject added in v0.0.8

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

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

func (*PodSpecWorkload) GetCondition added in v0.0.8

func (*PodSpecWorkload) SetConditions added in v0.0.8

func (in *PodSpecWorkload) SetConditions(c ...cpv1alpha1.Condition)

type PodSpecWorkloadList added in v0.0.8

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

PodSpecWorkloadList contains a list of PodSpecWorkload

func (*PodSpecWorkloadList) DeepCopy added in v0.0.8

func (in *PodSpecWorkloadList) DeepCopy() *PodSpecWorkloadList

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

func (*PodSpecWorkloadList) DeepCopyInto added in v0.0.8

func (in *PodSpecWorkloadList) DeepCopyInto(out *PodSpecWorkloadList)

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

func (*PodSpecWorkloadList) DeepCopyObject added in v0.0.8

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

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

type PodSpecWorkloadSpec added in v0.0.8

type PodSpecWorkloadSpec struct {
	// Replicas is the desired number of replicas of the given podSpec.
	// These are replicas in the sense that they are instantiations of the same podSpec.
	// If unspecified, defaults to 1.
	Replicas *int32 `json:"replicas"`

	// PodSpec describes the pods that will be created,
	// we omit the meta part as it will be exactly the same as the PodSpecWorkload
	PodSpec v1.PodSpec `json:"podSpec"`
}

PodSpecWorkloadSpec defines the desired state of PodSpecWorkload

func (*PodSpecWorkloadSpec) DeepCopy added in v0.0.8

func (in *PodSpecWorkloadSpec) DeepCopy() *PodSpecWorkloadSpec

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

func (*PodSpecWorkloadSpec) DeepCopyInto added in v0.0.8

func (in *PodSpecWorkloadSpec) DeepCopyInto(out *PodSpecWorkloadSpec)

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

type PodSpecWorkloadStatus added in v0.0.8

type PodSpecWorkloadStatus struct {
	cpv1alpha1.ConditionedStatus `json:",inline"`

	// Resources managed by this workload.
	Resources []cpv1alpha1.TypedReference `json:"resources,omitempty"`
}

PodSpecWorkloadStatus defines the observed state of PodSpecWorkload

func (*PodSpecWorkloadStatus) DeepCopy added in v0.0.8

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

func (*PodSpecWorkloadStatus) DeepCopyInto added in v0.0.8

func (in *PodSpecWorkloadStatus) DeepCopyInto(out *PodSpecWorkloadStatus)

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

type Route added in v0.0.4

type Route struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RouteSpec   `json:"spec,omitempty"`
	Status RouteStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:categories={oam} +kubebuilder:subresource:status Route is the Schema for the routes API

func (*Route) DeepCopy added in v0.0.4

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto added in v0.0.4

func (in *Route) DeepCopyInto(out *Route)

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

func (*Route) DeepCopyObject added in v0.0.4

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

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

func (*Route) GetCondition added in v0.0.4

func (*Route) GetWorkloadReference added in v0.0.4

func (r *Route) GetWorkloadReference() runtimev1alpha1.TypedReference

GetWorkloadReference of this ManualScalerTrait.

func (*Route) SetConditions added in v0.0.4

func (r *Route) SetConditions(c ...runtimev1alpha1.Condition)

func (*Route) SetWorkloadReference added in v0.0.4

func (r *Route) SetWorkloadReference(rt runtimev1alpha1.TypedReference)

SetWorkloadReference of this ManualScalerTrait.

type RouteList added in v0.0.4

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

+kubebuilder:object:root=true RouteList contains a list of Route

func (*RouteList) DeepCopy added in v0.0.4

func (in *RouteList) DeepCopy() *RouteList

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

func (*RouteList) DeepCopyInto added in v0.0.4

func (in *RouteList) DeepCopyInto(out *RouteList)

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

func (*RouteList) DeepCopyObject added in v0.0.4

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

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

type RouteSpec added in v0.0.4

type RouteSpec struct {
	// WorkloadReference to the workload whose metrics needs to be exposed
	WorkloadReference runtimev1alpha1.TypedReference `json:"workloadRef,omitempty"`

	// Host is the host of the route
	Host string `json:"host"`

	// TLS indicate route trait will create SSL secret using cert-manager with specified issuer
	// If this is nil, route trait will use a selfsigned issuer
	TLS *TLS `json:"tls,omitempty"`

	// Rules contain multiple rules of route
	Rules []Rule `json:"rules,omitempty"`

	// Provider indicate which ingress controller implementation the route trait will use, by default it's nginx-ingress
	Provider string `json:"provider,omitempty"`
}

RouteSpec defines the desired state of Route

func (*RouteSpec) DeepCopy added in v0.0.4

func (in *RouteSpec) DeepCopy() *RouteSpec

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

func (*RouteSpec) DeepCopyInto added in v0.0.4

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

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

type RouteStatus added in v0.0.4

type RouteStatus struct {
	Ingresses                         []runtimev1alpha1.TypedReference `json:"ingresses,omitempty"`
	Service                           *runtimev1alpha1.TypedReference  `json:"service,omitempty"`
	runtimev1alpha1.ConditionedStatus `json:",inline"`
}

RouteStatus defines the observed state of Route

func (*RouteStatus) DeepCopy added in v0.0.4

func (in *RouteStatus) DeepCopy() *RouteStatus

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

func (*RouteStatus) DeepCopyInto added in v0.0.4

func (in *RouteStatus) DeepCopyInto(out *RouteStatus)

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

type Rule added in v0.0.8

type Rule struct {
	// Name will become the suffix of underlying ingress created by this rule, if not, will use index as suffix.
	Name string `json:"name,omitempty"`

	// Path is location Path, default for "/"
	Path string `json:"path,omitempty"`

	// RewriteTarget will rewrite request from Path to RewriteTarget path.
	RewriteTarget string `json:"rewriteTarget,omitempty"`

	// CustomHeaders pass a custom list of headers to the backend service.
	CustomHeaders map[string]string `json:"customHeaders,omitempty"`

	// DefaultBackend will become the ingress default backend if the backend is not available
	DefaultBackend *runtimev1alpha1.TypedReference `json:"defaultBackend,omitempty"`

	// Backend indicate how to connect backend service
	// If it's nil, will auto discovery
	Backend *Backend `json:"backend,omitempty"`
}

Rule defines to route rule

func (*Rule) DeepCopy added in v0.0.8

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInto added in v0.0.8

func (in *Rule) DeepCopyInto(out *Rule)

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

type ScapeServiceEndPoint

type ScapeServiceEndPoint struct {
	// The format of the metrics data,
	// The default and only supported format is "prometheus" for now
	Format string `json:"format,omitempty"`
	// Number or name of the port to access on the pods targeted by the service.
	// When this field has value implies that we need to create a service for the workload
	// Mutually exclusive with port.
	TargetPort intstr.IntOrString `json:"port,omitempty"`
	// Route service traffic to pods with label keys and values matching this
	// The default is the labels in the workload
	// Mutually exclusive with port.
	TargetSelector map[string]string `json:"selector,omitempty"`
	// HTTP path to scrape for metrics.
	// default is /metrics
	// +optional
	Path string `json:"path,omitempty"`
	// Scheme at which metrics should be scraped
	// The default and only supported scheme is "http"
	// +optional
	Scheme string `json:"scheme,omitempty"`
	// The default is true
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

ScapeServiceEndPoint defines a scrapeable endpoint serving Prometheus metrics.

func (*ScapeServiceEndPoint) DeepCopy

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

func (*ScapeServiceEndPoint) DeepCopyInto

func (in *ScapeServiceEndPoint) DeepCopyInto(out *ScapeServiceEndPoint)

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

type TLS added in v0.0.4

type TLS struct {
	IssuerName string `json:"issuerName,omitempty"`

	// Type indicate the issuer is ClusterIssuer or Issuer(namespace issuer), by default, it's Issuer
	// +kubebuilder:default:=Issuer
	Type IssuerType `json:"type,omitempty"`
}

func (*TLS) DeepCopy added in v0.0.4

func (in *TLS) DeepCopy() *TLS

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

func (*TLS) DeepCopyInto added in v0.0.4

func (in *TLS) DeepCopyInto(out *TLS)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL