v1alpha1

package
v0.14.3 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2020 License: Apache-2.0 Imports: 25 Imported by: 0

README

Knative Serving API v1alpha1

This is the implementation of the Knative Serving API, which is specified in docs/spec/spec.md and verified via the conformance tests.

Updates to this implementation should include a corresponding change to the spec and the conformance tests. (#780)

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=serving.knative.dev

Index

Constants

View Source
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 = v1.UserPortName

	// DefaultUserPort is the default port value the QueueProxy will
	// use for connecting to the user container.
	DefaultUserPort = v1.DefaultUserPort

	// QueueAdminPortName specifies the port name for
	// health check and lifecycle hooks for queue-proxy.
	QueueAdminPortName = v1.QueueAdminPortName

	// AutoscalingQueueMetricsPortName specifies the port name to use for metrics
	// emitted by queue-proxy for autoscaler.
	AutoscalingQueueMetricsPortName = v1.AutoscalingQueueMetricsPortName

	// UserQueueMetricsPortName specifies the port name to use for metrics
	// emitted by queue-proxy for end user.
	UserQueueMetricsPortName = v1.UserQueueMetricsPortName

	AnnotationParseErrorTypeMissing = v1.AnnotationParseErrorTypeMissing
	AnnotationParseErrorTypeInvalid = v1.AnnotationParseErrorTypeInvalid
	LabelParserErrorTypeMissing     = v1.LabelParserErrorTypeMissing
	LabelParserErrorTypeInvalid     = v1.LabelParserErrorTypeInvalid
)
View Source
const (
	// NotOwned defines the reason for marking revision availability status as
	// false due to resource ownership issues.
	NotOwned = v1.ReasonNotOwned

	// Deploying defines the reason for marking revision availability status as
	// unknown if the revision is still deploying.
	Deploying = v1.ReasonDeploying

	// ProgressDeadlineExceeded defines the reason for marking revision availability
	// status as false if progress has exceeded the deadline.
	ProgressDeadlineExceeded = v1.ReasonProgressDeadlineExceeded

	// ContainerMissing defines the reason for marking container healthiness status
	// as false if the a container image for the revision is missing.
	ContainerMissing = v1.ReasonContainerMissing
)
View Source
const (
	// RevisionConditionReady is set when the revision is starting to materialize
	// runtime resources, and becomes true when those resources are ready.
	RevisionConditionReady = v1.RevisionConditionReady
	// RevisionConditionResourcesAvailable is set when underlying
	// Kubernetes resources have been provisioned.
	RevisionConditionResourcesAvailable = v1.RevisionConditionResourcesAvailable
	// RevisionConditionContainerHealthy is set when the revision readiness check completes.
	RevisionConditionContainerHealthy = v1.RevisionConditionContainerHealthy
	// RevisionConditionActive is set when the revision is receiving traffic.
	RevisionConditionActive = v1.RevisionConditionActive
)
View Source
const (
	// RouteConditionReady is set when the service is configured
	// and has available backends ready to receive traffic.
	RouteConditionReady = apis.ConditionReady

	// RouteConditionAllTrafficAssigned is set to False when the
	// service is not configured properly or has no available
	// backends ready to receive traffic.
	RouteConditionAllTrafficAssigned apis.ConditionType = "AllTrafficAssigned"

	// RouteConditionIngressReady is set to False when the
	// Ingress fails to become Ready.
	RouteConditionIngressReady apis.ConditionType = "IngressReady"

	// RouteConditionCertificateProvisioned is set to False when the
	// Knative Certificates fail to be provisioned for the Route.
	RouteConditionCertificateProvisioned apis.ConditionType = "CertificateProvisioned"
)
View Source
const (

	// LatestTrafficTarget is the named constant of the `latest` traffic target.
	LatestTrafficTarget = "latest"

	// CurrentTrafficTarget is the named constant of the `current` traffic target.
	CurrentTrafficTarget = "current"

	// CandidateTrafficTarget is the named constant of the `candidate` traffic target.
	CandidateTrafficTarget = "candidate"
)
View Source
const (
	// ServiceConditionReady is set when the service is configured
	// and has available backends ready to receive traffic.
	ServiceConditionReady = apis.ConditionReady
	// ServiceConditionRoutesReady is set when the service's underlying
	// routes have reported readiness.
	ServiceConditionRoutesReady apis.ConditionType = "RoutesReady"
	// ServiceConditionConfigurationsReady is set when the service's underlying
	// configurations have reported readiness.
	ServiceConditionConfigurationsReady apis.ConditionType = "ConfigurationsReady"
)

