Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=serving.knative.dev
Index ¶
- Constants
- Variables
- func HasDefaultConfigurationName(ctx context.Context) bool
- func IsUpgradeViaDefaulting(ctx context.Context) bool
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- func WithDefaultConfigurationName(ctx context.Context) context.Context
- func WithUpgradeViaDefaulting(ctx context.Context) context.Context
- type Configuration
- func (sink *Configuration) ConvertDown(ctx context.Context, source apis.Convertible) error
- func (source *Configuration) ConvertUp(ctx context.Context, sink apis.Convertible) error
- func (in *Configuration) DeepCopy() *Configuration
- func (in *Configuration) DeepCopyInto(out *Configuration)
- func (in *Configuration) DeepCopyObject() runtime.Object
- func (r *Configuration) GetGroupVersionKind() schema.GroupVersionKind
- func (c *Configuration) SetDefaults(ctx context.Context)
- func (c *Configuration) Validate(ctx context.Context) *apis.FieldError
- type ConfigurationList
- type ConfigurationSpec
- type ConfigurationStatus
- type ConfigurationStatusFields
- type PodSpec
- type Revision
- func (sink *Revision) ConvertDown(ctx context.Context, source apis.Convertible) error
- func (source *Revision) ConvertUp(ctx context.Context, sink apis.Convertible) error
- func (in *Revision) DeepCopy() *Revision
- func (in *Revision) DeepCopyInto(out *Revision)
- func (in *Revision) DeepCopyObject() runtime.Object
- func (r *Revision) GetGroupVersionKind() schema.GroupVersionKind
- func (r *Revision) SetDefaults(ctx context.Context)
- func (r *Revision) Validate(ctx context.Context) *apis.FieldError
- type RevisionContainerConcurrencyType
- type RevisionList
- type RevisionSpec
- type RevisionStatus
- type RevisionTemplateSpec
- func (in *RevisionTemplateSpec) DeepCopy() *RevisionTemplateSpec
- func (in *RevisionTemplateSpec) DeepCopyInto(out *RevisionTemplateSpec)
- func (rts *RevisionTemplateSpec) SetDefaults(ctx context.Context)
- func (rts *RevisionTemplateSpec) Validate(ctx context.Context) *apis.FieldError
- func (current *RevisionTemplateSpec) VerifyNameChange(ctx context.Context, og RevisionTemplateSpec) *apis.FieldError
- type Route
- func (sink *Route) ConvertDown(ctx context.Context, source apis.Convertible) error
- func (source *Route) ConvertUp(ctx context.Context, sink apis.Convertible) error
- func (in *Route) DeepCopy() *Route
- func (in *Route) DeepCopyInto(out *Route)
- func (in *Route) DeepCopyObject() runtime.Object
- func (r *Route) GetGroupVersionKind() schema.GroupVersionKind
- func (r *Route) SetDefaults(ctx context.Context)
- func (r *Route) Validate(ctx context.Context) *apis.FieldError
- type RouteList
- type RouteSpec
- type RouteStatus
- type RouteStatusFields
- type Service
- func (sink *Service) ConvertDown(ctx context.Context, source apis.Convertible) error
- func (source *Service) ConvertUp(ctx context.Context, sink apis.Convertible) error
- func (in *Service) DeepCopy() *Service
- func (in *Service) DeepCopyInto(out *Service)
- func (in *Service) DeepCopyObject() runtime.Object
- func (s *Service) GetGroupVersionKind() schema.GroupVersionKind
- func (s *Service) SetDefaults(ctx context.Context)
- func (s *Service) Validate(ctx context.Context) *apis.FieldError
- type ServiceList
- type ServiceSpec
- type ServiceStatus
- type TrafficTarget
Constants ¶
const ( // ConfigurationConditionReady is set when the configuration's latest // underlying revision has reported readiness. ConfigurationConditionReady = apis.ConditionReady )
const ( // RevisionConditionReady is set when the revision is starting to materialize // runtime resources, and becomes true when those resources are ready. RevisionConditionReady = apis.ConditionReady )
const ( // RouteConditionReady is set when the service is configured // and has available backends ready to receive traffic. RouteConditionReady = apis.ConditionReady )
const ( // ServiceConditionReady is set when the service is configured // and has available backends ready to receive traffic. ServiceConditionReady = apis.ConditionReady )
ConditionType represents a Service condition value
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: serving.GroupName, Version: "v1beta1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func HasDefaultConfigurationName ¶
HasDefaultConfigurationName checks to see whether the given context has been marked as having a default configurationName.
func IsUpgradeViaDefaulting ¶
IsUpgradeViaDefaulting checks whether we should be "defaulting" from v1alpha1 to the v1beta1 subset.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func WithDefaultConfigurationName ¶
WithDefaultConfigurationName notes on the context for nested validation that there is a default configuration name, which affects how an empty configurationName is validated.
Types ¶
type Configuration ¶
type Configuration struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec ConfigurationSpec `json:"spec,omitempty"` // +optional Status ConfigurationStatus `json:"status,omitempty"` }
Configuration represents the "floating HEAD" of a linear history of Revisions. Users create new Revisions by updating the Configuration's spec. The "latest created" revision's name is available under status, as is the "latest ready" revision's name. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration
func (*Configuration) ConvertDown ¶
func (sink *Configuration) ConvertDown(ctx context.Context, source apis.Convertible) error
ConvertDown implements apis.Convertible
func (*Configuration) ConvertUp ¶
func (source *Configuration) ConvertUp(ctx context.Context, sink apis.Convertible) error
ConvertUp implements apis.Convertible
func (*Configuration) DeepCopy ¶
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶
func (in *Configuration) DeepCopyInto(out *Configuration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Configuration) DeepCopyObject ¶
func (in *Configuration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Configuration) GetGroupVersionKind ¶
func (r *Configuration) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GroupVersionKind.
func (*Configuration) SetDefaults ¶
func (c *Configuration) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*Configuration) Validate ¶
func (c *Configuration) Validate(ctx context.Context) *apis.FieldError
Validate makes sure that Configuration is properly configured.
type ConfigurationList ¶
type ConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Configuration `json:"items"` }
ConfigurationList is a list of Configuration resources
func (*ConfigurationList) DeepCopy ¶
func (in *ConfigurationList) DeepCopy() *ConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationList.
func (*ConfigurationList) DeepCopyInto ¶
func (in *ConfigurationList) DeepCopyInto(out *ConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationList) DeepCopyObject ¶
func (in *ConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigurationSpec ¶
type ConfigurationSpec struct { // Template holds the latest specification for the Revision to be stamped out. // +optional Template RevisionTemplateSpec `json:"template"` }
ConfigurationSpec holds the desired state of the Configuration (from the client).
func (*ConfigurationSpec) DeepCopy ¶
func (in *ConfigurationSpec) DeepCopy() *ConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationSpec.
func (*ConfigurationSpec) DeepCopyInto ¶
func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationSpec) SetDefaults ¶
func (cs *ConfigurationSpec) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*ConfigurationSpec) Validate ¶
func (cs *ConfigurationSpec) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type ConfigurationStatus ¶
type ConfigurationStatus struct { duckv1beta1.Status `json:",inline"` ConfigurationStatusFields `json:",inline"` }
ConfigurationStatus communicates the observed state of the Configuration (from the controller).
func (*ConfigurationStatus) DeepCopy ¶
func (in *ConfigurationStatus) DeepCopy() *ConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationStatus.
func (*ConfigurationStatus) DeepCopyInto ¶
func (in *ConfigurationStatus) DeepCopyInto(out *ConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationStatus) Validate ¶
func (cs *ConfigurationStatus) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type ConfigurationStatusFields ¶
type ConfigurationStatusFields struct { // LatestReadyRevisionName holds the name of the latest Revision stamped out // from this Configuration that has had its "Ready" condition become "True". // +optional LatestReadyRevisionName string `json:"latestReadyRevisionName,omitempty"` // LatestCreatedRevisionName is the last revision that was created from this // Configuration. It might not be ready yet, for that use LatestReadyRevisionName. // +optional LatestCreatedRevisionName string `json:"latestCreatedRevisionName,omitempty"` }
ConfigurationStatusFields holds the fields of Configuration's status that are not generally shared. This is defined separately and inlined so that other types can readily consume these fields via duck typing.
func (*ConfigurationStatusFields) DeepCopy ¶
func (in *ConfigurationStatusFields) DeepCopy() *ConfigurationStatusFields
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationStatusFields.
func (*ConfigurationStatusFields) DeepCopyInto ¶
func (in *ConfigurationStatusFields) DeepCopyInto(out *ConfigurationStatusFields)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigurationStatusFields) Validate ¶
func (csf *ConfigurationStatusFields) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type PodSpec ¶
type PodSpec struct { // ServiceAccountName holds the name of the Kubernetes service account // as which the underlying K8s resources should be run. If unspecified // this will default to the "default" service account for the namespace // in which the Revision exists. // This may be used to provide access to private container images by // following: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account // TODO(ZhiminXiang): verify the corresponding service account exists. // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // Containers holds the single container that defines the unit of // execution for this Revision. // In the context of a Revision, we disallow a number of the fields of // this Container, including: name and lifecycle. // See also the runtime contract for more information about the execution // environment: // https://github.com/knative/serving/blob/master/docs/runtime-contract.md // +optional Containers []corev1.Container `json:"containers,omitempty"` // Volumes defines a set of Kubernetes volumes to be mounted into the // specified Container. Currently only ConfigMap and Secret volumes are // supported. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` }
PodSpec is our standing for corev1.PodSpec. TODO(mattmoor): We cannot inline PodSpec until 0.7 when the containers field it introduces has been available for a release because this definition doesn't "omitempty" the containers field, which means that 0.6 clients would send `containers: null`, which 0.5 webhooks will reject. Once we ship a webhook that will parse the null properly, we can switch to the PodSpec definition.
func (*PodSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec.
func (*PodSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Revision ¶
type Revision struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec RevisionSpec `json:"spec,omitempty"` // +optional Status RevisionStatus `json:"status,omitempty"` }
Revision is an immutable snapshot of code and configuration. A revision references a container image. Revisions are created by updates to a Configuration.
See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
func (*Revision) ConvertDown ¶
ConvertDown implements apis.Convertible
func (*Revision) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Revision.
func (*Revision) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Revision) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Revision) GetGroupVersionKind ¶
func (r *Revision) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GroupVersionKind.
func (*Revision) SetDefaults ¶
SetDefaults implements apis.Defaultable
type RevisionContainerConcurrencyType ¶
type RevisionContainerConcurrencyType int64
RevisionContainerConcurrencyType is an integer expressing the maximum number of in-flight (concurrent) requests.
const ( // RevisionContainerConcurrencyMax is the maximum configurable // container concurrency. RevisionContainerConcurrencyMax RevisionContainerConcurrencyType = 1000 )
func (RevisionContainerConcurrencyType) Validate ¶
func (cc RevisionContainerConcurrencyType) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable.
type RevisionList ¶
type RevisionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Revision `json:"items"` }
RevisionList is a list of Revision resources
func (*RevisionList) DeepCopy ¶
func (in *RevisionList) DeepCopy() *RevisionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionList.
func (*RevisionList) DeepCopyInto ¶
func (in *RevisionList) DeepCopyInto(out *RevisionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevisionList) DeepCopyObject ¶
func (in *RevisionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RevisionSpec ¶
type RevisionSpec struct { PodSpec `json:",inline"` // ContainerConcurrency specifies the maximum allowed in-flight (concurrent) // requests per container of the Revision. Defaults to `0` which means // unlimited concurrency. // +optional ContainerConcurrency RevisionContainerConcurrencyType `json:"containerConcurrency,omitempty"` // TimeoutSeconds holds the max duration the instance is allowed for // responding to a request. If unspecified, a system default will // be provided. // +optional TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty"` }
RevisionSpec holds the desired state of the Revision (from the client).
func (*RevisionSpec) DeepCopy ¶
func (in *RevisionSpec) DeepCopy() *RevisionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionSpec.
func (*RevisionSpec) DeepCopyInto ¶
func (in *RevisionSpec) DeepCopyInto(out *RevisionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevisionSpec) SetDefaults ¶
func (rs *RevisionSpec) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*RevisionSpec) Validate ¶
func (rs *RevisionSpec) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type RevisionStatus ¶
type RevisionStatus struct { duckv1beta1.Status `json:",inline"` // ServiceName holds the name of a core Kubernetes Service resource that // load balances over the pods backing this Revision. // +optional ServiceName string `json:"serviceName,omitempty"` // LogURL specifies the generated logging url for this particular revision // based on the revision url template specified in the controller's config. // +optional LogURL string `json:"logUrl,omitempty"` }
RevisionStatus communicates the observed state of the Revision (from the controller).
func (*RevisionStatus) DeepCopy ¶
func (in *RevisionStatus) DeepCopy() *RevisionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionStatus.
func (*RevisionStatus) DeepCopyInto ¶
func (in *RevisionStatus) DeepCopyInto(out *RevisionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevisionStatus) Validate ¶
func (rs *RevisionStatus) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type RevisionTemplateSpec ¶
type RevisionTemplateSpec struct { // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec RevisionSpec `json:"spec,omitempty"` }
RevisionTemplateSpec describes the data a revision should have when created from a template. Based on: https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
func (*RevisionTemplateSpec) DeepCopy ¶
func (in *RevisionTemplateSpec) DeepCopy() *RevisionTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionTemplateSpec.
func (*RevisionTemplateSpec) DeepCopyInto ¶
func (in *RevisionTemplateSpec) DeepCopyInto(out *RevisionTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RevisionTemplateSpec) SetDefaults ¶
func (rts *RevisionTemplateSpec) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*RevisionTemplateSpec) Validate ¶
func (rts *RevisionTemplateSpec) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
func (*RevisionTemplateSpec) VerifyNameChange ¶
func (current *RevisionTemplateSpec) VerifyNameChange(ctx context.Context, og RevisionTemplateSpec) *apis.FieldError
VerifyNameChange checks that if a user brought their own name previously that it changes at the appropriate times.
type Route ¶
type Route struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec holds the desired state of the Route (from the client). // +optional Spec RouteSpec `json:"spec,omitempty"` // Status communicates the observed state of the Route (from the controller). // +optional Status RouteStatus `json:"status,omitempty"` }
Route is responsible for configuring ingress over a collection of Revisions. Some of the Revisions a Route distributes traffic over may be specified by referencing the Configuration responsible for creating them; in these cases the Route is additionally responsible for monitoring the Configuration for "latest ready revision" changes, and smoothly rolling out latest revisions. See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route
func (*Route) ConvertDown ¶
ConvertDown implements apis.Convertible
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Route) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Route) GetGroupVersionKind ¶
func (r *Route) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GroupVersionKind.
func (*Route) SetDefaults ¶
SetDefaults implements apis.Defaultable
type RouteList ¶
type RouteList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Route `json:"items"` }
RouteList is a list of Route resources
func (*RouteList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList.
func (*RouteList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RouteSpec ¶
type RouteSpec struct { // Traffic specifies how to distribute traffic over a collection of // revisions and configurations. // +optional Traffic []TrafficTarget `json:"traffic,omitempty"` }
RouteSpec holds the desired state of the Route (from the client).
func (*RouteSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.
func (*RouteSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteSpec) SetDefaults ¶
SetDefaults implements apis.Defaultable
type RouteStatus ¶
type RouteStatus struct { duckv1beta1.Status `json:",inline"` RouteStatusFields `json:",inline"` }
RouteStatus communicates the observed state of the Route (from the controller).
func (*RouteStatus) DeepCopy ¶
func (in *RouteStatus) DeepCopy() *RouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus.
func (*RouteStatus) DeepCopyInto ¶
func (in *RouteStatus) DeepCopyInto(out *RouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteStatus) Validate ¶
func (rs *RouteStatus) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type RouteStatusFields ¶
type RouteStatusFields struct { // URL holds the url that will distribute traffic over the provided traffic targets. // It generally has the form http[s]://{route-name}.{route-namespace}.{cluster-level-suffix} // +optional URL *apis.URL `json:"url,omitempty"` // Address holds the information needed for a Route to be the target of an event. // +optional Address *duckv1beta1.Addressable `json:"address,omitempty"` // Traffic holds the configured traffic distribution. // These entries will always contain RevisionName references. // When ConfigurationName appears in the spec, this will hold the // LatestReadyRevisionName that we last observed. // +optional Traffic []TrafficTarget `json:"traffic,omitempty"` }
RouteStatusFields holds the fields of Route's status that are not generally shared. This is defined separately and inlined so that other types can readily consume these fields via duck typing.
func (*RouteStatusFields) DeepCopy ¶
func (in *RouteStatusFields) DeepCopy() *RouteStatusFields
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatusFields.
func (*RouteStatusFields) DeepCopyInto ¶
func (in *RouteStatusFields) DeepCopyInto(out *RouteStatusFields)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteStatusFields) Validate ¶
func (rsf *RouteStatusFields) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type Service ¶
type Service struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec ServiceSpec `json:"spec,omitempty"` // +optional Status ServiceStatus `json:"status,omitempty"` }
Service acts as a top-level container that manages a Route and Configuration which implement a network service. Service exists to provide a singular abstraction which can be access controlled, reasoned about, and which encapsulates software lifecycle decisions such as rollout policy and team resource ownership. Service acts only as an orchestrator of the underlying Routes and Configurations (much as a kubernetes Deployment orchestrates ReplicaSets), and its usage is optional but recommended.
The Service's controller will track the statuses of its owned Configuration and Route, reflecting their statuses and conditions as its own.
See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
func (*Service) ConvertDown ¶
ConvertDown implements apis.Convertible
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Service) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Service) GetGroupVersionKind ¶
func (s *Service) GetGroupVersionKind() schema.GroupVersionKind
GetGroupVersionKind returns the GroupVersionKind.
func (*Service) SetDefaults ¶
SetDefaults implements apis.Defaultable
type ServiceList ¶
type ServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Service `json:"items"` }
ServiceList is a list of Service resources
func (*ServiceList) DeepCopy ¶
func (in *ServiceList) DeepCopy() *ServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceList.
func (*ServiceList) DeepCopyInto ¶
func (in *ServiceList) DeepCopyInto(out *ServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceList) DeepCopyObject ¶
func (in *ServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServiceSpec ¶
type ServiceSpec struct { // ServiceSpec inlines an unrestricted ConfigurationSpec. ConfigurationSpec `json:",inline"` // ServiceSpec inlines RouteSpec and restricts/defaults its fields // via webhook. In particular, this spec can only reference this // Service's configuration and revisions (which also influences // defaults). RouteSpec `json:",inline"` }
ServiceSpec represents the configuration for the Service object. A Service's specification is the union of the specifications for a Route and Configuration. The Service restricts what can be expressed in these fields, e.g. the Route must reference the provided Configuration; however, these limitations also enable friendlier defaulting, e.g. Route never needs a Configuration name, and may be defaulted to the appropriate "run latest" spec.
func (*ServiceSpec) DeepCopy ¶
func (in *ServiceSpec) DeepCopy() *ServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.
func (*ServiceSpec) DeepCopyInto ¶
func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceSpec) SetDefaults ¶
func (ss *ServiceSpec) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*ServiceSpec) Validate ¶
func (ss *ServiceSpec) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type ServiceStatus ¶
type ServiceStatus struct { duckv1beta1.Status `json:",inline"` // In addition to inlining ConfigurationSpec, we also inline the fields // specific to ConfigurationStatus. ConfigurationStatusFields `json:",inline"` // In addition to inlining RouteSpec, we also inline the fields // specific to RouteStatus. RouteStatusFields `json:",inline"` }
ServiceStatus represents the Status stanza of the Service resource.
func (*ServiceStatus) DeepCopy ¶
func (in *ServiceStatus) DeepCopy() *ServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus.
func (*ServiceStatus) DeepCopyInto ¶
func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServiceStatus) Validate ¶
func (ss *ServiceStatus) Validate(ctx context.Context) *apis.FieldError
Validate implements apis.Validatable
type TrafficTarget ¶
type TrafficTarget struct { // Tag is optionally used to expose a dedicated url for referencing // this target exclusively. // +optional // TODO(mattmoor): Discuss alternative naming options. Tag string `json:"tag,omitempty"` // RevisionName of a specific revision to which to send this portion of // traffic. This is mutually exclusive with ConfigurationName. // +optional RevisionName string `json:"revisionName,omitempty"` // ConfigurationName of a configuration to whose latest revision we will send // this portion of traffic. When the "status.latestReadyRevisionName" of the // referenced configuration changes, we will automatically migrate traffic // from the prior "latest ready" revision to the new one. This field is never // set in Route's status, only its spec. This is mutually exclusive with // RevisionName. // +optional ConfigurationName string `json:"configurationName,omitempty"` // LatestRevision may be optionally provided to indicate that the latest // ready Revision of the Configuration should be used for this traffic // target. When provided LatestRevision must be true if RevisionName is // empty; it must be false when RevisionName is non-empty. // +optional LatestRevision *bool `json:"latestRevision,omitempty"` // Percent specifies percent of the traffic to this Revision or Configuration. // This defaults to zero if unspecified. // +optional Percent int `json:"percent"` // URL displays the URL for accessing named traffic targets. URL is displayed in // status, and is disallowed on spec. URL must contain a scheme (e.g. http://) and // a hostname, but may not contain anything else (e.g. basic auth, url path, etc.) // +optional URL *apis.URL `json:"url,omitempty"` }
TrafficTarget holds a single entry of the routing table for a Route.
func (*TrafficTarget) DeepCopy ¶
func (in *TrafficTarget) DeepCopy() *TrafficTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TrafficTarget.
func (*TrafficTarget) DeepCopyInto ¶
func (in *TrafficTarget) DeepCopyInto(out *TrafficTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TrafficTarget) SetDefaults ¶
func (tt *TrafficTarget) SetDefaults(ctx context.Context)
SetDefaults implements apis.Defaultable
func (*TrafficTarget) Validate ¶
func (tt *TrafficTarget) Validate(ctx context.Context) *apis.FieldError
Validate verifies that TrafficTarget is properly configured.
Source Files
¶
- configuration_conversion.go
- configuration_defaults.go
- configuration_lifecycle.go
- configuration_types.go
- configuration_validation.go
- contexts.go
- doc.go
- register.go
- revision_conversion.go
- revision_defaults.go
- revision_lifecycle.go
- revision_types.go
- revision_validation.go
- route_conversion.go
- route_defaults.go
- route_lifecycle.go
- route_types.go
- route_validation.go
- service_conversion.go
- service_defaults.go
- service_lifecycle.go
- service_types.go
- service_validation.go
- zz_generated.deepcopy.go