From b25b5f8ca51cc35a3c899fc9e49a9fa2ba49ed72 Mon Sep 17 00:00:00 2001 From: Grant Rodgers Date: Thu, 28 Jun 2018 10:45:25 -0700 Subject: [PATCH] Update knative/serving to latest master The version specified in the constraint was several weeks old with significant changes since then. --- Gopkg.lock | 6 +- Gopkg.toml | 4 +- .../build/v1alpha1/build_template_types.go | 15 ++ .../pkg/apis/build/v1alpha1/build_types.go | 35 ++- vendor/github.com/knative/serving/AUTHORS | 7 + .../serving/pkg/apis/istio/register.go | 2 +- .../serving/pkg/apis/istio/v1alpha2/doc.go | 2 +- .../pkg/apis/istio/v1alpha2/register.go | 2 +- .../apis/istio/v1alpha2/routerule_types.go | 4 +- .../istio/v1alpha2/zz_generated.deepcopy.go | 2 +- .../serving/pkg/apis/serving/register.go | 2 +- .../serving/v1alpha1/configuration_types.go | 106 +++++++-- .../serving/pkg/apis/serving/v1alpha1/doc.go | 2 +- .../pkg/apis/serving/v1alpha1/register.go | 2 +- .../apis/serving/v1alpha1/revision_types.go | 209 ++++++++++++++++-- .../pkg/apis/serving/v1alpha1/route_types.go | 98 +++++++- .../apis/serving/v1alpha1/service_types.go | 149 ++++++++++++- .../serving/v1alpha1/zz_generated.deepcopy.go | 20 +- .../client/clientset/versioned/clientset.go | 2 +- .../pkg/client/clientset/versioned/doc.go | 2 +- .../client/clientset/versioned/scheme/doc.go | 2 +- .../clientset/versioned/scheme/register.go | 2 +- .../versioned/typed/istio/v1alpha2/doc.go | 2 +- .../istio/v1alpha2/generated_expansion.go | 2 +- .../typed/istio/v1alpha2/istio_client.go | 2 +- .../typed/istio/v1alpha2/routerule.go | 2 +- .../typed/serving/v1alpha1/configuration.go | 2 +- .../versioned/typed/serving/v1alpha1/doc.go | 2 +- .../serving/v1alpha1/generated_expansion.go | 2 +- .../typed/serving/v1alpha1/revision.go | 2 +- .../versioned/typed/serving/v1alpha1/route.go | 2 +- .../typed/serving/v1alpha1/service.go | 2 +- .../typed/serving/v1alpha1/serving_client.go | 2 +- .../informers/externalversions/factory.go | 2 +- .../informers/externalversions/generic.go | 2 +- .../internalinterfaces/factory_interfaces.go | 2 +- .../externalversions/istio/interface.go | 2 +- .../istio/v1alpha2/interface.go | 2 +- .../istio/v1alpha2/routerule.go | 2 +- .../externalversions/serving/interface.go | 2 +- .../serving/v1alpha1/configuration.go | 2 +- .../serving/v1alpha1/interface.go | 2 +- .../serving/v1alpha1/revision.go | 2 +- .../serving/v1alpha1/route.go | 2 +- .../serving/v1alpha1/service.go | 2 +- .../istio/v1alpha2/expansion_generated.go | 2 +- .../listers/istio/v1alpha2/routerule.go | 2 +- .../listers/serving/v1alpha1/configuration.go | 2 +- .../serving/v1alpha1/expansion_generated.go | 2 +- .../listers/serving/v1alpha1/revision.go | 2 +- .../client/listers/serving/v1alpha1/route.go | 2 +- .../listers/serving/v1alpha1/service.go | 2 +- .../monitoring/{ => common}/istio/LICENSE | 0 .../{ => common}/kubernetes/LICENSE | 0 .../{ => common}/prometheus-operator/LICENSE | 0 .../{ => common}/prometheus-operator/NOTICE | 0 .../monitoring/elasticsearch}/LICENSE | 5 +- 57 files changed, 637 insertions(+), 103 deletions(-) create mode 100644 vendor/github.com/knative/serving/AUTHORS rename vendor/github.com/knative/serving/third_party/config/monitoring/{ => common}/istio/LICENSE (100%) rename vendor/github.com/knative/serving/third_party/config/monitoring/{ => common}/kubernetes/LICENSE (100%) rename vendor/github.com/knative/serving/third_party/config/monitoring/{ => common}/prometheus-operator/LICENSE (100%) rename vendor/github.com/knative/serving/third_party/config/monitoring/{ => common}/prometheus-operator/NOTICE (100%) rename vendor/github.com/knative/serving/third_party/{istio-0.6.0 => config/monitoring/elasticsearch}/LICENSE (99%) diff --git a/Gopkg.lock b/Gopkg.lock index 16b73bda01d..8c15eab9390 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -247,7 +247,7 @@ "pkg/apis/build", "pkg/apis/build/v1alpha1" ] - revision = "bfc0222e894da677b45fd63828a89676aa706589" + revision = "5dba97ea172464d6459c393330ffba2152ec78dd" [[projects]] name = "github.com/knative/serving" @@ -269,7 +269,7 @@ "pkg/client/listers/istio/v1alpha2", "pkg/client/listers/serving/v1alpha1" ] - revision = "a67361c49ec4a957f60d86de05f168a4b41b72ba" + revision = "5e4bb4f8eb2aa1417fd51c95e4e9594e8ca32ace" [[projects]] name = "github.com/magiconair/properties" @@ -897,6 +897,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "001aef2bcc7b7a7f3d307748cd9b0615acff2999d22ff7b3fcfc76a807420e69" + inputs-digest = "57160e3a149c468ed4f796aff5aa759b14537b54cb0587137f0a935714eae4c5" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 1a594e7e571..7bd61b5f284 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -84,5 +84,5 @@ required = [ [[constraint]] name = "github.com/knative/serving" - # HEAD as of 2018-06-01 - revision = "a67361c49ec4a957f60d86de05f168a4b41b72ba" + # HEAD as of 2018-06-28, chosen for no particular reason + revision = "5e4bb4f8eb2aa1417fd51c95e4e9594e8ca32ace" diff --git a/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_template_types.go b/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_template_types.go index 4fcba3e30b7..69bf3c05359 100644 --- a/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_template_types.go +++ b/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_template_types.go @@ -17,6 +17,8 @@ limitations under the License. package v1alpha1 import ( + "encoding/json" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -34,6 +36,13 @@ type BuildTemplate struct { } type BuildTemplateSpec struct { + // TODO: Generation does not work correctly with CRD. They are scrubbed + // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) + // So, we add Generation here. Once that gets fixed, remove this and use + // ObjectMeta.Generation instead. + // +optional + Generation int64 `json:"generation,omitempty"` + // Parameters defines the parameters that can be populated in a template. Parameters []ParameterSpec `json:"parameters,omitempty"` Steps []corev1.Container `json:"steps"` @@ -49,6 +58,8 @@ type BuildTemplateConditionType string const ( // BuildTemplateInvalid specifies that the given specification is invalid. + // + // TODO(jasonhall): Remove when webhook validation rejects invalid build templates. BuildTemplateInvalid BuildTemplateConditionType = "Invalid" ) @@ -114,3 +125,7 @@ func (b *BuildTemplateStatus) RemoveCondition(t BuildTemplateConditionType) { } b.Conditions = conditions } + +func (bt *BuildTemplate) GetGeneration() int64 { return bt.Spec.Generation } +func (bt *BuildTemplate) SetGeneration(generation int64) { bt.Spec.Generation = generation } +func (bt *BuildTemplate) GetSpecJSON() ([]byte, error) { return json.Marshal(bt.Spec) } diff --git a/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_types.go b/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_types.go index 988be73c370..3b278317293 100644 --- a/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_types.go +++ b/vendor/github.com/knative/build/pkg/apis/build/v1alpha1/build_types.go @@ -17,6 +17,8 @@ limitations under the License. package v1alpha1 import ( + "encoding/json" + corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) @@ -36,6 +38,13 @@ type Build struct { // BuildSpec is the spec for a Build resource type BuildSpec struct { + // TODO: Generation does not work correctly with CRD. They are scrubbed + // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) + // So, we add Generation here. Once that gets fixed, remove this and use + // ObjectMeta.Generation instead. + // +optional + Generation int64 `json:"generation,omitempty"` + Source *SourceSpec `json:"source,omitempty"` Steps []corev1.Container `json:"steps,omitempty"` @@ -147,11 +156,16 @@ type GoogleSpec struct { type BuildConditionType string const ( - // BuildComplete specifies that the build has completed successfully. - BuildComplete BuildConditionType = "Complete" - // BuildFailed specifies that the build has failed. - BuildFailed BuildConditionType = "Failed" + // BuildSucceeded is set when the build is running, and becomes True + // when the build finishes successfully. + // + // If the build is ongoing, its status will be Unknown. If it fails, + // its status will be False. + BuildSucceeded BuildConditionType = "Succeeded" + // BuildInvalid specifies that the given build specification is invalid. + // + // TODO(jasonhall): Remove when webhook validation rejects invalid builds. BuildInvalid BuildConditionType = "Invalid" ) @@ -178,6 +192,15 @@ type BuildList struct { Items []Build `json:"items"` } +func (bs *BuildStatus) GetCondition(t BuildConditionType) *BuildCondition { + for _, cond := range bs.Conditions { + if cond.Type == t { + return &cond + } + } + return nil +} + func (b *BuildStatus) SetCondition(newCond *BuildCondition) { if newCond == nil { return @@ -203,3 +226,7 @@ func (b *BuildStatus) RemoveCondition(t BuildConditionType) { } b.Conditions = conditions } + +func (b *Build) GetGeneration() int64 { return b.Spec.Generation } +func (b *Build) SetGeneration(generation int64) { b.Spec.Generation = generation } +func (b *Build) GetSpecJSON() ([]byte, error) { return json.Marshal(b.Spec) } diff --git a/vendor/github.com/knative/serving/AUTHORS b/vendor/github.com/knative/serving/AUTHORS new file mode 100644 index 00000000000..ab85282788a --- /dev/null +++ b/vendor/github.com/knative/serving/AUTHORS @@ -0,0 +1,7 @@ +# This is the list of Knative authors for copyright purposes. +# +# This does not necessarily list everyone who has contributed code, since in +# some cases, their employer may be the copyright holder. To see the full list +# of contributors, see the revision history in source control. +Google LLC +Pivotal Software, Inc. diff --git a/vendor/github.com/knative/serving/pkg/apis/istio/register.go b/vendor/github.com/knative/serving/pkg/apis/istio/register.go index 73deef9d07c..00166ec3874 100644 --- a/vendor/github.com/knative/serving/pkg/apis/istio/register.go +++ b/vendor/github.com/knative/serving/pkg/apis/istio/register.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/doc.go b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/doc.go index e7284fcf40f..6c6961d47c2 100644 --- a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/doc.go +++ b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/register.go b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/register.go index b4ee69cfb34..eaf5dff0bf9 100644 --- a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/register.go +++ b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/register.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/routerule_types.go b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/routerule_types.go index 2a9f339c993..3323af9068b 100644 --- a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/routerule_types.go +++ b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/routerule_types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -87,7 +87,7 @@ type RouteRuleSpec struct { Destination IstioService `json:"destination"` Match Match `json:"match,omitempty"` Route []DestinationWeight `json:"route"` - AppendHeaders map[string]string `json:"appendHeaders"` + AppendHeaders map[string]string `json:"appendHeaders,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/zz_generated.deepcopy.go b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/zz_generated.deepcopy.go index ca2779b6f13..e95021dfe80 100644 --- a/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/zz_generated.deepcopy.go +++ b/vendor/github.com/knative/serving/pkg/apis/istio/v1alpha2/zz_generated.deepcopy.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/register.go b/vendor/github.com/knative/serving/pkg/apis/serving/register.go index 3073ffedc34..d4c7ae5f880 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/register.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/register.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/configuration_types.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/configuration_types.go index 76923be6d29..079b530e0a2 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/configuration_types.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/configuration_types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC. +Copyright 2018 The Knative Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,6 +18,9 @@ package v1alpha1 import ( "encoding/json" + "fmt" + "reflect" + "time" build "github.com/knative/build/pkg/apis/build/v1alpha1" @@ -35,13 +38,16 @@ import ( // "latest ready" revision's name. // See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#configuration type Configuration struct { - metav1.TypeMeta `json:",inline"` + 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"` } @@ -51,16 +57,19 @@ type ConfigurationSpec struct { // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) // So, we add Generation here. Once that gets fixed, remove this and use // ObjectMeta.Generation instead. + // +optional Generation int64 `json:"generation,omitempty"` // Build optionally holds the specification for the build to // perform to produce the Revision's container image. + // +optional Build *build.BuildSpec `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"` } @@ -69,12 +78,9 @@ type ConfigurationSpec struct { type ConfigurationConditionType string const ( - // ConfigurationConditionReady is set when the configuration is starting to materialize - // runtime resources, and becomes true when those resources are ready. + // ConfigurationConditionReady is set when the configuration's latest + // underlying revision has reported readiness. ConfigurationConditionReady ConfigurationConditionType = "Ready" - // ConfigurationConditionLatestRevisionReady is set to indicate the status of the latest - // revision of the configuration when it has not become ready yet - ConfigurationConditionLatestRevisionReady ConfigurationConditionType = "LatestRevisionReady" ) // ConfigurationCondition defines a readiness condition for a Configuration. @@ -84,6 +90,9 @@ type ConfigurationCondition struct { Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` + // +optional + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` + // +optional Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"` @@ -96,19 +105,23 @@ type ConfigurationStatus struct { // Conditions communicates information about ongoing/complete // reconciliation processes that bring the "spec" inline with the observed // state of the world. + // +optional Conditions []ConfigurationCondition `json:"conditions,omitempty"` // 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"` // ObservedGeneration is the 'Generation' of the Configuration that // was last processed by the controller. The observed generation is updated // even if the controller failed to process the spec and create the Revision. + // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` } @@ -136,8 +149,8 @@ func (r *Configuration) GetSpecJSON() ([]byte, error) { // IsReady looks at the conditions on the ConfigurationStatus. // ConfigurationConditionReady returns true if ConditionStatus is True -func (configStatus *ConfigurationStatus) IsReady() bool { - if c := configStatus.GetCondition(ConfigurationConditionReady); c != nil { +func (cs *ConfigurationStatus) IsReady() bool { + if c := cs.GetCondition(ConfigurationConditionReady); c != nil { return c.Status == corev1.ConditionTrue } return false @@ -146,9 +159,9 @@ func (configStatus *ConfigurationStatus) IsReady() bool { // IsLatestReadyRevisionNameUpToDate returns true if the Configuration is ready // and LatestCreateRevisionName is equal to LatestReadyRevisionName. Otherwise // it returns false. -func (configStatus *ConfigurationStatus) IsLatestReadyRevisionNameUpToDate() bool { - return configStatus.IsReady() && - configStatus.LatestCreatedRevisionName == configStatus.LatestReadyRevisionName +func (cs *ConfigurationStatus) IsLatestReadyRevisionNameUpToDate() bool { + return cs.IsReady() && + cs.LatestCreatedRevisionName == cs.LatestReadyRevisionName } func (config *ConfigurationStatus) GetCondition(t ConfigurationConditionType) *ConfigurationCondition { @@ -160,28 +173,85 @@ func (config *ConfigurationStatus) GetCondition(t ConfigurationConditionType) *C return nil } -func (configStatus *ConfigurationStatus) SetCondition(new *ConfigurationCondition) { +func (cs *ConfigurationStatus) setCondition(new *ConfigurationCondition) { if new == nil { return } t := new.Type var conditions []ConfigurationCondition - for _, cond := range configStatus.Conditions { + for _, cond := range cs.Conditions { if cond.Type != t { conditions = append(conditions, cond) + } else { + // If we'd only update the LastTransitionTime, then return. + new.LastTransitionTime = cond.LastTransitionTime + if reflect.DeepEqual(new, &cond) { + return + } } } + new.LastTransitionTime = metav1.NewTime(time.Now()) conditions = append(conditions, *new) - configStatus.Conditions = conditions + cs.Conditions = conditions } -func (configStatus *ConfigurationStatus) RemoveCondition(t ConfigurationConditionType) { +func (cs *ConfigurationStatus) RemoveCondition(t ConfigurationConditionType) { var conditions []ConfigurationCondition - for _, cond := range configStatus.Conditions { + for _, cond := range cs.Conditions { if cond.Type != t { conditions = append(conditions, cond) } } - configStatus.Conditions = conditions + cs.Conditions = conditions +} + +func (cs *ConfigurationStatus) InitializeConditions() { + for _, cond := range []ConfigurationConditionType{ + ConfigurationConditionReady, + } { + if rc := cs.GetCondition(cond); rc == nil { + cs.setCondition(&ConfigurationCondition{ + Type: cond, + Status: corev1.ConditionUnknown, + }) + } + } +} + +func (cs *ConfigurationStatus) SetLatestCreatedRevisionName(name string) { + cs.LatestCreatedRevisionName = name + if cs.LatestReadyRevisionName != name { + cs.setCondition(&ConfigurationCondition{ + Type: ConfigurationConditionReady, + Status: corev1.ConditionUnknown, + }) + } +} + +func (cs *ConfigurationStatus) SetLatestReadyRevisionName(name string) { + cs.LatestReadyRevisionName = name + for _, cond := range []ConfigurationConditionType{ + ConfigurationConditionReady, + } { + cs.setCondition(&ConfigurationCondition{ + Type: cond, + Status: corev1.ConditionTrue, + }) + } +} + +func (cs *ConfigurationStatus) MarkLatestCreatedFailed(name, message string) { + cct := []ConfigurationConditionType{ConfigurationConditionReady} + if cs.LatestReadyRevisionName == "" { + cct = append(cct, ConfigurationConditionReady) + } + for _, cond := range cct { + cs.setCondition(&ConfigurationCondition{ + Type: cond, + Status: corev1.ConditionFalse, + Reason: "RevisionFailed", + Message: fmt.Sprintf("revision %q failed with message: %s", name, message), + }) + } } diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/doc.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/doc.go index 89ac34ba6f0..b0c5ebaf7c1 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/doc.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/register.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/register.go index b7b8e51fefa..0bad032a10e 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/register.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/register.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC. +Copyright 2018 The Knative Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/revision_types.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/revision_types.go index 4b21668ffa4..51ec79a693e 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/revision_types.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/revision_types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC. +Copyright 2018 The Knative Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,11 +18,13 @@ package v1alpha1 import ( "encoding/json" + "reflect" "time" corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + + buildv1alpha1 "github.com/knative/build/pkg/apis/build/v1alpha1" ) // +genclient @@ -31,21 +33,25 @@ import ( // Revision is an immutable snapshot of code and configuration. // See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision type Revision struct { - metav1.TypeMeta `json:",inline"` + 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"` } // 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 type RevisionTemplateSpec struct { + // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - + // +optional Spec RevisionSpec `json:"spec,omitempty"` } @@ -65,6 +71,7 @@ const ( // 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 RevisionServingStateRetired RevisionServingStateType = "Retired" ) @@ -89,17 +96,20 @@ type RevisionSpec struct { // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) // So, we add Generation here. Once that gets fixed, remove this and use // ObjectMeta.Generation instead. + // +optional Generation int64 `json:"generation,omitempty"` // ServingState 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. It is expected // that the system will manipulate this based on routability and load. + // +optional ServingState RevisionServingStateType `json:"servingState,omitempty"` // ConcurrencyModel specifies the desired concurrency model - // (SingleConcurrency or MultiConcurrency) for the - // Revision. Defaults to MultiConcurrency. + // (Single or Multi) for the + // Revision. Defaults to Multi. + // +optional ConcurrencyModel RevisionRequestConcurrencyModelType `json:"concurrencyModel,omitempty"` // ServiceAccountName holds the name of the Kubernetes service account @@ -109,10 +119,12 @@ type RevisionSpec struct { // 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"` // BuildName optionally holds the name of the Build responsible for // producing the container image for its Revision. + // +optional BuildName string `json:"buildName,omitempty"` // Container defines the unit of execution for this Revision. @@ -120,6 +132,7 @@ type RevisionSpec struct { // this Container, including: name, resources, ports, and volumeMounts. // TODO(mattmoor): Link to the runtime contract tracked by: // https://github.com/knative/serving/issues/627 + // +optional Container corev1.Container `json:"container,omitempty"` } @@ -164,20 +177,24 @@ type RevisionStatus struct { // 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"` // Conditions communicates information about ongoing/complete // reconciliation processes that bring the "spec" inline with the observed // state of the world. + // +optional Conditions []RevisionCondition `json:"conditions,omitempty"` // ObservedGeneration is the 'Generation' of the Configuration that // was last processed by the controller. The observed generation is updated // even if the controller failed to process the spec and create the Revision. + // +optional ObservedGeneration int64 `json:"observedGeneration,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"` } @@ -212,17 +229,6 @@ func (rs *RevisionStatus) IsReady() bool { return false } -// IsFailed looks to all non-Ready conditions; if any are false, then -// this node is in a terminal failure state. -func (rs *RevisionStatus) IsFailed() bool { - for _, cond := range rs.Conditions { - if cond.Type != RevisionConditionReady && cond.Status == corev1.ConditionFalse { - return true - } - } - return false -} - func (rs *RevisionStatus) GetCondition(t RevisionConditionType) *RevisionCondition { for _, cond := range rs.Conditions { if cond.Type == t { @@ -232,7 +238,7 @@ func (rs *RevisionStatus) GetCondition(t RevisionConditionType) *RevisionConditi return nil } -func (rs *RevisionStatus) SetCondition(new *RevisionCondition) { +func (rs *RevisionStatus) setCondition(new *RevisionCondition) { if new == nil { return } @@ -242,6 +248,12 @@ func (rs *RevisionStatus) SetCondition(new *RevisionCondition) { for _, cond := range rs.Conditions { if cond.Type != t { conditions = append(conditions, cond) + } else { + // If we'd only update the LastTransitionTime, then return. + new.LastTransitionTime = cond.LastTransitionTime + if reflect.DeepEqual(new, &cond) { + return + } } } new.LastTransitionTime = metav1.NewTime(time.Now()) @@ -258,3 +270,164 @@ func (rs *RevisionStatus) RemoveCondition(t RevisionConditionType) { } rs.Conditions = conditions } + +func (rs *RevisionStatus) InitializeConditions() { + // We don't include BuildSucceeded here because it could confuse users if + // no `buildName` was specified. + for _, cond := range []RevisionConditionType{ + RevisionConditionResourcesAvailable, + RevisionConditionContainerHealthy, + RevisionConditionReady, + } { + if rc := rs.GetCondition(cond); rc == nil { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: corev1.ConditionUnknown, + }) + } + } +} + +func (rs *RevisionStatus) InitializeBuildCondition() { + if rc := rs.GetCondition(RevisionConditionBuildSucceeded); rc == nil { + rs.setCondition(&RevisionCondition{ + Type: RevisionConditionBuildSucceeded, + Status: corev1.ConditionUnknown, + }) + } +} + +func (rs *RevisionStatus) PropagateBuildStatus(bs buildv1alpha1.BuildStatus) { + bc := bs.GetCondition(buildv1alpha1.BuildSucceeded) + if bc == nil { + // TODO(mattmoor): When Build validation is synchronous, get rid + // of this special logic and just return. + bc = bs.GetCondition(buildv1alpha1.BuildInvalid) + if bc == nil { + return + } + bc = &buildv1alpha1.BuildCondition{ + Type: buildv1alpha1.BuildSucceeded, + Status: corev1.ConditionFalse, + Reason: bc.Reason, + Message: bc.Message, + } + } + rct := []RevisionConditionType{RevisionConditionBuildSucceeded} + // If the underlying Build is not ready, then mark the Revision not ready. + if bc.Status != corev1.ConditionTrue { + rct = append(rct, RevisionConditionReady) + } + reason := "Building" + if bc.Status != corev1.ConditionUnknown { + reason = bc.Reason + } + for _, cond := range rct { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: bc.Status, + Reason: reason, + Message: bc.Message, + }) + } +} + +func (rs *RevisionStatus) MarkDeploying(reason string) { + for _, cond := range []RevisionConditionType{ + RevisionConditionResourcesAvailable, + RevisionConditionContainerHealthy, + RevisionConditionReady, + } { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: corev1.ConditionUnknown, + Reason: reason, + }) + } +} + +func (rs *RevisionStatus) MarkServiceTimeout() { + for _, cond := range []RevisionConditionType{ + RevisionConditionResourcesAvailable, + RevisionConditionReady, + } { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: corev1.ConditionFalse, + Reason: "ServiceTimeout", + Message: "Timed out waiting for a service endpoint to become ready", + }) + } +} + +func (rs *RevisionStatus) MarkProgressDeadlineExceeded(message string) { + for _, cond := range []RevisionConditionType{ + RevisionConditionResourcesAvailable, + RevisionConditionReady, + } { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: corev1.ConditionFalse, + Reason: "ProgressDeadlineExceeded", + Message: message, + }) + } +} + +func (rs *RevisionStatus) MarkContainerHealthy() { + rs.setCondition(&RevisionCondition{ + Type: RevisionConditionContainerHealthy, + Status: corev1.ConditionTrue, + }) + rs.checkAndMarkReady() +} + +func (rs *RevisionStatus) MarkResourcesAvailable() { + rs.setCondition(&RevisionCondition{ + Type: RevisionConditionResourcesAvailable, + Status: corev1.ConditionTrue, + }) + rs.checkAndMarkReady() +} + +func (rs *RevisionStatus) MarkInactive() { + rs.setCondition(&RevisionCondition{ + Type: RevisionConditionReady, + Status: corev1.ConditionFalse, + Reason: "Inactive", + }) +} + +func (rs *RevisionStatus) MarkContainerMissing(message string) { + for _, cond := range []RevisionConditionType{ + RevisionConditionContainerHealthy, + RevisionConditionReady, + } { + rs.setCondition(&RevisionCondition{ + Type: cond, + Status: corev1.ConditionFalse, + Reason: "ContainerMissing", + Message: message, + }) + } +} + +func (rs *RevisionStatus) checkAndMarkReady() { + for _, cond := range []RevisionConditionType{ + RevisionConditionContainerHealthy, + RevisionConditionResourcesAvailable, + } { + c := rs.GetCondition(cond) + if c == nil || c.Status != corev1.ConditionTrue { + return + } + } + rs.markReady() +} + +func (rs *RevisionStatus) markReady() { + rs.setCondition(&RevisionCondition{ + Type: RevisionConditionReady, + Status: corev1.ConditionTrue, + }) +} diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/route_types.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/route_types.go index ed0dbe899e5..f15b4a524d3 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/route_types.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/route_types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC. +Copyright 2018 The Knative Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,6 +18,9 @@ package v1alpha1 import ( "encoding/json" + "fmt" + "reflect" + "time" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -33,13 +36,16 @@ import ( // "latest ready" revision changes, and smoothly rolling out latest revisions. // See also: https://github.com/knative/serving/blob/master/docs/spec/overview.md#route type Route struct { - metav1.TypeMeta `json:",inline"` + 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"` } @@ -75,9 +81,11 @@ type RouteSpec struct { // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) // So, we add Generation here. Once that gets fixed, remove this and use // ObjectMeta.Generation instead. + // +optional Generation int64 `json:"generation,omitempty"` - // Traffic specifies how to distribute traffic over a collection of Elafros Revisions and Configurations. + // Traffic specifies how to distribute traffic over a collection of Knative Serving Revisions and Configurations. + // +optional Traffic []TrafficTarget `json:"traffic,omitempty"` } @@ -88,6 +96,9 @@ type RouteCondition struct { Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` + // +optional + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` + // +optional Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"` // +optional @@ -102,6 +113,9 @@ const ( // RouteConditionReady is set when the service is configured // and has available backends ready to receive traffic. RouteConditionReady RouteConditionType = "Ready" + // RouteConditionIngressReady is set when the route's underlying ingress + // resource has been set up. + RouteConditionIngressReady RouteConditionType = "IngressReady" // RouteConditionAllTrafficAssigned is set to False when the // service is not configured properly or has no available // backends ready to receive traffic. @@ -112,22 +126,26 @@ const ( type RouteStatus 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"` // 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"` // Conditions communicates information about ongoing/complete // reconciliation processes that bring the "spec" inline with the observed // state of the world. + // +optional Conditions []RouteCondition `json:"conditions,omitempty"` // ObservedGeneration is the 'Generation' of the Configuration that // was last processed by the controller. The observed generation is updated // even if the controller failed to process the spec and create the Revision. + // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` } @@ -169,7 +187,7 @@ func (rs *RouteStatus) GetCondition(t RouteConditionType) *RouteCondition { return nil } -func (rs *RouteStatus) SetCondition(new *RouteCondition) { +func (rs *RouteStatus) setCondition(new *RouteCondition) { if new == nil { return } @@ -179,8 +197,15 @@ func (rs *RouteStatus) SetCondition(new *RouteCondition) { for _, cond := range rs.Conditions { if cond.Type != t { conditions = append(conditions, cond) + } else { + // If we'd only update the LastTransitionTime, then return. + new.LastTransitionTime = cond.LastTransitionTime + if reflect.DeepEqual(new, &cond) { + return + } } } + new.LastTransitionTime = metav1.NewTime(time.Now()) conditions = append(conditions, *new) rs.Conditions = conditions } @@ -194,3 +219,68 @@ func (rs *RouteStatus) RemoveCondition(t RouteConditionType) { } rs.Conditions = conditions } + +func (rs *RouteStatus) InitializeConditions() { + for _, cond := range []RouteConditionType{ + RouteConditionAllTrafficAssigned, + RouteConditionIngressReady, + RouteConditionReady, + } { + if rc := rs.GetCondition(cond); rc == nil { + rs.setCondition(&RouteCondition{ + Type: cond, + Status: corev1.ConditionUnknown, + }) + } + } +} + +func (rs *RouteStatus) MarkTrafficAssigned() { + rs.setCondition(&RouteCondition{ + Type: RouteConditionAllTrafficAssigned, + Status: corev1.ConditionTrue, + }) + rs.checkAndMarkReady() +} + +func (rs *RouteStatus) MarkTrafficNotAssigned(kind, name string) { + for _, cond := range []RouteConditionType{ + RouteConditionAllTrafficAssigned, + RouteConditionReady, + } { + rs.setCondition(&RouteCondition{ + Type: cond, + Status: corev1.ConditionFalse, + Reason: kind + "Missing", + Message: fmt.Sprintf("Referenced %s %q not found", kind, name), + }) + } +} + +func (rs *RouteStatus) MarkIngressReady() { + rs.setCondition(&RouteCondition{ + Type: RouteConditionIngressReady, + Status: corev1.ConditionTrue, + }) + rs.checkAndMarkReady() +} + +func (rs *RouteStatus) checkAndMarkReady() { + for _, cond := range []RouteConditionType{ + RouteConditionAllTrafficAssigned, + RouteConditionIngressReady, + } { + ata := rs.GetCondition(cond) + if ata == nil || ata.Status != corev1.ConditionTrue { + return + } + } + rs.markReady() +} + +func (rs *RouteStatus) markReady() { + rs.setCondition(&RouteCondition{ + Type: RouteConditionReady, + Status: corev1.ConditionTrue, + }) +} diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/service_types.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/service_types.go index a76fbf1b7bc..a0caf04948e 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/service_types.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/service_types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC. +Copyright 2018 The Knative Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,6 +18,8 @@ package v1alpha1 import ( "encoding/json" + "reflect" + "time" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -28,10 +30,12 @@ import ( // Service type Service struct { - metav1.TypeMeta `json:",inline"` + metav1.TypeMeta `json:",inline"` + // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - - Spec ServiceSpec `json:"spec,omitempty"` + // +optional + Spec ServiceSpec `json:"spec,omitempty"` + // +optional Status ServiceStatus `json:"status,omitempty"` } @@ -42,6 +46,7 @@ type ServiceSpec struct { // by the APIserver (https://github.com/kubernetes/kubernetes/issues/58778) // So, we add Generation here. Once that gets fixed, remove this and use // ObjectMeta.Generation instead. + // +optional Generation int64 `json:"generation,omitempty"` // RunLatest defines a simple Service. It will automatically @@ -58,15 +63,18 @@ type ServiceSpec struct { type RunLatestType struct { // The configuration for this service. + // +optional Configuration ConfigurationSpec `json:"configuration,omitempty"` } 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"` } @@ -75,6 +83,9 @@ type ServiceCondition struct { Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` + // +optional + LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` + // +optional Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"` // +optional @@ -88,13 +99,47 @@ const ( // ServiceConditionReady is set when the service is configured // and has available backends ready to receive traffic. ServiceConditionReady ServiceConditionType = "Ready" + // ServiceConditionRoutesReady is set when the service's underlying + // routes have reported readiness. + ServiceConditionRoutesReady ServiceConditionType = "RoutesReady" + // ServiceConditionConfigurationsReady is set when the service's underlying + // configurations have reported readiness. + ServiceConditionConfigurationsReady ServiceConditionType = "ConfigurationsReady" ) type ServiceStatus struct { + // +optional Conditions []ServiceCondition `json:"conditions,omitempty"` + // From RouteStatus. + // 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"` + + // From RouteStatus. + // 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"` + + // From ConfigurationStatus. + // LatestReadyRevisionName holds the name of the latest Revision stamped out + // from this Service's Configuration that has had its "Ready" condition become "True". + // +optional + LatestReadyRevisionName string `json:"latestReadyRevisionName,omitempty"` + + // From ConfigurationStatus. + // LatestCreatedRevisionName is the last revision that was created from this Service's + // Configuration. It might not be ready yet, for that use LatestReadyRevisionName. + // +optional + LatestCreatedRevisionName string `json:"latestCreatedRevisionName,omitempty"` + // ObservedGeneration is the 'Generation' of the Service that // was last processed by the controller. + // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` } @@ -136,7 +181,7 @@ func (ss *ServiceStatus) GetCondition(t ServiceConditionType) *ServiceCondition return nil } -func (ss *ServiceStatus) SetCondition(new *ServiceCondition) { +func (ss *ServiceStatus) setCondition(new *ServiceCondition) { if new == nil { return } @@ -146,8 +191,15 @@ func (ss *ServiceStatus) SetCondition(new *ServiceCondition) { for _, cond := range ss.Conditions { if cond.Type != t { conditions = append(conditions, cond) + } else { + // If we'd only update the LastTransitionTime, then return. + new.LastTransitionTime = cond.LastTransitionTime + if reflect.DeepEqual(new, &cond) { + return + } } } + new.LastTransitionTime = metav1.NewTime(time.Now()) conditions = append(conditions, *new) ss.Conditions = conditions } @@ -161,3 +213,90 @@ func (ss *ServiceStatus) RemoveCondition(t ServiceConditionType) { } ss.Conditions = conditions } + +func (ss *ServiceStatus) InitializeConditions() { + for _, cond := range []ServiceConditionType{ + ServiceConditionReady, + ServiceConditionConfigurationsReady, + ServiceConditionRoutesReady, + } { + if rc := ss.GetCondition(cond); rc == nil { + ss.setCondition(&ServiceCondition{ + Type: cond, + Status: corev1.ConditionUnknown, + }) + } + } +} + +func (ss *ServiceStatus) PropagateConfigurationStatus(cs ConfigurationStatus) { + ss.LatestReadyRevisionName = cs.LatestReadyRevisionName + ss.LatestCreatedRevisionName = cs.LatestCreatedRevisionName + + cc := cs.GetCondition(ConfigurationConditionReady) + if cc == nil { + return + } + sct := []ServiceConditionType{ServiceConditionConfigurationsReady} + // If the underlying Configuration reported not ready, then bubble it up. + if cc.Status != corev1.ConditionTrue { + sct = append(sct, ServiceConditionReady) + } + for _, cond := range sct { + ss.setCondition(&ServiceCondition{ + Type: cond, + Status: cc.Status, + Reason: cc.Reason, + Message: cc.Message, + }) + } + if cc.Status == corev1.ConditionTrue { + ss.checkAndMarkReady() + } +} + +func (ss *ServiceStatus) PropagateRouteStatus(rs RouteStatus) { + ss.Domain = rs.Domain + ss.Traffic = rs.Traffic + + rc := rs.GetCondition(RouteConditionReady) + if rc == nil { + return + } + sct := []ServiceConditionType{ServiceConditionRoutesReady} + // If the underlying Route reported not ready, then bubble it up. + if rc.Status != corev1.ConditionTrue { + sct = append(sct, ServiceConditionReady) + } + for _, cond := range sct { + ss.setCondition(&ServiceCondition{ + Type: cond, + Status: rc.Status, + Reason: rc.Reason, + Message: rc.Message, + }) + } + if rc.Status == corev1.ConditionTrue { + ss.checkAndMarkReady() + } +} + +func (ss *ServiceStatus) checkAndMarkReady() { + for _, cond := range []ServiceConditionType{ + ServiceConditionConfigurationsReady, + ServiceConditionRoutesReady, + } { + c := ss.GetCondition(cond) + if c == nil || c.Status != corev1.ConditionTrue { + return + } + } + ss.markReady() +} + +func (ss *ServiceStatus) markReady() { + ss.setCondition(&ServiceCondition{ + Type: ServiceConditionReady, + Status: corev1.ConditionTrue, + }) +} diff --git a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go index cb4256eb2b7..62e5b279e2e 100644 --- a/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go +++ b/vendor/github.com/knative/serving/pkg/apis/serving/v1alpha1/zz_generated.deepcopy.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -57,6 +57,7 @@ func (in *Configuration) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConfigurationCondition) DeepCopyInto(out *ConfigurationCondition) { *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) return } @@ -136,7 +137,9 @@ func (in *ConfigurationStatus) DeepCopyInto(out *ConfigurationStatus) { if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions *out = make([]ConfigurationCondition, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } return } @@ -338,6 +341,7 @@ func (in *Route) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RouteCondition) DeepCopyInto(out *RouteCondition) { *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) return } @@ -417,7 +421,9 @@ func (in *RouteStatus) DeepCopyInto(out *RouteStatus) { if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions *out = make([]RouteCondition, len(*in)) - copy(*out, *in) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } } return } @@ -481,6 +487,7 @@ func (in *Service) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ServiceCondition) DeepCopyInto(out *ServiceCondition) { *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) return } @@ -568,6 +575,13 @@ func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus) { if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions *out = make([]ServiceCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Traffic != nil { + in, out := &in.Traffic, &out.Traffic + *out = make([]TrafficTarget, len(*in)) copy(*out, *in) } return diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/clientset.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/clientset.go index 7be974c10af..61fb78bd74f 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/clientset.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/doc.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/doc.go index a979b84c38b..483c0da9de4 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/doc.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/doc.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/doc.go index 2872a920d57..52627884652 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/doc.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/register.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/register.go index ac5900b2c3d..4e4a8caf367 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/register.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/doc.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/doc.go index bebde544855..ef0e5bffca0 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/doc.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/generated_expansion.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/generated_expansion.go index 58b93d91a00..d76b49759c7 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/generated_expansion.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/istio_client.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/istio_client.go index effeee68c7a..6929f6930db 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/istio_client.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/istio_client.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/routerule.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/routerule.go index 6dda2077811..8b05853d64b 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/routerule.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/istio/v1alpha2/routerule.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/configuration.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/configuration.go index b322aedf0f2..173be64fca7 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/configuration.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/configuration.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/doc.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/doc.go index 4a847a8cfcb..10ede9da2f0 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/doc.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/generated_expansion.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/generated_expansion.go index 22d78edc7b7..af4168b8a61 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/generated_expansion.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/revision.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/revision.go index 7f09e31e55d..e4a64efb307 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/revision.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/revision.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/route.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/route.go index bea317c73fc..e2d3bfb2e86 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/route.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/route.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/service.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/service.go index 7f6b864ab9d..5f77b55f889 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/service.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/service.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/serving_client.go b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/serving_client.go index 793fa8a2f3e..94f839d68ef 100644 --- a/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/serving_client.go +++ b/vendor/github.com/knative/serving/pkg/client/clientset/versioned/typed/serving/v1alpha1/serving_client.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/factory.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/factory.go index ea4b2ea58a0..a82de83e834 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/factory.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/factory.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/generic.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/generic.go index 9547f925d2e..51c77e586c6 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/generic.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/generic.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go index 8fb4e68af70..f64592a969b 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/interface.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/interface.go index 50a8177604f..94117408860 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/interface.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/interface.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/interface.go index e45718784c2..22560cdda77 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/interface.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/routerule.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/routerule.go index b923794dabc..99074ac2bce 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/routerule.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/istio/v1alpha2/routerule.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/interface.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/interface.go index e919b921710..91de67bb4cc 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/interface.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/configuration.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/configuration.go index 26840d5df53..dae80cf3540 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/configuration.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/configuration.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/interface.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/interface.go index 63561a250e5..c33cc732614 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/interface.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/revision.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/revision.go index b817ba55cbe..f02ced19cc2 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/revision.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/revision.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/route.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/route.go index ed3eef07f09..54cf00073ef 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/route.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/route.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/service.go b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/service.go index b5fb7bd7d23..2b604724c1e 100644 --- a/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/service.go +++ b/vendor/github.com/knative/serving/pkg/client/informers/externalversions/serving/v1alpha1/service.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/expansion_generated.go b/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/expansion_generated.go index 63c0e424cf1..1f5bc44ae4e 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/expansion_generated.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/expansion_generated.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/routerule.go b/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/routerule.go index 353d6e01e50..a08db59ff84 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/routerule.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/istio/v1alpha2/routerule.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/configuration.go b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/configuration.go index ba3f18506b1..81e552b0215 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/configuration.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/configuration.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/expansion_generated.go b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/expansion_generated.go index a6f09a5845c..a93f2edb43b 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/expansion_generated.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/expansion_generated.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/revision.go b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/revision.go index 6fb79316481..e8126737aa8 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/revision.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/revision.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/route.go b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/route.go index 81175b0093f..3e32d22940b 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/route.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/route.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/service.go b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/service.go index c8bfa21d719..34a3d30f6a7 100644 --- a/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/service.go +++ b/vendor/github.com/knative/serving/pkg/client/listers/serving/v1alpha1/service.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Google LLC +Copyright 2018 The Knative Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/vendor/github.com/knative/serving/third_party/config/monitoring/istio/LICENSE b/vendor/github.com/knative/serving/third_party/config/monitoring/common/istio/LICENSE similarity index 100% rename from vendor/github.com/knative/serving/third_party/config/monitoring/istio/LICENSE rename to vendor/github.com/knative/serving/third_party/config/monitoring/common/istio/LICENSE diff --git a/vendor/github.com/knative/serving/third_party/config/monitoring/kubernetes/LICENSE b/vendor/github.com/knative/serving/third_party/config/monitoring/common/kubernetes/LICENSE similarity index 100% rename from vendor/github.com/knative/serving/third_party/config/monitoring/kubernetes/LICENSE rename to vendor/github.com/knative/serving/third_party/config/monitoring/common/kubernetes/LICENSE diff --git a/vendor/github.com/knative/serving/third_party/config/monitoring/prometheus-operator/LICENSE b/vendor/github.com/knative/serving/third_party/config/monitoring/common/prometheus-operator/LICENSE similarity index 100% rename from vendor/github.com/knative/serving/third_party/config/monitoring/prometheus-operator/LICENSE rename to vendor/github.com/knative/serving/third_party/config/monitoring/common/prometheus-operator/LICENSE diff --git a/vendor/github.com/knative/serving/third_party/config/monitoring/prometheus-operator/NOTICE b/vendor/github.com/knative/serving/third_party/config/monitoring/common/prometheus-operator/NOTICE similarity index 100% rename from vendor/github.com/knative/serving/third_party/config/monitoring/prometheus-operator/NOTICE rename to vendor/github.com/knative/serving/third_party/config/monitoring/common/prometheus-operator/NOTICE diff --git a/vendor/github.com/knative/serving/third_party/istio-0.6.0/LICENSE b/vendor/github.com/knative/serving/third_party/config/monitoring/elasticsearch/LICENSE similarity index 99% rename from vendor/github.com/knative/serving/third_party/istio-0.6.0/LICENSE rename to vendor/github.com/knative/serving/third_party/config/monitoring/elasticsearch/LICENSE index 2c45691e883..8dada3edaf5 100644 --- a/vendor/github.com/knative/serving/third_party/istio-0.6.0/LICENSE +++ b/vendor/github.com/knative/serving/third_party/config/monitoring/elasticsearch/LICENSE @@ -1,5 +1,4 @@ - - Apache License + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ @@ -187,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2016 Istio Authors + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.