ConditionType represents a Service condition value

View Source
const (
	// ConditionTypeConvertible is a Warning condition that is set on
	// resources when they cannot be converted to warn of a forthcoming
	// breakage.
	ConditionTypeConvertible apis.ConditionType = "Convertible"
)
View Source
const (
	// ConfigurationConditionReady is set when the configuration's latest
	// underlying revision has reported readiness.
	ConfigurationConditionReady = apis.ConditionReady
)
View Source
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

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: serving.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func ConvertErrorf added in v0.6.0

func ConvertErrorf(field, msg string, args ...interface{}) error

ConvertErrorf creates a CannotConvertError from the field name and format string.

func ExitCodeReason added in v0.10.0

func ExitCodeReason(exitCode int32) string

ExitCodeReason constructs the status message from an exit code

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

func ResourceNotOwnedMessage added in v0.10.0

func ResourceNotOwnedMessage(kind, name string) string

ResourceNotOwnedMessage constructs the status message if ownership on the resource is not right.

func RevisionContainerExitingMessage added in v0.3.0

func RevisionContainerExitingMessage(message string) string

RevisionContainerExitingMessage constructs the status message if a container fails to come up.

func RevisionContainerMissingMessage added in v0.3.0

func RevisionContainerMissingMessage(image string, message string) string

RevisionContainerMissingMessage constructs the status message if a given image cannot be pulled correctly.

func RevisionLastPinnedString added in v0.2.0

func RevisionLastPinnedString(t time.Time) string

Types

type AnnotationParseError added in v0.2.0

type AnnotationParseError struct {
	Type  string
	Value string
	Err   error
}

+k8s:deepcopy-gen=false

type CannotConvertError added in v0.6.0

type CannotConvertError struct {
	Message string
	Field   string
}

CannotConvertError is returned when a field cannot be converted.

func (*CannotConvertError) DeepCopy added in v0.6.0

func (in *CannotConvertError) DeepCopy() *CannotConvertError

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

func (*CannotConvertError) DeepCopyInto added in v0.6.0

func (in *CannotConvertError) DeepCopyInto(out *CannotConvertError)

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

func (*CannotConvertError) Error added in v0.6.0

func (cce *CannotConvertError) Error() string

Error implements error

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) ConvertFrom added in v0.13.0

func (sink *Configuration) ConvertFrom(ctx context.Context, obj apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Configuration) ConvertTo added in v0.13.0

func (source *Configuration) ConvertTo(ctx context.Context, obj apis.Convertible) error

ConvertTo 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 added in v0.2.0

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) (errs *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
	DeprecatedBuild *runtime.RawExtension `json:"build,omitempty"`

	// DeprecatedRevisionTemplate holds the latest specification for the Revision to
	// be stamped out. If a Build specification is provided, then the
	// DeprecatedRevisionTemplate's BuildName field will be populated with the name of
	// the Build object created to produce the container for the Revision.
	// DEPRECATED Use Template instead.
	// +optional
	DeprecatedRevisionTemplate *RevisionTemplateSpec `json:"revisionTemplate,omitempty"`

	// Template holds the latest specification for the Revision to
	// be stamped out.
	// +optional
	Template *RevisionTemplateSpec `json:"template,omitempty"`
}

ConfigurationSpec holds the desired state of the Configuration (from the client).

func (*ConfigurationSpec) ConvertFrom added in v0.13.0

func (sink *ConfigurationSpec) ConvertFrom(ctx context.Context, source v1.ConfigurationSpec) error

ConvertFrom helps implement apis.Convertible

func (*ConfigurationSpec) ConvertTo added in v0.13.0

func (source *ConfigurationSpec) ConvertTo(ctx context.Context, sink *v1.ConfigurationSpec) error

ConvertTo helps implement apis.Convertible

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) GetTemplate added in v0.6.0

func (cs *ConfigurationSpec) GetTemplate() *RevisionTemplateSpec

