Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=serving.knative.dev
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- func RevisionContainerExitingMessage(message string) string
- func RevisionContainerMissingMessage(image string, message string) string
- func RevisionLastPinnedString(t time.Time) string
- func ValidateContainerConcurrency(cc RevisionContainerConcurrencyType, cm RevisionRequestConcurrencyModelType) *apis.FieldError
- func ValidateObjectMetadata(meta metav1.Object) *apis.FieldError
- type AnnotationParseError
- type Configuration
- 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
- func (in *ConfigurationStatus) DeepCopy() *ConfigurationStatus
- func (in *ConfigurationStatus) DeepCopyInto(out *ConfigurationStatus)
- func (cs *ConfigurationStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
- func (cs *ConfigurationStatus) InitializeConditions()
- func (cs *ConfigurationStatus) IsLatestReadyRevisionNameUpToDate() bool
- func (cs *ConfigurationStatus) IsReady() bool
- func (cs *ConfigurationStatus) MarkLatestCreatedFailed(name, message string)
- func (cs *ConfigurationStatus) MarkLatestReadyDeleted()
- func (cs *ConfigurationStatus) MarkRevisionCreationFailed(message string)
- func (cs *ConfigurationStatus) SetLatestCreatedRevisionName(name string)
- func (cs *ConfigurationStatus) SetLatestReadyRevisionName(name string)
- type ConfigurationStatusFields
- type DeprecatedRevisionServingStateType
- type LastPinnedParseError
- type ManualType
- type PinnedType
- type RawExtension
- func (re *RawExtension) As(x interface{}) error
- func (re *RawExtension) AsDuck(x interface{}) error
- func (in *RawExtension) DeepCopy() *RawExtension
- func (in *RawExtension) DeepCopyInto(out *RawExtension)
- func (re RawExtension) MarshalJSON() ([]byte, error)
- func (re *RawExtension) UnmarshalJSON(in []byte) error
- type ReleaseType
- type Revision
- func (r *Revision) BuildRef() *corev1.ObjectReference
- func (current *Revision) CheckImmutableFields(ctx context.Context, og apis.Immutable) *apis.FieldError
- 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) GetLastPinned() (time.Time, error)
- func (r *Revision) GetProtocol() net.ProtocolType
- func (r *Revision) SetDefaults(ctx context.Context)
- func (r *Revision) SetLastPinned(t time.Time)
- func (rt *Revision) Validate(ctx context.Context) *apis.FieldError
- type RevisionContainerConcurrencyType
- type RevisionList
- type RevisionRequestConcurrencyModelType
- type RevisionSpec
- type RevisionStatus
- func (in *RevisionStatus) DeepCopy() *RevisionStatus
- func (in *RevisionStatus) DeepCopyInto(out *RevisionStatus)
- func (rs *RevisionStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
- func (rs *RevisionStatus) InitializeConditions()
- func (rs *RevisionStatus) IsActivationRequired() bool
- func (rs *RevisionStatus) IsReady() bool
- func (rs *RevisionStatus) MarkActivating(reason, message string)
- func (rs *RevisionStatus) MarkActive()
- func (rs *RevisionStatus) MarkContainerExiting(exitCode int32, message string)
- func (rs *RevisionStatus) MarkContainerHealthy()
- func (rs *RevisionStatus) MarkContainerMissing(message string)
- func (rs *RevisionStatus) MarkDeploying(reason string)
- func (rs *RevisionStatus) MarkInactive(reason, message string)
- func (rs *RevisionStatus) MarkProgressDeadlineExceeded(message string)
- func (rs *RevisionStatus) MarkResourceNotOwned(kind, name string)
- func (rs *RevisionStatus) MarkResourcesAvailable()
- func (rs *RevisionStatus) MarkServiceTimeout()
- func (rs *RevisionStatus) PropagateBuildStatus(bs duckv1alpha1.Status)
- type RevisionTemplateSpec
- type Route
- type RouteList
- type RouteSpec
- type RouteStatus
- func (in *RouteStatus) DeepCopy() *RouteStatus
- func (in *RouteStatus) DeepCopyInto(out *RouteStatus)
- func (rs *RouteStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
- func (rs *RouteStatus) InitializeConditions()
- func (rs *RouteStatus) IsReady() bool
- func (rs *RouteStatus) MarkConfigurationFailed(name string)
- func (rs *RouteStatus) MarkConfigurationNotReady(name string)
- func (rs *RouteStatus) MarkMissingTrafficTarget(kind, name string)
- func (rs *RouteStatus) MarkRevisionFailed(name string)
- func (rs *RouteStatus) MarkRevisionNotReady(name string)
- func (rs *RouteStatus) MarkServiceNotOwned(name string)
- func (rs *RouteStatus) MarkTrafficAssigned()
- func (rs *RouteStatus) MarkUnknownTrafficError(msg string)
- func (rs *RouteStatus) PropagateClusterIngressStatus(cs v1alpha1.IngressStatus)
- type RouteStatusFields
- type RunLatestType
- type Service
- func (s *Service) AnnotateUserInfo(ctx context.Context, prev apis.Annotatable, ui *authv1.UserInfo)
- 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
- func (in *ServiceStatus) DeepCopy() *ServiceStatus
- func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)
- func (ss *ServiceStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
- func (ss *ServiceStatus) InitializeConditions()
- func (ss *ServiceStatus) IsReady() bool
- func (ss *ServiceStatus) MarkConfigurationNotOwned(name string)
- func (ss *ServiceStatus) MarkRouteNotOwned(name string)
- func (ss *ServiceStatus) MarkRouteNotYetReady()
- func (ss *ServiceStatus) PropagateConfigurationStatus(cs *ConfigurationStatus)
- func (ss *ServiceStatus) PropagateRouteStatus(rs *RouteStatus)
- func (ss *ServiceStatus) SetManualStatus()
- type TrafficTarget
Constants ¶
const ( // UserPortName is the name that will be used for the Port on the // Deployment and Pod created by a Revision. This name will be set regardless of if // a user specifies a port or the default value is chosen. UserPortName = "user-port" // DefaultUserPort is the default port value the QueueProxy will // use for connecting to the user container. DefaultUserPort = 8080 // RequestQueuePortName specifies the port name to use for http requests // in queue-proxy container. RequestQueuePortName string = "queue-port" // RequestQueuePort specifies the port number to use for http requests // in queue-proxy container. RequestQueuePort = 8012 // RequestQueueAdminPortName specifies the port name for // health check and lifecyle hooks for queue-proxy. RequestQueueAdminPortName string = "queueadm-port" // RequestQueueAdminPort specifies the port number for // health check and lifecyle hooks for queue-proxy. RequestQueueAdminPort = 8022 // RequestQueueMetricsPort specifies the port number for metrics emitted // by queue-proxy. RequestQueueMetricsPort = 9090 // RequestQueueMetricsPortName specifies the port name to use for metrics // emitted by queue-proxy. RequestQueueMetricsPortName = "queue-metrics" )
const ( AnnotationParseErrorTypeMissing = "Missing" AnnotationParseErrorTypeInvalid = "Invalid" LabelParserErrorTypeMissing = "Missing" LabelParserErrorTypeInvalid = "Invalid" )
const ( // RevisionConditionReady is set when the revision is starting to materialize // runtime resources, and becomes true when those resources are ready. RevisionConditionReady = duckv1alpha1.ConditionReady // RevisionConditionBuildSucceeded is set when the revision has an associated build // and is marked True if/once the Build has completed successfully. RevisionConditionBuildSucceeded duckv1alpha1.ConditionType = "BuildSucceeded" // RevisionConditionResourcesAvailable is set when underlying // Kubernetes resources have been provisioned. RevisionConditionResourcesAvailable duckv1alpha1.ConditionType = "ResourcesAvailable" // RevisionConditionContainerHealthy is set when the revision readiness check completes. RevisionConditionContainerHealthy duckv1alpha1.ConditionType = "ContainerHealthy" // RevisionConditionActive is set when the revision is receiving traffic. RevisionConditionActive duckv1alpha1.ConditionType = "Active" )
const ( // RouteConditionReady is set when the service is configured // and has available backends ready to receive traffic. RouteConditionReady = duckv1alpha1.ConditionReady // RouteConditionAllTrafficAssigned is set to False when the // service is not configured properly or has no available // backends ready to receive traffic. RouteConditionAllTrafficAssigned duckv1alpha1.ConditionType = "AllTrafficAssigned" // RouteConditionIngressReady is set to False when the // ClusterIngress fails to become Ready. RouteConditionIngressReady duckv1alpha1.ConditionType = "IngressReady" )
const ( // LatestTrafficTarget is the named constant of the `latest` traffic target. LatestTrafficTarget = "latest" // CurrentTrafficTarget is the named constnat of the `current` traffic target. CurrentTrafficTarget = "current" // CandidateTrafficTarget is the named constnat of the `candidate` traffic target. CandidateTrafficTarget = "candidate" )
const ( // CreatorAnnotation is the annotation key to describe the user that // created the resource. CreatorAnnotation = "serving.knative.dev/creator" // UpdaterAnnotation is the annotation key to describe the user that // last updated the resource. UpdaterAnnotation = "serving.knative.dev/lastModifier" )
const ( // ServiceConditionReady is set when the service is configured // and has available backends ready to receive traffic. ServiceConditionReady = duckv1alpha1.ConditionReady // ServiceConditionRoutesReady is set when the service's underlying // routes have reported readiness. ServiceConditionRoutesReady duckv1alpha1.ConditionType = "RoutesReady" // ServiceConditionConfigurationsReady is set when the service's underlying // configurations have reported readiness. ServiceConditionConfigurationsReady duckv1alpha1.ConditionType = "ConfigurationsReady" )
ConditionType represents a Service condition value
const ( // ConfigurationConditionReady is set when the configuration's latest // underlying revision has reported readiness. ConfigurationConditionReady = duckv1alpha1.ConditionReady )
const ReleaseLatestRevisionKeyword = "@latest"
ReleaseLatestRevisionKeyword is a shortcut for usage in the `release` mode to refer to the latest created revision. See #2819 for details.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: serving.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func RevisionContainerExitingMessage ¶
RevisionContainerExitingMessage constructs the status message if a container fails to come up.
func RevisionContainerMissingMessage ¶
RevisionContainerMissingMessage constructs the status message if a given image cannot be pulled correctly.
func ValidateContainerConcurrency ¶
func ValidateContainerConcurrency(cc RevisionContainerConcurrencyType, cm RevisionRequestConcurrencyModelType) *apis.FieldError
ValidateContainerConcurrency ensures ContainerConcurrency is properly configured.
func ValidateObjectMetadata ¶
func ValidateObjectMetadata(meta metav1.Object) *apis.FieldError
ValidateObjectMetadata validates that `metadata` stanza of the resources is correct.
Types ¶
type AnnotationParseError ¶
+k8s:deepcopy-gen=false
type Configuration ¶
type Configuration struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec holds the desired state of the Configuration (from the client). // +optional Spec ConfigurationSpec `json:"spec,omitempty"` // Status communicates the observed state of the Configuration (from the controller). // +optional Status ConfigurationStatus `json:"status,omitempty"` }
Configuration represents the "floating HEAD" of a linear history of Revisions, and optionally how the containers those revisions reference are built. 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) 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
func (*Configuration) SetDefaults ¶
func (c *Configuration) SetDefaults(ctx context.Context)
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 { // DeprecatedGeneration was used prior in Kubernetes versions <1.11 // when metadata.generation was not being incremented by the api server // // This property will be dropped in future Knative releases and should // not be used - use metadata.generation // // Tracking issue: https://github.com/knative/serving/issues/643 // // +optional DeprecatedGeneration int64 `json:"generation,omitempty"` // Build optionally holds the specification for the build to // perform to produce the Revision's container image. // +optional Build *RawExtension `json:"build,omitempty"` // RevisionTemplate holds the latest specification for the Revision to // be stamped out. If a Build specification is provided, then the // RevisionTemplate's BuildName field will be populated with the name of // the Build object created to produce the container for the Revision. // +optional RevisionTemplate RevisionTemplateSpec `json:"revisionTemplate"` }
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)
func (*ConfigurationSpec) Validate ¶
func (cs *ConfigurationSpec) Validate(ctx context.Context) *apis.FieldError
Validate makes sure that ConfigurationSpec is properly configured.
type ConfigurationStatus ¶
type ConfigurationStatus struct { duckv1alpha1.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) GetCondition ¶
func (cs *ConfigurationStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
func (*ConfigurationStatus) InitializeConditions ¶
func (cs *ConfigurationStatus) InitializeConditions()
func (*ConfigurationStatus) IsLatestReadyRevisionNameUpToDate ¶
func (cs *ConfigurationStatus) IsLatestReadyRevisionNameUpToDate() bool
IsLatestReadyRevisionNameUpToDate returns true if the Configuration is ready and LatestCreateRevisionName is equal to LatestReadyRevisionName. Otherwise it returns false.
func (*ConfigurationStatus) IsReady ¶
func (cs *ConfigurationStatus) IsReady() bool
IsReady looks at the conditions to see if they are happy.
func (*ConfigurationStatus) MarkLatestCreatedFailed ¶
func (cs *ConfigurationStatus) MarkLatestCreatedFailed(name, message string)
func (*ConfigurationStatus) MarkLatestReadyDeleted ¶
func (cs *ConfigurationStatus) MarkLatestReadyDeleted()
func (*ConfigurationStatus) MarkRevisionCreationFailed ¶
func (cs *ConfigurationStatus) MarkRevisionCreationFailed(message string)
func (*ConfigurationStatus) SetLatestCreatedRevisionName ¶
func (cs *ConfigurationStatus) SetLatestCreatedRevisionName(name string)
func (*ConfigurationStatus) SetLatestReadyRevisionName ¶
func (cs *ConfigurationStatus) SetLatestReadyRevisionName(name string)
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 all of the non-duckv1alpha1.Status status fields of a Route. These are defined outline so that we can also inline them into Service, and more easily copy them.
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.
type DeprecatedRevisionServingStateType ¶
type DeprecatedRevisionServingStateType string
DeprecatedRevisionServingStateType is an enumeration of the levels of serving readiness of the Revision. See also: https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-conditions-and-reporting
const ( // The revision is ready to serve traffic. It should have Kubernetes // resources, and the Istio route should be pointed to the given resources. DeprecatedRevisionServingStateActive DeprecatedRevisionServingStateType = "Active" // The revision is not currently serving traffic, but could be made to serve // traffic quickly. It should have Kubernetes resources, but the Istio route // should be pointed to the activator. DeprecatedRevisionServingStateReserve DeprecatedRevisionServingStateType = "Reserve" // The revision has been decommissioned and is not needed to serve traffic // anymore. It should not have any Istio routes or Kubernetes resources. // A Revision may be brought out of retirement, but it may take longer than // it would from a "Reserve" state. // Note: currently not set anywhere. See https://github.com/knative/serving/issues/1203 DeprecatedRevisionServingStateRetired DeprecatedRevisionServingStateType = "Retired" )
func (DeprecatedRevisionServingStateType) Validate ¶
func (ss DeprecatedRevisionServingStateType) Validate(ctx context.Context) *apis.FieldError
Validate ensures RevisionRequestConcurrencyModelType is properly configured.
type LastPinnedParseError ¶
type LastPinnedParseError AnnotationParseError
+k8s:deepcopy-gen=false
func (LastPinnedParseError) Error ¶
func (e LastPinnedParseError) Error() string
type ManualType ¶
type ManualType struct { }
ManualType contains the options for configuring a manual service. See ServiceSpec for more details.
func (*ManualType) DeepCopy ¶
func (in *ManualType) DeepCopy() *ManualType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualType.
func (*ManualType) DeepCopyInto ¶
func (in *ManualType) DeepCopyInto(out *ManualType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ManualType) Validate ¶
func (m *ManualType) Validate(ctx context.Context) *apis.FieldError
Validate validates the fields belonging to ManualType
type PinnedType ¶
type PinnedType struct { // The revision name to pin this service to until changed // to a different service type. // +optional RevisionName string `json:"revisionName,omitempty"` // The configuration for this service. // +optional Configuration ConfigurationSpec `json:"configuration,omitempty"` }
PinnedType is DEPRECATED. ReleaseType should be used instead. To get the behavior of PinnedType set ReleaseType.Revisions to []string{PinnedType.RevisionName} and ReleaseType.RolloutPercent to 0.
func (*PinnedType) DeepCopy ¶
func (in *PinnedType) DeepCopy() *PinnedType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PinnedType.
func (*PinnedType) DeepCopyInto ¶
func (in *PinnedType) DeepCopyInto(out *PinnedType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PinnedType) Validate ¶
func (pt *PinnedType) Validate(ctx context.Context) *apis.FieldError
Validate validates the fields belonging to PinnedType
type RawExtension ¶
type RawExtension struct { // Field order is the precedence for JSON marshaling if multiple // fields are set. Raw []byte Object runtime.Object BuildSpec *buildv1alpha1.BuildSpec }
RawExtension is modeled after runtime.RawExtension, and should be replaced with it (or an alias) once we can stop supporting embedded BuildSpecs.
func (*RawExtension) As ¶
func (re *RawExtension) As(x interface{}) error
As is a helper to decode the raw object into a particular type. The type is expected to exhaustively specify the fields encountered.
func (*RawExtension) AsDuck ¶
func (re *RawExtension) AsDuck(x interface{}) error
AsDuck is a helper to decode the raw object into a particular duck type. The type may only represent a subset of the fields present.
func (*RawExtension) DeepCopy ¶
func (in *RawExtension) DeepCopy() *RawExtension
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawExtension.
func (*RawExtension) DeepCopyInto ¶
func (in *RawExtension) DeepCopyInto(out *RawExtension)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RawExtension) MarshalJSON ¶
func (re RawExtension) MarshalJSON() ([]byte, error)
MarshalJSON may get called on pointers or values, so implement MarshalJSON on value. http://stackoverflow.com/questions/21390979/custom-marshaljson-never-gets-called-in-go
func (*RawExtension) UnmarshalJSON ¶
func (re *RawExtension) UnmarshalJSON(in []byte) error
type ReleaseType ¶
type ReleaseType struct { // Revisions is an ordered list of 1 or 2 revisions. The first will // have a TrafficTarget with a name of "current" and the second will have // a name of "candidate". // +optional Revisions []string `json:"revisions,omitempty"` // RolloutPercent is the percent of traffic that should be sent to the "candidate" // revision. Valid values are between 0 and 99 inclusive. // +optional RolloutPercent int `json:"rolloutPercent,omitempty"` // The configuration for this service. All revisions from this service must // come from a single configuration. // +optional Configuration ConfigurationSpec `json:"configuration,omitempty"` }
ReleaseType contains the options for slowly releasing revisions. See ServiceSpec for more details.
func (*ReleaseType) DeepCopy ¶
func (in *ReleaseType) DeepCopy() *ReleaseType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReleaseType.
func (*ReleaseType) DeepCopyInto ¶
func (in *ReleaseType) DeepCopyInto(out *ReleaseType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ReleaseType) Validate ¶
func (rt *ReleaseType) Validate(ctx context.Context) *apis.FieldError
Validate validates the fields belonging to ReleaseType
type Revision ¶
type Revision struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // Spec holds the desired state of the Revision (from the client). // +optional Spec RevisionSpec `json:"spec,omitempty"` // Status communicates the observed state of the Revision (from the controller). // +optional Status RevisionStatus `json:"status,omitempty"` }
Revision is an immutable snapshot of code and configuration. A revision references a container image, and optionally a build that is responsible for materializing that container image from source. Revisions are created by updates to a Configuration.
See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
func (*Revision) BuildRef ¶
func (r *Revision) BuildRef() *corev1.ObjectReference
func (*Revision) CheckImmutableFields ¶
func (current *Revision) CheckImmutableFields(ctx context.Context, og apis.Immutable) *apis.FieldError
CheckImmutableFields checks the immutable fields are not modified.
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
func (*Revision) GetProtocol ¶
func (r *Revision) GetProtocol() net.ProtocolType
GetProtocol returns the app level network protocol.
func (*Revision) SetDefaults ¶
func (*Revision) SetLastPinned ¶
type RevisionContainerConcurrencyType ¶
type RevisionContainerConcurrencyType int64
RevisionContainerConcurrencyType is an integer expressing a number of in-flight (concurrent) requests.
const ( // The maximum configurable container concurrency. RevisionContainerConcurrencyMax RevisionContainerConcurrencyType = 1000 )
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 RevisionRequestConcurrencyModelType ¶
type RevisionRequestConcurrencyModelType string
RevisionRequestConcurrencyModelType is an enumeration of the concurrency models supported by a Revision. Deprecated in favor of RevisionContainerConcurrencyType.
const ( // RevisionRequestConcurrencyModelSingle guarantees that only one // request will be handled at a time (concurrently) per instance // of Revision Container. RevisionRequestConcurrencyModelSingle RevisionRequestConcurrencyModelType = "Single" // RevisionRequestConcurencyModelMulti allows more than one request to // be handled at a time (concurrently) per instance of Revision // Container. RevisionRequestConcurrencyModelMulti RevisionRequestConcurrencyModelType = "Multi" )
func (RevisionRequestConcurrencyModelType) Validate ¶
func (cm RevisionRequestConcurrencyModelType) Validate(ctx context.Context) *apis.FieldError
Validate ensures RevisionRequestConcurrencyModelType is properly configured.
type RevisionSpec ¶
type RevisionSpec struct { // DeprecatedGeneration was used prior in Kubernetes versions <1.11 // when metadata.generation was not being incremented by the api server // // This property will be dropped in future Knative releases and should // not be used - use metadata.generation // // Tracking issue: https://github.com/knative/serving/issues/643 // // +optional DeprecatedGeneration int64 `json:"generation,omitempty"` // DeprecatedServingState holds a value describing the desired state the Kubernetes // resources should be in for this Revision. // Users must not specify this when creating a revision. These values are no longer // updated by the system. // +optional DeprecatedServingState DeprecatedRevisionServingStateType `json:"servingState,omitempty"` // DeprecatedConcurrencyModel specifies the desired concurrency model // (Single or Multi) for the // Revision. Defaults to Multi. // Deprecated in favor of ContainerConcurrency. // +optional DeprecatedConcurrencyModel RevisionRequestConcurrencyModelType `json:"concurrencyModel,omitempty"` // ContainerConcurrency specifies the maximum allowed // in-flight (concurrent) requests per container of the Revision. // Defaults to `0` which means unlimited concurrency. // This field replaces ConcurrencyModel. A value of `1` // is equivalent to `Single` and `0` is equivalent to `Multi`. // +optional ContainerConcurrency RevisionContainerConcurrencyType `json:"containerConcurrency,omitempty"` // 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"` // DeprecatedBuildName optionally holds the name of the Build responsible for // producing the container image for its Revision. // DEPRECATED: Use BuildRef instead. // +optional DeprecatedBuildName string `json:"buildName,omitempty"` // BuildRef holds the reference to the build (if there is one) responsible // for producing the container image for this Revision. Otherwise, nil // +optional BuildRef *corev1.ObjectReference `json:"buildRef,omitempty"` // Container 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 Container corev1.Container `json:"container,omitempty"` // Volumes defines a set of Kubernetes volumes to be mounted into the // specified Container. Currently only ConfigMap and Secret volumes are // supported. Volumes []corev1.Volume `json:"volumes,omitempty"` // TimeoutSeconds holds the max duration the instance is allowed for responding to a request. // +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)
func (*RevisionSpec) Validate ¶
func (rs *RevisionSpec) Validate(ctx context.Context) *apis.FieldError
Validate ensures RevisionSpec is properly configured.
type RevisionStatus ¶
type RevisionStatus struct { duckv1alpha1.Status `json:",inline"` // ServiceName holds the name of a core Kubernetes Service resource that // load balances over the pods backing this Revision. When the Revision // is Active, this service would be an appropriate ingress target for // targeting the 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"` // ImageDigest holds the resolved digest for the image specified // within .Spec.Container.Image. The digest is resolved during the creation // of Revision. This field holds the digest value regardless of whether // a tag or digest was originally specified in the Container object. It // may be empty if the image comes from a registry listed to skip resolution. // +optional ImageDigest string `json:"imageDigest,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) GetCondition ¶
func (rs *RevisionStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
func (*RevisionStatus) InitializeConditions ¶
func (rs *RevisionStatus) InitializeConditions()
func (*RevisionStatus) IsActivationRequired ¶
func (rs *RevisionStatus) IsActivationRequired() bool
IsActivationRequired returns true if activation is required.
func (*RevisionStatus) IsReady ¶
func (rs *RevisionStatus) IsReady() bool
IsReady looks at the conditions and if the Status has a condition RevisionConditionReady returns true if ConditionStatus is True
func (*RevisionStatus) MarkActivating ¶
func (rs *RevisionStatus) MarkActivating(reason, message string)
func (*RevisionStatus) MarkActive ¶
func (rs *RevisionStatus) MarkActive()
func (*RevisionStatus) MarkContainerExiting ¶
func (rs *RevisionStatus) MarkContainerExiting(exitCode int32, message string)
func (*RevisionStatus) MarkContainerHealthy ¶
func (rs *RevisionStatus) MarkContainerHealthy()
func (*RevisionStatus) MarkContainerMissing ¶
func (rs *RevisionStatus) MarkContainerMissing(message string)
func (*RevisionStatus) MarkDeploying ¶
func (rs *RevisionStatus) MarkDeploying(reason string)
func (*RevisionStatus) MarkInactive ¶
func (rs *RevisionStatus) MarkInactive(reason, message string)
func (*RevisionStatus) MarkProgressDeadlineExceeded ¶
func (rs *RevisionStatus) MarkProgressDeadlineExceeded(message string)
func (*RevisionStatus) MarkResourceNotOwned ¶
func (rs *RevisionStatus) MarkResourceNotOwned(kind, name string)
MarkResourceNotOwned changes the "ResourcesAvailable" condition to false to reflect that the resource of the given kind and name has already been created, and we do not own it.
func (*RevisionStatus) MarkResourcesAvailable ¶
func (rs *RevisionStatus) MarkResourcesAvailable()
func (*RevisionStatus) MarkServiceTimeout ¶
func (rs *RevisionStatus) MarkServiceTimeout()
func (*RevisionStatus) PropagateBuildStatus ¶
func (rs *RevisionStatus) PropagateBuildStatus(bs duckv1alpha1.Status)
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) Validate ¶
func (rt *RevisionTemplateSpec) Validate(ctx context.Context) *apis.FieldError
Validate ensures RevisionTemplateSpec is properly configured.
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) 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
func (*Route) SetDefaults ¶
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 { // DeprecatedGeneration was used prior in Kubernetes versions <1.11 // when metadata.generation was not being incremented by the api server // // This property will be dropped in future Knative releases and should // not be used - use metadata.generation // // Tracking issue: https://github.com/knative/serving/issues/643 // // +optional DeprecatedGeneration int64 `json:"generation,omitempty"` // Traffic specifies how to distribute traffic over a collection of Knative Serving 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 ¶
type RouteStatus ¶
type RouteStatus struct { duckv1alpha1.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) GetCondition ¶
func (rs *RouteStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
func (*RouteStatus) InitializeConditions ¶
func (rs *RouteStatus) InitializeConditions()
func (*RouteStatus) IsReady ¶
func (rs *RouteStatus) IsReady() bool
func (*RouteStatus) MarkConfigurationFailed ¶
func (rs *RouteStatus) MarkConfigurationFailed(name string)
func (*RouteStatus) MarkConfigurationNotReady ¶
func (rs *RouteStatus) MarkConfigurationNotReady(name string)
func (*RouteStatus) MarkMissingTrafficTarget ¶
func (rs *RouteStatus) MarkMissingTrafficTarget(kind, name string)
func (*RouteStatus) MarkRevisionFailed ¶
func (rs *RouteStatus) MarkRevisionFailed(name string)
func (*RouteStatus) MarkRevisionNotReady ¶
func (rs *RouteStatus) MarkRevisionNotReady(name string)
func (*RouteStatus) MarkServiceNotOwned ¶
func (rs *RouteStatus) MarkServiceNotOwned(name string)
MarkServiceNotOwned changes the IngressReady status to be false with the reason being that there is a pre-existing placeholder service with the name we wanted to use.
func (*RouteStatus) MarkTrafficAssigned ¶
func (rs *RouteStatus) MarkTrafficAssigned()
func (*RouteStatus) MarkUnknownTrafficError ¶
func (rs *RouteStatus) MarkUnknownTrafficError(msg string)
func (*RouteStatus) PropagateClusterIngressStatus ¶
func (rs *RouteStatus) PropagateClusterIngressStatus(cs v1alpha1.IngressStatus)
PropagateClusterIngressStatus update RouteConditionIngressReady condition in RouteStatus according to IngressStatus.
type RouteStatusFields ¶
type RouteStatusFields struct { // Domain holds the top-level domain that will distribute traffic over the provided targets. // It generally has the form {route-name}.{route-namespace}.{cluster-level-suffix} // +optional Domain string `json:"domain,omitempty"` // DeprecatedDomainInternal holds the top-level domain that will distribute traffic over the provided // targets from inside the cluster. It generally has the form // {route-name}.{route-namespace}.svc.{cluster-domain-name} // DEPRECATED: Use Address instead. // +optional DeprecatedDomainInternal string `json:"domainInternal,omitempty"` // Address holds the information needed for a Route to be the target of an event. // +optional Address *duckv1alpha1.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 all of the non-duckv1alpha1.Status status fields of a Route. These are defined outline so that we can also inline them into Service, and more easily copy them.
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.
type RunLatestType ¶
type RunLatestType struct { // The configuration for this service. // +optional Configuration ConfigurationSpec `json:"configuration,omitempty"` }
RunLatestType contains the options for always having a route to the latest configuration. See ServiceSpec for more details.
func (*RunLatestType) DeepCopy ¶
func (in *RunLatestType) DeepCopy() *RunLatestType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunLatestType.
func (*RunLatestType) DeepCopyInto ¶
func (in *RunLatestType) DeepCopyInto(out *RunLatestType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RunLatestType) Validate ¶
func (rlt *RunLatestType) Validate(ctx context.Context) *apis.FieldError
Validate validates the fields belonging to RunLatestType
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 set of Routes and Configurations 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) AnnotateUserInfo ¶
AnnotateUserInfo satisfay the apis.Annotatable interface, and set the proper annotations on the Service resource about the user that performed the action.
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 GetGroupVersionKind.
func (*Service) SetDefaults ¶
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 { // DeprecatedGeneration was used prior in Kubernetes versions <1.11 // when metadata.generation was not being incremented by the api server // // This property will be dropped in future Knative releases and should // not be used - use metadata.generation // // Tracking issue: https://github.com/knative/serving/issues/643 // // +optional DeprecatedGeneration int64 `json:"generation,omitempty"` // RunLatest defines a simple Service. It will automatically // configure a route that keeps the latest ready revision // from the supplied configuration running. // +optional RunLatest *RunLatestType `json:"runLatest,omitempty"` // DeprecatedPinned is DEPRECATED in favor of ReleaseType // +optional DeprecatedPinned *PinnedType `json:"pinned,omitempty"` // Manual mode enables users to start managing the underlying Route and Configuration // resources directly. This advanced usage is intended as a path for users to graduate // from the limited capabilities of Service to the full power of Route. // +optional Manual *ManualType `json:"manual,omitempty"` // Release enables gradual promotion of new revisions by allowing traffic // to be split between two revisions. This type replaces the deprecated Pinned type. // +optional Release *ReleaseType `json:"release,omitempty"` }
ServiceSpec represents the configuration for the Service object. Exactly one of its members (other than Generation) must be specified. Services can either track the latest ready revision of a configuration or be pinned to a specific revision.
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)
func (*ServiceSpec) Validate ¶
func (ss *ServiceSpec) Validate(ctx context.Context) *apis.FieldError
Validate validates the fields belonging to ServiceSpec recursively
type ServiceStatus ¶
type ServiceStatus struct { duckv1alpha1.Status `json:",inline"` RouteStatusFields `json:",inline"` ConfigurationStatusFields `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) GetCondition ¶
func (ss *ServiceStatus) GetCondition(t duckv1alpha1.ConditionType) *duckv1alpha1.Condition
GetCondition returns the condition by name.
func (*ServiceStatus) InitializeConditions ¶
func (ss *ServiceStatus) InitializeConditions()
InitializeConditions sets the initial values to the conditions.
func (*ServiceStatus) IsReady ¶
func (ss *ServiceStatus) IsReady() bool
IsReady returns if the service is ready to serve the requested configuration.
func (*ServiceStatus) MarkConfigurationNotOwned ¶
func (ss *ServiceStatus) MarkConfigurationNotOwned(name string)
MarkConfigurationNotOwned surfaces a failure via the ConfigurationsReady status noting that the Configuration with the name we want has already been created and we do not own it.
func (*ServiceStatus) MarkRouteNotOwned ¶
func (ss *ServiceStatus) MarkRouteNotOwned(name string)
MarkRouteNotOwned surfaces a failure via the RoutesReady status noting that the Route with the name we want has already been created and we do not own it.
func (*ServiceStatus) MarkRouteNotYetReady ¶
func (ss *ServiceStatus) MarkRouteNotYetReady()
MarkRouteNotYetReady marks the service `RouteReady` condition to the `Unknown` state. See: #2430, for details.
func (*ServiceStatus) PropagateConfigurationStatus ¶
func (ss *ServiceStatus) PropagateConfigurationStatus(cs *ConfigurationStatus)
PropagateConfigurationStatus takes the Configuration status and applies its values to the Service status.
func (*ServiceStatus) PropagateRouteStatus ¶
func (ss *ServiceStatus) PropagateRouteStatus(rs *RouteStatus)
PropagateRouteStatus propagates route's status to the service's status.
func (*ServiceStatus) SetManualStatus ¶
func (ss *ServiceStatus) SetManualStatus()
SetManualStatus updates the service conditions to unknown as the underlying Route can have TrafficTargets to Configurations not owned by the service. We do not want to falsely report Ready.
type TrafficTarget ¶
type TrafficTarget struct { // Name is optionally used to expose a dedicated hostname for referencing this // target exclusively. It has the form: {name}.${route.status.domain} // +optional Name string `json:"name,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"` // Percent specifies percent of the traffic to this Revision or Configuration. // This defaults to zero if unspecified. 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.) URL string `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) Validate ¶
func (tt *TrafficTarget) Validate(ctx context.Context) *apis.FieldError
Validate verifies that TrafficTarget is properly configured.
Source Files ¶
- build_compat.go
- configuration_defaults.go
- configuration_lifecycle.go
- configuration_types.go
- configuration_validation.go
- doc.go
- metadata_validation.go
- register.go
- revision_defaults.go
- revision_lifecycle.go
- revision_types.go
- revision_validation.go
- route_defaults.go
- route_lifecycle.go
- route_types.go
- route_validation.go
- service_defaults.go
- service_lifecycle.go
- service_types.go
- service_validation.go
- zz_generated.deepcopy.go