GetTemplate returns a pointer to the relevant RevisionTemplateSpec field. It is never nil and should be exactly the specified template as guaranteed by validation.

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 {
	duckv1.Status `json:",inline"`

	ConfigurationStatusFields `json:",inline"`
}

ConfigurationStatus communicates the observed state of the Configuration (from the controller).

func (*ConfigurationStatus) ConvertFrom added in v0.13.0

func (sink *ConfigurationStatus) ConvertFrom(ctx context.Context, source v1.ConfigurationStatus) error

ConvertFrom helps implement apis.Convertible

func (*ConfigurationStatus) ConvertTo added in v0.13.0

func (source *ConfigurationStatus) ConvertTo(ctx context.Context, sink *v1.ConfigurationStatus) error

ConvertTo helps implement apis.Convertible

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 apis.ConditionType) *apis.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) MarkResourceNotConvertible added in v0.6.0

func (cs *ConfigurationStatus) MarkResourceNotConvertible(err *CannotConvertError)

MarkResourceNotConvertible adds a Warning-severity condition to the resource noting that it cannot be converted to a higher version.

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 added in v0.5.0

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-duckv1.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) ConvertFrom added in v0.13.0

ConvertFrom helps implement apis.Convertible

func (*ConfigurationStatusFields) ConvertTo added in v0.13.0

ConvertTo helps implement apis.Convertible

func (*ConfigurationStatusFields) DeepCopy added in v0.5.0

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

func (*ConfigurationStatusFields) DeepCopyInto added in v0.5.0

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

type DeprecatedRevisionRequestConcurrencyModelType added in v0.8.0

type DeprecatedRevisionRequestConcurrencyModelType string

DeprecatedRevisionRequestConcurrencyModelType is an enumeration of the concurrency models supported by a Revision. DEPRECATED in favor of an integer based ContainerConcurrency setting. TODO(vagababov): retire completely in 0.9.

const (
	// DeprecatedRevisionRequestConcurrencyModelSingle guarantees that only one
	// request will be handled at a time (concurrently) per instance
	// of Revision Container.
	DeprecatedRevisionRequestConcurrencyModelSingle DeprecatedRevisionRequestConcurrencyModelType = "Single"
	// DeprecatedRevisionRequestConcurencyModelMulti allows more than one request to
	// be handled at a time (concurrently) per instance of Revision
	// Container.
	DeprecatedRevisionRequestConcurrencyModelMulti DeprecatedRevisionRequestConcurrencyModelType = "Multi"
)

func (DeprecatedRevisionRequestConcurrencyModelType) Validate added in v0.8.0

Validate ensures RevisionRequestConcurrencyModelType is properly configured.

type DeprecatedRevisionServingStateType added in v0.2.0

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 added in v0.2.0

Validate ensures DeprecatedRevisionServingStateType is properly configured.

type LastPinnedParseError added in v0.2.0

type LastPinnedParseError AnnotationParseError

+k8s:deepcopy-gen=false

func (LastPinnedParseError) Error added in v0.2.0

func (e LastPinnedParseError) Error() string

type ManualType added in v0.2.0

type ManualType struct {
}

ManualType contains the options for configuring a manual service. See ServiceSpec for more details.

func (*ManualType) DeepCopy added in v0.2.0

func (in *ManualType) DeepCopy() *ManualType

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

func (*ManualType) DeepCopyInto added in v0.2.0

func (in *ManualType) DeepCopyInto(out *ManualType)

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

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 ReleaseType added in v0.2.0

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 added in v0.2.0

func (in *ReleaseType) DeepCopy() *ReleaseType

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

func (*ReleaseType) DeepCopyInto added in v0.2.0

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 added in v0.2.0

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) ConvertFrom added in v0.13.0

func (sink *Revision) ConvertFrom(ctx context.Context, obj apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Revision) ConvertTo added in v0.13.0

func (source *Revision) ConvertTo(ctx context.Context, obj apis.Convertible) error

ConvertTo implements apis.Convertible

func (*Revision) DeepCopy

func (in *Revision) DeepCopy() *Revision

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

func (*Revision) DeepCopyInto

func (in *Revision) DeepCopyInto(out *Revision)

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

func (*Revision) DeepCopyObject

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

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

func (*Revision) DeprecatedBuildRef added in v0.6.0

func (r *Revision) DeprecatedBuildRef() *corev1.ObjectReference

func (*Revision) GetGroupVersionKind added in v0.2.0

func (r *Revision) GetGroupVersionKind() schema.GroupVersionKind

func (*Revision) GetLastPinned added in v0.2.0

func (r *Revision) GetLastPinned() (time.Time, error)

func (*Revision) GetProtocol added in v0.4.0

func (r *Revision) GetProtocol() net.ProtocolType

GetProtocol returns the app level network protocol.

func (*Revision) IsReachable added in v0.9.0

func (r *Revision) IsReachable() bool

IsReachable returns whether or not the revision can be reached by a route.

func (*Revision) SetDefaults

func (r *Revision) SetDefaults(ctx context.Context)

func (*Revision) SetLastPinned added in v0.2.0

func (r *Revision) SetLastPinned(t time.Time)

func (*Revision) Validate

func (r *Revision) Validate(ctx context.Context) *apis.FieldError

Validate ensures Revision is properly configured.

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 {
	v1.RevisionSpec `json:",inline"`

	// 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 DeprecatedRevisionRequestConcurrencyModelType `json:"concurrencyModel,omitempty"`

	// DeprecatedBuildName optionally holds the name of the Build responsible for
	// producing the container image for its Revision.
	// DEPRECATED: Use DeprecatedBuildRef instead.
	// +optional
	DeprecatedBuildName string `json:"buildName,omitempty"`

	// DeprecatedBuildRef holds the reference to the build (if there is one) responsible
	// for producing the container image for this Revision. Otherwise, nil
	// +optional
	DeprecatedBuildRef *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
	DeprecatedContainer *corev1.Container `json:"container,omitempty"`
}

RevisionSpec holds the desired state of the Revision (from the client).

func (*RevisionSpec) ConvertFrom added in v0.13.0

func (sink *RevisionSpec) ConvertFrom(ctx context.Context, source v1.RevisionSpec) error

ConvertFrom helps implement apis.Convertible

func (*RevisionSpec) ConvertTo added in v0.13.0

func (source *RevisionSpec) ConvertTo(ctx context.Context, sink *v1.RevisionSpec) error

ConvertTo helps implement apis.Convertible

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) GetContainer added in v0.6.0

func (rs *RevisionSpec) GetContainer() *corev1.Container

GetContainer returns a pointer to the relevant corev1.Container field. It is never nil and should be exactly the specified container as guaranteed by validation.

func (*RevisionSpec) GetContainerConcurrency added in v0.9.0

func (rs *RevisionSpec) GetContainerConcurrency() int64

GetContainerConcurrency returns the container concurrency. If container concurrency is not set, the default value will be returned. We use the original default (0) here for backwards compatibility. Previous versions of Knative equated unspecified and zero, so to avoid changing the value used by Revisions with unspecified values when a different default is configured, we use the original default instead of the configured default to remain safe across upgrades.

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 {
	duckv1.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"`

	// 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) ConvertFrom added in v0.13.0

func (sink *RevisionStatus) ConvertFrom(ctx context.Context, source v1.RevisionStatus)

ConvertFrom helps implement apis.Convertible

func (*RevisionStatus) ConvertTo added in v0.13.0

func (source *RevisionStatus) ConvertTo(ctx context.Context, sink *v1.RevisionStatus)

ConvertTo helps implement apis.Convertible

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 apis.ConditionType) *apis.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) MarkActiveFalse added in v0.10.0

func (rs *RevisionStatus) MarkActiveFalse(reason, message string)

MarkActiveFalse marks Active status on revision as False

func (*RevisionStatus) MarkActiveTrue added in v0.10.0

func (rs *RevisionStatus) MarkActiveTrue()

MarkActiveTrue marks Active status on revision as True

func (*RevisionStatus) MarkActiveUnknown added in v0.10.0

func (rs *RevisionStatus) MarkActiveUnknown(reason, message string)

MarkActiveUnknown marks Active status on revision as Unknown

func (*RevisionStatus) MarkContainerHealthyFalse added in v0.10.0

func (rs *RevisionStatus) MarkContainerHealthyFalse(reason, message string)

MarkContainerHealthyFalse marks ContainerHealthy status on revision as False

func (*RevisionStatus) MarkContainerHealthyTrue added in v0.10.0

func (rs *RevisionStatus) MarkContainerHealthyTrue()

MarkContainerHealthyTrue marks ContainerHealthy status on revision as True

func (*RevisionStatus) MarkContainerHealthyUnknown added in v0.10.0

func (rs *RevisionStatus) MarkContainerHealthyUnknown(reason, message string)

MarkContainerHealthyUnknown marks ContainerHealthy status on revision as Unknown

func (*RevisionStatus) MarkResourceNotConvertible added in v0.6.0

func (rs *RevisionStatus) MarkResourceNotConvertible(err *CannotConvertError)

MarkResourceNotConvertible adds a Warning-severity condition to the resource noting that it cannot be converted to a higher version.

func (*RevisionStatus) MarkResourcesAvailableFalse added in v0.10.0

func (rs *RevisionStatus) MarkResourcesAvailableFalse(reason, message string)

MarkResourcesAvailableFalse marks ResourcesAvailable status on revision as False

func (*RevisionStatus) MarkResourcesAvailableTrue added in v0.10.0

func (rs *RevisionStatus) MarkResourcesAvailableTrue()

MarkResourcesAvailableTrue marks ResourcesAvailable status on revision as True

func (*RevisionStatus) MarkResourcesAvailableUnknown added in v0.10.0

func (rs *RevisionStatus) MarkResourcesAvailableUnknown(reason, message string)

MarkResourcesAvailableUnknown marks ResourcesAvailable status on revision as Unknown

func (*RevisionStatus) PropagateAutoscalerStatus added in v0.9.0

func (rs *RevisionStatus) PropagateAutoscalerStatus(ps *av1alpha1.PodAutoscalerStatus)

PropagateAutoscalerStatus propagates autoscaler's status to the revision's status.

func (*RevisionStatus) PropagateDeploymentStatus added in v0.9.0

func (rs *RevisionStatus) PropagateDeploymentStatus(original *appsv1.DeploymentStatus)

PropagateDeploymentStatus takes the Deployment status and applies its values to the Revision 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) ConvertFrom added in v0.13.0

func (sink *RevisionTemplateSpec) ConvertFrom(ctx context.Context, source v1.RevisionTemplateSpec) error

ConvertFrom helps implement apis.Convertible

func (*RevisionTemplateSpec) ConvertTo added in v0.13.0

func (source *RevisionTemplateSpec) ConvertTo(ctx context.Context, sink *v1.RevisionTemplateSpec) error

ConvertTo helps implement apis.Convertible

func (*RevisionTemplateSpec) DeepCopy

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 added in v0.11.0

func (rts *RevisionTemplateSpec) SetDefaults(ctx context.Context)

SetDefaults implements apis.Defaultable

func (*RevisionTemplateSpec) Validate

func (rt *RevisionTemplateSpec) Validate(ctx context.Context) *apis.FieldError

Validate ensures RevisionTemplateSpec is properly configured.

func (*RevisionTemplateSpec) VerifyNameChange added in v0.6.0

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) ConvertFrom added in v0.13.0

func (sink *Route) ConvertFrom(ctx context.Context, obj apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Route) ConvertTo added in v0.13.0

func (source *Route) ConvertTo(ctx context.Context, obj apis.Convertible) error

ConvertTo implements apis.Convertible

func (*Route) DeepCopy

func (in *Route) DeepCopy() *Route

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

func (*Route) DeepCopyInto

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

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

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

func (*Route) GetGroupVersionKind added in v0.2.0

func (r *Route) GetGroupVersionKind() schema.GroupVersionKind

func (*Route) SetDefaults

func (r *Route) SetDefaults(ctx context.Context)

func (*Route) Validate

func (r *Route) Validate(ctx context.Context) *apis.FieldError

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

func (in *RouteList) DeepCopy() *RouteList

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

func (*RouteList) DeepCopyInto

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

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

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) ConvertFrom added in v0.13.0

func (sink *RouteSpec) ConvertFrom(ctx context.Context, source v1.RouteSpec)

ConvertFrom helps implement apis.Convertible

func (*RouteSpec) ConvertTo added in v0.13.0

func (source *RouteSpec) ConvertTo(ctx context.Context, sink *v1.RouteSpec) error

ConvertTo helps implement apis.Convertible

func (*RouteSpec) DeepCopy

func (in *RouteSpec) DeepCopy() *RouteSpec

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

func (*RouteSpec) DeepCopyInto

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

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

func (*RouteSpec) SetDefaults

func (rs *RouteSpec) SetDefaults(ctx context.Context)

func (*RouteSpec) Validate

func (rs *RouteSpec) Validate(ctx context.Context) *apis.FieldError

type RouteStatus

type RouteStatus struct {
	duckv1.Status `json:",inline"`

	RouteStatusFields `json:",inline"`
}

RouteStatus communicates the observed state of the Route (from the controller).

func (*RouteStatus) ConvertFrom added in v0.13.0

func (sink *RouteStatus) ConvertFrom(ctx context.Context, source v1.RouteStatus)

ConvertFrom helps implement apis.Convertible

func (*RouteStatus) ConvertTo added in v0.13.0

func (source *RouteStatus) ConvertTo(ctx context.Context, sink *v1.RouteStatus)

ConvertTo helps implement apis.Convertible

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 apis.ConditionType) *apis.Condition

func (*RouteStatus) InitializeConditions

func (rs *RouteStatus) InitializeConditions()

func (*RouteStatus) IsReady

func (rs *RouteStatus) IsReady() bool

func (*RouteStatus) MarkCertificateNotOwned added in v0.6.0

func (rs *RouteStatus) MarkCertificateNotOwned(name string)

func (*RouteStatus) MarkCertificateNotReady added in v0.6.0

func (rs *RouteStatus) MarkCertificateNotReady(name string)

func (*RouteStatus) MarkCertificateProvisionFailed added in v0.6.0

func (rs *RouteStatus) MarkCertificateProvisionFailed(name string)

func (*RouteStatus) MarkCertificateReady added in v0.6.0

func (rs *RouteStatus) MarkCertificateReady(name string)

func (*RouteStatus) MarkConfigurationFailed

func (rs *RouteStatus) MarkConfigurationFailed(name string)

func (*RouteStatus) MarkConfigurationNotReady

func (rs *RouteStatus) MarkConfigurationNotReady(name string)

func (*RouteStatus) MarkIngressNotConfigured added in v0.7.0

func (rs *RouteStatus) MarkIngressNotConfigured()

MarkIngressNotConfigured changes the IngressReady condition to be unknown to reflect that the Ingress does not yet have a Status

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 added in v0.4.0

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) PropagateIngressStatus added in v0.8.0

func (rs *RouteStatus) PropagateIngressStatus(cs v1alpha1.IngressStatus)

PropagateIngressStatus update RouteConditionIngressReady condition in RouteStatus according to IngressStatus.

type RouteStatusFields added in v0.5.0

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"`

	// DeprecatedDomain 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
	DeprecatedDomain 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-duckv1.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) ConvertFrom added in v0.13.0

func (sink *RouteStatusFields) ConvertFrom(ctx context.Context, source v1.RouteStatusFields)

ConvertFrom helps implement apis.Convertible

func (*RouteStatusFields) ConvertTo added in v0.13.0

func (source *RouteStatusFields) ConvertTo(ctx context.Context, sink *v1.RouteStatusFields)

ConvertTo helps implement apis.Convertible

func (*RouteStatusFields) DeepCopy added in v0.5.0

func (in *RouteStatusFields) DeepCopy() *RouteStatusFields

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

func (*RouteStatusFields) DeepCopyInto added in v0.5.0

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) ConvertFrom added in v0.13.0

func (sink *Service) ConvertFrom(ctx context.Context, obj apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Service) ConvertTo added in v0.13.0

func (source *Service) ConvertTo(ctx context.Context, obj apis.Convertible) error

ConvertTo implements apis.Convertible

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

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

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

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

func (*Service) DeepCopyObject

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

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

func (*Service) GetGroupVersionKind added in v0.2.0

func (s *Service) GetGroupVersionKind() schema.GroupVersionKind

GetGroupVersionKind returns the GetGroupVersionKind.

func (*Service) SetDefaults

func (s *Service) SetDefaults(ctx context.Context)

func (*Service) Validate

func (s *Service) Validate(ctx context.Context) (errs *apis.FieldError)

Validate validates the fields belonging to Service

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"`

	// DeprecatedRunLatest defines a simple Service. It will automatically
	// configure a route that keeps the latest ready revision
	// from the supplied configuration running.
	// +optional
	DeprecatedRunLatest *RunLatestType `json:"runLatest,omitempty"`

	// DeprecatedPinned is DEPRECATED in favor of ReleaseType
	// +optional
	DeprecatedPinned *PinnedType `json:"pinned,omitempty"`

	// DeprecatedManual 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
	DeprecatedManual *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
	DeprecatedRelease *ReleaseType `json:"release,omitempty"`

	// We are moving to a shape where the Configuration and Route specifications
	// are inlined into the Service, which gives them compatible shapes.  We are
	// staging this change here as a path to this in v1beta1, which drops the
	// "mode" based specifications above.  Ultimately all non-v1beta1 fields will
	// be deprecated, and then dropped in v1beta1.
	ConfigurationSpec `json:",inline"`
	RouteSpec         `json:",inline"`
}

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) ConvertFrom added in v0.13.0

func (sink *ServiceSpec) ConvertFrom(ctx context.Context, source v1.ServiceSpec) error

ConvertFrom helps implement apis.Convertible

func (*ServiceSpec) ConvertTo added in v0.13.0

func (source *ServiceSpec) ConvertTo(ctx context.Context, sink *v1.ServiceSpec) error

ConvertTo helps implement apis.Convertible

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 {
	duckv1.Status `json:",inline"`

	RouteStatusFields `json:",inline"`

	ConfigurationStatusFields `json:",inline"`
}

ServiceStatus represents the Status stanza of the Service resource.

func (*ServiceStatus) ConvertFrom added in v0.13.0

func (sink *ServiceStatus) ConvertFrom(ctx context.Context, source v1.ServiceStatus) error

ConvertFrom helps implement apis.Convertible

func (*ServiceStatus) ConvertTo added in v0.13.0

func (source *ServiceStatus) ConvertTo(ctx context.Context, sink *v1.ServiceStatus) error

ConvertTo helps implement apis.Convertible

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 apis.ConditionType) *apis.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 added in v0.4.0

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) MarkConfigurationNotReconciled added in v0.7.0

func (ss *ServiceStatus) MarkConfigurationNotReconciled()

MarkConfigurationNotReconciled notes that the Configuration controller has not yet caught up to the desired changes we have specified.

func (*ServiceStatus) MarkResourceNotConvertible added in v0.6.0

func (ss *ServiceStatus) MarkResourceNotConvertible(err *CannotConvertError)

MarkResourceNotConvertible adds a Warning-severity condition to the resource noting that it cannot be converted to a higher version.

func (*ServiceStatus) MarkRevisionNameTaken added in v0.6.0

func (ss *ServiceStatus) MarkRevisionNameTaken(name string)

MarkRevisionNameTaken notes that the Route has not been programmed because the revision name is taken by a conflicting revision definition.

func (*ServiceStatus) MarkRouteNotOwned added in v0.4.0

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) MarkRouteNotReconciled added in v0.7.0

func (ss *ServiceStatus) MarkRouteNotReconciled()

MarkRouteNotReconciled notes that the Route controller has not yet caught up to the desired changes we have specified.

func (*ServiceStatus) MarkRouteNotYetReady added in v0.4.0

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.

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
	DeprecatedName string `json:"name,omitempty"`

	// We inherit most of our fields by inlining the v1 type.
	// Ultimately all non-v1 fields will be deprecated.
	v1.TrafficTarget `json:",inline"`
}

TrafficTarget holds a single entry of the routing table for a Route.

func (*TrafficTarget) ConvertFrom added in v0.13.0

func (sink *TrafficTarget) ConvertFrom(ctx context.Context, source v1.TrafficTarget)

ConvertFrom helps implement apis.Convertible

func (*TrafficTarget) ConvertTo added in v0.13.0

func (source *TrafficTarget) ConvertTo(ctx context.Context, sink *v1.TrafficTarget) error

ConvertTo helps implement apis.Convertible

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.

Jump to

Keyboard shortcuts

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