diff --git a/changelog/v1.0.0-rc3/add-enabled-flag-validation-certgenjob.yaml b/changelog/v1.0.0/add-enabled-flag-validation-certgenjob.yaml similarity index 100% rename from changelog/v1.0.0-rc3/add-enabled-flag-validation-certgenjob.yaml rename to changelog/v1.0.0/add-enabled-flag-validation-certgenjob.yaml diff --git a/changelog/v1.0.0-rc3/certgen-job-ttl.yaml b/changelog/v1.0.0/certgen-job-ttl.yaml similarity index 100% rename from changelog/v1.0.0-rc3/certgen-job-ttl.yaml rename to changelog/v1.0.0/certgen-job-ttl.yaml diff --git a/changelog/v1.0.0-rc3/cross-namespace-gateways.yaml b/changelog/v1.0.0/cross-namespace-gateways.yaml similarity index 100% rename from changelog/v1.0.0-rc3/cross-namespace-gateways.yaml rename to changelog/v1.0.0/cross-namespace-gateways.yaml diff --git a/changelog/v1.0.0-rc3/fix-plugin-race.yaml b/changelog/v1.0.0/fix-plugin-race.yaml similarity index 100% rename from changelog/v1.0.0-rc3/fix-plugin-race.yaml rename to changelog/v1.0.0/fix-plugin-race.yaml diff --git a/changelog/v1.0.0-rc3/fix-proto-descriptor-serialization.yaml b/changelog/v1.0.0/fix-proto-descriptor-serialization.yaml similarity index 100% rename from changelog/v1.0.0-rc3/fix-proto-descriptor-serialization.yaml rename to changelog/v1.0.0/fix-proto-descriptor-serialization.yaml diff --git a/changelog/v1.0.0-rc3/fix-protobuf-display-links.yaml b/changelog/v1.0.0/fix-protobuf-display-links.yaml similarity index 100% rename from changelog/v1.0.0-rc3/fix-protobuf-display-links.yaml rename to changelog/v1.0.0/fix-protobuf-display-links.yaml diff --git a/changelog/v1.0.0-rc3/fix-transformation-docs-typo.yaml b/changelog/v1.0.0/fix-transformation-docs-typo.yaml similarity index 100% rename from changelog/v1.0.0-rc3/fix-transformation-docs-typo.yaml rename to changelog/v1.0.0/fix-transformation-docs-typo.yaml diff --git a/changelog/v1.0.0-rc3/gateway-tcp-destination-rename.yaml b/changelog/v1.0.0/gateway-tcp-destination-rename.yaml similarity index 100% rename from changelog/v1.0.0-rc3/gateway-tcp-destination-rename.yaml rename to changelog/v1.0.0/gateway-tcp-destination-rename.yaml diff --git a/changelog/v1.0.0-rc3/gateway-to-v1.yaml b/changelog/v1.0.0/gateway-to-v1.yaml similarity index 100% rename from changelog/v1.0.0-rc3/gateway-to-v1.yaml rename to changelog/v1.0.0/gateway-to-v1.yaml diff --git a/changelog/v1.0.0-rc3/gateway-vs.yaml b/changelog/v1.0.0/gateway-vs.yaml similarity index 100% rename from changelog/v1.0.0-rc3/gateway-vs.yaml rename to changelog/v1.0.0/gateway-vs.yaml diff --git a/changelog/v1.0.0-rc3/global-install-id.yaml b/changelog/v1.0.0/global-install-id.yaml similarity index 100% rename from changelog/v1.0.0-rc3/global-install-id.yaml rename to changelog/v1.0.0/global-install-id.yaml diff --git a/changelog/v1.0.0-rc3/glooctl-dump-yaml.yaml b/changelog/v1.0.0/glooctl-dump-yaml.yaml similarity index 100% rename from changelog/v1.0.0-rc3/glooctl-dump-yaml.yaml rename to changelog/v1.0.0/glooctl-dump-yaml.yaml diff --git a/changelog/v1.0.0-rc3/glooctl-uninstall-id.yaml b/changelog/v1.0.0/glooctl-uninstall-id.yaml similarity index 100% rename from changelog/v1.0.0-rc3/glooctl-uninstall-id.yaml rename to changelog/v1.0.0/glooctl-uninstall-id.yaml diff --git a/changelog/v1.0.0-rc3/glooctl-version-warning.yaml b/changelog/v1.0.0/glooctl-version-warning.yaml similarity index 100% rename from changelog/v1.0.0-rc3/glooctl-version-warning.yaml rename to changelog/v1.0.0/glooctl-version-warning.yaml diff --git a/changelog/v1.0.0-rc3/knative-helm-uses-semver-compare.yml b/changelog/v1.0.0/knative-helm-uses-semver-compare.yml similarity index 100% rename from changelog/v1.0.0-rc3/knative-helm-uses-semver-compare.yml rename to changelog/v1.0.0/knative-helm-uses-semver-compare.yml diff --git a/changelog/v1.0.0-rc3/minor-cleanup.yaml b/changelog/v1.0.0/minor-cleanup.yaml similarity index 100% rename from changelog/v1.0.0-rc3/minor-cleanup.yaml rename to changelog/v1.0.0/minor-cleanup.yaml diff --git a/changelog/v1.0.0-rc3/remove-logging.yaml b/changelog/v1.0.0/remove-logging.yaml similarity index 100% rename from changelog/v1.0.0-rc3/remove-logging.yaml rename to changelog/v1.0.0/remove-logging.yaml diff --git a/changelog/v1.0.0-rc3/remove-more-deprecated-config.yaml b/changelog/v1.0.0/remove-more-deprecated-config.yaml similarity index 100% rename from changelog/v1.0.0-rc3/remove-more-deprecated-config.yaml rename to changelog/v1.0.0/remove-more-deprecated-config.yaml diff --git a/changelog/v1.0.0-rc3/rename-plugins-to-options.yaml b/changelog/v1.0.0/rename-plugins-to-options.yaml similarity index 100% rename from changelog/v1.0.0-rc3/rename-plugins-to-options.yaml rename to changelog/v1.0.0/rename-plugins-to-options.yaml diff --git a/changelog/v1.0.0-rc3/secret-redacter.yaml b/changelog/v1.0.0/secret-redacter.yaml similarity index 100% rename from changelog/v1.0.0-rc3/secret-redacter.yaml rename to changelog/v1.0.0/secret-redacter.yaml diff --git a/changelog/v1.0.0-rc3/undeprecate-extenions.yaml b/changelog/v1.0.0/undeprecate-extenions.yaml similarity index 100% rename from changelog/v1.0.0-rc3/undeprecate-extenions.yaml rename to changelog/v1.0.0/undeprecate-extenions.yaml diff --git a/changelog/v1.0.0/upstream-spec-removal.yaml b/changelog/v1.0.0/upstream-spec-removal.yaml new file mode 100644 index 00000000000..96c7a06070b --- /dev/null +++ b/changelog/v1.0.0/upstream-spec-removal.yaml @@ -0,0 +1,7 @@ +changelog: + - type: BREAKING_CHANGE + description: > + Refactor the Upstream API to remove the `upstreamSpec` field, bringing all the fields + contained in `upstreamSpec` up one level to the top-level Upstream. + issueLink: https://github.com/solo-io/gloo/issues/1171 +releaseStableApi: true diff --git a/docs/content/advanced_configuration/session_affinity.md b/docs/content/advanced_configuration/session_affinity.md index 8d1ea9f11dd..6f39911626a 100644 --- a/docs/content/advanced_configuration/session_affinity.md +++ b/docs/content/advanced_configuration/session_affinity.md @@ -49,18 +49,17 @@ metadata: name: default-session-affinity-app-80 namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - name: session-affinity-app - serviceName: session-affinity-app - serviceNamespace: default - servicePort: 80 - loadBalancerConfig: - ringHash: - ringHashConfig: - maximumRingSize: "200" - minimumRingSize: "10" + kube: + selector: + name: session-affinity-app + serviceName: session-affinity-app + serviceNamespace: default + servicePort: 80 + loadBalancerConfig: + ringHash: + ringHashConfig: + maximumRingSize: "200" + minimumRingSize: "10" {{< /highlight >}} - Optional fields omitted: @@ -75,15 +74,14 @@ metadata: name: default-session-affinity-app-80 namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - name: session-affinity-app - serviceName: session-affinity-app - serviceNamespace: default - servicePort: 80 - loadBalancerConfig: - ringHash: {} + kube: + selector: + name: session-affinity-app + serviceName: session-affinity-app + serviceNamespace: default + servicePort: 80 + loadBalancerConfig: + ringHash: {} {{< /highlight >}} #### Configure a Maglev Load Balancer on an Upstream @@ -307,18 +305,17 @@ metadata: name: default-session-affinity-app-80 namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - name: session-affinity-app - serviceName: session-affinity-app - serviceNamespace: default - servicePort: 80 - loadBalancerConfig: - ringHash: - ringHashConfig: - maximumRingSize: "200" - minimumRingSize: "10" + kube: + selector: + name: session-affinity-app + serviceName: session-affinity-app + serviceNamespace: default + servicePort: 80 + loadBalancerConfig: + ringHash: + ringHashConfig: + maximumRingSize: "200" + minimumRingSize: "10" {{< /highlight >}} ##### Configure the route diff --git a/docs/content/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md b/docs/content/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md index 8bc72da9abc..463b140f156 100644 --- a/docs/content/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md +++ b/docs/content/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md @@ -33,19 +33,45 @@ Each upstream in Gloo has a type. Supported types include `static`, `kubernetes` Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo) ```yaml -"upstreamSpec": .gloo.solo.io.UpstreamSpec "status": .core.solo.io.Status "metadata": .core.solo.io.Metadata "discoveryMetadata": .gloo.solo.io.DiscoveryMetadata +"sslConfig": .gloo.solo.io.UpstreamSslConfig +"circuitBreakers": .gloo.solo.io.CircuitBreakerConfig +"loadBalancerConfig": .gloo.solo.io.LoadBalancerConfig +"connectionConfig": .gloo.solo.io.ConnectionConfig +"healthChecks": []envoy.api.v2.core.HealthCheck +"outlierDetection": .envoy.api.v2.cluster.OutlierDetection +"useHttp2": bool +"kube": .kubernetes.options.gloo.solo.io.UpstreamSpec +"static": .static.options.gloo.solo.io.UpstreamSpec +"pipe": .pipe.options.gloo.solo.io.UpstreamSpec +"aws": .aws.options.gloo.solo.io.UpstreamSpec +"azure": .azure.options.gloo.solo.io.UpstreamSpec +"consul": .consul.options.gloo.solo.io.UpstreamSpec +"awsEc2": .aws_ec2.options.gloo.solo.io.UpstreamSpec ``` | Field | Type | Description | Default | | ----- | ---- | ----------- |----------- | -| `upstreamSpec` | [.gloo.solo.io.UpstreamSpec](../options.proto.sk/#upstreamspec) | Type-specific configuration. Examples include static, kubernetes, and aws. The type-specific config for the upstream is called a spec. | | | `status` | [.core.solo.io.Status](../../../../../../solo-kit/api/v1/status.proto.sk/#status) | Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation. | | | `metadata` | [.core.solo.io.Metadata](../../../../../../solo-kit/api/v1/metadata.proto.sk/#metadata) | Metadata contains the object metadata for this resource. | | | `discoveryMetadata` | [.gloo.solo.io.DiscoveryMetadata](../upstream.proto.sk/#discoverymetadata) | Upstreams and their configuration can be automatically by Gloo Discovery if this upstream is created or modified by Discovery, metadata about the operation will be placed here. | | +| `sslConfig` | [.gloo.solo.io.UpstreamSslConfig](../ssl.proto.sk/#upstreamsslconfig) | | | +| `circuitBreakers` | [.gloo.solo.io.CircuitBreakerConfig](../circuit_breaker.proto.sk/#circuitbreakerconfig) | Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) will be used. | | +| `loadBalancerConfig` | [.gloo.solo.io.LoadBalancerConfig](../load_balancer.proto.sk/#loadbalancerconfig) | | | +| `connectionConfig` | [.gloo.solo.io.ConnectionConfig](../connection.proto.sk/#connectionconfig) | | | +| `healthChecks` | [[]envoy.api.v2.core.HealthCheck](../../external/envoy/api/v2/core/health_check.proto.sk/#healthcheck) | | | +| `outlierDetection` | [.envoy.api.v2.cluster.OutlierDetection](../../external/envoy/api/v2/cluster/outlier_detection.proto.sk/#outlierdetection) | | | +| `useHttp2` | `bool` | Use http2 when communicating with this upstream this field is evaluated `true` for upstreams with a grpc service spec. otherwise defaults to `false`. | | +| `kube` | [.kubernetes.options.gloo.solo.io.UpstreamSpec](../options/kubernetes/kubernetes.proto.sk/#upstreamspec) | Only one of `kube`, `static`, `pipe`, `aws`, `azure`, or `awsEc2` can be set. | | +| `static` | [.static.options.gloo.solo.io.UpstreamSpec](../options/static/static.proto.sk/#upstreamspec) | Only one of `static`, `kube`, `pipe`, `aws`, `azure`, or `awsEc2` can be set. | | +| `pipe` | [.pipe.options.gloo.solo.io.UpstreamSpec](../options/pipe/pipe.proto.sk/#upstreamspec) | Only one of `pipe`, `kube`, `static`, `aws`, `azure`, or `awsEc2` can be set. | | +| `aws` | [.aws.options.gloo.solo.io.UpstreamSpec](../options/aws/aws.proto.sk/#upstreamspec) | Only one of `aws`, `kube`, `static`, `pipe`, `azure`, or `awsEc2` can be set. | | +| `azure` | [.azure.options.gloo.solo.io.UpstreamSpec](../options/azure/azure.proto.sk/#upstreamspec) | Only one of `azure`, `kube`, `static`, `pipe`, `aws`, or `awsEc2` can be set. | | +| `consul` | [.consul.options.gloo.solo.io.UpstreamSpec](../options/consul/consul.proto.sk/#upstreamspec) | Only one of `consul`, `kube`, `static`, `pipe`, `aws`, or `awsEc2` can be set. | | +| `awsEc2` | [.aws_ec2.options.gloo.solo.io.UpstreamSpec](../options/aws/ec2/aws_ec2.proto.sk/#upstreamspec) | Only one of `awsEc2`, `kube`, `static`, `pipe`, `aws`, or `consul` can be set. | | diff --git a/docs/content/dev/plugin.go b/docs/content/dev/plugin.go index e93c657cacb..544bed10b4f 100644 --- a/docs/content/dev/plugin.go +++ b/docs/content/dev/plugin.go @@ -32,7 +32,7 @@ func NewPlugin() *plugin { func (*plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *v2.Cluster) error { // check that the upstream is our type (GCE) - if _, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Gce); !ok { + if _, ok := in.UpstreamType.(*v1.UpstreamSpec_Gce); !ok { // not gce, return early return nil } @@ -131,7 +131,7 @@ func getLatestEndpoints(instancesClient *compute.InstancesService, upstreams v1. // for each upstream, retrieve its endpoints for _, us := range upstreams { // check that the upstream uses the GCE Spec - gceSpec := us.UpstreamSpec.GetGce() + gceSpec := us.GetGce() if gceSpec == nil { // skip non-GCE upstreams continue diff --git a/docs/content/dev/writing-upstream-plugins.md b/docs/content/dev/writing-upstream-plugins.md index d32415aa9f6..76e8a59e11a 100644 --- a/docs/content/dev/writing-upstream-plugins.md +++ b/docs/content/dev/writing-upstream-plugins.md @@ -310,7 +310,7 @@ import ( func (*plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *v2.Cluster) error { // check that the upstream is our type (GCE) - if _, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Gce); !ok { + if _, ok := in.UpstreamType.(*v1.UpstreamSpec_Gce); !ok { // not gce, return early return nil } @@ -434,7 +434,7 @@ func getLatestEndpoints(instancesClient *compute.InstancesService, upstreams v1. // for each upstream, retrieve its endpoints for _, us := range upstreams { // check that the upstream uses the GCE Spec - gceSpec := us.UpstreamSpec.GetGce() + gceSpec := us.GetGce() if gceSpec == nil { // skip non-GCE upstreams continue @@ -501,7 +501,7 @@ func getLatestEndpoints(instancesClient *compute.InstancesService, upstreams v1. // for each upstream, retrieve its endpoints for _, us := range upstreams { // check that the upstream uses the GCE Spec - gceSpec := us.UpstreamSpec.GetGce() + gceSpec := us.GetGce() if gceSpec == nil { // skip non-GCE upstreams continue @@ -549,7 +549,7 @@ func getLatestEndpoints(instancesClient *compute.InstancesService, upstreams v1. // for each upstream, retrieve its endpoints for _, us := range upstreams { // check that the upstream uses the GCE Spec - gceSpec := us.UpstreamSpec.GetGce() + gceSpec := us.GetGce() if gceSpec == nil { // skip non-GCE upstreams continue @@ -603,7 +603,7 @@ func getLatestEndpoints(instancesClient *compute.InstancesService, upstreams v1. // for each upstream, retrieve its endpoints for _, us := range upstreams { // check that the upstream uses the GCE Spec - gceSpec := us.UpstreamSpec.GetGce() + gceSpec := us.GetGce() if gceSpec == nil { // skip non-GCE upstreams continue diff --git a/docs/content/gloo_integrations/service_mesh/gloo_istio_mtls.md b/docs/content/gloo_integrations/service_mesh/gloo_istio_mtls.md index 25a942f1724..2645fae2c00 100644 --- a/docs/content/gloo_integrations/service_mesh/gloo_istio_mtls.md +++ b/docs/content/gloo_integrations/service_mesh/gloo_istio_mtls.md @@ -127,18 +127,17 @@ metadata: uid: dfd33b6c-3a3b-11e9-98c6-02425fecee06 spec: discoveryMetadata: {} - upstreamSpec: - sslConfig: - sslFiles: - tlsCert: /etc/certs/cert-chain.pem - tlsKey: /etc/certs/key.pem - rootCa: /etc/certs/root-cert.pem - kube: - selector: - app: productpage - serviceName: productpage - serviceNamespace: default - servicePort: 9080 + sslConfig: + sslFiles: + tlsCert: /etc/certs/cert-chain.pem + tlsKey: /etc/certs/key.pem + rootCa: /etc/certs/root-cert.pem + kube: + selector: + app: productpage + serviceName: productpage + serviceNamespace: default + servicePort: 9080 status: reported_by: gloo state: 1 diff --git a/docs/content/gloo_routing/hello_world/_index.md b/docs/content/gloo_routing/hello_world/_index.md index cf2e5e2fb5b..3144b945f31 100644 --- a/docs/content/gloo_routing/hello_world/_index.md +++ b/docs/content/gloo_routing/hello_world/_index.md @@ -100,60 +100,59 @@ processed by Gloo. status: reportedBy: gloo state: Accepted - upstreamSpec: - kube: - selector: - app: petstore - serviceName: petstore - serviceNamespace: default - servicePort: 8080 - serviceSpec: - rest: - swaggerInfo: - url: http://petstore.default.svc.cluster.local:8080/swagger.json - transformations: - addPet: - body: - text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": - "{{ default(tag, "")}}"}' - headers: - :method: - text: POST - :path: - text: /api/pets - content-type: - text: application/json - deletePet: - headers: - :method: - text: DELETE - :path: - text: /api/pets/{{ default(id, "") }} - content-type: - text: application/json - findPetById: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets/{{ default(id, "") }} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} - findPets: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, - "")}} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} + kube: + selector: + app: petstore + serviceName: petstore + serviceNamespace: default + servicePort: 8080 + serviceSpec: + rest: + swaggerInfo: + url: http://petstore.default.svc.cluster.local:8080/swagger.json + transformations: + addPet: + body: + text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": + "{{ default(tag, "")}}"}' + headers: + :method: + text: POST + :path: + text: /api/pets + content-type: + text: application/json + deletePet: + headers: + :method: + text: DELETE + :path: + text: /api/pets/{{ default(id, "") }} + content-type: + text: application/json + findPetById: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets/{{ default(id, "") }} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} + findPets: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, + "")}} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} ``` The application endpoints were discovered by Gloo's Function Discovery (fds) service. This was possible because the petstore diff --git a/docs/content/gloo_routing/tls/client_tls.md b/docs/content/gloo_routing/tls/client_tls.md index 1aee3924720..80bdae217a1 100644 --- a/docs/content/gloo_routing/tls/client_tls.md +++ b/docs/content/gloo_routing/tls/client_tls.md @@ -217,17 +217,16 @@ metadata: namespace: gloo-system spec: discoveryMetadata: {} - upstreamSpec: - kube: - selector: - app: example-tls-server - serviceName: example-tls-server - serviceNamespace: default - servicePort: 8080 - sslConfig: - secretRef: - name: upstream-tls - namespace: default + kube: + selector: + app: example-tls-server + serviceName: example-tls-server + serviceNamespace: default + servicePort: 8080 + sslConfig: + secretRef: + name: upstream-tls + namespace: default status: reported_by: gloo state: 1 diff --git a/docs/content/gloo_routing/virtual_services/data_loss_prevention/us-echo-test.yaml b/docs/content/gloo_routing/virtual_services/data_loss_prevention/us-echo-test.yaml index 8d9c88cda0c..ec2121e22fa 100644 --- a/docs/content/gloo_routing/virtual_services/data_loss_prevention/us-echo-test.yaml +++ b/docs/content/gloo_routing/virtual_services/data_loss_prevention/us-echo-test.yaml @@ -4,8 +4,7 @@ metadata: name: json-upstream namespace: gloo-system spec: - upstreamSpec: - static: - hosts: - - addr: echo.jsontest.com - port: 80 \ No newline at end of file + static: + hosts: + - addr: echo.jsontest.com + port: 80 \ No newline at end of file diff --git a/docs/content/gloo_routing/virtual_services/routes/route_destinations/multiple_upstreams/subsets/_index.md b/docs/content/gloo_routing/virtual_services/routes/route_destinations/multiple_upstreams/subsets/_index.md index 7809a56d8ad..ff828ee0de5 100644 --- a/docs/content/gloo_routing/virtual_services/routes/route_destinations/multiple_upstreams/subsets/_index.md +++ b/docs/content/gloo_routing/virtual_services/routes/route_destinations/multiple_upstreams/subsets/_index.md @@ -49,19 +49,18 @@ apiVersion: gloo.solo.io/v1 name: default-petstore-8080 namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - app: petstore - serviceName: petstore - serviceNamespace: default - subsetSpec: - selectors: - - keys: - - color - servicePort: 8080 - serviceSpec: - rest: + kube: + selector: + app: petstore + serviceName: petstore + serviceNamespace: default + subsetSpec: + selectors: + - keys: + - color + servicePort: 8080 + serviceSpec: + rest: ... {{< /highlight >}} diff --git a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/discovered_upstream/_index.md b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/discovered_upstream/_index.md index f91350192e6..92bb7dcebc1 100644 --- a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/discovered_upstream/_index.md +++ b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/discovered_upstream/_index.md @@ -81,60 +81,59 @@ metadata: uid: 344a9166-b305-11e9-bbf8-42010a800130 spec: discoveryMetadata: {} - upstreamSpec: - kube: - selector: - app: petstore - serviceName: petstore - serviceNamespace: default - servicePort: 8080 - serviceSpec: - rest: - swaggerInfo: - url: http://petstore.default.svc.cluster.local:8080/swagger.json - transformations: - addPet: - body: - text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": - "{{ default(tag, "")}}"}' - headers: - :method: - text: POST - :path: - text: /api/pets - content-type: - text: application/json - deletePet: - headers: - :method: - text: DELETE - :path: - text: /api/pets/{{ default(id, "") }} - content-type: - text: application/json - findPetById: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets/{{ default(id, "") }} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} - findPets: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, - "")}} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} + kube: + selector: + app: petstore + serviceName: petstore + serviceNamespace: default + servicePort: 8080 + serviceSpec: + rest: + swaggerInfo: + url: http://petstore.default.svc.cluster.local:8080/swagger.json + transformations: + addPet: + body: + text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": + "{{ default(tag, "")}}"}' + headers: + :method: + text: POST + :path: + text: /api/pets + content-type: + text: application/json + deletePet: + headers: + :method: + text: DELETE + :path: + text: /api/pets/{{ default(id, "") }} + content-type: + text: application/json + findPetById: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets/{{ default(id, "") }} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} + findPets: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, + "")}} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} status: reported_by: gloo state: 1 diff --git a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/ec2_upstream/_index.md b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/ec2_upstream/_index.md index d5a184c31c0..7b2461c2ad2 100644 --- a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/ec2_upstream/_index.md +++ b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/ec2_upstream/_index.md @@ -21,19 +21,18 @@ metadata: name: my-ec2-upstream namespace: gloo-system spec: - upstreamSpec: - awsEc2: - filters: - - key: some-key - - kvPair: - key: some-other-key - value: some-value - region: us-east-1 - publicIp: true - secretRef: - name: my-aws-secret - namespace: default - roleArn: arn:aws:iam::123456789012:role/describe-ec2-demo + awsEc2: + filters: + - key: some-key + - kvPair: + key: some-other-key + value: some-value + region: us-east-1 + publicIp: true + secretRef: + name: my-aws-secret + namespace: default + roleArn: arn:aws:iam::123456789012:role/describe-ec2-demo ``` ## Key points @@ -174,22 +173,21 @@ metadata: name: ec2-demo-upstream namespace: gloo-system spec: - upstreamSpec: - awsEc2: - filters: - - key: gloo-id - - kvPair: - key: gloo-tag - value: group1 - - kvPair: - key: version - value: v1.2.3 - region: us-east-1 - publicIp: true - secretRef: - name: gloo-tag-group1 - namespace: default - roleArn: "" + awsEc2: + filters: + - key: gloo-id + - kvPair: + key: gloo-tag + value: group1 + - kvPair: + key: version + value: v1.2.3 + region: us-east-1 + publicIp: true + secretRef: + name: gloo-tag-group1 + namespace: default + roleArn: "" ``` - Take note of a few of the options we have set for this sample upstream: diff --git a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/function_routing/grpc_to_rest/_index.md b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/function_routing/grpc_to_rest/_index.md index ef0d6aabda9..ca86d313e63 100644 --- a/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/function_routing/grpc_to_rest/_index.md +++ b/docs/content/gloo_routing/virtual_services/routes/route_destinations/single_upstreams/function_routing/grpc_to_rest/_index.md @@ -69,24 +69,23 @@ metadata: namespace: gloo-system spec: discoveryMetadata: {} - upstreamSpec: - kube: - selector: - app: grpcstore-demo - serviceName: grpcstore-demo - serviceNamespace: default - servicePort: 80 - serviceSpec: - grpc: - descriptors: Q3F3RkNoVm5iMjluYkdVdllYQnBMMmgwZE…bTkwYnpNPQ== - grpcServices: - - functionNames: - - CreateItem - - ListItems - - DeleteItem - - GetItem - packageName: solo.examples.v1 - serviceName: StoreService + kube: + selector: + app: grpcstore-demo + serviceName: grpcstore-demo + serviceNamespace: default + servicePort: 80 + serviceSpec: + grpc: + descriptors: Q3F3RkNoVm5iMjluYkdVdllYQnBMMmgwZE…bTkwYnpNPQ== + grpcServices: + - functionNames: + - CreateItem + - ListItems + - DeleteItem + - GetItem + packageName: solo.examples.v1 + serviceName: StoreService status: reported_by: gloo state: 1 diff --git a/docs/content/gloo_routing/virtual_services/security/custom_auth/auth-service.yaml b/docs/content/gloo_routing/virtual_services/security/custom_auth/auth-service.yaml index 1991ad31510..2f602efe3c6 100644 --- a/docs/content/gloo_routing/virtual_services/security/custom_auth/auth-service.yaml +++ b/docs/content/gloo_routing/virtual_services/security/custom_auth/auth-service.yaml @@ -41,8 +41,7 @@ metadata: name: auth-server namespace: gloo-system spec: - upstreamSpec: - static: - hosts: - - addr: auth-service.gloo-system.svc.cluster.local - port: 80 \ No newline at end of file + static: + hosts: + - addr: auth-service.gloo-system.svc.cluster.local + port: 80 \ No newline at end of file diff --git a/docs/content/installation/gateway/docker-compose-file/_index.md b/docs/content/installation/gateway/docker-compose-file/_index.md index 7a4c05d6a6a..8a475b7f1d6 100644 --- a/docs/content/installation/gateway/docker-compose-file/_index.md +++ b/docs/content/installation/gateway/docker-compose-file/_index.md @@ -23,58 +23,57 @@ cat data/config/upstreams/gloo-system/petstore.yaml metadata: name: petstore namespace: gloo-system -upstreamSpec: - static: - hosts: - - addr: petstore - port: 8080 - serviceSpec: - rest: - swaggerInfo: - url: http://petstore:8080/swagger.json - transformations: - addPet: - body: - text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": - "{{ default(tag, "")}}"}' - headers: - :method: - text: POST - :path: - text: /api/pets - content-type: - text: application/json - deletePet: - headers: - :method: - text: DELETE - :path: - text: /api/pets/{{ default(id, "") }} - content-type: - text: application/json - findPetById: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets/{{ default(id, "") }} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} - findPets: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, - "")}} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} +static: + hosts: + - addr: petstore + port: 8080 + serviceSpec: + rest: + swaggerInfo: + url: http://petstore:8080/swagger.json + transformations: + addPet: + body: + text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": + "{{ default(tag, "")}}"}' + headers: + :method: + text: POST + :path: + text: /api/pets + content-type: + text: application/json + deletePet: + headers: + :method: + text: DELETE + :path: + text: /api/pets/{{ default(id, "") }} + content-type: + text: application/json + findPetById: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets/{{ default(id, "") }} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} + findPets: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, + "")}} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} ``` ```shell diff --git a/docs/content/installation/gateway/docker-compose-file/data/config/upstreams/gloo-system/petstore.yaml b/docs/content/installation/gateway/docker-compose-file/data/config/upstreams/gloo-system/petstore.yaml index f9ac07433d5..9d039758442 100644 --- a/docs/content/installation/gateway/docker-compose-file/data/config/upstreams/gloo-system/petstore.yaml +++ b/docs/content/installation/gateway/docker-compose-file/data/config/upstreams/gloo-system/petstore.yaml @@ -1,55 +1,54 @@ metadata: name: petstore namespace: gloo-system -upstreamSpec: - static: - hosts: - - addr: petstore - port: 8080 - serviceSpec: - rest: - swaggerInfo: - url: http://petstore:8080/swagger.json - transformations: - addPet: - body: - text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": - "{{ default(tag, "")}}"}' - headers: - :method: - text: POST - :path: - text: /api/pets - content-type: - text: application/json - deletePet: - headers: - :method: - text: DELETE - :path: - text: /api/pets/{{ default(id, "") }} - content-type: - text: application/json - findPetById: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets/{{ default(id, "") }} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} - findPets: - body: {} - headers: - :method: - text: GET - :path: - text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, - "")}} - content-length: - text: "0" - content-type: {} - transfer-encoding: {} +static: + hosts: + - addr: petstore + port: 8080 + serviceSpec: + rest: + swaggerInfo: + url: http://petstore:8080/swagger.json + transformations: + addPet: + body: + text: '{"id": {{ default(id, "") }},"name": "{{ default(name, "")}}","tag": + "{{ default(tag, "")}}"}' + headers: + :method: + text: POST + :path: + text: /api/pets + content-type: + text: application/json + deletePet: + headers: + :method: + text: DELETE + :path: + text: /api/pets/{{ default(id, "") }} + content-type: + text: application/json + findPetById: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets/{{ default(id, "") }} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} + findPets: + body: {} + headers: + :method: + text: GET + :path: + text: /api/pets?tags={{default(tags, "")}}&limit={{default(limit, + "")}} + content-length: + text: "0" + content-type: {} + transfer-encoding: {} diff --git a/docs/content/installation/gateway/kubernetes/values.txt b/docs/content/installation/gateway/kubernetes/values.txt index c82b62efda1..143f9eaa521 100755 --- a/docs/content/installation/gateway/kubernetes/values.txt +++ b/docs/content/installation/gateway/kubernetes/values.txt @@ -81,7 +81,7 @@ |gateway.certGenJob.image.pullPolicy|string||image pull policy for the container| |gateway.certGenJob.image.pullSecret|string||image pull policy for the container | |gateway.certGenJob.restartPolicy|string|OnFailure|restart policy to use when the pod exits| -|gateway.certGenJob.enabled|bool|true|enable Gloo API certgen job (default true)| +|gateway.certGenJob.enabled|bool|true|enable the job that generates the certificates for the validating webhook at install time (default true)| |gateway.certGenJob.setTtlAfterFinished|bool|true|Set ttlSecondsAfterFinished (a k8s feature in Alpha) on the job. Defaults to true| |gateway.certGenJob.ttlSecondsAfterFinished|int|60|Clean up the finished job after this many seconds. Defaults to 60| |gateway.updateValues|bool|false|if true, will use a provided helm helper 'gloo.updatevalues' to update values during template render - useful for plugins/extensions| diff --git a/docs/content/introduction/concepts.md b/docs/content/introduction/concepts.md index d04580a132e..2e73c0b6443 100644 --- a/docs/content/introduction/concepts.md +++ b/docs/content/introduction/concepts.md @@ -162,13 +162,12 @@ metadata: status: reportedBy: gloo state: Accepted -upstreamSpec: - kube: - selector: - gloo: redis - serviceName: redis - serviceNamespace: gloo-system - servicePort: 6379 +kube: + selector: + gloo: redis + serviceName: redis + serviceNamespace: gloo-system + servicePort: 6379 ``` - `name` tells Gloo what the identifier for this upstream will be (for routes that point to it). diff --git a/docs/content/static/content/setup_postman_echo.md b/docs/content/static/content/setup_postman_echo.md index ee143889194..ff83baa0168 100644 --- a/docs/content/static/content/setup_postman_echo.md +++ b/docs/content/static/content/setup_postman_echo.md @@ -15,9 +15,8 @@ metadata: name: postman-echo namespace: gloo-system spec: - upstreamSpec: - static: - hosts: - - addr: postman-echo.com - port: 80 + static: + hosts: + - addr: postman-echo.com + port: 80 ``` \ No newline at end of file diff --git a/docs/data/ProtoMap.yaml b/docs/data/ProtoMap.yaml index 49981f3670d..a7cebe5e063 100644 --- a/docs/data/ProtoMap.yaml +++ b/docs/data/ProtoMap.yaml @@ -485,9 +485,6 @@ apis: gloo.solo.io.UpstreamGroup: relativepath: api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk/#UpstreamGroup package: gloo.solo.io - gloo.solo.io.UpstreamSpec: - relativepath: api/github.com/solo-io/gloo/projects/gloo/api/v1/options.proto.sk/#UpstreamSpec - package: gloo.solo.io gloo.solo.io.UpstreamSslConfig: relativepath: api/github.com/solo-io/gloo/projects/gloo/api/v1/ssl.proto.sk/#UpstreamSslConfig package: gloo.solo.io diff --git a/docs/examples/session-affinity/sample_gloo_config/us.yaml b/docs/examples/session-affinity/sample_gloo_config/us.yaml index 14a50264d21..087fa6b473a 100644 --- a/docs/examples/session-affinity/sample_gloo_config/us.yaml +++ b/docs/examples/session-affinity/sample_gloo_config/us.yaml @@ -7,17 +7,16 @@ metadata: name: default-session-affinity-app-80 namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - name: session-affinity-app - serviceName: session-affinity-app - serviceNamespace: default - servicePort: 80 - ### The manual (non-discovered) config starts here - loadBalancerConfig: - ringHash: - ringHashConfig: - maximumRingSize: "200" - minimumRingSize: "10" - ### (end) + kube: + selector: + name: session-affinity-app + serviceName: session-affinity-app + serviceNamespace: default + servicePort: 80 + ### The manual (non-discovered) config starts here + loadBalancerConfig: + ringHash: + ringHashConfig: + maximumRingSize: "200" + minimumRingSize: "10" + ### (end) diff --git a/projects/discovery/pkg/fds/discoveries/aws/aws.go b/projects/discovery/pkg/fds/discoveries/aws/aws.go index c308f744180..67b9fbdf176 100644 --- a/projects/discovery/pkg/fds/discoveries/aws/aws.go +++ b/projects/discovery/pkg/fds/discoveries/aws/aws.go @@ -35,7 +35,7 @@ type AWSLambdaFunctionDiscovery struct { } func (f *AWSLambdaFunctionDiscovery) IsFunctional() bool { - _, ok := f.upstream.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Aws) + _, ok := f.upstream.UpstreamType.(*v1.Upstream_Aws) return ok } @@ -68,15 +68,12 @@ func (f *AWSLambdaFunctionDiscovery) DetectFunctions(ctx context.Context, url *u if out == nil { return errors.New("nil upstream") } - if out.UpstreamSpec == nil { - return errors.New("nil upstream spec") - } - if out.UpstreamSpec.UpstreamType == nil { + if out.UpstreamType == nil { return errors.New("nil upstream type") } - awsspec, ok := out.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Aws) + awsspec, ok := out.UpstreamType.(*v1.Upstream_Aws) if !ok { return errors.New("not aws upstream") } @@ -106,7 +103,7 @@ func (f *AWSLambdaFunctionDiscovery) DetectFunctions(ctx context.Context, url *u func (f *AWSLambdaFunctionDiscovery) DetectFunctionsOnce(ctx context.Context, secrets v1.SecretList) ([]*glooaws.LambdaFunctionSpec, error) { in := f.upstream - awsspec, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Aws) + awsspec, ok := in.UpstreamType.(*v1.Upstream_Aws) if !ok { return nil, errors.New("not a lambda upstream spec") diff --git a/projects/discovery/pkg/fds/discoveries/grpc/grpc.go b/projects/discovery/pkg/fds/discoveries/grpc/grpc.go index da555366722..1270d48a8c9 100644 --- a/projects/discovery/pkg/fds/discoveries/grpc/grpc.go +++ b/projects/discovery/pkg/fds/discoveries/grpc/grpc.go @@ -24,7 +24,7 @@ import ( ) func getgrpcspec(u *v1.Upstream) *grpc_plugins.ServiceSpec { - upstreamType, ok := u.UpstreamSpec.UpstreamType.(v1.ServiceSpecGetter) + upstreamType, ok := u.UpstreamType.(v1.ServiceSpecGetter) if !ok { return nil } diff --git a/projects/discovery/pkg/fds/discoveries/swagger/swagger.go b/projects/discovery/pkg/fds/discoveries/swagger/swagger.go index 1b736692d76..34b86a12bfe 100644 --- a/projects/discovery/pkg/fds/discoveries/swagger/swagger.go +++ b/projects/discovery/pkg/fds/discoveries/swagger/swagger.go @@ -58,7 +58,7 @@ type SwaggerFunctionDiscovery struct { } func getswagspec(u *v1.Upstream) *rest_plugins.ServiceSpec_SwaggerInfo { - spec, ok := u.UpstreamSpec.UpstreamType.(v1.ServiceSpecGetter) + spec, ok := u.UpstreamType.(v1.ServiceSpecGetter) if !ok { return nil } @@ -242,7 +242,7 @@ func (f *SwaggerFunctionDiscovery) detectFunctionsFromSpec(ctx context.Context, } return updatecb(func(u *v1.Upstream) error { - upstreamSpec, ok := u.UpstreamSpec.UpstreamType.(v1.ServiceSpecMutator) + upstreamSpec, ok := u.UpstreamType.(v1.ServiceSpecMutator) if !ok { return errors.New("not a valid upstream") } diff --git a/projects/discovery/pkg/fds/syncer/discovery_syncer.go b/projects/discovery/pkg/fds/syncer/discovery_syncer.go index 39883138ac2..ce87d123de2 100644 --- a/projects/discovery/pkg/fds/syncer/discovery_syncer.go +++ b/projects/discovery/pkg/fds/syncer/discovery_syncer.go @@ -125,7 +125,7 @@ func filterUpstreamsWhitelist(upstreams v1.UpstreamList, namespaces kubernetes.K } func getUpstreamNamespace(us *v1.Upstream) string { - if kubeSpec := us.GetUpstreamSpec().GetKube(); kubeSpec != nil { + if kubeSpec := us.GetKube(); kubeSpec != nil { return kubeSpec.ServiceNamespace } return "" // only applies to kube namespaces currently diff --git a/projects/discovery/pkg/fds/syncer/discovery_syncer_test.go b/projects/discovery/pkg/fds/syncer/discovery_syncer_test.go index fe8aaccac11..e693aa33352 100644 --- a/projects/discovery/pkg/fds/syncer/discovery_syncer_test.go +++ b/projects/discovery/pkg/fds/syncer/discovery_syncer_test.go @@ -113,9 +113,9 @@ var _ = Describe("filterUpstreamsForDiscovery", func() { func makeUpstream(name, namespace string, labels map[string]string) *gloov1.Upstream { us := gloov1.NewUpstream("gloo-system", name) - us.UpstreamSpec = &gloov1.UpstreamSpec{UpstreamType: &gloov1.UpstreamSpec_Kube{ + us.UpstreamType = &gloov1.Upstream_Kube{ Kube: &kubeplugin.UpstreamSpec{ServiceNamespace: namespace}, - }} + } us.Metadata.Labels = labels return us } diff --git a/projects/discovery/pkg/fds/updater.go b/projects/discovery/pkg/fds/updater.go index 508497d09ba..02d5e5bd112 100644 --- a/projects/discovery/pkg/fds/updater.go +++ b/projects/discovery/pkg/fds/updater.go @@ -276,7 +276,7 @@ func (u *updaterUpdater) Run() error { if discoveryForUpstream == nil { // TODO: this is probably not going to work unless the upstream type will also have the method required - _, ok := u.upstream.UpstreamSpec.UpstreamType.(v1.ServiceSpecSetter) + _, ok := u.upstream.UpstreamType.(v1.ServiceSpecSetter) if !ok { // can't set a service spec - which is required from this point on, as heuristic detection requires spec return errors.New("discovery not possible for upstream") @@ -297,7 +297,7 @@ func (u *updaterUpdater) Run() error { } discoveryForUpstream = res.fp upstreamSave(func(upstream *v1.Upstream) error { - servicespecupstream, ok := upstream.UpstreamSpec.UpstreamType.(v1.ServiceSpecSetter) + servicespecupstream, ok := upstream.UpstreamType.(v1.ServiceSpecSetter) if !ok { return errors.New("can't set spec") } diff --git a/projects/discovery/pkg/fds/updater_test.go b/projects/discovery/pkg/fds/updater_test.go index 2df9972cf9c..b8aa3add5c7 100644 --- a/projects/discovery/pkg/fds/updater_test.go +++ b/projects/discovery/pkg/fds/updater_test.go @@ -118,10 +118,8 @@ var _ = Describe("Updater", func() { Namespace: "ns", Name: "up", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: &kubernetes_plugins_gloo_solo_io.UpstreamSpec{}, - }, + UpstreamType: &v1.Upstream_Kube{ + Kube: &kubernetes_plugins_gloo_solo_io.UpstreamSpec{}, }, } }) diff --git a/projects/gloo/api/v1/options.proto b/projects/gloo/api/v1/options.proto index 8fe2b00ab0d..655df04d088 100644 --- a/projects/gloo/api/v1/options.proto +++ b/projects/gloo/api/v1/options.proto @@ -7,14 +7,7 @@ import "google/protobuf/struct.proto"; import "gogoproto/gogo.proto"; option (gogoproto.equal_all) = true; -import "github.com/solo-io/gloo/projects/gloo/api/v1/ssl.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/extensions.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/circuit_breaker.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/load_balancer.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/connection.proto"; - -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/aws/aws.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/aws/ec2/aws_ec2.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/cors/cors.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/grpc/grpc.proto"; @@ -25,15 +18,12 @@ import "github.com/solo-io/gloo/projects/gloo/api/v1/options/lbhash/lbhash.proto import "github.com/solo-io/gloo/projects/gloo/api/v1/options/shadowing/shadowing.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/tcp/tcp.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/azure/azure.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/consul/consul.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/kubernetes/kubernetes.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/retries/retries.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/static/static.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/v1/options/pipe/pipe.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/stats/stats.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/faultinjection/fault.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/headers/headers.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/aws/aws.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/azure/azure.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options/healthcheck/healthcheck.proto"; import "github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto"; @@ -45,9 +35,6 @@ import "github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/rbac/rba import "github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto"; -import "github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto"; - import "google/protobuf/duration.proto"; import "google/protobuf/wrappers.proto"; @@ -236,36 +223,3 @@ message WeightedDestinationOptions { // Enterprise-only: Authentication configuration enterprise.gloo.solo.io.ExtAuthExtension extauth = 4; } - -// Each upstream in Gloo has a type. Supported types include `static`, `kube`, `aws`, `consul`, and more. -// Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo) -message UpstreamSpec { - - UpstreamSslConfig ssl_config = 1; - - // Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. - // if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) - // will be used. - CircuitBreakerConfig circuit_breakers = 2; - LoadBalancerConfig load_balancer_config = 3; - ConnectionConfig connection_config = 4; - repeated envoy.api.v2.core.HealthCheck health_checks = 5; - envoy.api.v2.cluster.OutlierDetection outlier_detection = 6; - - // Use http2 when communicating with this upstream - // this field is evaluated `true` for upstreams - // with a grpc service spec. otherwise defaults to `false` - bool use_http2 = 7; - - // Note to developers: new Upstream plugins must be added to this oneof field - // to be usable by Gloo. (plugins currently need to be compiled into Gloo) - oneof upstream_type { - kubernetes.options.gloo.solo.io.UpstreamSpec kube = 8; - static.options.gloo.solo.io.UpstreamSpec static = 9; - pipe.options.gloo.solo.io.UpstreamSpec pipe = 10; - aws.options.gloo.solo.io.UpstreamSpec aws = 11; - azure.options.gloo.solo.io.UpstreamSpec azure = 12; - consul.options.gloo.solo.io.UpstreamSpec consul = 13; - aws_ec2.options.gloo.solo.io.UpstreamSpec aws_ec2 = 14; - } -} \ No newline at end of file diff --git a/projects/gloo/api/v1/upstream.proto b/projects/gloo/api/v1/upstream.proto index b6394cff836..e414fd10cc1 100644 --- a/projects/gloo/api/v1/upstream.proto +++ b/projects/gloo/api/v1/upstream.proto @@ -7,8 +7,21 @@ import "gogoproto/gogo.proto"; option (gogoproto.equal_all) = true; import "github.com/solo-io/solo-kit/api/v1/metadata.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/ssl.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/circuit_breaker.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/load_balancer.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/connection.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto"; import "github.com/solo-io/solo-kit/api/v1/status.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto"; import "github.com/solo-io/solo-kit/api/v1/solo-kit.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/static/static.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/pipe/pipe.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/kubernetes/kubernetes.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/aws/aws.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/azure/azure.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/consul/consul.proto"; +import "github.com/solo-io/gloo/projects/gloo/api/v1/options/aws/ec2/aws_ec2.proto"; import "github.com/solo-io/gloo/projects/gloo/api/v1/options.proto"; @@ -22,22 +35,48 @@ message Upstream { option (core.solo.io.resource).short_name = "us"; option (core.solo.io.resource).plural_name = "upstreams"; - // Type-specific configuration. Examples include static, kubernetes, and aws. - // The type-specific config for the upstream is called a spec. - UpstreamSpec upstream_spec = 2; // Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation - core.solo.io.Status status = 6 [(gogoproto.nullable) = false, (gogoproto.moretags) = "testdiff:\"ignore\""]; + core.solo.io.Status status = 1 [(gogoproto.nullable) = false, (gogoproto.moretags) = "testdiff:\"ignore\""]; // Metadata contains the object metadata for this resource - core.solo.io.Metadata metadata = 7 [(gogoproto.nullable) = false]; + core.solo.io.Metadata metadata = 2 [(gogoproto.nullable) = false]; // Upstreams and their configuration can be automatically by Gloo Discovery // if this upstream is created or modified by Discovery, metadata about the operation will be placed here. - DiscoveryMetadata discovery_metadata = 8; + DiscoveryMetadata discovery_metadata = 3; + + + UpstreamSslConfig ssl_config = 4; + + // Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. + // if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) + // will be used. + CircuitBreakerConfig circuit_breakers = 5; + LoadBalancerConfig load_balancer_config = 6; + ConnectionConfig connection_config = 7; + repeated envoy.api.v2.core.HealthCheck health_checks = 8; + envoy.api.v2.cluster.OutlierDetection outlier_detection = 9; + + // Use http2 when communicating with this upstream + // this field is evaluated `true` for upstreams + // with a grpc service spec. otherwise defaults to `false` + bool use_http2 = 10; + + // Note to developers: new Upstream plugins must be added to this oneof field + // to be usable by Gloo. (plugins currently need to be compiled into Gloo) + oneof upstream_type { + kubernetes.options.gloo.solo.io.UpstreamSpec kube = 11; + static.options.gloo.solo.io.UpstreamSpec static = 12; + pipe.options.gloo.solo.io.UpstreamSpec pipe = 13; + aws.options.gloo.solo.io.UpstreamSpec aws = 14; + azure.options.gloo.solo.io.UpstreamSpec azure = 15; + consul.options.gloo.solo.io.UpstreamSpec consul = 16; + aws_ec2.options.gloo.solo.io.UpstreamSpec aws_ec2 = 17; + } } // created by discovery services message DiscoveryMetadata { -} \ No newline at end of file +} diff --git a/projects/gloo/cli/pkg/cmd/create/output_format_test.go b/projects/gloo/cli/pkg/cmd/create/output_format_test.go index f0ab5742878..8289a9d6db9 100644 --- a/projects/gloo/cli/pkg/cmd/create/output_format_test.go +++ b/projects/gloo/cli/pkg/cmd/create/output_format_test.go @@ -21,11 +21,10 @@ metadata: name: jsonplaceholder-80 namespace: gloo-system spec: - upstreamSpec: - static: - hosts: - - addr: jsonplaceholder.typicode.com - port: 80 + static: + hosts: + - addr: jsonplaceholder.typicode.com + port: 80 status: {} ` @@ -33,12 +32,11 @@ status: {} metadata: name: jsonplaceholder-80 namespace: gloo-system +static: + hosts: + - addr: jsonplaceholder.typicode.com + port: 80 status: {} -upstreamSpec: - static: - hosts: - - addr: jsonplaceholder.typicode.com - port: 80 ` tableOutput := `+--------------------+--------+---------+---------------------------------+ diff --git a/projects/gloo/cli/pkg/cmd/create/upstream.go b/projects/gloo/cli/pkg/cmd/create/upstream.go index f8d2dbed641..db0b263a063 100644 --- a/projects/gloo/cli/pkg/cmd/create/upstream.go +++ b/projects/gloo/cli/pkg/cmd/create/upstream.go @@ -167,22 +167,17 @@ func createUpstream(opts *options.Options) error { } func upstreamFromOpts(opts *options.Options) (*v1.Upstream, error) { - spec, err := upstreamSpecFromOpts(opts.Create.InputUpstream) - if err != nil { - return nil, errors.Wrapf(err, "invalid upstream spec") - } - return &v1.Upstream{ - Metadata: opts.Metadata, - UpstreamSpec: spec, - }, nil -} + input := opts.Create.InputUpstream -func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) { svcSpec, err := serviceSpecFromOpts(input.ServiceSpec) if err != nil { return nil, err } - spec := &v1.UpstreamSpec{} + + upstream := &v1.Upstream{ + Metadata: opts.Metadata, + } + switch input.UpstreamType { case options.UpstreamType_Aws: if svcSpec != nil { @@ -194,7 +189,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) if input.Aws.Secret.Name == "" { return nil, errors.Errorf("aws secret name must not be empty") } - spec.UpstreamType = &v1.UpstreamSpec_Aws{ + upstream.UpstreamType = &v1.Upstream_Aws{ Aws: &aws.UpstreamSpec{ Region: input.Aws.Region, SecretRef: &input.Aws.Secret, @@ -241,7 +236,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) }) } ec2Spec.Filters = filters - spec.UpstreamType = &v1.UpstreamSpec_AwsEc2{ + upstream.UpstreamType = &v1.Upstream_AwsEc2{ AwsEc2: ec2Spec, } case options.UpstreamType_Azure: @@ -254,7 +249,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) if input.Azure.Secret.Name == "" { return nil, errors.Errorf("azure secret name must not be empty") } - spec.UpstreamType = &v1.UpstreamSpec_Azure{ + upstream.UpstreamType = &v1.Upstream_Azure{ Azure: &azure.UpstreamSpec{ FunctionAppName: input.Azure.FunctionAppName, SecretRef: input.Azure.Secret, @@ -264,7 +259,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) if input.Consul.ServiceName == "" { return nil, errors.Errorf("must provide consul service name") } - spec.UpstreamType = &v1.UpstreamSpec_Consul{ + upstream.UpstreamType = &v1.Upstream_Consul{ Consul: &consul.UpstreamSpec{ ServiceName: input.Consul.ServiceName, ServiceTags: input.Consul.ServiceTags, @@ -276,7 +271,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) return nil, errors.Errorf("Must provide kube service name") } - spec.UpstreamType = &v1.UpstreamSpec_Kube{ + upstream.UpstreamType = &v1.Upstream_Kube{ Kube: &kubernetes.UpstreamSpec{ ServiceName: input.Kube.ServiceName, ServiceNamespace: input.Kube.ServiceNamespace, @@ -316,7 +311,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) Port: port, }) } - spec.UpstreamType = &v1.UpstreamSpec_Static{ + upstream.UpstreamType = &v1.Upstream_Static{ Static: &static.UpstreamSpec{ Hosts: hosts, UseTls: input.Static.UseTls, @@ -324,7 +319,7 @@ func upstreamSpecFromOpts(input options.InputUpstream) (*v1.UpstreamSpec, error) }, } } - return spec, nil + return upstream, nil } func serviceSpecFromOpts(input options.InputServiceSpec) (*plugins.ServiceSpec, error) { diff --git a/projects/gloo/cli/pkg/cmd/create/upstream_test.go b/projects/gloo/cli/pkg/cmd/create/upstream_test.go index 55ee41cc636..bb1fcd3c87a 100644 --- a/projects/gloo/cli/pkg/cmd/create/upstream_test.go +++ b/projects/gloo/cli/pkg/cmd/create/upstream_test.go @@ -48,7 +48,7 @@ var _ = Describe("Upstream", func() { It("should error when hosts not provided", func() { err := testutils.Glooctl("create upstream static jsonplaceholder-80") Expect(err).To(HaveOccurred()) - Expect(err.Error()).To(Equal("invalid upstream spec: must provide at least 1 host for static upstream")) + Expect(err.Error()).To(Equal("must provide at least 1 host for static upstream")) }) It("should work", func() { @@ -57,7 +57,7 @@ var _ = Describe("Upstream", func() { up := getUpstream("jsonplaceholder-80") - staticSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Static).Static + staticSpec := up.UpstreamType.(*v1.Upstream_Static).Static expectedHosts := []*static.Host{{Addr: "jsonplaceholder.typicode.com", Port: 80}} Expect(staticSpec.Hosts).To(Equal(expectedHosts)) }) @@ -73,12 +73,12 @@ var _ = Describe("Upstream", func() { It("should error out when no secret name provided", func() { err := testutils.Glooctl("create upstream aws --name aws-us-east-1") Expect(err).To(HaveOccurred()) - Expect(err.Error()).To(Equal("invalid upstream spec: aws secret name must not be empty")) + Expect(err.Error()).To(Equal("aws secret name must not be empty")) }) expectAwsUpstream := func(name, region, secretName, secretNamespace string) { up := getUpstream(name) - awsSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Aws).Aws + awsSpec := up.UpstreamType.(*v1.Upstream_Aws).Aws Expect(awsSpec.Region).To(Equal(region)) Expect(awsSpec.SecretRef.Name).To(Equal(secretName)) Expect(awsSpec.SecretRef.Namespace).To(Equal(secretNamespace)) @@ -107,13 +107,13 @@ var _ = Describe("Upstream", func() { It("should error out when no secret name provided", func() { err := testutils.Glooctl("create upstream azure --name azure-upstream") Expect(err).To(HaveOccurred()) - Expect(err.Error()).To(Equal("invalid upstream spec: azure secret name must not be empty")) + Expect(err.Error()).To(Equal("azure secret name must not be empty")) }) expectAzureUpstream := func(name, functionAppName, secretName, secretNamespace string) { up := getUpstream(name) - azureSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Azure).Azure + azureSpec := up.UpstreamType.(*v1.Upstream_Azure).Azure Expect(azureSpec.FunctionAppName).To(Equal(functionAppName)) Expect(azureSpec.SecretRef.Name).To(Equal(secretName)) Expect(azureSpec.SecretRef.Namespace).To(Equal(secretNamespace)) @@ -141,7 +141,7 @@ var _ = Describe("Upstream", func() { expectKubeUpstream := func(name, namespace string, port uint32, selector map[string]string) { up := getUpstream("kube-upstream") - kubeSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube).Kube + kubeSpec := up.UpstreamType.(*v1.Upstream_Kube).Kube Expect(kubeSpec.ServiceName).To(Equal(name)) Expect(kubeSpec.ServiceNamespace).To(Equal(namespace)) Expect(kubeSpec.ServicePort).To(Equal(port)) @@ -176,14 +176,13 @@ metadata: name: kube-upstream namespace: gloo-system spec: - upstreamSpec: - kube: - selector: - foo: bar - gloo: baz - serviceName: kube-service - serviceNamespace: default - servicePort: 80 + kube: + selector: + foo: bar + gloo: baz + serviceName: kube-service + serviceNamespace: default + servicePort: 80 status: {} `)) }) @@ -192,18 +191,17 @@ status: {} out, err := testutils.GlooctlOut("create upstream kube --dry-run -oyaml --name kube-upstream --kube-service kube-service --kube-service-labels foo=bar,gloo=baz") Expect(err).NotTo(HaveOccurred()) Expect(out).To(Equal(`--- +kube: + selector: + foo: bar + gloo: baz + serviceName: kube-service + serviceNamespace: default + servicePort: 80 metadata: name: kube-upstream namespace: gloo-system status: {} -upstreamSpec: - kube: - selector: - foo: bar - gloo: baz - serviceName: kube-service - serviceNamespace: default - servicePort: 80 `)) }) @@ -219,12 +217,12 @@ upstreamSpec: It("should error out when no consul service name provided", func() { err := testutils.Glooctl("create upstream consul --name consul-upstream") Expect(err).To(HaveOccurred()) - Expect(err.Error()).To(Equal("invalid upstream spec: must provide consul service name")) + Expect(err.Error()).To(Equal("must provide consul service name")) }) expectConsulUpstream := func(name, consulService string, tags []string) { up := getUpstream(name) - consulSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Consul).Consul + consulSpec := up.UpstreamType.(*v1.Upstream_Consul).Consul Expect(consulSpec.ServiceName).To(Equal(consulService)) Expect(consulSpec.ServiceTags).To(Equal(tags)) } diff --git a/projects/gloo/cli/pkg/cmd/create/upstreamgroup_test.go b/projects/gloo/cli/pkg/cmd/create/upstreamgroup_test.go index b1a8523ef55..f18fcd4aea3 100644 --- a/projects/gloo/cli/pkg/cmd/create/upstreamgroup_test.go +++ b/projects/gloo/cli/pkg/cmd/create/upstreamgroup_test.go @@ -23,14 +23,12 @@ var _ = Describe("UpstreamGroup", func() { BeforeEach(func() { helpers.UseMemoryClients() us := &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Aws{ - Aws: &aws.UpstreamSpec{ - Region: "test-region", - SecretRef: &core.ResourceRef{ - Namespace: "gloo-system", - Name: "test-aws-us", - }, + UpstreamType: &v1.Upstream_Aws{ + Aws: &aws.UpstreamSpec{ + Region: "test-region", + SecretRef: &core.ResourceRef{ + Namespace: "gloo-system", + Name: "test-aws-us", }, }, }, diff --git a/projects/gloo/cli/pkg/cmd/edit/settings/extauth_test.go b/projects/gloo/cli/pkg/cmd/edit/settings/extauth_test.go index 7e13d2ab88e..01f90f338bc 100644 --- a/projects/gloo/cli/pkg/cmd/edit/settings/extauth_test.go +++ b/projects/gloo/cli/pkg/cmd/edit/settings/extauth_test.go @@ -85,14 +85,12 @@ var _ = Describe("Extauth", func() { Name: "extauth", Namespace: "gloo-system", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: []*static_plugin_gloo.Host{{ - Addr: "test", - Port: 1234, - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: []*static_plugin_gloo.Host{{ + Addr: "test", + Port: 1234, + }}, }, }, } diff --git a/projects/gloo/cli/pkg/cmd/edit/settings/ratelimit/ratelimit_test.go b/projects/gloo/cli/pkg/cmd/edit/settings/ratelimit/ratelimit_test.go index a232750f078..79a8529e8fd 100644 --- a/projects/gloo/cli/pkg/cmd/edit/settings/ratelimit/ratelimit_test.go +++ b/projects/gloo/cli/pkg/cmd/edit/settings/ratelimit/ratelimit_test.go @@ -97,14 +97,12 @@ var _ = Describe("RateLimit", func() { Name: "test", Namespace: "test", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: []*static_plugin_gloo.Host{{ - Addr: "test", - Port: 1234, - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: []*static_plugin_gloo.Host{{ + Addr: "test", + Port: 1234, + }}, }, }, } diff --git a/projects/gloo/cli/pkg/cmd/edit/upstream/root.go b/projects/gloo/cli/pkg/cmd/edit/upstream/root.go index 2f781953c6d..b4301f650bd 100644 --- a/projects/gloo/cli/pkg/cmd/edit/upstream/root.go +++ b/projects/gloo/cli/pkg/cmd/edit/upstream/root.go @@ -82,29 +82,26 @@ func editUpstream(opts *options.EditOptions, optsExt *EditUpstream, args []strin return fmt.Errorf("conflict - resource version does not match") } } - if up.UpstreamSpec == nil { - up.UpstreamSpec = &gloov1.UpstreamSpec{} - } if optsExt.Remove { - up.UpstreamSpec.SslConfig = nil + up.SslConfig = nil } else { - if up.UpstreamSpec.SslConfig == nil { - up.UpstreamSpec.SslConfig = &gloov1.UpstreamSslConfig{} + if up.SslConfig == nil { + up.SslConfig = &gloov1.UpstreamSslConfig{} } hasBoth := (optsExt.SslSecretRef.Name != "") && (optsExt.SslSecretRef.Namespace != "") hasNone := (optsExt.SslSecretRef.Name == "") && (optsExt.SslSecretRef.Namespace == "") if hasBoth { - up.UpstreamSpec.SslConfig.SslSecrets = &gloov1.UpstreamSslConfig_SecretRef{ + up.SslConfig.SslSecrets = &gloov1.UpstreamSslConfig_SecretRef{ SecretRef: &optsExt.SslSecretRef, } } else if !hasNone { return fmt.Errorf("both --ssl-secret-name and --ssl-secret-namespace must be provided") } if optsExt.Sni != "" { - up.UpstreamSpec.SslConfig.Sni = optsExt.Sni + up.SslConfig.Sni = optsExt.Sni } } _, err = upClient.Write(up, clients.WriteOpts{OverwriteExisting: true}) diff --git a/projects/gloo/cli/pkg/cmd/edit/upstream/root_test.go b/projects/gloo/cli/pkg/cmd/edit/upstream/root_test.go index 58f1634571d..ec39df9fab4 100644 --- a/projects/gloo/cli/pkg/cmd/edit/upstream/root_test.go +++ b/projects/gloo/cli/pkg/cmd/edit/upstream/root_test.go @@ -50,7 +50,7 @@ var _ = Describe("Root", func() { It("should update ssl config", func() { Glooctl("edit upstream --name up --namespace gloo-system --ssl-secret-name sslname --ssl-secret-namespace sslnamespace") - ref := upstream.GetUpstreamSpec().GetSslConfig().GetSecretRef() + ref := upstream.GetSslConfig().GetSecretRef() Expect(ref).NotTo(BeNil()) Expect(ref.Name).To(Equal("sslname")) Expect(ref.Namespace).To(Equal("sslnamespace")) @@ -58,7 +58,7 @@ var _ = Describe("Root", func() { It("should update sni config", func() { Glooctl("edit upstream --name up --namespace gloo-system --ssl-secret-name sslname --ssl-secret-namespace sslnamespace --ssl-sni sniname") - sslconfig := upstream.GetUpstreamSpec().GetSslConfig() + sslconfig := upstream.GetSslConfig() Expect(sslconfig).NotTo(BeNil()) Expect(sslconfig.Sni).To(Equal("sniname")) }) @@ -66,22 +66,20 @@ var _ = Describe("Root", func() { Context("with existing config", func() { BeforeEach(func() { - upstream.UpstreamSpec = &gloov1.UpstreamSpec{ - SslConfig: &gloov1.UpstreamSslConfig{ - Sni: "somesni", - }, + upstream.SslConfig = &gloov1.UpstreamSslConfig{ + Sni: "somesni", } }) It("should remove ssl config", func() { Glooctl("edit upstream --name up --namespace gloo-system --ssl-remove") - sslconfig := upstream.GetUpstreamSpec().GetSslConfig() + sslconfig := upstream.GetSslConfig() Expect(sslconfig).To(BeNil()) }) It("should update existing ssl config with resource version", func() { Glooctl("edit upstream --resource-version " + upstream.Metadata.ResourceVersion + " --name up --namespace gloo-system --ssl-secret-name sslname --ssl-secret-namespace sslnamespace") - sslconfig := upstream.GetUpstreamSpec().GetSslConfig() + sslconfig := upstream.GetSslConfig() ref := sslconfig.GetSecretRef() Expect(ref).NotTo(BeNil()) Expect(ref.Name).To(Equal("sslname")) @@ -141,7 +139,7 @@ var _ = Describe("Root", func() { c.ExpectEOF() }, func() { Glooctl("edit upstream -i") - sslconfig := upstream.GetUpstreamSpec().GetSslConfig() + sslconfig := upstream.GetSslConfig() ref := sslconfig.GetSecretRef() Expect(ref.Name).To(Equal("sslname")) diff --git a/projects/gloo/cli/pkg/cmd/get/output_format_test.go b/projects/gloo/cli/pkg/cmd/get/output_format_test.go index 3b58ea0415b..a69f94e8154 100644 --- a/projects/gloo/cli/pkg/cmd/get/output_format_test.go +++ b/projects/gloo/cli/pkg/cmd/get/output_format_test.go @@ -40,11 +40,10 @@ metadata: namespace: gloo-system resourceVersion: "2" spec: - upstreamSpec: - static: - hosts: - - addr: jsonplaceholder.typicode.com - port: 80 + static: + hosts: + - addr: jsonplaceholder.typicode.com + port: 80 status: {} ` @@ -53,12 +52,11 @@ metadata: name: jsonplaceholder-80 namespace: gloo-system resourceVersion: "2" +static: + hosts: + - addr: jsonplaceholder.typicode.com + port: 80 status: {} -upstreamSpec: - static: - hosts: - - addr: jsonplaceholder.typicode.com - port: 80 ` Context("default output should be -o table", func() { @@ -69,7 +67,7 @@ upstreamSpec: // make sure that we created the upstream that we intended up := getUpstream("jsonplaceholder-80") - staticSpec := up.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Static).Static + staticSpec := up.UpstreamType.(*v1.Upstream_Static).Static expectedHosts := []*static.Host{{Addr: "jsonplaceholder.typicode.com", Port: 80}} Expect(staticSpec.Hosts).To(Equal(expectedHosts)) diff --git a/projects/gloo/cli/pkg/printers/upstream.go b/projects/gloo/cli/pkg/printers/upstream.go index 8f4b77bb953..2ddf8687497 100644 --- a/projects/gloo/cli/pkg/printers/upstream.go +++ b/projects/gloo/cli/pkg/printers/upstream.go @@ -56,22 +56,22 @@ func UpstreamTable(xdsDump *xdsinspection.XdsDump, upstreams []*v1.Upstream, w i } func upstreamType(up *v1.Upstream) string { - if up.UpstreamSpec == nil { + if up == nil { return "Invalid" } - switch up.UpstreamSpec.UpstreamType.(type) { - case *v1.UpstreamSpec_Aws: + switch up.UpstreamType.(type) { + case *v1.Upstream_Aws: return "AWS Lambda" - case *v1.UpstreamSpec_Azure: + case *v1.Upstream_Azure: return "Azure" - case *v1.UpstreamSpec_Consul: + case *v1.Upstream_Consul: return "Consul" - case *v1.UpstreamSpec_AwsEc2: + case *v1.Upstream_AwsEc2: return "AWS EC2" - case *v1.UpstreamSpec_Kube: + case *v1.Upstream_Kube: return "Kubernetes" - case *v1.UpstreamSpec_Static: + case *v1.Upstream_Static: return "Static" default: return "Unknown" @@ -79,16 +79,16 @@ func upstreamType(up *v1.Upstream) string { } func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { - if up.UpstreamSpec == nil { - return []string{"invalid: spec was nil"} + if up == nil { + return []string{"invalid: upstream was nil"} } var details []string add := func(s ...string) { details = append(details, s...) } - switch usType := up.UpstreamSpec.UpstreamType.(type) { - case *v1.UpstreamSpec_Aws: + switch usType := up.UpstreamType.(type) { + case *v1.Upstream_Aws: var functions []string for _, fn := range usType.Aws.LambdaFunctions { functions = append(functions, fn.LambdaFunctionName) @@ -103,7 +103,7 @@ func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { } add(fmt.Sprintf("- %v", functions[i])) } - case *v1.UpstreamSpec_AwsEc2: + case *v1.Upstream_AwsEc2: add( fmt.Sprintf("role: %v", usType.AwsEc2.RoleArn), fmt.Sprintf("uses public ip: %v", usType.AwsEc2.PublicIp), @@ -117,7 +117,7 @@ func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { add( instances..., ) - case *v1.UpstreamSpec_Azure: + case *v1.Upstream_Azure: var functions []string for _, fn := range usType.Azure.Functions { functions = append(functions, fn.FunctionName) @@ -133,7 +133,7 @@ func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { } add(fmt.Sprintf("- %v", functions[i])) } - case *v1.UpstreamSpec_Consul: + case *v1.Upstream_Consul: add( fmt.Sprintf("svc name: %v", usType.Consul.ServiceName), fmt.Sprintf("svc tags: %v", usType.Consul.ServiceTags), @@ -141,7 +141,7 @@ func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { if usType.Consul.ServiceSpec != nil { add(linesForServiceSpec(usType.Consul.ServiceSpec)...) } - case *v1.UpstreamSpec_Kube: + case *v1.Upstream_Kube: add( fmt.Sprintf("svc name: %v", usType.Kube.ServiceName), fmt.Sprintf("svc namespace: %v", usType.Kube.ServiceNamespace), @@ -150,7 +150,7 @@ func upstreamDetails(up *v1.Upstream, xdsDump *xdsinspection.XdsDump) []string { if usType.Kube.ServiceSpec != nil { add(linesForServiceSpec(usType.Kube.ServiceSpec)...) } - case *v1.UpstreamSpec_Static: + case *v1.Upstream_Static: for i := range usType.Static.Hosts { if i == 0 { add("hosts:") diff --git a/projects/gloo/cli/pkg/surveyutils/route.go b/projects/gloo/cli/pkg/surveyutils/route.go index 8a7fc3dcef5..bbae88c1492 100644 --- a/projects/gloo/cli/pkg/surveyutils/route.go +++ b/projects/gloo/cli/pkg/surveyutils/route.go @@ -142,8 +142,8 @@ func getDestinationInteractive(route *options.InputRoute) error { return errors.Errorf("internal error: upstream map not populated") } dest.Upstream = us.Metadata.Ref() - switch ut := us.UpstreamSpec.UpstreamType.(type) { - case *v1.UpstreamSpec_Aws: + switch ut := us.UpstreamType.(type) { + case *v1.Upstream_Aws: if err := getAwsDestinationSpecInteractive(&dest.DestinationSpec.Aws, ut.Aws); err != nil { return err } diff --git a/projects/gloo/cli/pkg/surveyutils/route_test.go b/projects/gloo/cli/pkg/surveyutils/route_test.go index 6bc60b0d5d2..44e012933cf 100644 --- a/projects/gloo/cli/pkg/surveyutils/route_test.go +++ b/projects/gloo/cli/pkg/surveyutils/route_test.go @@ -48,13 +48,11 @@ var _ = Describe("Route", func() { Name: "gloo-system.some-ns-test-svc-1234", Namespace: "gloo-system", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceName: "test-svc", - ServiceNamespace: "some-ns", - ServicePort: 1234, - }, + UpstreamType: &v1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceName: "test-svc", + ServiceNamespace: "some-ns", + ServicePort: 1234, }, }, } @@ -71,16 +69,14 @@ var _ = Describe("Route", func() { Name: "gloo-system.some-ns-test-svc-5678", Namespace: "gloo-system", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Aws{ - Aws: &aws.UpstreamSpec{ - Region: "some-region", - SecretRef: &core.ResourceRef{ - Name: "some-name", - Namespace: "some-ns", - }, - LambdaFunctions: mockLambdaFunctions, + UpstreamType: &v1.Upstream_Aws{ + Aws: &aws.UpstreamSpec{ + Region: "some-region", + SecretRef: &core.ResourceRef{ + Name: "some-name", + Namespace: "some-ns", }, + LambdaFunctions: mockLambdaFunctions, }, }, } diff --git a/projects/gloo/pkg/api/v1/extensions_service_spec.go b/projects/gloo/pkg/api/v1/extensions_service_spec.go index 8e25cc89618..222cb9c5f51 100644 --- a/projects/gloo/pkg/api/v1/extensions_service_spec.go +++ b/projects/gloo/pkg/api/v1/extensions_service_spec.go @@ -19,34 +19,34 @@ type ServiceSpecMutator interface { Add these two methods to any upstream spec that supports a ServiceSpec describing the service represented by the upstream */ -func (us *UpstreamSpec_Kube) GetServiceSpec() *plugins.ServiceSpec { +func (us *Upstream_Kube) GetServiceSpec() *plugins.ServiceSpec { return us.Kube.ServiceSpec } -func (us *UpstreamSpec_Kube) SetServiceSpec(spec *plugins.ServiceSpec) { +func (us *Upstream_Kube) SetServiceSpec(spec *plugins.ServiceSpec) { us.Kube.ServiceSpec = spec } -func (us *UpstreamSpec_Static) GetServiceSpec() *plugins.ServiceSpec { +func (us *Upstream_Static) GetServiceSpec() *plugins.ServiceSpec { return us.Static.ServiceSpec } -func (us *UpstreamSpec_Static) SetServiceSpec(spec *plugins.ServiceSpec) { +func (us *Upstream_Static) SetServiceSpec(spec *plugins.ServiceSpec) { us.Static.ServiceSpec = spec } -func (us *UpstreamSpec_Pipe) GetServiceSpec() *plugins.ServiceSpec { +func (us *Upstream_Pipe) GetServiceSpec() *plugins.ServiceSpec { return us.Pipe.ServiceSpec } -func (us *UpstreamSpec_Pipe) SetServiceSpec(spec *plugins.ServiceSpec) { +func (us *Upstream_Pipe) SetServiceSpec(spec *plugins.ServiceSpec) { us.Pipe.ServiceSpec = spec } -func (us *UpstreamSpec_Consul) GetServiceSpec() *plugins.ServiceSpec { +func (us *Upstream_Consul) GetServiceSpec() *plugins.ServiceSpec { return us.Consul.ServiceSpec } -func (us *UpstreamSpec_Consul) SetServiceSpec(spec *plugins.ServiceSpec) { +func (us *Upstream_Consul) SetServiceSpec(spec *plugins.ServiceSpec) { us.Consul.ServiceSpec = spec } diff --git a/projects/gloo/pkg/api/v1/extensions_subsets.go b/projects/gloo/pkg/api/v1/extensions_subsets.go index 9d0ce21d964..358d6ad82d2 100644 --- a/projects/gloo/pkg/api/v1/extensions_subsets.go +++ b/projects/gloo/pkg/api/v1/extensions_subsets.go @@ -23,15 +23,15 @@ type SubsetSpecMutator interface { SubsetSpecSetter } -func (us *UpstreamSpec_Kube) GetSubsetSpec() *plugins.SubsetSpec { +func (us *Upstream_Kube) GetSubsetSpec() *plugins.SubsetSpec { return us.Kube.SubsetSpec } -func (us *UpstreamSpec_Kube) SetSubsetSpec(spec *plugins.SubsetSpec) { +func (us *Upstream_Kube) SetSubsetSpec(spec *plugins.SubsetSpec) { us.Kube.SubsetSpec = spec } -func (us *UpstreamSpec_Consul) GetSubsetSpec() *plugins.SubsetSpec { +func (us *Upstream_Consul) GetSubsetSpec() *plugins.SubsetSpec { subsets := &plugins.SubsetSpec{} // Add a subset selector for data centers diff --git a/projects/gloo/pkg/api/v1/options.pb.go b/projects/gloo/pkg/api/v1/options.pb.go index a3f996d94d0..40700f5f7c6 100644 --- a/projects/gloo/pkg/api/v1/options.pb.go +++ b/projects/gloo/pkg/api/v1/options.pb.go @@ -9,8 +9,6 @@ import ( math "math" time "time" - cluster "github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster" - core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" types "github.com/gogo/protobuf/types" @@ -23,9 +21,7 @@ import ( waf "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/enterprise/options/waf" als "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/als" aws "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/aws" - ec2 "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/aws/ec2" azure "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/azure" - consul "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/consul" cors "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/cors" faultinjection "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/faultinjection" grpc "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/grpc" @@ -33,13 +29,10 @@ import ( hcm "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/hcm" headers "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/headers" healthcheck "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/healthcheck" - kubernetes "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/kubernetes" lbhash "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/lbhash" - pipe "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/pipe" rest "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/rest" retries "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/retries" shadowing "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/shadowing" - static "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/static" stats "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/stats" tcp "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/tcp" tracing "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/tracing" @@ -848,216 +841,6 @@ func (m *WeightedDestinationOptions) GetExtauth() *v1.ExtAuthExtension { return nil } -// Each upstream in Gloo has a type. Supported types include `static`, `kube`, `aws`, `consul`, and more. -// Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo) -type UpstreamSpec struct { - SslConfig *UpstreamSslConfig `protobuf:"bytes,1,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"` - // Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. - // if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) - // will be used. - CircuitBreakers *CircuitBreakerConfig `protobuf:"bytes,2,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` - LoadBalancerConfig *LoadBalancerConfig `protobuf:"bytes,3,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"` - ConnectionConfig *ConnectionConfig `protobuf:"bytes,4,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"` - HealthChecks []*core.HealthCheck `protobuf:"bytes,5,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` - OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,6,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` - // Use http2 when communicating with this upstream - // this field is evaluated `true` for upstreams - // with a grpc service spec. otherwise defaults to `false` - UseHttp2 bool `protobuf:"varint,7,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"` - // Note to developers: new Upstream plugins must be added to this oneof field - // to be usable by Gloo. (plugins currently need to be compiled into Gloo) - // - // Types that are valid to be assigned to UpstreamType: - // *UpstreamSpec_Kube - // *UpstreamSpec_Static - // *UpstreamSpec_Pipe - // *UpstreamSpec_Aws - // *UpstreamSpec_Azure - // *UpstreamSpec_Consul - // *UpstreamSpec_AwsEc2 - UpstreamType isUpstreamSpec_UpstreamType `protobuf_oneof:"upstream_type"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *UpstreamSpec) Reset() { *m = UpstreamSpec{} } -func (m *UpstreamSpec) String() string { return proto.CompactTextString(m) } -func (*UpstreamSpec) ProtoMessage() {} -func (*UpstreamSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_94dcee4f7557dfdc, []int{7} -} -func (m *UpstreamSpec) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_UpstreamSpec.Unmarshal(m, b) -} -func (m *UpstreamSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_UpstreamSpec.Marshal(b, m, deterministic) -} -func (m *UpstreamSpec) XXX_Merge(src proto.Message) { - xxx_messageInfo_UpstreamSpec.Merge(m, src) -} -func (m *UpstreamSpec) XXX_Size() int { - return xxx_messageInfo_UpstreamSpec.Size(m) -} -func (m *UpstreamSpec) XXX_DiscardUnknown() { - xxx_messageInfo_UpstreamSpec.DiscardUnknown(m) -} - -var xxx_messageInfo_UpstreamSpec proto.InternalMessageInfo - -type isUpstreamSpec_UpstreamType interface { - isUpstreamSpec_UpstreamType() - Equal(interface{}) bool -} - -type UpstreamSpec_Kube struct { - Kube *kubernetes.UpstreamSpec `protobuf:"bytes,8,opt,name=kube,proto3,oneof" json:"kube,omitempty"` -} -type UpstreamSpec_Static struct { - Static *static.UpstreamSpec `protobuf:"bytes,9,opt,name=static,proto3,oneof" json:"static,omitempty"` -} -type UpstreamSpec_Pipe struct { - Pipe *pipe.UpstreamSpec `protobuf:"bytes,10,opt,name=pipe,proto3,oneof" json:"pipe,omitempty"` -} -type UpstreamSpec_Aws struct { - Aws *aws.UpstreamSpec `protobuf:"bytes,11,opt,name=aws,proto3,oneof" json:"aws,omitempty"` -} -type UpstreamSpec_Azure struct { - Azure *azure.UpstreamSpec `protobuf:"bytes,12,opt,name=azure,proto3,oneof" json:"azure,omitempty"` -} -type UpstreamSpec_Consul struct { - Consul *consul.UpstreamSpec `protobuf:"bytes,13,opt,name=consul,proto3,oneof" json:"consul,omitempty"` -} -type UpstreamSpec_AwsEc2 struct { - AwsEc2 *ec2.UpstreamSpec `protobuf:"bytes,14,opt,name=aws_ec2,json=awsEc2,proto3,oneof" json:"aws_ec2,omitempty"` -} - -func (*UpstreamSpec_Kube) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_Static) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_Pipe) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_Aws) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_Azure) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_Consul) isUpstreamSpec_UpstreamType() {} -func (*UpstreamSpec_AwsEc2) isUpstreamSpec_UpstreamType() {} - -func (m *UpstreamSpec) GetUpstreamType() isUpstreamSpec_UpstreamType { - if m != nil { - return m.UpstreamType - } - return nil -} - -func (m *UpstreamSpec) GetSslConfig() *UpstreamSslConfig { - if m != nil { - return m.SslConfig - } - return nil -} - -func (m *UpstreamSpec) GetCircuitBreakers() *CircuitBreakerConfig { - if m != nil { - return m.CircuitBreakers - } - return nil -} - -func (m *UpstreamSpec) GetLoadBalancerConfig() *LoadBalancerConfig { - if m != nil { - return m.LoadBalancerConfig - } - return nil -} - -func (m *UpstreamSpec) GetConnectionConfig() *ConnectionConfig { - if m != nil { - return m.ConnectionConfig - } - return nil -} - -func (m *UpstreamSpec) GetHealthChecks() []*core.HealthCheck { - if m != nil { - return m.HealthChecks - } - return nil -} - -func (m *UpstreamSpec) GetOutlierDetection() *cluster.OutlierDetection { - if m != nil { - return m.OutlierDetection - } - return nil -} - -func (m *UpstreamSpec) GetUseHttp2() bool { - if m != nil { - return m.UseHttp2 - } - return false -} - -func (m *UpstreamSpec) GetKube() *kubernetes.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Kube); ok { - return x.Kube - } - return nil -} - -func (m *UpstreamSpec) GetStatic() *static.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Static); ok { - return x.Static - } - return nil -} - -func (m *UpstreamSpec) GetPipe() *pipe.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Pipe); ok { - return x.Pipe - } - return nil -} - -func (m *UpstreamSpec) GetAws() *aws.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Aws); ok { - return x.Aws - } - return nil -} - -func (m *UpstreamSpec) GetAzure() *azure.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Azure); ok { - return x.Azure - } - return nil -} - -func (m *UpstreamSpec) GetConsul() *consul.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_Consul); ok { - return x.Consul - } - return nil -} - -func (m *UpstreamSpec) GetAwsEc2() *ec2.UpstreamSpec { - if x, ok := m.GetUpstreamType().(*UpstreamSpec_AwsEc2); ok { - return x.AwsEc2 - } - return nil -} - -// XXX_OneofWrappers is for the internal use of the proto package. -func (*UpstreamSpec) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*UpstreamSpec_Kube)(nil), - (*UpstreamSpec_Static)(nil), - (*UpstreamSpec_Pipe)(nil), - (*UpstreamSpec_Aws)(nil), - (*UpstreamSpec_Azure)(nil), - (*UpstreamSpec_Consul)(nil), - (*UpstreamSpec_AwsEc2)(nil), - } -} - func init() { proto.RegisterType((*ListenerOptions)(nil), "gloo.solo.io.ListenerOptions") proto.RegisterType((*HttpListenerOptions)(nil), "gloo.solo.io.HttpListenerOptions") @@ -1066,7 +849,6 @@ func init() { proto.RegisterType((*RouteOptions)(nil), "gloo.solo.io.RouteOptions") proto.RegisterType((*DestinationSpec)(nil), "gloo.solo.io.DestinationSpec") proto.RegisterType((*WeightedDestinationOptions)(nil), "gloo.solo.io.WeightedDestinationOptions") - proto.RegisterType((*UpstreamSpec)(nil), "gloo.solo.io.UpstreamSpec") } func init() { @@ -1074,125 +856,98 @@ func init() { } var fileDescriptor_94dcee4f7557dfdc = []byte{ - // 1873 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0x4f, 0x93, 0x1b, 0x39, - 0x15, 0x8f, 0x33, 0x93, 0x71, 0x46, 0x33, 0x93, 0x99, 0x51, 0x52, 0x94, 0x19, 0x96, 0x6c, 0x18, - 0x0a, 0x76, 0x13, 0x88, 0x1c, 0x0c, 0xb5, 0xff, 0xaa, 0x02, 0x89, 0x9d, 0x04, 0xc3, 0x4e, 0x48, - 0xaa, 0x27, 0x9b, 0x64, 0xb9, 0x74, 0xc9, 0xb2, 0xdc, 0xad, 0x4c, 0x4f, 0xab, 0x4b, 0x52, 0xc7, - 0x19, 0x4e, 0x7c, 0x06, 0x4e, 0xdc, 0xb9, 0x70, 0xe1, 0xc0, 0xa7, 0x01, 0x4e, 0x54, 0xf1, 0x49, - 0x28, 0xa9, 0x5f, 0xb7, 0xdb, 0x76, 0x3b, 0xf1, 0xbf, 0x3d, 0xf4, 0x1f, 0xab, 0xdf, 0xfb, 0x49, - 0x7a, 0x7a, 0xef, 0xf7, 0x9e, 0x64, 0xf4, 0x55, 0x20, 0x4c, 0x98, 0xf6, 0x08, 0x93, 0xe7, 0x4d, - 0x2d, 0x23, 0x79, 0x57, 0xc8, 0x66, 0x10, 0x49, 0xd9, 0x4c, 0x94, 0x7c, 0xc3, 0x99, 0xd1, 0xd9, - 0x2f, 0x9a, 0x88, 0xe6, 0xdb, 0x5f, 0x34, 0x65, 0x62, 0x84, 0x8c, 0x35, 0x49, 0x94, 0x34, 0x12, - 0xef, 0xda, 0x4f, 0xc4, 0x6a, 0x11, 0x21, 0x8f, 0x3e, 0x0a, 0xa4, 0x0c, 0x22, 0xde, 0x74, 0xdf, - 0x7a, 0xe9, 0xa0, 0xa9, 0x8d, 0x4a, 0x99, 0xc9, 0x64, 0x8f, 0x6e, 0x04, 0x32, 0x90, 0xee, 0xb5, - 0x69, 0xdf, 0xa0, 0xf5, 0xb3, 0x85, 0x7a, 0xd7, 0x3a, 0x02, 0xbd, 0xfb, 0x0b, 0xe9, 0xf1, 0x77, - 0x86, 0xc7, 0x7a, 0x34, 0xf0, 0xa3, 0xf6, 0x42, 0xea, 0x4c, 0x28, 0x96, 0x0a, 0xe3, 0xf7, 0x14, - 0xa7, 0x67, 0x5c, 0x01, 0xc6, 0x83, 0x85, 0x30, 0x22, 0x49, 0xfb, 0x7e, 0x8f, 0x46, 0x34, 0x66, - 0x05, 0xc2, 0x62, 0x93, 0x60, 0x32, 0x8e, 0x39, 0xb3, 0xe6, 0x5f, 0x6a, 0x12, 0xb0, 0x72, 0x4d, - 0x3a, 0x74, 0x17, 0x60, 0xfc, 0x7e, 0x69, 0x0c, 0xce, 0x5a, 0xf6, 0xe9, 0x73, 0xd6, 0x02, 0xac, - 0x47, 0x4b, 0x61, 0x31, 0xa9, 0xb2, 0xdb, 0x4a, 0x28, 0x8a, 0x6b, 0xe3, 0x6e, 0x2b, 0xa1, 0x04, - 0x2a, 0x61, 0xee, 0xb6, 0x9a, 0x85, 0x23, 0x77, 0x01, 0xc6, 0xc9, 0xd2, 0x23, 0xf1, 0x87, 0xbc, - 0x57, 0xbc, 0xac, 0x34, 0xa2, 0x90, 0x9d, 0xdb, 0x0b, 0x30, 0xba, 0x4b, 0x61, 0x44, 0xbd, 0x90, - 0xea, 0x10, 0x1e, 0x80, 0xf4, 0x87, 0xa5, 0x90, 0x74, 0x48, 0xfb, 0x72, 0x28, 0xe2, 0x60, 0xf4, - 0xb6, 0xd2, 0xec, 0x0c, 0x4b, 0xec, 0xb5, 0x92, 0x47, 0x1b, 0x45, 0x99, 0x1d, 0x11, 0x3c, 0x01, - 0xeb, 0xc9, 0x72, 0xeb, 0xff, 0xa7, 0x54, 0xf1, 0xec, 0xbe, 0x92, 0xc5, 0x99, 0x8c, 0x75, 0x1a, - 0xc1, 0x03, 0x90, 0x9e, 0x2f, 0x85, 0x74, 0x96, 0xf6, 0xb8, 0x8a, 0xb9, 0xe1, 0xe5, 0xd7, 0x95, - 0xec, 0xa5, 0xb8, 0x51, 0x82, 0x17, 0xcf, 0x95, 0xe6, 0xa9, 0x0d, 0x35, 0x82, 0xc1, 0x63, 0xa5, - 0xf8, 0x4d, 0x44, 0xc2, 0xdd, 0x6d, 0xa5, 0xf5, 0xb3, 0x03, 0x81, 0x3b, 0xe0, 0x3c, 0x5b, 0x0a, - 0x67, 0x40, 0xd3, 0xc8, 0x88, 0xf8, 0x4d, 0x46, 0xda, 0xd9, 0xcf, 0x95, 0x8c, 0x1e, 0x72, 0xda, - 0xe7, 0xaa, 0x78, 0x02, 0x96, 0xb7, 0x2c, 0x56, 0x64, 0x42, 0x16, 0x72, 0x76, 0x56, 0x7e, 0x07, - 0xcc, 0x60, 0x7e, 0x4c, 0x9b, 0x5b, 0x55, 0x4c, 0xa3, 0x26, 0x8f, 0xdf, 0xca, 0x8b, 0x52, 0xaa, - 0xb5, 0xb1, 0x14, 0xeb, 0x81, 0x54, 0xe7, 0xd4, 0xcd, 0x7f, 0xfc, 0x27, 0x74, 0xf4, 0x7a, 0xb1, - 0x3c, 0x1e, 0x1b, 0xae, 0x12, 0x25, 0x34, 0x2f, 0xe6, 0xc1, 0xdf, 0x19, 0x9a, 0x9a, 0x10, 0xb2, - 0xbc, 0x7d, 0x05, 0xe4, 0xa7, 0xab, 0x22, 0xbf, 0x19, 0x1a, 0x7b, 0x01, 0xdc, 0xb7, 0xab, 0xc2, - 0x29, 0x6a, 0x78, 0x24, 0xce, 0x85, 0x19, 0xbd, 0x2d, 0xe5, 0x5d, 0x55, 0xd0, 0x3d, 0xca, 0xdc, - 0x6d, 0x5d, 0x53, 0x1f, 0xd2, 0x81, 0xbd, 0xd6, 0x05, 0xd7, 0x8f, 0x12, 0x7b, 0x01, 0x9c, 0xbf, - 0xb4, 0x6f, 0xb9, 0x1e, 0x5a, 0x4d, 0x16, 0xa5, 0xda, 0x70, 0xd5, 0x94, 0xa9, 0x89, 0x04, 0x57, - 0x7e, 0x9f, 0x9b, 0xb1, 0xba, 0xe8, 0xd5, 0xca, 0x1d, 0x48, 0xc5, 0x21, 0x28, 0xfc, 0x72, 0x54, - 0xdc, 0x9c, 0x2c, 0x70, 0xfb, 0xa9, 0x2a, 0x3b, 0xf3, 0xd4, 0xf7, 0xa1, 0xa2, 0x49, 0x52, 0x44, - 0xea, 0xf1, 0x3f, 0x6b, 0x68, 0xff, 0x44, 0x68, 0xc3, 0x63, 0xae, 0x9e, 0x65, 0xb6, 0xc1, 0x7d, - 0xf4, 0x3d, 0xca, 0x18, 0xd7, 0xda, 0x8f, 0x64, 0x10, 0x88, 0x38, 0xf0, 0x35, 0x57, 0x6f, 0x05, - 0xe3, 0x8d, 0xda, 0xad, 0xda, 0xa7, 0x3b, 0x2d, 0x42, 0x6c, 0x29, 0x91, 0x97, 0xdd, 0xe5, 0x7a, - 0x9b, 0x3c, 0x74, 0x7a, 0x27, 0x99, 0xda, 0x69, 0xa6, 0xe5, 0xdd, 0xa0, 0x15, 0xad, 0xf8, 0x0b, - 0x84, 0x46, 0x81, 0xd9, 0xb8, 0xec, 0x90, 0x1b, 0xe3, 0x68, 0x8f, 0x8b, 0xef, 0x5e, 0x49, 0xf6, - 0xf8, 0x5f, 0x1b, 0xe8, 0x7a, 0xd7, 0x98, 0x64, 0x72, 0xdc, 0x0f, 0xd1, 0xd5, 0xbc, 0x34, 0x81, - 0x91, 0xfe, 0x94, 0x14, 0xb5, 0x4a, 0xe5, 0x70, 0x7f, 0xab, 0x12, 0xf6, 0x8a, 0xf7, 0xbc, 0x7a, - 0x90, 0xbd, 0xe0, 0x3f, 0xd7, 0xd0, 0xad, 0xd0, 0x98, 0xc4, 0x1f, 0x55, 0xb6, 0xfe, 0x39, 0x8d, - 0x69, 0xc0, 0x95, 0xaf, 0xb9, 0x31, 0x22, 0x0e, 0xf2, 0xb1, 0x7e, 0x4e, 0x6c, 0xf9, 0x52, 0x09, - 0x6b, 0x07, 0xd7, 0x29, 0x00, 0x9e, 0x66, 0xfa, 0xa7, 0xa0, 0xee, 0xfd, 0x30, 0x7c, 0xdf, 0x67, - 0xfc, 0x1c, 0xed, 0x96, 0xd7, 0xb9, 0xb1, 0xe9, 0x7a, 0xbb, 0x4b, 0xca, 0x8c, 0x58, 0xdd, 0xab, - 0x13, 0xe8, 0x58, 0x01, 0x6f, 0x27, 0x1c, 0xfd, 0x98, 0xb0, 0xf4, 0xc6, 0xfc, 0x96, 0xc6, 0xbf, - 0x42, 0x1b, 0x43, 0x3a, 0x68, 0x5c, 0x71, 0x2a, 0xc7, 0xc4, 0xc6, 0x5f, 0x65, 0xd7, 0xc5, 0xdc, - 0xac, 0x38, 0xfe, 0x02, 0x6d, 0xf4, 0xa3, 0xa4, 0xb1, 0x05, 0x4b, 0x60, 0xc3, 0xac, 0x52, 0xeb, - 0x89, 0x88, 0x0c, 0x57, 0x1d, 0x19, 0x0f, 0x44, 0xe0, 0x59, 0x95, 0xe3, 0x18, 0xe1, 0x17, 0x6c, - 0x6a, 0x5d, 0x5f, 0x23, 0x6c, 0x58, 0xe2, 0x27, 0x4a, 0xbe, 0xbb, 0x18, 0xad, 0x42, 0x36, 0x8f, - 0x3b, 0xc4, 0x96, 0x59, 0x95, 0xf0, 0x2f, 0x58, 0xf2, 0xdc, 0xaa, 0x14, 0x83, 0x3b, 0x30, 0x13, - 0x2d, 0xc7, 0x7f, 0xab, 0x23, 0xfc, 0x52, 0x28, 0x93, 0xd2, 0xa8, 0x2b, 0xb5, 0xc9, 0x3b, 0x1c, - 0x37, 0x58, 0x6d, 0x01, 0x83, 0x75, 0x50, 0x1d, 0xca, 0x0f, 0x30, 0xda, 0x6d, 0x92, 0x97, 0x23, - 0x95, 0x63, 0xf4, 0xb8, 0x51, 0x17, 0xcf, 0x65, 0x24, 0xd8, 0x85, 0x97, 0x6b, 0xe2, 0xcf, 0xd1, - 0x15, 0x97, 0xe9, 0x1b, 0xc8, 0x41, 0xfc, 0x88, 0x64, 0x79, 0xbf, 0xda, 0xf2, 0xf6, 0x93, 0x97, - 0xc9, 0x63, 0x8a, 0xae, 0x67, 0x79, 0xd8, 0xfa, 0xac, 0x48, 0xd2, 0xc8, 0x31, 0x01, 0xf8, 0xeb, - 0x3d, 0x92, 0xe7, 0xe8, 0x59, 0xde, 0xd3, 0xe7, 0xea, 0x69, 0x49, 0xcf, 0xc3, 0xe1, 0x54, 0x1b, - 0xfe, 0x12, 0x6d, 0xda, 0x8d, 0x11, 0x58, 0xff, 0x27, 0xc4, 0xed, 0x92, 0x2a, 0x01, 0x3b, 0x52, - 0x69, 0x98, 0x99, 0x53, 0xc1, 0xaf, 0xd1, 0xfe, 0x78, 0xbe, 0xd5, 0xe0, 0xdb, 0x84, 0x38, 0xaa, - 0x23, 0x34, 0x11, 0xe4, 0x6d, 0x8b, 0x0c, 0x9c, 0x5b, 0x10, 0x1b, 0x25, 0xc4, 0x93, 0xa9, 0xe1, - 0x2f, 0xc6, 0xb5, 0xbc, 0x49, 0x18, 0xfc, 0x2d, 0xda, 0x2f, 0x12, 0x98, 0xdf, 0xa3, 0x5a, 0x30, - 0x70, 0xbe, 0x7b, 0x64, 0x94, 0xd8, 0x2a, 0x07, 0xf9, 0xbb, 0x38, 0x50, 0x5c, 0x6b, 0x8f, 0x1a, - 0x7e, 0x62, 0xa5, 0xbc, 0x6b, 0x85, 0x42, 0xdb, 0xe2, 0xe0, 0x6f, 0xd0, 0x76, 0xd1, 0xd2, 0xa8, - 0x43, 0xe0, 0x7f, 0x00, 0xb4, 0x40, 0x7b, 0x19, 0x4a, 0x6d, 0x0a, 0x4f, 0xf1, 0x46, 0x48, 0x79, - 0x60, 0x5d, 0x5d, 0x2c, 0xb0, 0xbe, 0x42, 0x1b, 0x6f, 0x86, 0xa6, 0xb1, 0xed, 0xb4, 0x3e, 0x25, - 0xb6, 0x12, 0xa8, 0xd4, 0x9a, 0xe8, 0xd7, 0x2a, 0xe1, 0x07, 0x68, 0xd3, 0xa6, 0xe3, 0xc6, 0x8e, - 0x53, 0xfe, 0x39, 0x71, 0xb9, 0xb9, 0x52, 0xbb, 0x50, 0x2c, 0x3a, 0x77, 0x9a, 0xd6, 0xb7, 0xa1, - 0x9c, 0x69, 0xec, 0x82, 0x6f, 0x8f, 0x12, 0xeb, 0x14, 0xc4, 0xc3, 0xd4, 0x84, 0xa3, 0x21, 0xe4, - 0x9a, 0xb8, 0x95, 0x71, 0xc3, 0x9e, 0x03, 0xb8, 0x35, 0x9b, 0x1b, 0xca, 0xac, 0xf0, 0x97, 0x1d, - 0xb4, 0xeb, 0x1c, 0x61, 0x44, 0x08, 0x53, 0x9e, 0x54, 0x5b, 0x8f, 0x27, 0xfd, 0x06, 0x6d, 0xb9, - 0x9a, 0x38, 0x27, 0xf9, 0x4f, 0x48, 0x56, 0x22, 0x57, 0xaf, 0xb3, 0x85, 0x7c, 0xe2, 0xc4, 0x3d, - 0x50, 0xc3, 0x1d, 0x74, 0x2d, 0x51, 0x7c, 0x20, 0xde, 0xf9, 0x8a, 0x0f, 0x95, 0x30, 0x1c, 0x22, - 0xe5, 0x23, 0x92, 0x25, 0x62, 0x92, 0x27, 0x62, 0x72, 0x6a, 0x94, 0x88, 0x83, 0x97, 0x34, 0x4a, - 0xb9, 0xb7, 0x97, 0xe9, 0x78, 0x99, 0x0a, 0xfe, 0x12, 0xd5, 0x8d, 0x38, 0xe7, 0x32, 0x35, 0x10, - 0x21, 0xdf, 0x9f, 0xd2, 0x7e, 0x04, 0x69, 0xbe, 0xbd, 0xf9, 0xd7, 0xff, 0x7e, 0x5c, 0xf3, 0x72, - 0xf9, 0xf5, 0x10, 0xd0, 0x38, 0xff, 0x6d, 0x2d, 0xc0, 0x7f, 0x27, 0xa8, 0x0e, 0xdb, 0x55, 0x08, - 0x96, 0x16, 0xc9, 0xb7, 0xaf, 0xb3, 0x4d, 0xf8, 0x22, 0x93, 0x28, 0xdc, 0x2d, 0x87, 0xc0, 0x27, - 0x68, 0xbb, 0xd8, 0x8e, 0x43, 0xac, 0x10, 0x32, 0xda, 0xa0, 0xcf, 0x46, 0x3c, 0xcd, 0x65, 0xbc, - 0x11, 0xc0, 0x2c, 0x76, 0xdc, 0x5e, 0x23, 0x3b, 0xfe, 0x18, 0xed, 0xda, 0xd0, 0x2b, 0xd6, 0xde, - 0x12, 0xf8, 0x76, 0xf7, 0x92, 0xb7, 0x63, 0x5b, 0xf3, 0xd5, 0xed, 0xa2, 0x43, 0x9a, 0x1a, 0xe9, - 0x8f, 0x49, 0x5e, 0x77, 0xa3, 0x38, 0x9a, 0x5a, 0xe7, 0xb6, 0x94, 0x91, 0xf3, 0x91, 0xee, 0x25, - 0x6f, 0xdf, 0xaa, 0x75, 0x4b, 0x48, 0x39, 0x19, 0xef, 0x2c, 0x4e, 0xc6, 0x5f, 0xa3, 0x7a, 0xd4, - 0xf3, 0x43, 0xaa, 0xf3, 0x60, 0x6e, 0x11, 0x38, 0x46, 0x99, 0x6d, 0xd5, 0x87, 0xae, 0x5e, 0xe9, - 0x52, 0x1d, 0x42, 0x74, 0x6e, 0x45, 0x3d, 0xfb, 0xab, 0x8a, 0x7f, 0xf7, 0xbe, 0x0b, 0xfe, 0xbd, - 0xb6, 0x20, 0xff, 0xba, 0x51, 0xbf, 0x8f, 0x7f, 0xf7, 0x97, 0xe2, 0xdf, 0x83, 0x0f, 0xf1, 0xef, - 0x44, 0xbf, 0x63, 0xfc, 0x7b, 0xb8, 0x0e, 0xfe, 0xc5, 0xab, 0xf2, 0xef, 0x8d, 0x05, 0xf8, 0xb7, - 0x7d, 0x1d, 0x1d, 0x96, 0x7d, 0xd5, 0x37, 0x17, 0x09, 0x3f, 0xfe, 0xc7, 0x65, 0xb4, 0xff, 0x88, - 0x6b, 0x23, 0x62, 0xe7, 0xfa, 0xa7, 0x09, 0x67, 0xf8, 0x3e, 0xda, 0xa0, 0xc3, 0x9c, 0x8b, 0x6f, - 0x13, 0x3a, 0x9c, 0xe1, 0x8d, 0x13, 0x7a, 0xdd, 0x4b, 0x9e, 0xd5, 0xc3, 0x1d, 0x74, 0xc5, 0x9d, - 0x50, 0x01, 0xf7, 0xfe, 0x8c, 0x64, 0xe7, 0x55, 0x73, 0x42, 0x64, 0xba, 0xce, 0xce, 0x5c, 0x9b, - 0xa2, 0x3c, 0x74, 0x07, 0xb0, 0x73, 0x42, 0x38, 0x4d, 0x8b, 0x60, 0xb7, 0x03, 0x40, 0xbd, 0x77, - 0xdc, 0x16, 0x62, 0x6e, 0x04, 0x2b, 0xdc, 0xc6, 0xe8, 0xa0, 0x3f, 0xfa, 0x94, 0xd9, 0xeb, 0xdf, - 0x97, 0xd1, 0xd1, 0x2b, 0x2e, 0x82, 0xd0, 0xf0, 0x7e, 0x49, 0x2f, 0x4f, 0x69, 0x33, 0xc8, 0xa9, - 0xb6, 0x46, 0x72, 0xaa, 0xc8, 0x9a, 0x97, 0xd7, 0x93, 0x35, 0x97, 0xdf, 0x60, 0x94, 0x7c, 0x7a, - 0x73, 0x59, 0x9f, 0x3e, 0xfe, 0x4f, 0x1d, 0xed, 0x7e, 0x93, 0x68, 0xa3, 0x38, 0x3d, 0x77, 0x7e, - 0xf8, 0x6b, 0x84, 0xb4, 0x8e, 0xec, 0x1e, 0x6e, 0x20, 0x02, 0xb0, 0xe1, 0xc7, 0xe3, 0x68, 0x85, - 0xbc, 0x8e, 0xc0, 0xd5, 0xb7, 0x75, 0xfe, 0x8a, 0x9f, 0xa2, 0x83, 0x89, 0xff, 0x57, 0x72, 0x53, - 0x1d, 0x4f, 0x44, 0x49, 0x26, 0xd5, 0xce, 0x84, 0x00, 0x68, 0x9f, 0x8d, 0xb5, 0x6a, 0xec, 0xa1, - 0x1b, 0x63, 0x7f, 0xb5, 0xe4, 0x03, 0xdb, 0x80, 0x20, 0x1c, 0x83, 0x3c, 0x91, 0xb4, 0xdf, 0x06, - 0x41, 0x00, 0xc4, 0xd1, 0x54, 0x1b, 0xfe, 0x1a, 0x1d, 0x96, 0xb6, 0xa8, 0x00, 0x98, 0x99, 0xf0, - 0xe6, 0x54, 0x24, 0x83, 0x18, 0xc0, 0x1d, 0xb0, 0x89, 0x16, 0xdc, 0x41, 0x7b, 0xe5, 0x2d, 0xa7, - 0x2d, 0x1d, 0x36, 0x1c, 0xd0, 0x98, 0x5f, 0x30, 0xa9, 0xf8, 0xd8, 0x26, 0x73, 0xb7, 0xb4, 0xc9, - 0xd4, 0xf8, 0x14, 0x1d, 0x4e, 0x9d, 0x7e, 0x14, 0x7b, 0xc0, 0x71, 0xa0, 0xec, 0xb0, 0x84, 0x3c, - 0xcb, 0xc4, 0x1f, 0xe5, 0xd2, 0xde, 0x81, 0x9c, 0x68, 0xc1, 0x3f, 0x40, 0xdb, 0xa9, 0xe6, 0xbe, - 0xf5, 0xc5, 0x96, 0xab, 0x28, 0xae, 0x7a, 0x57, 0x53, 0xcd, 0xed, 0x06, 0xbb, 0x85, 0x3b, 0x68, - 0xf3, 0x2c, 0xed, 0x71, 0xa8, 0x0c, 0xee, 0x92, 0xd2, 0x39, 0x72, 0x65, 0x9c, 0x94, 0x7d, 0xc4, - 0xc6, 0xaa, 0x95, 0xc7, 0x1d, 0xb4, 0x95, 0x9d, 0xf2, 0x42, 0x21, 0x70, 0x9b, 0xc0, 0xa1, 0xef, - 0x3c, 0x10, 0xa0, 0x8a, 0xef, 0xa3, 0xcd, 0x44, 0x24, 0x1c, 0x36, 0x6c, 0x9f, 0x10, 0x77, 0xde, - 0x3b, 0xd7, 0x18, 0xac, 0xa4, 0xcd, 0x2b, 0x96, 0x37, 0x77, 0xc0, 0x58, 0x33, 0x79, 0x73, 0x42, - 0xd9, 0x91, 0xe6, 0x83, 0x9c, 0x34, 0x77, 0x21, 0x2b, 0xbd, 0x87, 0x34, 0x27, 0xf4, 0x81, 0x31, - 0x3b, 0x68, 0x2b, 0x3b, 0xcf, 0x87, 0xa4, 0x7d, 0x9b, 0xc0, 0xf1, 0xfe, 0x5c, 0x16, 0xc8, 0x64, - 0xf1, 0x63, 0x54, 0x87, 0x7f, 0xde, 0x20, 0x4b, 0xdf, 0x21, 0xf9, 0x3f, 0x71, 0x73, 0xc1, 0xd0, - 0xa1, 0x7e, 0xcc, 0x5a, 0xed, 0x7d, 0xb4, 0x97, 0xc2, 0x17, 0x47, 0x9b, 0xed, 0xcf, 0xfe, 0xfe, - 0xbf, 0x9b, 0xb5, 0x3f, 0xde, 0x9b, 0xef, 0xf8, 0x2c, 0x39, 0x0b, 0xe0, 0xc8, 0xaf, 0xb7, 0xe5, - 0x2a, 0xa8, 0x5f, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x75, 0x14, 0xc7, 0xd7, 0x4b, 0x1e, 0x00, - 0x00, + // 1446 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5d, 0x73, 0x1b, 0x35, + 0x17, 0xae, 0x93, 0x34, 0x6e, 0x94, 0xb4, 0x69, 0x95, 0xce, 0x3b, 0x7e, 0x33, 0xa5, 0x94, 0x30, + 0x40, 0x5b, 0xa8, 0x5c, 0x02, 0x43, 0x3f, 0x66, 0x3a, 0x10, 0xbb, 0x14, 0x03, 0x29, 0xed, 0x6c, + 0x42, 0x3f, 0xb8, 0xd9, 0x91, 0xd7, 0xf2, 0xae, 0xd2, 0xcd, 0x6a, 0x47, 0xd2, 0xc6, 0x09, 0x57, + 0xfc, 0x06, 0xae, 0xb8, 0xe7, 0x86, 0x1b, 0x2e, 0xf8, 0x35, 0x70, 0xc7, 0x0c, 0xbf, 0x84, 0xd1, + 0xc7, 0x7e, 0xd8, 0x5e, 0xb7, 0xf1, 0xda, 0x5c, 0xec, 0x5a, 0xbb, 0x7b, 0x9e, 0x47, 0x47, 0xd2, + 0xd1, 0x73, 0x74, 0x0c, 0xee, 0xfb, 0x54, 0x06, 0x49, 0x17, 0x79, 0xec, 0xb0, 0x29, 0x58, 0xc8, + 0x6e, 0x51, 0xd6, 0xf4, 0x43, 0xc6, 0x9a, 0x31, 0x67, 0x07, 0xc4, 0x93, 0xc2, 0x3c, 0xe1, 0x98, + 0x36, 0x8f, 0x3e, 0x6e, 0xb2, 0x58, 0x52, 0x16, 0x09, 0x14, 0x73, 0x26, 0x19, 0x5c, 0x53, 0x9f, + 0x90, 0x42, 0x21, 0xca, 0x36, 0xaf, 0xf8, 0x8c, 0xf9, 0x21, 0x69, 0xea, 0x6f, 0xdd, 0xa4, 0xdf, + 0x14, 0x92, 0x27, 0x9e, 0x34, 0xb6, 0x9b, 0x97, 0x7d, 0xe6, 0x33, 0xdd, 0x6c, 0xaa, 0x96, 0x7d, + 0xfb, 0x60, 0xaa, 0xde, 0xc9, 0xb1, 0x24, 0x91, 0xc8, 0x1d, 0xd8, 0x7c, 0x58, 0xc5, 0xf9, 0xa6, + 0xc7, 0xb8, 0xb9, 0xcd, 0xc4, 0xc2, 0x89, 0x90, 0xfa, 0x36, 0x13, 0x8b, 0xcf, 0x63, 0x4f, 0xdf, + 0x2c, 0x4b, 0xab, 0x12, 0x0b, 0x0e, 0xf5, 0x65, 0x39, 0x76, 0x2b, 0x7b, 0xe2, 0x0e, 0x48, 0x37, + 0x6b, 0xcc, 0xe4, 0x51, 0xe0, 0x1d, 0xaa, 0xcb, 0x72, 0x74, 0x2a, 0x71, 0x84, 0xdd, 0x00, 0x8b, + 0xc0, 0xfe, 0x58, 0xa6, 0xef, 0x2a, 0x31, 0x89, 0x00, 0xf7, 0xd8, 0x80, 0x46, 0x7e, 0xde, 0x9a, + 0x69, 0x74, 0xd2, 0x8b, 0xd5, 0x65, 0x39, 0xbe, 0xa9, 0xc6, 0xc1, 0xb1, 0xa7, 0x3c, 0xb2, 0xbf, + 0x33, 0x71, 0x71, 0x22, 0x39, 0x25, 0xd9, 0xaf, 0xe5, 0x7a, 0x54, 0x6d, 0xae, 0x24, 0x96, 0xf6, + 0x6e, 0x79, 0x9e, 0x54, 0xe2, 0xe9, 0xe3, 0x24, 0x94, 0x34, 0x52, 0x06, 0x94, 0x45, 0xe6, 0x71, + 0xa6, 0x41, 0x06, 0x04, 0xf7, 0x08, 0xcf, 0x7e, 0x67, 0xdb, 0x30, 0x03, 0x7d, 0xcd, 0x34, 0x51, + 0xf8, 0xc7, 0x84, 0x13, 0x73, 0xb7, 0x3c, 0x4e, 0xd5, 0x71, 0x85, 0x32, 0xf0, 0x02, 0xe2, 0xbd, + 0x2a, 0xb6, 0x2d, 0xa7, 0x7f, 0x7a, 0x4e, 0x25, 0x8f, 0x3c, 0xc2, 0x61, 0x93, 0x44, 0x47, 0xec, + 0xa4, 0xa0, 0x96, 0x2a, 0xc6, 0x22, 0xd1, 0x67, 0xfc, 0x10, 0xeb, 0xb5, 0x18, 0x7e, 0xb4, 0x1d, + 0xbd, 0x98, 0x4e, 0x8a, 0x23, 0x49, 0x78, 0xcc, 0xa9, 0x20, 0xd9, 0x38, 0xc8, 0xb1, 0xc4, 0x89, + 0x0c, 0xac, 0x50, 0xab, 0xa6, 0x65, 0x7e, 0x3c, 0x2b, 0xf3, 0xc1, 0x40, 0xaa, 0xcb, 0xd2, 0xbd, + 0x9c, 0x95, 0x8e, 0x63, 0x49, 0x42, 0x7a, 0x48, 0x65, 0xde, 0xaa, 0x14, 0xe9, 0x65, 0xd4, 0x5d, + 0xec, 0xe9, 0xdb, 0xbc, 0x86, 0x3e, 0xc0, 0x7d, 0x75, 0xcd, 0x8b, 0xae, 0x17, 0xc6, 0xea, 0xb2, + 0x74, 0x57, 0x47, 0x33, 0x76, 0x2f, 0xe1, 0xc5, 0x90, 0x18, 0xfb, 0x3e, 0xe0, 0x38, 0x8e, 0xb3, + 0xbd, 0xb7, 0xf5, 0x47, 0x0d, 0xac, 0xef, 0x52, 0x21, 0x49, 0x44, 0xf8, 0x13, 0xd3, 0x03, 0xec, + 0x81, 0xff, 0x61, 0xcf, 0x23, 0x42, 0xb8, 0x21, 0xf3, 0x7d, 0x1a, 0xf9, 0xae, 0x20, 0xfc, 0x88, + 0x7a, 0xa4, 0x51, 0xbb, 0x56, 0xbb, 0xbe, 0xba, 0x8d, 0x90, 0x4a, 0x54, 0xe9, 0x39, 0xa2, 0x78, + 0x80, 0x40, 0x3b, 0x1a, 0xb7, 0x6b, 0x60, 0x7b, 0x06, 0xe5, 0x5c, 0xc6, 0x25, 0x6f, 0xe1, 0x5d, + 0x00, 0xf2, 0xf0, 0x6e, 0x2c, 0x68, 0xe6, 0xc6, 0x30, 0xdb, 0x97, 0xd9, 0x77, 0xa7, 0x60, 0xbb, + 0xf5, 0xe7, 0x22, 0xd8, 0xe8, 0x48, 0x19, 0x8f, 0xfa, 0xbd, 0x03, 0xce, 0xa5, 0x89, 0xcf, 0x7a, + 0xfa, 0x3e, 0xca, 0x32, 0x61, 0xa9, 0xbb, 0x5f, 0xf1, 0xd8, 0x7b, 0x4e, 0xba, 0x4e, 0xdd, 0x37, + 0x0d, 0xf8, 0x53, 0x0d, 0x5c, 0x0b, 0xa4, 0x8c, 0x5d, 0x8f, 0x45, 0x91, 0x91, 0x3d, 0xf7, 0x10, + 0x47, 0xd8, 0x27, 0xdc, 0x15, 0x44, 0x4a, 0x1a, 0xf9, 0xa9, 0xaf, 0x77, 0x90, 0x4a, 0x8e, 0xa5, + 0xb4, 0xca, 0xb9, 0x76, 0x46, 0xf0, 0xd8, 0xe0, 0xf7, 0x2c, 0xdc, 0x79, 0x2b, 0x78, 0xdd, 0x67, + 0xf8, 0x14, 0xac, 0x19, 0x09, 0x71, 0xb5, 0x86, 0x34, 0x96, 0x74, 0x6f, 0xb7, 0x50, 0x51, 0x57, + 0xca, 0x7b, 0xd5, 0x06, 0x6d, 0x65, 0xe0, 0xac, 0x06, 0xf9, 0xc3, 0xc8, 0x4c, 0x2f, 0x9e, 0x7e, + 0xa6, 0xe1, 0xa7, 0x60, 0x71, 0x80, 0xfb, 0x8d, 0xb3, 0x1a, 0xb2, 0x85, 0x54, 0x14, 0x97, 0x76, + 0x9d, 0x8d, 0x4d, 0x99, 0xc3, 0xbb, 0x60, 0xb1, 0x17, 0xc6, 0x8d, 0x65, 0xbb, 0x04, 0x2a, 0x58, + 0x4b, 0x51, 0x8f, 0x68, 0x28, 0x09, 0x6f, 0xb3, 0xa8, 0x4f, 0x7d, 0x47, 0x41, 0xb6, 0x22, 0x00, + 0xf7, 0xbd, 0xb1, 0x75, 0x7d, 0x01, 0xa0, 0xf4, 0x62, 0x37, 0xe6, 0xec, 0xf8, 0x24, 0x5f, 0x05, + 0x33, 0x8e, 0x9b, 0x48, 0x25, 0xf1, 0x52, 0xfa, 0x7d, 0x2f, 0x7e, 0xaa, 0x20, 0x99, 0x73, 0x17, + 0xe5, 0xc8, 0x9b, 0xad, 0x5f, 0xeb, 0x00, 0x3e, 0xa3, 0x5c, 0x26, 0x38, 0xec, 0x30, 0x21, 0xd3, + 0x0e, 0x87, 0x27, 0xac, 0x36, 0xc5, 0x84, 0xb5, 0x41, 0xdd, 0x26, 0x70, 0x3b, 0x69, 0x37, 0x50, + 0x9a, 0xd0, 0x4b, 0x7d, 0x74, 0x88, 0xe4, 0x27, 0x4f, 0x59, 0x48, 0xbd, 0x13, 0x27, 0x45, 0xc2, + 0x3b, 0xe0, 0xac, 0xce, 0xdd, 0x0d, 0xa0, 0x29, 0xde, 0x41, 0x26, 0x93, 0x97, 0xcf, 0xbc, 0xfa, + 0xe4, 0x18, 0x7b, 0x88, 0xc1, 0x86, 0xc9, 0xac, 0x2a, 0x66, 0x69, 0x9c, 0x84, 0x5a, 0x09, 0x6c, + 0xbc, 0xde, 0x46, 0x69, 0xd6, 0x9d, 0x14, 0x3d, 0x3d, 0xc2, 0x1f, 0x17, 0x70, 0x0e, 0x0c, 0xc6, + 0xde, 0xc1, 0x7b, 0x60, 0x49, 0x1d, 0xbb, 0xed, 0xec, 0xbf, 0x87, 0xf4, 0x19, 0xbc, 0x94, 0xb0, + 0xcd, 0xb8, 0xb0, 0x23, 0xd3, 0x10, 0xf8, 0x02, 0xac, 0x0f, 0x67, 0x2d, 0x61, 0x63, 0x1b, 0x21, + 0x9d, 0xed, 0x10, 0x8e, 0x29, 0x3a, 0xda, 0x46, 0x7d, 0x1d, 0x16, 0x48, 0xed, 0x12, 0xe4, 0xb0, + 0x44, 0x92, 0xfd, 0x61, 0x94, 0x33, 0x4a, 0x03, 0x5f, 0x82, 0xf5, 0x2c, 0x0d, 0xb8, 0x5d, 0x2c, + 0xa8, 0x67, 0x83, 0xef, 0x36, 0xca, 0xd3, 0x43, 0xa9, 0x93, 0x5f, 0x47, 0x3e, 0x27, 0x42, 0x38, + 0x58, 0x92, 0x5d, 0x65, 0xe5, 0x5c, 0xc8, 0x00, 0x2d, 0xc5, 0x03, 0xbf, 0x07, 0x2b, 0xd9, 0x9b, + 0x46, 0xdd, 0x6e, 0xfc, 0x37, 0x90, 0x66, 0x6c, 0xcf, 0x02, 0x26, 0x64, 0x16, 0x29, 0x4e, 0xce, + 0x94, 0x6e, 0xac, 0x73, 0xd3, 0x6d, 0xac, 0xfb, 0x60, 0xf1, 0x60, 0x20, 0x1b, 0x2b, 0x1a, 0x75, + 0x1d, 0xa9, 0x7c, 0x5a, 0x8a, 0x1a, 0xe9, 0x57, 0x81, 0xe0, 0x17, 0x60, 0x49, 0x25, 0xb5, 0xc6, + 0xaa, 0x06, 0x7f, 0x84, 0x74, 0x86, 0x2b, 0x45, 0x67, 0xc0, 0xac, 0x73, 0x8d, 0x54, 0xb1, 0x6d, + 0x0f, 0x05, 0x8d, 0x35, 0x1b, 0xdb, 0x79, 0x7a, 0x1a, 0xa3, 0xd8, 0x49, 0x64, 0x90, 0xbb, 0x90, + 0x22, 0xe1, 0xb6, 0xd1, 0x86, 0xf3, 0x9a, 0xe0, 0xda, 0x64, 0x6d, 0x28, 0xaa, 0xc2, 0xcf, 0xab, + 0x60, 0x4d, 0x07, 0x42, 0x2e, 0x08, 0x63, 0x91, 0x54, 0x9b, 0x4f, 0x24, 0x7d, 0x0e, 0x96, 0xf5, + 0x29, 0x37, 0x15, 0xf9, 0x0f, 0x90, 0x39, 0xf4, 0x96, 0xaf, 0xb3, 0xa2, 0x7c, 0xa4, 0xcd, 0x1d, + 0x0b, 0x83, 0x6d, 0x70, 0x21, 0xe6, 0xa4, 0x4f, 0x8f, 0x5d, 0x4e, 0x06, 0x9c, 0x4a, 0x62, 0x77, + 0xca, 0x15, 0x64, 0x12, 0x31, 0x4a, 0x13, 0x31, 0xda, 0x93, 0x9c, 0x46, 0xfe, 0x33, 0x1c, 0x26, + 0xc4, 0x39, 0x6f, 0x30, 0x8e, 0x81, 0xc0, 0x7b, 0xa0, 0x2e, 0xe9, 0x21, 0x61, 0x89, 0xb4, 0x3b, + 0xe4, 0xff, 0x63, 0xe8, 0x87, 0x36, 0xcd, 0xb7, 0x96, 0x7e, 0xf9, 0xfb, 0xed, 0x9a, 0x93, 0xda, + 0xcf, 0x47, 0x80, 0x86, 0xf5, 0x6f, 0x79, 0x0a, 0xfd, 0xdb, 0x05, 0x75, 0x5b, 0x0c, 0xd9, 0xcd, + 0xb2, 0x8d, 0xd2, 0xe2, 0x68, 0xf2, 0x14, 0xee, 0x1b, 0x8b, 0x2c, 0xdc, 0x52, 0x0a, 0xb8, 0x0b, + 0x56, 0xb2, 0x62, 0xcf, 0xee, 0x15, 0x84, 0xf2, 0xf2, 0x6f, 0x32, 0xe3, 0x5e, 0x6a, 0xe3, 0xe4, + 0x04, 0x93, 0xd4, 0x71, 0x65, 0x8e, 0xea, 0xf8, 0x2e, 0x58, 0x53, 0x5b, 0x2f, 0x5b, 0x7b, 0x25, + 0xe0, 0x2b, 0x9d, 0x33, 0xce, 0xaa, 0x7a, 0x9b, 0xae, 0x6e, 0x07, 0x5c, 0xc2, 0x89, 0x64, 0xee, + 0x90, 0xe5, 0x86, 0xf6, 0x62, 0x73, 0x6c, 0x9d, 0x5b, 0x8c, 0x85, 0x3a, 0x46, 0x3a, 0x67, 0x9c, + 0x75, 0x05, 0xeb, 0x14, 0x98, 0x52, 0x31, 0x5e, 0x9d, 0x5e, 0x8c, 0xbf, 0x05, 0xf5, 0xb0, 0xeb, + 0xaa, 0xaa, 0xdc, 0x6e, 0xe6, 0x6d, 0x64, 0x8b, 0xf4, 0xc9, 0xb3, 0xba, 0xa3, 0xcf, 0x2b, 0x1d, + 0x2c, 0x02, 0xbb, 0x3b, 0x97, 0xc3, 0xae, 0x7a, 0x2a, 0xd3, 0xdf, 0xf3, 0xff, 0x85, 0xfe, 0x5e, + 0x98, 0x52, 0x7f, 0xb5, 0xd7, 0xaf, 0xd3, 0xdf, 0xf5, 0x4a, 0xfa, 0x7b, 0xf1, 0x4d, 0xfa, 0x3b, + 0xd2, 0xef, 0x90, 0xfe, 0x5e, 0x9a, 0x87, 0xfe, 0xc2, 0x59, 0xf5, 0xf7, 0xf2, 0x14, 0xfa, 0xdb, + 0xda, 0x00, 0x97, 0x8a, 0xb1, 0xea, 0xca, 0x93, 0x98, 0x6c, 0xfd, 0xbe, 0x00, 0xd6, 0x1f, 0x12, + 0x21, 0x69, 0xa4, 0x43, 0x7f, 0x2f, 0x26, 0x1e, 0x7c, 0x00, 0x16, 0xf1, 0x20, 0xd5, 0xe2, 0x1b, + 0x48, 0x55, 0xe7, 0xa5, 0xe4, 0x23, 0xb8, 0xce, 0x19, 0x47, 0xe1, 0x60, 0x1b, 0x9c, 0xd5, 0xa5, + 0xb8, 0xd5, 0xde, 0x0f, 0x91, 0x29, 0xcc, 0x4f, 0x49, 0x61, 0xb0, 0x7a, 0x9e, 0x89, 0x90, 0xd9, + 0xf1, 0x50, 0xff, 0xbd, 0x77, 0x4a, 0x0a, 0x8d, 0x54, 0x0c, 0xaa, 0x1c, 0xb0, 0xd2, 0x7b, 0x53, + 0x97, 0x10, 0xa7, 0x66, 0x50, 0xc6, 0x2d, 0x08, 0x2e, 0xf6, 0xf2, 0x4f, 0x66, 0xbe, 0xfe, 0x5a, + 0x00, 0x9b, 0xcf, 0x09, 0xf5, 0x03, 0x49, 0x7a, 0x05, 0x5c, 0x9a, 0xd2, 0x26, 0x88, 0x53, 0x6d, + 0x8e, 0xe2, 0x54, 0x92, 0x35, 0x17, 0xe6, 0x93, 0x35, 0xab, 0x17, 0x18, 0x85, 0x98, 0x5e, 0xaa, + 0x1a, 0xd3, 0xad, 0xcf, 0x7e, 0xfb, 0xe7, 0x6a, 0xed, 0x87, 0xdb, 0xa7, 0x2b, 0xac, 0xe3, 0x57, + 0xbe, 0x2d, 0xae, 0xbb, 0xcb, 0x5a, 0x65, 0x3f, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x56, + 0xe5, 0x85, 0x40, 0x17, 0x00, 0x00, } func (this *ListenerOptions) Equal(that interface{}) bool { @@ -1663,230 +1418,3 @@ func (this *WeightedDestinationOptions) Equal(that interface{}) bool { } return true } -func (this *UpstreamSpec) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec) - if !ok { - that2, ok := that.(UpstreamSpec) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.SslConfig.Equal(that1.SslConfig) { - return false - } - if !this.CircuitBreakers.Equal(that1.CircuitBreakers) { - return false - } - if !this.LoadBalancerConfig.Equal(that1.LoadBalancerConfig) { - return false - } - if !this.ConnectionConfig.Equal(that1.ConnectionConfig) { - return false - } - if len(this.HealthChecks) != len(that1.HealthChecks) { - return false - } - for i := range this.HealthChecks { - if !this.HealthChecks[i].Equal(that1.HealthChecks[i]) { - return false - } - } - if !this.OutlierDetection.Equal(that1.OutlierDetection) { - return false - } - if this.UseHttp2 != that1.UseHttp2 { - return false - } - if that1.UpstreamType == nil { - if this.UpstreamType != nil { - return false - } - } else if this.UpstreamType == nil { - return false - } else if !this.UpstreamType.Equal(that1.UpstreamType) { - return false - } - if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { - return false - } - return true -} -func (this *UpstreamSpec_Kube) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Kube) - if !ok { - that2, ok := that.(UpstreamSpec_Kube) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Kube.Equal(that1.Kube) { - return false - } - return true -} -func (this *UpstreamSpec_Static) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Static) - if !ok { - that2, ok := that.(UpstreamSpec_Static) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Static.Equal(that1.Static) { - return false - } - return true -} -func (this *UpstreamSpec_Pipe) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Pipe) - if !ok { - that2, ok := that.(UpstreamSpec_Pipe) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Pipe.Equal(that1.Pipe) { - return false - } - return true -} -func (this *UpstreamSpec_Aws) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Aws) - if !ok { - that2, ok := that.(UpstreamSpec_Aws) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Aws.Equal(that1.Aws) { - return false - } - return true -} -func (this *UpstreamSpec_Azure) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Azure) - if !ok { - that2, ok := that.(UpstreamSpec_Azure) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Azure.Equal(that1.Azure) { - return false - } - return true -} -func (this *UpstreamSpec_Consul) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_Consul) - if !ok { - that2, ok := that.(UpstreamSpec_Consul) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.Consul.Equal(that1.Consul) { - return false - } - return true -} -func (this *UpstreamSpec_AwsEc2) Equal(that interface{}) bool { - if that == nil { - return this == nil - } - - that1, ok := that.(*UpstreamSpec_AwsEc2) - if !ok { - that2, ok := that.(UpstreamSpec_AwsEc2) - if ok { - that1 = &that2 - } else { - return false - } - } - if that1 == nil { - return this == nil - } else if this == nil { - return false - } - if !this.AwsEc2.Equal(that1.AwsEc2) { - return false - } - return true -} diff --git a/projects/gloo/pkg/api/v1/upstream.pb.go b/projects/gloo/pkg/api/v1/upstream.pb.go index 49502139997..973d44364be 100644 --- a/projects/gloo/pkg/api/v1/upstream.pb.go +++ b/projects/gloo/pkg/api/v1/upstream.pb.go @@ -8,8 +8,17 @@ import ( fmt "fmt" math "math" + cluster "github.com/envoyproxy/go-control-plane/envoy/api/v2/cluster" + core1 "github.com/envoyproxy/go-control-plane/envoy/api/v2/core" _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" + aws "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/aws" + ec2 "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/aws/ec2" + azure "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/azure" + consul "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/consul" + kubernetes "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/kubernetes" + pipe "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/pipe" + static "github.com/solo-io/gloo/projects/gloo/pkg/api/v1/options/static" core "github.com/solo-io/solo-kit/pkg/api/v1/resources/core" ) @@ -30,19 +39,41 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Each upstream in Gloo has a type. Supported types include `static`, `kubernetes`, `aws`, `consul`, and more. // Each upstream type is handled by a corresponding Gloo plugin. (plugins currently need to be compiled into Gloo) type Upstream struct { - // Type-specific configuration. Examples include static, kubernetes, and aws. - // The type-specific config for the upstream is called a spec. - UpstreamSpec *UpstreamSpec `protobuf:"bytes,2,opt,name=upstream_spec,json=upstreamSpec,proto3" json:"upstream_spec,omitempty"` // Status indicates the validation status of the resource. Status is read-only by clients, and set by gloo during validation - Status core.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status" testdiff:"ignore"` + Status core.Status `protobuf:"bytes,1,opt,name=status,proto3" json:"status" testdiff:"ignore"` // Metadata contains the object metadata for this resource - Metadata core.Metadata `protobuf:"bytes,7,opt,name=metadata,proto3" json:"metadata"` + Metadata core.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata"` // Upstreams and their configuration can be automatically by Gloo Discovery // if this upstream is created or modified by Discovery, metadata about the operation will be placed here. - DiscoveryMetadata *DiscoveryMetadata `protobuf:"bytes,8,opt,name=discovery_metadata,json=discoveryMetadata,proto3" json:"discovery_metadata,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + DiscoveryMetadata *DiscoveryMetadata `protobuf:"bytes,3,opt,name=discovery_metadata,json=discoveryMetadata,proto3" json:"discovery_metadata,omitempty"` + SslConfig *UpstreamSslConfig `protobuf:"bytes,4,opt,name=ssl_config,json=sslConfig,proto3" json:"ssl_config,omitempty"` + // Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. + // if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/cluster/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) + // will be used. + CircuitBreakers *CircuitBreakerConfig `protobuf:"bytes,5,opt,name=circuit_breakers,json=circuitBreakers,proto3" json:"circuit_breakers,omitempty"` + LoadBalancerConfig *LoadBalancerConfig `protobuf:"bytes,6,opt,name=load_balancer_config,json=loadBalancerConfig,proto3" json:"load_balancer_config,omitempty"` + ConnectionConfig *ConnectionConfig `protobuf:"bytes,7,opt,name=connection_config,json=connectionConfig,proto3" json:"connection_config,omitempty"` + HealthChecks []*core1.HealthCheck `protobuf:"bytes,8,rep,name=health_checks,json=healthChecks,proto3" json:"health_checks,omitempty"` + OutlierDetection *cluster.OutlierDetection `protobuf:"bytes,9,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"` + // Use http2 when communicating with this upstream + // this field is evaluated `true` for upstreams + // with a grpc service spec. otherwise defaults to `false` + UseHttp2 bool `protobuf:"varint,10,opt,name=use_http2,json=useHttp2,proto3" json:"use_http2,omitempty"` + // Note to developers: new Upstream plugins must be added to this oneof field + // to be usable by Gloo. (plugins currently need to be compiled into Gloo) + // + // Types that are valid to be assigned to UpstreamType: + // *Upstream_Kube + // *Upstream_Static + // *Upstream_Pipe + // *Upstream_Aws + // *Upstream_Azure + // *Upstream_Consul + // *Upstream_AwsEc2 + UpstreamType isUpstream_UpstreamType `protobuf_oneof:"upstream_type"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Upstream) Reset() { *m = Upstream{} } @@ -69,9 +100,44 @@ func (m *Upstream) XXX_DiscardUnknown() { var xxx_messageInfo_Upstream proto.InternalMessageInfo -func (m *Upstream) GetUpstreamSpec() *UpstreamSpec { +type isUpstream_UpstreamType interface { + isUpstream_UpstreamType() + Equal(interface{}) bool +} + +type Upstream_Kube struct { + Kube *kubernetes.UpstreamSpec `protobuf:"bytes,11,opt,name=kube,proto3,oneof" json:"kube,omitempty"` +} +type Upstream_Static struct { + Static *static.UpstreamSpec `protobuf:"bytes,12,opt,name=static,proto3,oneof" json:"static,omitempty"` +} +type Upstream_Pipe struct { + Pipe *pipe.UpstreamSpec `protobuf:"bytes,13,opt,name=pipe,proto3,oneof" json:"pipe,omitempty"` +} +type Upstream_Aws struct { + Aws *aws.UpstreamSpec `protobuf:"bytes,14,opt,name=aws,proto3,oneof" json:"aws,omitempty"` +} +type Upstream_Azure struct { + Azure *azure.UpstreamSpec `protobuf:"bytes,15,opt,name=azure,proto3,oneof" json:"azure,omitempty"` +} +type Upstream_Consul struct { + Consul *consul.UpstreamSpec `protobuf:"bytes,16,opt,name=consul,proto3,oneof" json:"consul,omitempty"` +} +type Upstream_AwsEc2 struct { + AwsEc2 *ec2.UpstreamSpec `protobuf:"bytes,17,opt,name=aws_ec2,json=awsEc2,proto3,oneof" json:"aws_ec2,omitempty"` +} + +func (*Upstream_Kube) isUpstream_UpstreamType() {} +func (*Upstream_Static) isUpstream_UpstreamType() {} +func (*Upstream_Pipe) isUpstream_UpstreamType() {} +func (*Upstream_Aws) isUpstream_UpstreamType() {} +func (*Upstream_Azure) isUpstream_UpstreamType() {} +func (*Upstream_Consul) isUpstream_UpstreamType() {} +func (*Upstream_AwsEc2) isUpstream_UpstreamType() {} + +func (m *Upstream) GetUpstreamType() isUpstream_UpstreamType { if m != nil { - return m.UpstreamSpec + return m.UpstreamType } return nil } @@ -97,6 +163,117 @@ func (m *Upstream) GetDiscoveryMetadata() *DiscoveryMetadata { return nil } +func (m *Upstream) GetSslConfig() *UpstreamSslConfig { + if m != nil { + return m.SslConfig + } + return nil +} + +func (m *Upstream) GetCircuitBreakers() *CircuitBreakerConfig { + if m != nil { + return m.CircuitBreakers + } + return nil +} + +func (m *Upstream) GetLoadBalancerConfig() *LoadBalancerConfig { + if m != nil { + return m.LoadBalancerConfig + } + return nil +} + +func (m *Upstream) GetConnectionConfig() *ConnectionConfig { + if m != nil { + return m.ConnectionConfig + } + return nil +} + +func (m *Upstream) GetHealthChecks() []*core1.HealthCheck { + if m != nil { + return m.HealthChecks + } + return nil +} + +func (m *Upstream) GetOutlierDetection() *cluster.OutlierDetection { + if m != nil { + return m.OutlierDetection + } + return nil +} + +func (m *Upstream) GetUseHttp2() bool { + if m != nil { + return m.UseHttp2 + } + return false +} + +func (m *Upstream) GetKube() *kubernetes.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Kube); ok { + return x.Kube + } + return nil +} + +func (m *Upstream) GetStatic() *static.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Static); ok { + return x.Static + } + return nil +} + +func (m *Upstream) GetPipe() *pipe.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Pipe); ok { + return x.Pipe + } + return nil +} + +func (m *Upstream) GetAws() *aws.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Aws); ok { + return x.Aws + } + return nil +} + +func (m *Upstream) GetAzure() *azure.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Azure); ok { + return x.Azure + } + return nil +} + +func (m *Upstream) GetConsul() *consul.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_Consul); ok { + return x.Consul + } + return nil +} + +func (m *Upstream) GetAwsEc2() *ec2.UpstreamSpec { + if x, ok := m.GetUpstreamType().(*Upstream_AwsEc2); ok { + return x.AwsEc2 + } + return nil +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*Upstream) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*Upstream_Kube)(nil), + (*Upstream_Static)(nil), + (*Upstream_Pipe)(nil), + (*Upstream_Aws)(nil), + (*Upstream_Azure)(nil), + (*Upstream_Consul)(nil), + (*Upstream_AwsEc2)(nil), + } +} + // created by discovery services type DiscoveryMetadata struct { XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -138,29 +315,58 @@ func init() { } var fileDescriptor_b74df493149f644d = []byte{ - // 350 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x91, 0xcf, 0x4e, 0x32, 0x31, - 0x14, 0xc5, 0x3f, 0xc8, 0x84, 0x0f, 0x0b, 0x2e, 0xa8, 0x44, 0x91, 0x85, 0x98, 0x59, 0xb9, 0xb1, - 0x15, 0x4d, 0x8c, 0xc1, 0x85, 0x09, 0x31, 0x71, 0xa5, 0x8b, 0x21, 0x6e, 0xdc, 0x90, 0x61, 0xa6, - 0x8c, 0x95, 0x3f, 0xb7, 0x69, 0x3b, 0x24, 0x6e, 0x79, 0x1a, 0xdf, 0xc0, 0x57, 0xf0, 0x29, 0x58, - 0xf8, 0x06, 0xf8, 0x04, 0x66, 0x4a, 0x4b, 0x40, 0x5d, 0xc0, 0x6a, 0xe6, 0xf6, 0xde, 0xf3, 0xbb, - 0x39, 0xe7, 0xa2, 0xeb, 0x84, 0xeb, 0xe7, 0xb4, 0x47, 0x22, 0x18, 0x51, 0x05, 0x43, 0x38, 0xe5, - 0x40, 0x93, 0x21, 0x00, 0x15, 0x12, 0x5e, 0x58, 0xa4, 0xd5, 0xa2, 0x0a, 0x05, 0xa7, 0x93, 0x26, - 0x4d, 0x85, 0xd2, 0x92, 0x85, 0x23, 0x22, 0x24, 0x68, 0xc0, 0xe5, 0xac, 0x47, 0x32, 0x19, 0xe1, - 0x50, 0xaf, 0x26, 0x90, 0x80, 0x69, 0xd0, 0xec, 0x6f, 0x31, 0x53, 0x6f, 0xfe, 0xb1, 0xc0, 0x7c, - 0x07, 0x5c, 0x3b, 0xec, 0x88, 0xe9, 0x30, 0x0e, 0x75, 0x68, 0x25, 0x74, 0x03, 0x89, 0xd2, 0xa1, - 0x4e, 0xd5, 0x16, 0x3b, 0x5c, 0x6d, 0x25, 0xad, 0xad, 0x7c, 0x83, 0xd0, 0x1c, 0xc6, 0x76, 0x9d, - 0xff, 0x9e, 0x47, 0xc5, 0x47, 0x9b, 0x04, 0xbe, 0x41, 0xbb, 0x2e, 0x95, 0xae, 0x12, 0x2c, 0xaa, - 0xe5, 0x8f, 0x73, 0x27, 0xa5, 0xf3, 0x3a, 0x59, 0xcd, 0x86, 0xb8, 0xf1, 0x8e, 0x60, 0x51, 0x50, - 0x4e, 0x57, 0x2a, 0x7c, 0x87, 0x0a, 0x0b, 0x33, 0xb5, 0x82, 0x51, 0x56, 0x49, 0x04, 0x92, 0x2d, - 0x95, 0x1d, 0xd3, 0x6b, 0x1f, 0x7e, 0xcc, 0x1a, 0xff, 0xbe, 0x66, 0x8d, 0x8a, 0x66, 0x4a, 0xc7, - 0xbc, 0xdf, 0x6f, 0xf9, 0x3c, 0x19, 0x83, 0x64, 0x7e, 0x60, 0xe5, 0xf8, 0x0a, 0x15, 0x5d, 0x90, - 0xb5, 0xff, 0x06, 0xb5, 0xbf, 0x8e, 0xba, 0xb7, 0xdd, 0xb6, 0x97, 0xc1, 0x82, 0xe5, 0x34, 0x7e, - 0x40, 0x38, 0xe6, 0x2a, 0x82, 0x09, 0x93, 0xaf, 0xdd, 0x25, 0xa3, 0x68, 0x18, 0x8d, 0x75, 0x23, - 0xb7, 0x6e, 0xce, 0xc1, 0x82, 0x4a, 0xfc, 0xf3, 0xa9, 0x75, 0x30, 0x9d, 0x7b, 0x1e, 0xca, 0xa7, - 0x6a, 0x3a, 0xf7, 0x4a, 0x78, 0xc7, 0xd9, 0x55, 0xfe, 0x1e, 0xaa, 0xfc, 0x02, 0xb4, 0x2f, 0xdf, - 0x3e, 0x8f, 0x72, 0x4f, 0x67, 0x9b, 0x1d, 0x44, 0x0c, 0x12, 0x7b, 0x94, 0x5e, 0xc1, 0x5c, 0xe3, - 0xe2, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xbc, 0xee, 0x07, 0xde, 0xc3, 0x02, 0x00, 0x00, + // 814 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x96, 0xdd, 0x4e, 0x1b, 0x39, + 0x1c, 0xc5, 0x09, 0x04, 0x48, 0x0c, 0x2c, 0x89, 0x17, 0xed, 0xce, 0xb2, 0x12, 0x44, 0xb9, 0xd8, + 0x65, 0x57, 0xc2, 0x53, 0x52, 0x09, 0x55, 0xa9, 0xa8, 0x50, 0x02, 0x6d, 0xd4, 0x96, 0xb6, 0x1a, + 0x54, 0x55, 0xea, 0xcd, 0xc8, 0x71, 0x4c, 0xe2, 0x66, 0x18, 0x8f, 0xc6, 0x9e, 0x50, 0x7a, 0xc9, + 0xd3, 0xf4, 0x35, 0x7a, 0xd7, 0xa7, 0xe0, 0xa2, 0x6f, 0x40, 0x9f, 0xa0, 0x1a, 0x7f, 0x84, 0x24, + 0x70, 0x31, 0x09, 0x17, 0x8c, 0xc7, 0xf6, 0x39, 0xbf, 0xf9, 0xfb, 0x83, 0xa3, 0x80, 0xa7, 0x5d, + 0x26, 0x7b, 0x49, 0x1b, 0x11, 0x7e, 0xee, 0x0a, 0x1e, 0xf0, 0x5d, 0xc6, 0xdd, 0x6e, 0xc0, 0xb9, + 0x1b, 0xc5, 0xfc, 0x13, 0x25, 0x52, 0xe8, 0x1e, 0x8e, 0x98, 0x3b, 0xd8, 0x73, 0x93, 0x48, 0xc8, + 0x98, 0xe2, 0x73, 0x14, 0xc5, 0x5c, 0x72, 0xb8, 0x9a, 0xce, 0xa1, 0xd4, 0x86, 0x18, 0xdf, 0xdc, + 0xe8, 0xf2, 0x2e, 0x57, 0x13, 0x6e, 0xfa, 0xa6, 0x35, 0x9b, 0x7b, 0xf7, 0x7c, 0x40, 0xb5, 0x7d, + 0x26, 0x2d, 0xf6, 0x9c, 0x4a, 0xdc, 0xc1, 0x12, 0x1b, 0xcb, 0xfe, 0x54, 0x35, 0x09, 0x11, 0x18, + 0x5f, 0x63, 0x2a, 0x1f, 0x61, 0x31, 0x49, 0x98, 0xf4, 0xdb, 0x31, 0xc5, 0x7d, 0x1a, 0x1b, 0xc6, + 0xe1, 0x54, 0x8c, 0x80, 0xe3, 0x8e, 0xdf, 0xc6, 0x01, 0x0e, 0xc9, 0x90, 0x70, 0x30, 0x5d, 0x15, + 0x3c, 0x0c, 0x29, 0x91, 0x8c, 0x87, 0xc6, 0xfe, 0x21, 0xbb, 0x9d, 0x7e, 0x96, 0x34, 0x0e, 0x71, + 0xe0, 0xd2, 0x70, 0xc0, 0x2f, 0x35, 0xb1, 0xe6, 0x12, 0x1e, 0x53, 0xb7, 0x47, 0x71, 0x20, 0x7b, + 0x3e, 0xe9, 0x51, 0xd2, 0x37, 0x60, 0x37, 0xc3, 0x41, 0x08, 0x89, 0x65, 0x22, 0x8c, 0xc1, 0x7f, + 0x70, 0x25, 0x41, 0x22, 0x24, 0x8d, 0x5d, 0x9e, 0xc8, 0x80, 0xd1, 0xd8, 0xef, 0x50, 0x39, 0xb6, + 0xd4, 0x2c, 0x57, 0xc3, 0xf6, 0x8d, 0xa5, 0x35, 0xd5, 0xe6, 0xf2, 0x28, 0xfd, 0x9a, 0x50, 0xcb, + 0x62, 0xc4, 0x34, 0x86, 0x74, 0x34, 0x13, 0x29, 0x62, 0x11, 0x55, 0x0f, 0x43, 0x79, 0x37, 0x13, + 0xa5, 0x9f, 0xb4, 0x69, 0x1c, 0x52, 0x49, 0x47, 0x5f, 0x67, 0xba, 0xc4, 0x96, 0x88, 0x2f, 0xd4, + 0x9f, 0x61, 0x3c, 0x9f, 0x8d, 0xf1, 0x25, 0x89, 0xa9, 0x7e, 0x3e, 0x68, 0xb7, 0x09, 0x0f, 0x45, + 0x12, 0x98, 0xc6, 0x90, 0x5e, 0xce, 0xbc, 0x2a, 0x4a, 0x6a, 0x69, 0xeb, 0x53, 0x52, 0x33, 0xac, + 0xfa, 0x2c, 0x2c, 0xed, 0xad, 0x7e, 0x2b, 0x82, 0xc2, 0x7b, 0x13, 0x62, 0xf0, 0x05, 0x58, 0xd2, + 0x17, 0xde, 0xc9, 0x55, 0x72, 0x3b, 0x2b, 0xb5, 0x0d, 0x94, 0xfe, 0xef, 0xd8, 0x3c, 0x43, 0xa7, + 0x6a, 0xae, 0xf1, 0xd7, 0xf7, 0xeb, 0xed, 0xb9, 0x9f, 0xd7, 0xdb, 0x65, 0x49, 0x85, 0xec, 0xb0, + 0xb3, 0xb3, 0x7a, 0x95, 0x75, 0x43, 0x1e, 0xd3, 0xaa, 0x67, 0xec, 0xf0, 0x09, 0x28, 0xd8, 0x08, + 0x73, 0xe6, 0x15, 0xea, 0x8f, 0x71, 0xd4, 0x89, 0x99, 0x6d, 0xe4, 0x53, 0x98, 0x37, 0x54, 0xc3, + 0x37, 0x00, 0x76, 0x98, 0x20, 0x7c, 0x40, 0xe3, 0x4b, 0x7f, 0xc8, 0x58, 0x50, 0x8c, 0x6d, 0x34, + 0x1a, 0xaf, 0xe8, 0xc8, 0xea, 0x2c, 0xcc, 0x2b, 0x77, 0x26, 0x87, 0xe0, 0x33, 0x00, 0x84, 0x08, + 0x7c, 0xc2, 0xc3, 0x33, 0xd6, 0x75, 0xf2, 0xf7, 0x71, 0xec, 0xf2, 0x4f, 0x45, 0xd0, 0x54, 0x32, + 0xaf, 0x28, 0xec, 0x2b, 0x3c, 0x01, 0xa5, 0x89, 0x5c, 0x14, 0xce, 0xa2, 0xa2, 0x54, 0xc7, 0x29, + 0x4d, 0xad, 0x6a, 0x68, 0x91, 0x01, 0xad, 0x93, 0xb1, 0x51, 0x01, 0x3d, 0xb0, 0x31, 0x16, 0x91, + 0xb6, 0xb0, 0x25, 0x85, 0xac, 0x8c, 0x23, 0x5f, 0x73, 0xdc, 0x69, 0x18, 0xa1, 0x01, 0xc2, 0xe0, + 0xce, 0x18, 0x7c, 0x05, 0xca, 0xb7, 0xa1, 0x69, 0x81, 0xcb, 0x0a, 0xb8, 0x35, 0x51, 0xe3, 0x50, + 0x66, 0x70, 0x25, 0x32, 0x31, 0x02, 0x9b, 0x60, 0x6d, 0x34, 0x2a, 0x85, 0x53, 0xa8, 0x2c, 0x28, + 0x90, 0x0a, 0x32, 0x84, 0x23, 0x86, 0x06, 0x35, 0x7d, 0x96, 0x2d, 0xa5, 0x6b, 0xa6, 0x32, 0x6f, + 0xb5, 0x77, 0xdb, 0x11, 0xf0, 0x14, 0x94, 0xef, 0x44, 0x9c, 0x53, 0x54, 0x15, 0xfd, 0x33, 0x01, + 0xd2, 0x89, 0x88, 0xde, 0x6a, 0xf9, 0x91, 0x55, 0x7b, 0x25, 0x3e, 0x31, 0x02, 0xff, 0x06, 0xc5, + 0x44, 0x50, 0xbf, 0x27, 0x65, 0x54, 0x73, 0x40, 0x25, 0xb7, 0x53, 0xf0, 0x0a, 0x89, 0xa0, 0xad, + 0xb4, 0x0f, 0x9b, 0x20, 0x9f, 0x06, 0x87, 0xb3, 0xa2, 0x3e, 0xb2, 0x8b, 0x46, 0x52, 0xc4, 0xde, + 0xf7, 0xfb, 0xcf, 0x3c, 0xa2, 0xa4, 0x35, 0xe7, 0x29, 0x33, 0x6c, 0xea, 0xeb, 0xcf, 0x88, 0xb3, + 0xaa, 0x30, 0xff, 0x21, 0x13, 0x90, 0x59, 0x10, 0xc6, 0x0a, 0x0f, 0x40, 0x3e, 0x8d, 0x43, 0x67, + 0x4d, 0x21, 0xfe, 0x45, 0x2a, 0x1b, 0x33, 0xd5, 0x90, 0x2a, 0x61, 0x1d, 0x2c, 0xe0, 0x0b, 0xe1, + 0xfc, 0x66, 0x36, 0x2b, 0x8d, 0xb0, 0x2c, 0xe6, 0xd4, 0x04, 0x0f, 0xc1, 0xa2, 0x0a, 0x2b, 0x67, + 0x5d, 0xb9, 0x77, 0x90, 0x8e, 0xae, 0x2c, 0x7e, 0x6d, 0x4c, 0x77, 0x40, 0xa7, 0x94, 0x53, 0x32, + 0x3b, 0x60, 0x42, 0x2b, 0xd3, 0x0e, 0x68, 0x2d, 0x3c, 0x06, 0xcb, 0x26, 0x9f, 0x9c, 0xb2, 0xa2, + 0xfc, 0x8f, 0x6c, 0x5e, 0x65, 0xc2, 0xe0, 0x0b, 0x71, 0x4c, 0x6a, 0xf5, 0x3f, 0xaf, 0x6e, 0xf2, + 0x79, 0x30, 0x9f, 0x88, 0xab, 0x9b, 0xfc, 0x0a, 0x2c, 0xda, 0x5f, 0x5a, 0xa2, 0xb1, 0x0e, 0xd6, + 0x6c, 0xc7, 0x97, 0x97, 0x11, 0xad, 0xfe, 0x0e, 0xca, 0x77, 0xb2, 0xa0, 0xb1, 0xff, 0xf5, 0xc7, + 0x56, 0xee, 0xe3, 0xa3, 0x6c, 0xd1, 0x18, 0xf5, 0xbb, 0x26, 0x1e, 0xdb, 0x4b, 0x2a, 0x17, 0x1f, + 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xa9, 0xe2, 0x7c, 0x08, 0x0a, 0x00, 0x00, } func (this *Upstream) Equal(that interface{}) bool { @@ -182,9 +388,6 @@ func (this *Upstream) Equal(that interface{}) bool { } else if this == nil { return false } - if !this.UpstreamSpec.Equal(that1.UpstreamSpec) { - return false - } if !this.Status.Equal(&that1.Status) { return false } @@ -194,11 +397,214 @@ func (this *Upstream) Equal(that interface{}) bool { if !this.DiscoveryMetadata.Equal(that1.DiscoveryMetadata) { return false } + if !this.SslConfig.Equal(that1.SslConfig) { + return false + } + if !this.CircuitBreakers.Equal(that1.CircuitBreakers) { + return false + } + if !this.LoadBalancerConfig.Equal(that1.LoadBalancerConfig) { + return false + } + if !this.ConnectionConfig.Equal(that1.ConnectionConfig) { + return false + } + if len(this.HealthChecks) != len(that1.HealthChecks) { + return false + } + for i := range this.HealthChecks { + if !this.HealthChecks[i].Equal(that1.HealthChecks[i]) { + return false + } + } + if !this.OutlierDetection.Equal(that1.OutlierDetection) { + return false + } + if this.UseHttp2 != that1.UseHttp2 { + return false + } + if that1.UpstreamType == nil { + if this.UpstreamType != nil { + return false + } + } else if this.UpstreamType == nil { + return false + } else if !this.UpstreamType.Equal(that1.UpstreamType) { + return false + } if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) { return false } return true } +func (this *Upstream_Kube) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Kube) + if !ok { + that2, ok := that.(Upstream_Kube) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Kube.Equal(that1.Kube) { + return false + } + return true +} +func (this *Upstream_Static) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Static) + if !ok { + that2, ok := that.(Upstream_Static) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Static.Equal(that1.Static) { + return false + } + return true +} +func (this *Upstream_Pipe) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Pipe) + if !ok { + that2, ok := that.(Upstream_Pipe) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Pipe.Equal(that1.Pipe) { + return false + } + return true +} +func (this *Upstream_Aws) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Aws) + if !ok { + that2, ok := that.(Upstream_Aws) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Aws.Equal(that1.Aws) { + return false + } + return true +} +func (this *Upstream_Azure) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Azure) + if !ok { + that2, ok := that.(Upstream_Azure) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Azure.Equal(that1.Azure) { + return false + } + return true +} +func (this *Upstream_Consul) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_Consul) + if !ok { + that2, ok := that.(Upstream_Consul) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.Consul.Equal(that1.Consul) { + return false + } + return true +} +func (this *Upstream_AwsEc2) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Upstream_AwsEc2) + if !ok { + that2, ok := that.(Upstream_AwsEc2) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if !this.AwsEc2.Equal(that1.AwsEc2) { + return false + } + return true +} func (this *DiscoveryMetadata) Equal(that interface{}) bool { if that == nil { return this == nil diff --git a/projects/gloo/pkg/api/v1/upstream.sk.go b/projects/gloo/pkg/api/v1/upstream.sk.go index 85097e34ec1..255910c946f 100644 --- a/projects/gloo/pkg/api/v1/upstream.sk.go +++ b/projects/gloo/pkg/api/v1/upstream.sk.go @@ -39,8 +39,15 @@ func (r *Upstream) Hash() uint64 { // investigate zeroing out owner refs as well return hashutils.HashAll( metaCopy, - r.UpstreamSpec, r.DiscoveryMetadata, + r.SslConfig, + r.CircuitBreakers, + r.LoadBalancerConfig, + r.ConnectionConfig, + r.HealthChecks, + r.OutlierDetection, + r.UseHttp2, + r.UpstreamType, ) } diff --git a/projects/gloo/pkg/plugins/aws/ec2/README.md b/projects/gloo/pkg/plugins/aws/ec2/README.md index 12d0e0a4af3..7b2ed88ea9d 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/README.md +++ b/projects/gloo/pkg/plugins/aws/ec2/README.md @@ -14,17 +14,16 @@ metadata: name: my-ec2-upstream namespace: gloo-system spec: - upstreamSpec: - awsEc2: - filters: - - key: some-key - - kvPair: - key: some-other-key - value: some-value - region: us-east-1 - secretRef: - name: my-aws-secret - namespace: default + awsEc2: + filters: + - key: some-key + - kvPair: + key: some-other-key + value: some-value + region: us-east-1 + secretRef: + name: my-aws-secret + namespace: default ``` diff --git a/projects/gloo/pkg/plugins/aws/ec2/credential_batched_instances.go b/projects/gloo/pkg/plugins/aws/ec2/credential_batched_instances.go index a808f00d15c..5062261e361 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/credential_batched_instances.go +++ b/projects/gloo/pkg/plugins/aws/ec2/credential_batched_instances.go @@ -68,7 +68,7 @@ type credentialGroup struct { func getCredGroupsFromUpstreams(upstreams v1.UpstreamList) (map[CredentialKey]*credentialGroup, error) { credGroups := make(map[CredentialKey]*credentialGroup) for _, upstream := range upstreams { - cred := NewCredentialSpecFromEc2UpstreamSpec(upstream.UpstreamSpec.GetAwsEc2()) + cred := NewCredentialSpecFromEc2UpstreamSpec(upstream.GetAwsEc2()) key := cred.GetKey() if _, ok := credGroups[key]; ok { credGroups[key].upstreams = append(credGroups[key].upstreams, upstream) @@ -109,7 +109,7 @@ func filterInstancesForUpstream(ctx context.Context, upstream *v1.Upstream, cred logger.Debugw("considering instance for upstream", "upstream", upstream.Metadata.Ref().Key(), "instance-tags", candidateInstance.Tags, "instance-id", candidateInstance.InstanceId) matchesAll := true ScanFilters: // label so that we can break out of the for loop rather than the switch - for _, filter := range upstream.UpstreamSpec.GetAwsEc2().Filters { + for _, filter := range upstream.GetAwsEc2().Filters { switch filterSpec := filter.Spec.(type) { case *glooec2.TagFilter_Key: if _, ok := fm[awsKeyCase(filterSpec.Key)]; !ok { @@ -136,17 +136,17 @@ func filterInstancesForUpstream(ctx context.Context, upstream *v1.Upstream, cred // NOTE: assumes that upstreams are EC2 upstreams func upstreamInstanceToEndpoint(ctx context.Context, writeNamespace string, upstream *v1.Upstream, instance *ec2.Instance) *v1.Endpoint { ipAddr := instance.PrivateIpAddress - if upstream.UpstreamSpec.GetAwsEc2().GetPublicIp() { + if upstream.GetAwsEc2().GetPublicIp() { ipAddr = instance.PublicIpAddress } if ipAddr == nil { contextutils.LoggerFrom(ctx).Warnw("no ip found for config", zap.Any("upstreamRef", upstream.GetMetadata().Ref()), zap.Any("instanceId", aws.StringValue(instance.InstanceId)), - zap.Any("upstream.usePublicIp", upstream.UpstreamSpec.GetAwsEc2().GetPublicIp())) + zap.Any("upstream.usePublicIp", upstream.GetAwsEc2().GetPublicIp())) return nil } - port := upstream.UpstreamSpec.GetAwsEc2().GetPort() + port := upstream.GetAwsEc2().GetPort() if port == 0 { port = DefaultPort } diff --git a/projects/gloo/pkg/plugins/aws/ec2/ec2_test.go b/projects/gloo/pkg/plugins/aws/ec2/ec2_test.go index ee35e36a5ca..37080d36447 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/ec2_test.go +++ b/projects/gloo/pkg/plugins/aws/ec2/ec2_test.go @@ -90,16 +90,14 @@ var _ = Describe("Plugin", func() { testutils.ExpectEqualProtoMessages(out, expected) }, Entry("should use proper default port and ip when not specified", &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: nil, - RoleArn: "", - Filters: nil, - PublicIp: false, - Port: 0, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: nil, + RoleArn: "", + Filters: nil, + PublicIp: false, + Port: 0, }, }, Metadata: core.Metadata{ @@ -123,16 +121,14 @@ var _ = Describe("Plugin", func() { }, }), Entry("should use proper port and ip when specified", &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: nil, - RoleArn: "", - Filters: nil, - PublicIp: true, - Port: 77, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: nil, + RoleArn: "", + Filters: nil, + PublicIp: true, + Port: 77, }, }, Metadata: core.Metadata{ @@ -156,16 +152,14 @@ var _ = Describe("Plugin", func() { }, }), Entry("should accept instances with private ip only", &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: nil, - RoleArn: "", - Filters: nil, - PublicIp: false, - Port: 77, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: nil, + RoleArn: "", + Filters: nil, + PublicIp: false, + Port: 77, }, }, Metadata: core.Metadata{ @@ -188,16 +182,14 @@ var _ = Describe("Plugin", func() { }, }), Entry("should return nil if no ips are available for the given config", &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: nil, - RoleArn: "", - Filters: nil, - PublicIp: false, - Port: 77, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: nil, + RoleArn: "", + Filters: nil, + PublicIp: false, + Port: 77, }, }, Metadata: core.Metadata{ diff --git a/projects/gloo/pkg/plugins/aws/ec2/eds.go b/projects/gloo/pkg/plugins/aws/ec2/eds.go index 4d26cfaa5a5..6bceb8c47f6 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/eds.go +++ b/projects/gloo/pkg/plugins/aws/ec2/eds.go @@ -22,7 +22,7 @@ func (p *plugin) WatchEndpoints(writeNamespace string, unfilteredUpstreams v1.Up contextutils.LoggerFrom(opts.Ctx).Debugw("calling WatchEndpoints on EC2") var ec2Upstreams v1.UpstreamList for _, upstream := range unfilteredUpstreams { - if _, ok := upstream.GetUpstreamSpec().GetUpstreamType().(*v1.UpstreamSpec_AwsEc2); ok { + if _, ok := upstream.GetUpstreamType().(*v1.Upstream_AwsEc2); ok { ec2Upstreams = append(ec2Upstreams, upstream) } } @@ -49,7 +49,7 @@ func newEndpointsWatcher(watchCtx context.Context, writeNamespace string, upstre } else { nsSet := map[string]bool{} for _, upstream := range upstreams { - if secretRef := upstream.GetUpstreamSpec().GetAwsEc2().GetSecretRef(); secretRef != nil { + if secretRef := upstream.GetAwsEc2().GetSecretRef(); secretRef != nil { // TODO(yuval-k): consider removing support for cross namespace secret refs. we can use code below // instead: // nsSet[upstream.GetMetadata().Namespace] = true diff --git a/projects/gloo/pkg/plugins/aws/ec2/plugin.go b/projects/gloo/pkg/plugins/aws/ec2/plugin.go index 21927fca511..7039698d256 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/plugin.go +++ b/projects/gloo/pkg/plugins/aws/ec2/plugin.go @@ -63,11 +63,11 @@ func (p *plugin) Init(params plugins.InitParams) error { // we do not need to update any fields, just check that the input is valid func (p *plugin) UpdateUpstream(original, desired *v1.Upstream) (bool, error) { - originalSpec, ok := original.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_AwsEc2) + originalSpec, ok := original.UpstreamType.(*v1.Upstream_AwsEc2) if !ok { return false, WrongUpstreamTypeError(original) } - desiredSpec, ok := desired.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_AwsEc2) + desiredSpec, ok := desired.UpstreamType.(*v1.Upstream_AwsEc2) if !ok { return false, WrongUpstreamTypeError(desired) } @@ -78,7 +78,7 @@ func (p *plugin) UpdateUpstream(original, desired *v1.Upstream) (bool, error) { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - _, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_AwsEc2) + _, ok := in.UpstreamType.(*v1.Upstream_AwsEc2) if !ok { return nil } @@ -102,10 +102,10 @@ var ( } WrongUpstreamTypeError = func(upstream *v1.Upstream) error { - return errors.Errorf("internal error: expected *v1.UpstreamSpec_AwsEc2, got %v", reflect.TypeOf(upstream.UpstreamSpec.UpstreamType).Name()) + return errors.Errorf("internal error: expected *v1.Upstream_AwsEc2, got %v", reflect.TypeOf(upstream.UpstreamType).Name()) } UpstreamDeltaError = func() error { - return errors.New("expected no difference between *v1.UpstreamSpec_AwsEc2 upstreams") + return errors.New("expected no difference between *v1.Upstream_AwsEc2 upstreams") } ) diff --git a/projects/gloo/pkg/plugins/aws/ec2/poll_test.go b/projects/gloo/pkg/plugins/aws/ec2/poll_test.go index f98dd8ce5ef..038a0d8ad5a 100644 --- a/projects/gloo/pkg/plugins/aws/ec2/poll_test.go +++ b/projects/gloo/pkg/plugins/aws/ec2/poll_test.go @@ -222,43 +222,41 @@ var ( testPrivateIp1 = "111-111-111-111" testPublicIp1 = "222.222.222.222" testUpstream1 = v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: testSecretRef1, - Filters: []*glooec2.TagFilter{{ - Spec: &glooec2.TagFilter_Key{ - Key: "k1", - }, - }}, - PublicIp: false, - Port: testPort1, - }, - }}, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: testSecretRef1, + Filters: []*glooec2.TagFilter{{ + Spec: &glooec2.TagFilter_Key{ + Key: "k1", + }, + }}, + PublicIp: false, + Port: testPort1, + }, + }, Metadata: core.Metadata{ Name: "u1", Namespace: "default", }, } testUpstream2 = v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: "us-east-1", - SecretRef: testSecretRef2, - Filters: []*glooec2.TagFilter{{ - Spec: &glooec2.TagFilter_KvPair_{ - KvPair: &glooec2.TagFilter_KvPair{ - Key: "k2", - Value: "v2", - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: "us-east-1", + SecretRef: testSecretRef2, + Filters: []*glooec2.TagFilter{{ + Spec: &glooec2.TagFilter_KvPair_{ + KvPair: &glooec2.TagFilter_KvPair{ + Key: "k2", + Value: "v2", }, - }}, - PublicIp: true, - Port: testPort1, - }, - }}, + }, + }}, + PublicIp: true, + Port: testPort1, + }, + }, Metadata: core.Metadata{ Name: "u2", Namespace: "default", diff --git a/projects/gloo/pkg/plugins/aws/plugin.go b/projects/gloo/pkg/plugins/aws/plugin.go index c016ee27c6e..0169d1a546e 100644 --- a/projects/gloo/pkg/plugins/aws/plugin.go +++ b/projects/gloo/pkg/plugins/aws/plugin.go @@ -62,7 +62,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - upstreamSpec, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Aws) + upstreamSpec, ok := in.UpstreamType.(*v1.Upstream_Aws) if !ok { // not ours return nil diff --git a/projects/gloo/pkg/plugins/aws/plugin_test.go b/projects/gloo/pkg/plugins/aws/plugin_test.go index f57e2a0e39d..3bba0408429 100644 --- a/projects/gloo/pkg/plugins/aws/plugin_test.go +++ b/projects/gloo/pkg/plugins/aws/plugin_test.go @@ -44,19 +44,17 @@ var _ = Describe("Plugin", func() { Name: upstreamName, Namespace: "ns", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Aws{ - Aws: &aws.UpstreamSpec{ - LambdaFunctions: []*aws.LambdaFunctionSpec{{ - LogicalName: funcName, - LambdaFunctionName: "foo", - Qualifier: "v1", - }}, - Region: "us-east1", - SecretRef: &core.ResourceRef{ - Namespace: "ns", - Name: "secretref", - }, + UpstreamType: &v1.Upstream_Aws{ + Aws: &aws.UpstreamSpec{ + LambdaFunctions: []*aws.LambdaFunctionSpec{{ + LogicalName: funcName, + LambdaFunctionName: "foo", + Qualifier: "v1", + }}, + Region: "us-east1", + SecretRef: &core.ResourceRef{ + Namespace: "ns", + Name: "secretref", }, }, }, @@ -147,7 +145,7 @@ var _ = Describe("Plugin", func() { }) It("should error upstream with no secret ref", func() { - upstream.GetUpstreamSpec().GetAws().SecretRef = nil + upstream.GetAws().SecretRef = nil err := plugin.(plugins.UpstreamPlugin).ProcessUpstream(params, upstream, out) Expect(err).To(MatchError("no aws secret provided. consider setting enableCredentialsDiscovey to true if you are running in AWS environment")) }) @@ -174,7 +172,7 @@ var _ = Describe("Plugin", func() { }) It("should not process and not error with non aws upstream", func() { - upstream.UpstreamSpec.UpstreamType = nil + upstream.UpstreamType = nil err := plugin.(plugins.UpstreamPlugin).ProcessUpstream(params, upstream, out) Expect(err).NotTo(HaveOccurred()) Expect(out.ExtensionProtocolOptions).To(BeEmpty()) @@ -273,7 +271,7 @@ var _ = Describe("Plugin", func() { }, }) // remove secrets from upstream - upstream.GetUpstreamSpec().GetAws().SecretRef = nil + upstream.GetAws().SecretRef = nil }) process := func() { @@ -295,7 +293,7 @@ var _ = Describe("Plugin", func() { }) It("should enable default but still use secret ref if it is there", func() { - upstream.GetUpstreamSpec().GetAws().SecretRef = &core.ResourceRef{ + upstream.GetAws().SecretRef = &core.ResourceRef{ Namespace: "ns", Name: "secretref", } diff --git a/projects/gloo/pkg/plugins/azure/plugin.go b/projects/gloo/pkg/plugins/azure/plugin.go index b7c9ebaa773..d15b9a2863b 100644 --- a/projects/gloo/pkg/plugins/azure/plugin.go +++ b/projects/gloo/pkg/plugins/azure/plugin.go @@ -43,7 +43,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - upstreamSpec, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Azure) + upstreamSpec, ok := in.UpstreamType.(*v1.Upstream_Azure) if !ok { // not ours return nil diff --git a/projects/gloo/pkg/plugins/azure/plugin_test.go b/projects/gloo/pkg/plugins/azure/plugin_test.go index 4b144d73c31..c25fdf1047f 100644 --- a/projects/gloo/pkg/plugins/azure/plugin_test.go +++ b/projects/gloo/pkg/plugins/azure/plugin_test.go @@ -42,11 +42,9 @@ var _ = Describe("Plugin", func() { // TODO(yuval-k): namespace Namespace: "", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Azure{ - Azure: &azure.UpstreamSpec{ - FunctionAppName: "my-appwhos", - }, + UpstreamType: &v1.Upstream_Azure{ + Azure: &azure.UpstreamSpec{ + FunctionAppName: "my-appwhos", }, }, } @@ -54,7 +52,7 @@ var _ = Describe("Plugin", func() { Context("with secrets", func() { BeforeEach(func() { - upstream.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Azure).Azure.SecretRef = core.ResourceRef{ + upstream.UpstreamType.(*v1.Upstream_Azure).Azure.SecretRef = core.ResourceRef{ Namespace: "", Name: "azure-secret1", } diff --git a/projects/gloo/pkg/plugins/consul/eds.go b/projects/gloo/pkg/plugins/consul/eds.go index b6266ad5407..c3be78063f1 100644 --- a/projects/gloo/pkg/plugins/consul/eds.go +++ b/projects/gloo/pkg/plugins/consul/eds.go @@ -35,7 +35,7 @@ func (p *plugin) WatchEndpoints(writeNamespace string, upstreamsToTrack v1.Upstr // Filter out non-consul upstreams trackedServices := make(map[string][]*v1.Upstream) for _, us := range upstreamsToTrack { - if consulUsSpec := us.UpstreamSpec.GetConsul(); consulUsSpec != nil { + if consulUsSpec := us.GetConsul(); consulUsSpec != nil { // We generate one upstream for every Consul service name, so this should never happen. trackedServices[consulUsSpec.ServiceName] = append(trackedServices[consulUsSpec.ServiceName], us) } @@ -245,7 +245,7 @@ func toResourceRefs(upstreams []*v1.Upstream) (out []*core.ResourceRef) { func getUniqueUpstreamTags(upstreams []*v1.Upstream) (tags []string) { tagMap := make(map[string]bool) for _, us := range upstreams { - for _, tag := range us.UpstreamSpec.GetConsul().ServiceTags { + for _, tag := range us.GetConsul().ServiceTags { tagMap[tag] = true } } @@ -258,7 +258,7 @@ func getUniqueUpstreamTags(upstreams []*v1.Upstream) (tags []string) { func getUniqueUpstreamDataCenters(upstreams []*v1.Upstream) (dataCenters []string) { dcMap := make(map[string]bool) for _, us := range upstreams { - for _, dc := range us.UpstreamSpec.GetConsul().DataCenters { + for _, dc := range us.GetConsul().DataCenters { dcMap[dc] = true } } diff --git a/projects/gloo/pkg/plugins/consul/eds_test.go b/projects/gloo/pkg/plugins/consul/eds_test.go index 5d8e8da7fcd..0f676b11a89 100644 --- a/projects/gloo/pkg/plugins/consul/eds_test.go +++ b/projects/gloo/pkg/plugins/consul/eds_test.go @@ -330,13 +330,11 @@ func createTestUpstream(svcName string, tags, dataCenters []string) *v1.Upstream Name: "consul-svc:" + svcName, Namespace: "", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Consul{ - Consul: &consulplugin.UpstreamSpec{ - ServiceName: svcName, - ServiceTags: tags, - DataCenters: dataCenters, - }, + UpstreamType: &v1.Upstream_Consul{ + Consul: &consulplugin.UpstreamSpec{ + ServiceName: svcName, + ServiceTags: tags, + DataCenters: dataCenters, }, }, } diff --git a/projects/gloo/pkg/plugins/consul/plugin.go b/projects/gloo/pkg/plugins/consul/plugin.go index 4afe91417d7..a188236e7c0 100644 --- a/projects/gloo/pkg/plugins/consul/plugin.go +++ b/projects/gloo/pkg/plugins/consul/plugin.go @@ -24,7 +24,7 @@ type plugin struct { } func (p *plugin) Resolve(u *v1.Upstream) (*url.URL, error) { - consulSpec, ok := u.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Consul) + consulSpec, ok := u.UpstreamType.(*v1.Upstream_Consul) if !ok { return nil, nil } @@ -43,7 +43,7 @@ func (p *plugin) Resolve(u *v1.Upstream) (*url.URL, error) { } scheme := "http" - if u.UpstreamSpec.SslConfig != nil { + if u.SslConfig != nil { scheme = "https" } @@ -65,7 +65,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - _, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Consul) + _, ok := in.UpstreamType.(*v1.Upstream_Consul) if !ok { return nil } diff --git a/projects/gloo/pkg/plugins/consul/uds.go b/projects/gloo/pkg/plugins/consul/uds.go index 563e7e04314..9ac36521300 100644 --- a/projects/gloo/pkg/plugins/consul/uds.go +++ b/projects/gloo/pkg/plugins/consul/uds.go @@ -13,9 +13,9 @@ import ( ) var ( - InvalidSpecTypeError = func(spec *v1.UpstreamSpec, name string) error { + InvalidSpecTypeError = func(us *v1.Upstream, name string) error { return errors.Errorf("internal error: invalid %s spec, "+ - "expected *v1.UpstreamSpec_Consul, got %T", name, spec.UpstreamType) + "expected *v1.Upstream_Consul, got %T", name, us) } ) @@ -67,19 +67,19 @@ func (p *plugin) UpdateUpstream(original, desired *v1.Upstream) (bool, error) { } func UpdateUpstream(original, desired *v1.Upstream) (bool, error) { - originalSpec, ok := original.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Consul) + originalSpec, ok := original.UpstreamType.(*v1.Upstream_Consul) if !ok { - return false, InvalidSpecTypeError(original.UpstreamSpec, "original") + return false, InvalidSpecTypeError(original, "original") } - desiredSpec, ok := desired.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Consul) + desiredSpec, ok := desired.UpstreamType.(*v1.Upstream_Consul) if !ok { - return false, InvalidSpecTypeError(desired.UpstreamSpec, "desired") + return false, InvalidSpecTypeError(desired, "desired") } // copy service spec, we don't want to overwrite that desiredSpec.Consul.ServiceSpec = originalSpec.Consul.ServiceSpec - utils.UpdateUpstreamSpec(original.UpstreamSpec, desired.UpstreamSpec) + utils.UpdateUpstream(original, desired) if originalSpec.Equal(desiredSpec) { return false, nil diff --git a/projects/gloo/pkg/plugins/extauth/filter_test.go b/projects/gloo/pkg/plugins/extauth/filter_test.go index ea903350f6d..10718fe6dd4 100644 --- a/projects/gloo/pkg/plugins/extauth/filter_test.go +++ b/projects/gloo/pkg/plugins/extauth/filter_test.go @@ -75,14 +75,12 @@ var _ = Describe("Extauth Http filter builder function", func() { Name: "extauth", Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static.UpstreamSpec{ - Hosts: []*static.Host{{ - Addr: "test", - Port: 1234, - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static.UpstreamSpec{ + Hosts: []*static.Host{{ + Addr: "test", + Port: 1234, + }}, }, }, } diff --git a/projects/gloo/pkg/plugins/extauth/plugin_test.go b/projects/gloo/pkg/plugins/extauth/plugin_test.go index dd1b3cc13ef..cb73dbe5d88 100644 --- a/projects/gloo/pkg/plugins/extauth/plugin_test.go +++ b/projects/gloo/pkg/plugins/extauth/plugin_test.go @@ -113,14 +113,12 @@ func getPluginContext(authOnVirtualHost, authOnRoute, authOnWeightedDest ConfigS Name: "extauth", Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static.UpstreamSpec{ - Hosts: []*static.Host{{ - Addr: "test", - Port: 1234, - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static.UpstreamSpec{ + Hosts: []*static.Host{{ + Addr: "test", + Port: 1234, + }}, }, }, } diff --git a/projects/gloo/pkg/plugins/grpc/plugin.go b/projects/gloo/pkg/plugins/grpc/plugin.go index 3c9c340a44f..504fc6bb9b8 100644 --- a/projects/gloo/pkg/plugins/grpc/plugin.go +++ b/projects/gloo/pkg/plugins/grpc/plugin.go @@ -68,7 +68,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - upstreamType, ok := in.UpstreamSpec.UpstreamType.(v1.ServiceSpecGetter) + upstreamType, ok := in.UpstreamType.(v1.ServiceSpecGetter) if !ok { return nil } diff --git a/projects/gloo/pkg/plugins/grpc/plugin_test.go b/projects/gloo/pkg/plugins/grpc/plugin_test.go index 0020151cb29..3f646b74237 100644 --- a/projects/gloo/pkg/plugins/grpc/plugin_test.go +++ b/projects/gloo/pkg/plugins/grpc/plugin_test.go @@ -57,10 +57,8 @@ var _ = Describe("Plugin", func() { Name: "test", Namespace: "default", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: upstreamSpec, - }, + UpstreamType: &v1.Upstream_Static{ + Static: upstreamSpec, }, } diff --git a/projects/gloo/pkg/plugins/kubernetes/eds.go b/projects/gloo/pkg/plugins/kubernetes/eds.go index 2c124023c59..52d3d3cf1ef 100644 --- a/projects/gloo/pkg/plugins/kubernetes/eds.go +++ b/projects/gloo/pkg/plugins/kubernetes/eds.go @@ -41,7 +41,7 @@ func newEndpointWatcherForUpstreams(kubeFactoryFactory func(ns []string) KubePlu } else { nsSet := map[string]bool{} for _, upstream := range upstreamsToTrack { - svcNs := upstream.GetUpstreamSpec().GetKube().GetServiceNamespace() + svcNs := upstream.GetKube().GetServiceNamespace() // only care about kube upstreams if svcNs == "" { continue @@ -73,7 +73,7 @@ type edsWatcher struct { func newEndpointsWatcher(kubeCoreCache corecache.KubeCoreCache, namespaces []string, kubeShareFactory KubePluginSharedFactory, upstreams v1.UpstreamList) *edsWatcher { upstreamSpecs := make(map[core.ResourceRef]*kubeplugin.UpstreamSpec) for _, us := range upstreams { - kubeUpstream, ok := us.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube) + kubeUpstream, ok := us.UpstreamType.(*v1.Upstream_Kube) // only care about kube upstreams if !ok { continue diff --git a/projects/gloo/pkg/plugins/kubernetes/eds_test.go b/projects/gloo/pkg/plugins/kubernetes/eds_test.go index 4c8906054bf..e3c88557ebc 100644 --- a/projects/gloo/pkg/plugins/kubernetes/eds_test.go +++ b/projects/gloo/pkg/plugins/kubernetes/eds_test.go @@ -37,12 +37,10 @@ var _ = Describe("Eds", func() { It("should ignore upstreams in non watched namesapces", func() { up := v1.NewUpstream("foo", "name") - up.UpstreamSpec = &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: &kubev1.UpstreamSpec{ - ServiceName: "name", - ServiceNamespace: "bar", - }, + up.UpstreamType = &v1.Upstream_Kube{ + Kube: &kubev1.UpstreamSpec{ + ServiceName: "name", + ServiceNamespace: "bar", }, } upstreamsToTrack := v1.UpstreamList{up} diff --git a/projects/gloo/pkg/plugins/kubernetes/kubernetes_test.go b/projects/gloo/pkg/plugins/kubernetes/kubernetes_test.go index 1d30ac5a283..5b6ce728bec 100644 --- a/projects/gloo/pkg/plugins/kubernetes/kubernetes_test.go +++ b/projects/gloo/pkg/plugins/kubernetes/kubernetes_test.go @@ -176,13 +176,11 @@ var _ = Describe("Kubernetes", func() { makeUpstream := func(name string) *v1.Upstream { return &v1.Upstream{ Metadata: core.Metadata{Name: name}, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: &kubepluginapi.UpstreamSpec{ - ServiceNamespace: svcNamespace, - ServiceName: svcName, - ServicePort: 8080, - }, + UpstreamType: &v1.Upstream_Kube{ + Kube: &kubepluginapi.UpstreamSpec{ + ServiceNamespace: svcNamespace, + ServiceName: svcName, + ServicePort: 8080, }, }, } diff --git a/projects/gloo/pkg/plugins/kubernetes/plugin.go b/projects/gloo/pkg/plugins/kubernetes/plugin.go index 2f2907b9fe6..72348f9b64e 100644 --- a/projects/gloo/pkg/plugins/kubernetes/plugin.go +++ b/projects/gloo/pkg/plugins/kubernetes/plugin.go @@ -25,7 +25,7 @@ type plugin struct { } func (p *plugin) Resolve(u *v1.Upstream) (*url.URL, error) { - kubeSpec, ok := u.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube) + kubeSpec, ok := u.UpstreamType.(*v1.Upstream_Kube) if !ok { return nil, nil } @@ -47,7 +47,7 @@ func (p *plugin) Init(params plugins.InitParams) error { func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { // not ours - _, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube) + _, ok := in.UpstreamType.(*v1.Upstream_Kube) if !ok { return nil } diff --git a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/service_converter_interface.go b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/service_converter_interface.go index 274c838ff5a..cb84ef0306d 100644 --- a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/service_converter_interface.go +++ b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/service_converter_interface.go @@ -8,7 +8,7 @@ import ( // ServiceConverters apply extra changes to an upstream spec before the upstream is created // use this to support things like custom config from annotations type ServiceConverter interface { - ConvertService(svc *kubev1.Service, port kubev1.ServicePort, spec *v1.UpstreamSpec) error + ConvertService(svc *kubev1.Service, port kubev1.ServicePort, us *v1.Upstream) error } // the default annotation converters that will be used diff --git a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_http2_annotation_converter.go b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_http2_annotation_converter.go index 41bcada481c..ae46e41b77c 100644 --- a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_http2_annotation_converter.go +++ b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_http2_annotation_converter.go @@ -22,8 +22,8 @@ var http2PortNames = []string{ // sets UseHttp2 on the upstream if the service has the relevant port name type UseHttp2Converter struct{} -func (u *UseHttp2Converter) ConvertService(svc *kubev1.Service, port kubev1.ServicePort, spec *v1.UpstreamSpec) error { - spec.UseHttp2 = useHttp2(svc, port) +func (u *UseHttp2Converter) ConvertService(svc *kubev1.Service, port kubev1.ServicePort, us *v1.Upstream) error { + us.UseHttp2 = useHttp2(svc, port) return nil } diff --git a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_ssl_annotation_converter.go b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_ssl_annotation_converter.go index 8c9f8976b26..a7929435306 100644 --- a/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_ssl_annotation_converter.go +++ b/projects/gloo/pkg/plugins/kubernetes/serviceconverter/use_ssl_annotation_converter.go @@ -35,12 +35,12 @@ const GlooSslRootCaAnnotation = "gloo.solo.io/sslService.rootCa" // sets UseSsl on the upstream if the service has the relevant port name type UseSslConverter struct{} -func (u *UseSslConverter) ConvertService(svc *kubev1.Service, port kubev1.ServicePort, spec *v1.UpstreamSpec) error { +func (u *UseSslConverter) ConvertService(svc *kubev1.Service, port kubev1.ServicePort, us *v1.Upstream) error { upstreamSslConfig := upstreamSslConfigFromService(svc, port) if upstreamSslConfig != nil { - spec.SslConfig = upstreamSslConfig + us.SslConfig = upstreamSslConfig } return nil diff --git a/projects/gloo/pkg/plugins/kubernetes/uds_convert.go b/projects/gloo/pkg/plugins/kubernetes/uds_convert.go index 9828ac35623..a8970ae4942 100644 --- a/projects/gloo/pkg/plugins/kubernetes/uds_convert.go +++ b/projects/gloo/pkg/plugins/kubernetes/uds_convert.go @@ -118,8 +118,9 @@ func (uc *KubeUpstreamConverter) CreateUpstream(ctx context.Context, svc *kubev1 } coremeta.Name = strings.ToLower(UpstreamName(meta.Namespace, meta.Name, port.Port, extraLabels)) - spec := &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ + us := &v1.Upstream{ + Metadata: coremeta, + UpstreamType: &v1.Upstream_Kube{ Kube: &kubeplugin.UpstreamSpec{ ServiceName: meta.Name, ServiceNamespace: meta.Namespace, @@ -127,19 +128,16 @@ func (uc *KubeUpstreamConverter) CreateUpstream(ctx context.Context, svc *kubev1 Selector: labels, }, }, + DiscoveryMetadata: &v1.DiscoveryMetadata{}, } for _, sc := range uc.serviceConverters { - if err := sc.ConvertService(svc, port, spec); err != nil { + if err := sc.ConvertService(svc, port, us); err != nil { contextutils.LoggerFrom(ctx).Errorf("error: failed to process service options with err %v", err) } } - return &v1.Upstream{ - Metadata: coremeta, - UpstreamSpec: spec, - DiscoveryMetadata: &v1.DiscoveryMetadata{}, - } + return us } func UpstreamName(serviceNamespace, serviceName string, servicePort int32, extraLabels map[string]string) string { @@ -204,25 +202,32 @@ func (p *plugin) UpdateUpstream(original, desired *v1.Upstream) (bool, error) { return UpdateUpstream(original, desired) } -func UpdateUpstream(original, desired *v1.Upstream) (bool, error) { - originalSpec, ok := original.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube) +func UpdateUpstream(original, desired *v1.Upstream) (didChange bool, err error) { + originalSpec, ok := original.UpstreamType.(*v1.Upstream_Kube) if !ok { - return false, errors.Errorf("internal error: expected *v1.UpstreamSpec_Kube, got %v", reflect.TypeOf(original.UpstreamSpec.UpstreamType).Name()) + return false, errors.Errorf("internal error: expected *v1.Upstream_Kube, got %v", reflect.TypeOf(original.UpstreamType).Name()) } - desiredSpec, ok := desired.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Kube) + desiredSpec, ok := desired.UpstreamType.(*v1.Upstream_Kube) if !ok { - return false, errors.Errorf("internal error: expected *v1.UpstreamSpec_Kube, got %v", reflect.TypeOf(original.UpstreamSpec.UpstreamType).Name()) + return false, errors.Errorf("internal error: expected *v1.Upstream_Kube, got %v", reflect.TypeOf(original.UpstreamType).Name()) } // copy service spec, we don't want to overwrite that desiredSpec.Kube.ServiceSpec = originalSpec.Kube.ServiceSpec // copy labels; user may have written them over. cannot be auto-discovered desiredSpec.Kube.Selector = originalSpec.Kube.Selector - utils.UpdateUpstreamSpec(original.UpstreamSpec, desired.UpstreamSpec) + utils.UpdateUpstream(original, desired) - if original.GetUpstreamSpec().Equal(desired.GetUpstreamSpec()) { - return false, nil - } + return !upstreamsEqual(original, desired), nil +} + +// we want to know if the upstreams are equal apart from their Status and Metadata +func upstreamsEqual(original, desired *v1.Upstream) bool { + copyOriginal := *original + copyDesired := *desired + + copyOriginal.Metadata = copyDesired.Metadata + copyOriginal.Status = copyDesired.Status - return true, nil + return copyOriginal.Equal(copyDesired) } diff --git a/projects/gloo/pkg/plugins/kubernetes/uds_convert_test.go b/projects/gloo/pkg/plugins/kubernetes/uds_convert_test.go index 34c80dd18d7..204b8e4451f 100644 --- a/projects/gloo/pkg/plugins/kubernetes/uds_convert_test.go +++ b/projects/gloo/pkg/plugins/kubernetes/uds_convert_test.go @@ -105,7 +105,7 @@ var _ = Describe("UdsConvert", func() { Port: 123, } up := createUpstream(context.TODO(), svc, port, map[string]string{"a": "b"}) - spec := up.GetUpstreamSpec().GetKube().GetServiceSpec() + spec := up.GetKube().GetServiceSpec() Expect(spec.GetGrpc()).To(BeNil()) }) @@ -122,7 +122,7 @@ var _ = Describe("UdsConvert", func() { Port: 123, } up := createUpstream(context.TODO(), svc, port, map[string]string{"a": "b"}) - Expect(up.GetUpstreamSpec().GetUseHttp2()).To(BeTrue()) + Expect(up.GetUseHttp2()).To(BeTrue()) }) DescribeTable("should create upstream with use_http2=true when port name starts with known prefix", func(portname string) { @@ -137,7 +137,7 @@ var _ = Describe("UdsConvert", func() { Name: portname, } up := createUpstream(context.TODO(), svc, port, map[string]string{"a": "b"}) - Expect(up.GetUpstreamSpec().GetUseHttp2()).To(BeTrue()) + Expect(up.GetUseHttp2()).To(BeTrue()) }, Entry("exactly grpc", "grpc"), Entry("prefix grpc", "grpc-test"), @@ -161,7 +161,7 @@ var _ = Describe("UdsConvert", func() { } up := createUpstream(context.TODO(), svc, port, nil) - Expect(up.GetUpstreamSpec().GetSslConfig()).To(Equal(expectedCfg)) + Expect(up.GetSslConfig()).To(Equal(expectedCfg)) }, Entry("using ssl secret", map[string]string{ serviceconverter.GlooSslSecretAnnotation: "mysecret", diff --git a/projects/gloo/pkg/plugins/kubernetes/uds_test.go b/projects/gloo/pkg/plugins/kubernetes/uds_test.go index 2bd47c0a8b7..c399ab75718 100644 --- a/projects/gloo/pkg/plugins/kubernetes/uds_test.go +++ b/projects/gloo/pkg/plugins/kubernetes/uds_test.go @@ -15,26 +15,22 @@ var _ = Describe("Uds", func() { It("should preseve ssl config when updating upstreams", func() { desired := &gloov1.Upstream{ - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &gloov1kube.UpstreamSpec{ - ServiceName: "test", - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &gloov1kube.UpstreamSpec{ + ServiceName: "test", }, }, } original := &gloov1.Upstream{ - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &gloov1kube.UpstreamSpec{}, - }, - SslConfig: &gloov1.UpstreamSslConfig{Sni: "testsni"}, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &gloov1kube.UpstreamSpec{}, }, + SslConfig: &gloov1.UpstreamSslConfig{Sni: "testsni"}, } updated, err := UpdateUpstream(original, desired) Expect(err).NotTo(HaveOccurred()) Expect(updated).To(BeTrue()) - Expect(desired.UpstreamSpec.SslConfig).To(BeIdenticalTo(original.UpstreamSpec.SslConfig)) + Expect(desired.SslConfig).To(BeIdenticalTo(original.SslConfig)) }) It("should update ssl config when one is desired", func() { @@ -44,27 +40,23 @@ var _ = Describe("Uds", func() { }, } desired := &gloov1.Upstream{ - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &gloov1kube.UpstreamSpec{ - ServiceName: "test", - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &gloov1kube.UpstreamSpec{ + ServiceName: "test", }, - SslConfig: desiredSslConfig, }, + SslConfig: desiredSslConfig, } original := &gloov1.Upstream{ - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &gloov1kube.UpstreamSpec{}, - }, - SslConfig: &gloov1.UpstreamSslConfig{Sni: "testsni"}, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &gloov1kube.UpstreamSpec{}, }, + SslConfig: &gloov1.UpstreamSslConfig{Sni: "testsni"}, } updated, err := UpdateUpstream(original, desired) Expect(err).NotTo(HaveOccurred()) Expect(updated).To(BeTrue()) - Expect(desired.UpstreamSpec.SslConfig).To(BeIdenticalTo(desiredSslConfig)) + Expect(desired.SslConfig).To(BeIdenticalTo(desiredSslConfig)) }) }) diff --git a/projects/gloo/pkg/plugins/linkerd/plugin.go b/projects/gloo/pkg/plugins/linkerd/plugin.go index e297f92c7af..71b0bdd9eb2 100644 --- a/projects/gloo/pkg/plugins/linkerd/plugin.go +++ b/projects/gloo/pkg/plugins/linkerd/plugin.go @@ -62,7 +62,7 @@ func (p *Plugin) ProcessRoute(params plugins.RouteParams, in *v1.Route, out *env if err != nil { return nil } - kubeUs := us.GetUpstreamSpec().GetKube() + kubeUs := us.GetKube() if kubeUs == nil { return nil } @@ -117,7 +117,7 @@ func configForMultiDestination(destinations []*v1.WeightedDestination, upstreams if err != nil { continue } - kubeUs := us.GetUpstreamSpec().GetKube() + kubeUs := us.GetKube() if kubeUs == nil { continue } diff --git a/projects/gloo/pkg/plugins/linkerd/plugin_test.go b/projects/gloo/pkg/plugins/linkerd/plugin_test.go index 49ba47dd0c0..a8fdf2ba27b 100644 --- a/projects/gloo/pkg/plugins/linkerd/plugin_test.go +++ b/projects/gloo/pkg/plugins/linkerd/plugin_test.go @@ -54,25 +54,21 @@ var _ = Describe("linkerd plugin", func() { }) var createUpstream = func(ref core.ResourceRef, spec *kubernetes.UpstreamSpec) *v1.Upstream { - usSpec := &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: &static.UpstreamSpec{}, - }, - } - if spec != nil { - usSpec = &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: spec, - }, - } - } - return &v1.Upstream{ + upstream := &v1.Upstream{ Metadata: core.Metadata{ Name: ref.Name, Namespace: ref.Namespace, }, - UpstreamSpec: usSpec, } + upstream.UpstreamType = &v1.Upstream_Static{ + Static: &static.UpstreamSpec{}, + } + if spec != nil { + upstream.UpstreamType = &v1.Upstream_Kube{ + Kube: spec, + } + } + return upstream } var clustersAndDestinationsForUpstreams = func(upstreamRefs []core.ResourceRef) ([]*envoyroute.WeightedCluster_ClusterWeight, []*v1.WeightedDestination) { diff --git a/projects/gloo/pkg/plugins/loadbalancer/plugin.go b/projects/gloo/pkg/plugins/loadbalancer/plugin.go index 8f1425ebcaa..f4e6361816b 100644 --- a/projects/gloo/pkg/plugins/loadbalancer/plugin.go +++ b/projects/gloo/pkg/plugins/loadbalancer/plugin.go @@ -79,7 +79,7 @@ func getHashPoliciesFromSpec(spec []*lbhash.HashPolicy) []*envoyroute.RouteActio func (p *Plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - cfg := in.GetUpstreamSpec().GetLoadBalancerConfig() + cfg := in.GetLoadBalancerConfig() if cfg == nil { return nil } diff --git a/projects/gloo/pkg/plugins/loadbalancer/plugin_test.go b/projects/gloo/pkg/plugins/loadbalancer/plugin_test.go index 78241c7fc4c..ebe9826de95 100644 --- a/projects/gloo/pkg/plugins/loadbalancer/plugin_test.go +++ b/projects/gloo/pkg/plugins/loadbalancer/plugin_test.go @@ -22,26 +22,22 @@ import ( var _ = Describe("Plugin", func() { var ( - params plugins.Params - plugin *Plugin - upstream *v1.Upstream - upstreamSpec *v1.UpstreamSpec - out *envoyapi.Cluster + params plugins.Params + plugin *Plugin + upstream *v1.Upstream + out *envoyapi.Cluster ) BeforeEach(func() { out = new(envoyapi.Cluster) params = plugins.Params{} - upstreamSpec = &v1.UpstreamSpec{} - upstream = &v1.Upstream{ - UpstreamSpec: upstreamSpec, - } + upstream = &v1.Upstream{} plugin = NewPlugin() }) It("should set HealthyPanicThreshold", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ HealthyPanicThreshold: &types.DoubleValue{ Value: 50, }, @@ -54,7 +50,7 @@ var _ = Describe("Plugin", func() { It("should set UpdateMergeWindow", func() { t := time.Second - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ UpdateMergeWindow: &t, } err := plugin.ProcessUpstream(params, upstream, out) @@ -64,7 +60,7 @@ var _ = Describe("Plugin", func() { }) It("should set lb policy random", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_Random_{ Random: &v1.LoadBalancerConfig_Random{}, }, @@ -75,7 +71,7 @@ var _ = Describe("Plugin", func() { }) Context("p2c", func() { BeforeEach(func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_LeastRequest_{ LeastRequest: &v1.LoadBalancerConfig_LeastRequest{ChoiceCount: 5}, }, @@ -89,7 +85,7 @@ var _ = Describe("Plugin", func() { }) It("should set lb policy p2c with default config", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_LeastRequest_{ LeastRequest: &v1.LoadBalancerConfig_LeastRequest{}, }, @@ -103,7 +99,7 @@ var _ = Describe("Plugin", func() { }) It("should set lb policy round robin", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_RoundRobin_{ RoundRobin: &v1.LoadBalancerConfig_RoundRobin{}, }, @@ -114,7 +110,7 @@ var _ = Describe("Plugin", func() { }) It("should set lb policy ring hash - basic config", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_RingHash_{ RingHash: &v1.LoadBalancerConfig_RingHash{}, }, @@ -125,7 +121,7 @@ var _ = Describe("Plugin", func() { }) It("should set lb policy ring hash - full config", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_RingHash_{ RingHash: &v1.LoadBalancerConfig_RingHash{ RingHashConfig: &v1.LoadBalancerConfig_RingHashConfig{ @@ -135,10 +131,8 @@ var _ = Describe("Plugin", func() { }, }, } - sampleUpstream := &v1.Upstream{ - UpstreamSpec: upstreamSpec, - } - sampleInputResource := v1.UpstreamList{sampleUpstream}.AsInputResources()[0] + sampleUpstream := *upstream + sampleInputResource := v1.UpstreamList{&sampleUpstream}.AsInputResources()[0] yamlForm, err := printers.GenerateKubeCrdString(sampleInputResource, v1.UpstreamCrd) Expect(err).NotTo(HaveOccurred()) // sample user config @@ -147,12 +141,11 @@ kind: Upstream metadata: creationTimestamp: null spec: - upstreamSpec: - loadBalancerConfig: - ringHash: - ringHashConfig: - maximumRingSize: "200" - minimumRingSize: "100" + loadBalancerConfig: + ringHash: + ringHashConfig: + maximumRingSize: "200" + minimumRingSize: "100" status: {} ` Expect(yamlForm).To(Equal(sampleInputYaml)) @@ -169,7 +162,7 @@ status: {} }) It("should set lb policy maglev - basic config", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_Maglev_{ Maglev: &v1.LoadBalancerConfig_Maglev{}, }, @@ -180,15 +173,13 @@ status: {} }) It("should set lb policy maglev - full config", func() { - upstreamSpec.LoadBalancerConfig = &v1.LoadBalancerConfig{ + upstream.LoadBalancerConfig = &v1.LoadBalancerConfig{ Type: &v1.LoadBalancerConfig_Maglev_{ Maglev: &v1.LoadBalancerConfig_Maglev{}, }, } - sampleUpstream := &v1.Upstream{ - UpstreamSpec: upstreamSpec, - } - sampleInputResource := v1.UpstreamList{sampleUpstream}.AsInputResources()[0] + sampleUpstream := *upstream + sampleInputResource := v1.UpstreamList{&sampleUpstream}.AsInputResources()[0] yamlForm, err := printers.GenerateKubeCrdString(sampleInputResource, v1.UpstreamCrd) Expect(err).NotTo(HaveOccurred()) // sample user config @@ -197,9 +188,8 @@ kind: Upstream metadata: creationTimestamp: null spec: - upstreamSpec: - loadBalancerConfig: - maglev: {} + loadBalancerConfig: + maglev: {} status: {} ` Expect(yamlForm).To(Equal(sampleInputYaml)) diff --git a/projects/gloo/pkg/plugins/pipe/plugin.go b/projects/gloo/pkg/plugins/pipe/plugin.go index fc49a216ad3..692934e8e54 100644 --- a/projects/gloo/pkg/plugins/pipe/plugin.go +++ b/projects/gloo/pkg/plugins/pipe/plugin.go @@ -22,7 +22,7 @@ func (p *Plugin) Init(params plugins.InitParams) error { func (p *Plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { // not ours - pipeSpec, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Pipe) + pipeSpec, ok := in.UpstreamType.(*v1.Upstream_Pipe) if !ok { return nil } diff --git a/projects/gloo/pkg/plugins/pipe/plugin_test.go b/projects/gloo/pkg/plugins/pipe/plugin_test.go index 3b90ee6de39..d851d467356 100644 --- a/projects/gloo/pkg/plugins/pipe/plugin_test.go +++ b/projects/gloo/pkg/plugins/pipe/plugin_test.go @@ -36,10 +36,8 @@ var _ = Describe("Plugin", func() { Name: "extauth-server", Namespace: "default", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Pipe{ - Pipe: upstreamSpec, - }, + UpstreamType: &v1.Upstream_Pipe{ + Pipe: upstreamSpec, }, } }) diff --git a/projects/gloo/pkg/plugins/rest/rest.go b/projects/gloo/pkg/plugins/rest/rest.go index 828e271709b..8a24b84b970 100644 --- a/projects/gloo/pkg/plugins/rest/rest.go +++ b/projects/gloo/pkg/plugins/rest/rest.go @@ -48,7 +48,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, _ *envoyapi.Cluster) error { - if withServiceSpec, ok := in.UpstreamSpec.UpstreamType.(UpstreamWithServiceSpec); ok { + if withServiceSpec, ok := in.UpstreamType.(UpstreamWithServiceSpec); ok { serviceSpec := withServiceSpec.GetServiceSpec() if serviceSpec == nil { return nil diff --git a/projects/gloo/pkg/plugins/static/plugin.go b/projects/gloo/pkg/plugins/static/plugin.go index 6ee46f9e87a..12b96db388e 100644 --- a/projects/gloo/pkg/plugins/static/plugin.go +++ b/projects/gloo/pkg/plugins/static/plugin.go @@ -22,7 +22,7 @@ func NewPlugin() plugins.Plugin { } func (p *plugin) Resolve(u *v1.Upstream) (*url.URL, error) { - staticSpec, ok := u.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Static) + staticSpec, ok := u.UpstreamType.(*v1.Upstream_Static) if !ok { return nil, nil } @@ -38,7 +38,7 @@ func (p *plugin) Init(params plugins.InitParams) error { } func (p *plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - staticSpec, ok := in.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Static) + staticSpec, ok := in.UpstreamType.(*v1.Upstream_Static) if !ok { // not ours return nil diff --git a/projects/gloo/pkg/plugins/static/plugin_test.go b/projects/gloo/pkg/plugins/static/plugin_test.go index bcb6efb98fe..1cb443d6ed3 100644 --- a/projects/gloo/pkg/plugins/static/plugin_test.go +++ b/projects/gloo/pkg/plugins/static/plugin_test.go @@ -38,10 +38,8 @@ var _ = Describe("Plugin", func() { Name: "extauth-server", Namespace: "default", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: upstreamSpec, - }, + UpstreamType: &v1.Upstream_Static{ + Static: upstreamSpec, }, } diff --git a/projects/gloo/pkg/plugins/upstreamconn/plugin.go b/projects/gloo/pkg/plugins/upstreamconn/plugin.go index 061d35049b5..fdc9428e031 100644 --- a/projects/gloo/pkg/plugins/upstreamconn/plugin.go +++ b/projects/gloo/pkg/plugins/upstreamconn/plugin.go @@ -24,7 +24,7 @@ func (p *Plugin) Init(params plugins.InitParams) error { func (p *Plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { - cfg := in.GetUpstreamSpec().GetConnectionConfig() + cfg := in.GetConnectionConfig() if cfg == nil { return nil } diff --git a/projects/gloo/pkg/plugins/upstreamconn/plugin_test.go b/projects/gloo/pkg/plugins/upstreamconn/plugin_test.go index 5124781102f..7ae2a79ff84 100644 --- a/projects/gloo/pkg/plugins/upstreamconn/plugin_test.go +++ b/projects/gloo/pkg/plugins/upstreamconn/plugin_test.go @@ -17,25 +17,21 @@ import ( var _ = Describe("Plugin", func() { var ( - params plugins.Params - plugin *Plugin - upstream *v1.Upstream - upstreamSpec *v1.UpstreamSpec - out *envoyapi.Cluster + params plugins.Params + plugin *Plugin + upstream *v1.Upstream + out *envoyapi.Cluster ) BeforeEach(func() { out = new(envoyapi.Cluster) params = plugins.Params{} - upstreamSpec = &v1.UpstreamSpec{} - upstream = &v1.Upstream{ - UpstreamSpec: upstreamSpec, - } + upstream = &v1.Upstream{} plugin = NewPlugin() }) It("should set max requests when provided", func() { - upstreamSpec.ConnectionConfig = &v1.ConnectionConfig{ + upstream.ConnectionConfig = &v1.ConnectionConfig{ MaxRequestsPerConnection: 5, } @@ -46,7 +42,7 @@ var _ = Describe("Plugin", func() { It("should set connection timeout", func() { second := time.Second - upstreamSpec.ConnectionConfig = &v1.ConnectionConfig{ + upstream.ConnectionConfig = &v1.ConnectionConfig{ ConnectTimeout: &second, } @@ -58,7 +54,7 @@ var _ = Describe("Plugin", func() { It("should set TcpKeepalive", func() { minute := time.Minute hour := time.Hour - upstreamSpec.ConnectionConfig = &v1.ConnectionConfig{ + upstream.ConnectionConfig = &v1.ConnectionConfig{ TcpKeepalive: &v1.ConnectionConfig_TcpKeepAlive{ KeepaliveInterval: &minute, KeepaliveTime: &hour, diff --git a/projects/gloo/pkg/plugins/upstreamssl/plugin.go b/projects/gloo/pkg/plugins/upstreamssl/plugin.go index 87bfc9d15f1..411e504ab83 100644 --- a/projects/gloo/pkg/plugins/upstreamssl/plugin.go +++ b/projects/gloo/pkg/plugins/upstreamssl/plugin.go @@ -19,7 +19,7 @@ func (p *Plugin) Init(params plugins.InitParams) error { func (p *Plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoyapi.Cluster) error { // not ours - sslConfig := in.UpstreamSpec.SslConfig + sslConfig := in.SslConfig if sslConfig == nil { return nil } diff --git a/projects/gloo/pkg/plugins/upstreamssl/plugin_test.go b/projects/gloo/pkg/plugins/upstreamssl/plugin_test.go index 7b28f112cc4..1f88f5bcaf0 100644 --- a/projects/gloo/pkg/plugins/upstreamssl/plugin_test.go +++ b/projects/gloo/pkg/plugins/upstreamssl/plugin_test.go @@ -40,11 +40,9 @@ var _ = Describe("Plugin", func() { ref := params.Snapshot.Secrets[0].Metadata.Ref() upstream = &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - SslConfig: &v1.UpstreamSslConfig{ - SslSecrets: &v1.UpstreamSslConfig_SecretRef{ - SecretRef: &ref, - }, + SslConfig: &v1.UpstreamSslConfig{ + SslSecrets: &v1.UpstreamSslConfig_SecretRef{ + SecretRef: &ref, }, }, } diff --git a/projects/gloo/pkg/plugins/utils/update_upstream_spec.go b/projects/gloo/pkg/plugins/utils/update_upstream_spec.go index 7e94c83da9b..7843e972615 100644 --- a/projects/gloo/pkg/plugins/utils/update_upstream_spec.go +++ b/projects/gloo/pkg/plugins/utils/update_upstream_spec.go @@ -6,7 +6,7 @@ import v1 "github.com/solo-io/gloo/projects/gloo/pkg/api/v1" // copies parts of the UpstreamSpec that are not // set by discovery but may be set by the user or function discovery // so they are not overwritten when UDS resyncs -func UpdateUpstreamSpec(original, desired *v1.UpstreamSpec) { +func UpdateUpstream(original, desired *v1.Upstream) { // do not override ssl and subset config if none specified by discovery if desired.SslConfig == nil { diff --git a/projects/gloo/pkg/translator/clusters.go b/projects/gloo/pkg/translator/clusters.go index 1f2df5dedd1..9144b329040 100644 --- a/projects/gloo/pkg/translator/clusters.go +++ b/projects/gloo/pkg/translator/clusters.go @@ -71,13 +71,13 @@ func (t *translatorInstance) initializeCluster(upstream *v1.Upstream, endpoints out := &envoyapi.Cluster{ Name: UpstreamToClusterName(upstream.Metadata.Ref()), Metadata: new(envoycore.Metadata), - CircuitBreakers: getCircuitBreakers(upstream.UpstreamSpec.CircuitBreakers, circuitBreakers), + CircuitBreakers: getCircuitBreakers(upstream.CircuitBreakers, circuitBreakers), LbSubsetConfig: createLbConfig(upstream), HealthChecks: hcConfig, OutlierDetection: detectCfg, // this field can be overridden by plugins ConnectTimeout: ClusterConnectionTimeout, - Http2ProtocolOptions: getHttp2ptions(upstream.UpstreamSpec), + Http2ProtocolOptions: getHttp2ptions(upstream), } // set Type = EDS if we have endpoints for the upstream if len(endpointsForUpstream(upstream, endpoints)) > 0 { @@ -99,12 +99,11 @@ var ( ) func createHealthCheckConfig(upstream *v1.Upstream) ([]*envoycore.HealthCheck, error) { - - if upstream.GetUpstreamSpec() == nil { + if upstream == nil { return nil, nil } - result := make([]*envoycore.HealthCheck, 0, len(upstream.GetUpstreamSpec().GetHealthChecks())) - for i, hc := range upstream.GetUpstreamSpec().GetHealthChecks() { + result := make([]*envoycore.HealthCheck, 0, len(upstream.GetHealthChecks())) + for i, hc := range upstream.GetHealthChecks() { // These values are required by envoy, but not explicitly if hc.HealthyThreshold == nil { return nil, NilFieldError(fmt.Sprintf("HealthCheck[%d].HealthyThreshold", i)) @@ -123,20 +122,19 @@ func createHealthCheckConfig(upstream *v1.Upstream) ([]*envoycore.HealthCheck, e } func createOutlierDetectionConfig(upstream *v1.Upstream) (*envoycluster.OutlierDetection, error) { - spec := upstream.GetUpstreamSpec() - if spec == nil { + if upstream == nil { return nil, nil } // This should be enough validation as nothing implicitly needs to be set - if err := spec.GetOutlierDetection().Validate(); err != nil { + if err := upstream.GetOutlierDetection().Validate(); err != nil { return nil, err } - return spec.GetOutlierDetection(), nil + return upstream.GetOutlierDetection(), nil } func createLbConfig(upstream *v1.Upstream) *envoyapi.Cluster_LbSubsetConfig { - specGetter, ok := upstream.UpstreamSpec.UpstreamType.(v1.SubsetSpecGetter) + specGetter, ok := upstream.UpstreamType.(v1.SubsetSpecGetter) if !ok { return nil } @@ -189,8 +187,8 @@ func getCircuitBreakers(cfgs ...*v1.CircuitBreakerConfig) *envoycluster.CircuitB return nil } -func getHttp2ptions(spec *v1.UpstreamSpec) *envoycore.Http2ProtocolOptions { - if spec.GetUseHttp2() { +func getHttp2ptions(us *v1.Upstream) *envoycore.Http2ProtocolOptions { + if us.GetUseHttp2() { return &envoycore.Http2ProtocolOptions{} } return nil diff --git a/projects/gloo/pkg/translator/endpoints.go b/projects/gloo/pkg/translator/endpoints.go index 2d4b59738d6..6553b909285 100644 --- a/projects/gloo/pkg/translator/endpoints.go +++ b/projects/gloo/pkg/translator/endpoints.go @@ -149,7 +149,7 @@ func getLbMetadata(upstream *v1.Upstream, labels map[string]string, zeroValue st } func allKeys(upstream *v1.Upstream) []string { - specGetter, ok := upstream.UpstreamSpec.UpstreamType.(v1.SubsetSpecGetter) + specGetter, ok := upstream.UpstreamType.(v1.SubsetSpecGetter) if !ok { return nil } diff --git a/projects/gloo/pkg/translator/route_config.go b/projects/gloo/pkg/translator/route_config.go index 3e41d49ff21..7ba0a607d9c 100644 --- a/projects/gloo/pkg/translator/route_config.go +++ b/projects/gloo/pkg/translator/route_config.go @@ -438,7 +438,7 @@ Outerloop: func getSubsets(upstream *v1.Upstream) *v1plugins.SubsetSpec { - specGetter, ok := upstream.UpstreamSpec.UpstreamType.(v1.SubsetSpecGetter) + specGetter, ok := upstream.UpstreamType.(v1.SubsetSpecGetter) if !ok { return nil } diff --git a/projects/gloo/pkg/translator/translator_test.go b/projects/gloo/pkg/translator/translator_test.go index b2f943b9b0b..144e933e245 100644 --- a/projects/gloo/pkg/translator/translator_test.go +++ b/projects/gloo/pkg/translator/translator_test.go @@ -95,14 +95,12 @@ var _ = Describe("Translator", func() { } upstream = &v1.Upstream{ Metadata: upName, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: &v1static.UpstreamSpec{ - Hosts: []*v1static.Host{ - { - Addr: "Test", - Port: 124, - }, + UpstreamType: &v1.Upstream_Static{ + Static: &v1static.UpstreamSpec{ + Hosts: []*v1static.Host{ + { + Addr: "Test", + Port: 124, }, }, }, @@ -275,7 +273,7 @@ var _ = Describe("Translator", func() { Grpc: &v1grpc.ServiceSpec{}, }, } - upstream.UpstreamSpec.UpstreamType.(*v1.UpstreamSpec_Static).SetServiceSpec(svcSpec) + upstream.UpstreamType.(*v1.Upstream_Static).SetServiceSpec(svcSpec) translate() newVersion := snapshot.GetResources(xds.ClusterType).Version Expect(oldVersion).ToNot(Equal(newVersion)) @@ -445,7 +443,7 @@ var _ = Describe("Translator", func() { Context("Health check config", func() { It("will error if required field is nil", func() { - upstream.UpstreamSpec.HealthChecks = []*envoycore.HealthCheck{ + upstream.HealthChecks = []*envoycore.HealthCheck{ { Interval: &DefaultHealthCheckInterval, }, @@ -456,7 +454,7 @@ var _ = Describe("Translator", func() { }) It("will error if no health checker is supplied", func() { - upstream.UpstreamSpec.HealthChecks = []*envoycore.HealthCheck{ + upstream.HealthChecks = []*envoycore.HealthCheck{ { Timeout: &DefaultHealthCheckTimeout, Interval: &DefaultHealthCheckInterval, @@ -485,7 +483,7 @@ var _ = Describe("Translator", func() { }, }, } - upstream.UpstreamSpec.HealthChecks = expectedResult + upstream.HealthChecks = expectedResult translate() Expect(cluster.HealthChecks).To(BeEquivalentTo(expectedResult)) }) @@ -505,7 +503,7 @@ var _ = Describe("Translator", func() { }, }, } - upstream.UpstreamSpec.HealthChecks = expectedResult + upstream.HealthChecks = expectedResult translate() Expect(cluster.HealthChecks).To(BeEquivalentTo(expectedResult)) }) @@ -529,7 +527,7 @@ var _ = Describe("Translator", func() { EnforcingConsecutiveLocalOriginFailure: nil, EnforcingLocalOriginSuccessRate: nil, } - upstream.UpstreamSpec.OutlierDetection = expectedResult + upstream.OutlierDetection = expectedResult translate() Expect(cluster.OutlierDetection).To(BeEquivalentTo(expectedResult)) }) @@ -539,7 +537,7 @@ var _ = Describe("Translator", func() { expectedResult := &envoycluster.OutlierDetection{ Interval: dur, } - upstream.UpstreamSpec.OutlierDetection = expectedResult + upstream.OutlierDetection = expectedResult report := translateWithError() Expect(report).To(Equal(validationutils.MakeReport(proxy))) }) @@ -555,7 +553,7 @@ var _ = Describe("Translator", func() { It("should translate circuit breakers on upstream", func() { - upstream.UpstreamSpec.CircuitBreakers = &v1.CircuitBreakerConfig{ + upstream.CircuitBreakers = &v1.CircuitBreakerConfig{ MaxConnections: &types.UInt32Value{Value: 1}, MaxPendingRequests: &types.UInt32Value{Value: 2}, MaxRequests: &types.UInt32Value{Value: 3}, @@ -612,7 +610,7 @@ var _ = Describe("Translator", func() { MaxRetries: &types.UInt32Value{Value: 14}, } - upstream.UpstreamSpec.CircuitBreakers = &v1.CircuitBreakerConfig{ + upstream.CircuitBreakers = &v1.CircuitBreakerConfig{ MaxConnections: &types.UInt32Value{Value: 1}, MaxPendingRequests: &types.UInt32Value{Value: 2}, MaxRequests: &types.UInt32Value{Value: 3}, @@ -641,7 +639,7 @@ var _ = Describe("Translator", func() { translate() version1 := endpoints.Version // change the cluster - upstream.UpstreamSpec.CircuitBreakers = &v1.CircuitBreakerConfig{ + upstream.CircuitBreakers = &v1.CircuitBreakerConfig{ MaxRetries: &types.UInt32Value{Value: 5}, } translate() @@ -663,14 +661,12 @@ var _ = Describe("Translator", func() { Name: "test2", Namespace: "gloo-system", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: &v1static.UpstreamSpec{ - Hosts: []*v1static.Host{ - { - Addr: "Test2", - Port: 124, - }, + UpstreamType: &v1.Upstream_Static{ + Static: &v1static.UpstreamSpec{ + Hosts: []*v1static.Host{ + { + Addr: "Test2", + Port: 124, }, }, }, @@ -758,7 +754,7 @@ var _ = Describe("Translator", func() { claConfiguration = nil annotations = map[string]string{"testkey": "testvalue"} - upstream.UpstreamSpec.UpstreamType = &v1.UpstreamSpec_Kube{ + upstream.UpstreamType = &v1.Upstream_Kube{ Kube: &v1kubernetes.UpstreamSpec{}, } ref := upstream.Metadata.Ref() @@ -806,7 +802,7 @@ var _ = Describe("Translator", func() { BeforeEach(func() { claConfiguration = nil - upstream.UpstreamSpec.UpstreamType = &v1.UpstreamSpec_Kube{ + upstream.UpstreamType = &v1.Upstream_Kube{ Kube: &v1kubernetes.UpstreamSpec{ SubsetSpec: &v1plugins.SubsetSpec{ Selectors: []*v1plugins.Selector{{ diff --git a/projects/gloo/pkg/upstreams/consul/conversions.go b/projects/gloo/pkg/upstreams/consul/conversions.go index 728f7f45f52..63070c99b6d 100644 --- a/projects/gloo/pkg/upstreams/consul/conversions.go +++ b/projects/gloo/pkg/upstreams/consul/conversions.go @@ -48,13 +48,11 @@ func ToUpstream(service *ServiceMeta) *v1.Upstream { Name: fakeUpstreamName(service.Name), Namespace: defaults.GlooSystem, }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Consul{ - Consul: &consulplugin.UpstreamSpec{ - ServiceName: service.Name, - DataCenters: service.DataCenters, - ServiceTags: service.Tags, - }, + UpstreamType: &v1.Upstream_Consul{ + Consul: &consulplugin.UpstreamSpec{ + ServiceName: service.Name, + DataCenters: service.DataCenters, + ServiceTags: service.Tags, }, }, } diff --git a/projects/gloo/pkg/upstreams/consul/conversions_test.go b/projects/gloo/pkg/upstreams/consul/conversions_test.go index cfb90c6f195..2a14e417b86 100644 --- a/projects/gloo/pkg/upstreams/consul/conversions_test.go +++ b/projects/gloo/pkg/upstreams/consul/conversions_test.go @@ -31,15 +31,15 @@ var _ = Describe("Conversions", func() { Expect(usList[0].Metadata.Name).To(Equal(UpstreamNamePrefix + "svc-1")) Expect(usList[0].Metadata.Namespace).To(Equal(defaults.GlooSystem)) - Expect(usList[0].UpstreamSpec.GetConsul()).NotTo(BeNil()) - Expect(usList[0].UpstreamSpec.GetConsul().ServiceName).To(Equal("svc-1")) - Expect(usList[0].UpstreamSpec.GetConsul().DataCenters).To(ConsistOf("dc1", "dc2")) + Expect(usList[0].GetConsul()).NotTo(BeNil()) + Expect(usList[0].GetConsul().ServiceName).To(Equal("svc-1")) + Expect(usList[0].GetConsul().DataCenters).To(ConsistOf("dc1", "dc2")) Expect(usList[1].Metadata.Name).To(Equal(UpstreamNamePrefix + "svc-2")) Expect(usList[1].Metadata.Namespace).To(Equal(defaults.GlooSystem)) - Expect(usList[1].UpstreamSpec.GetConsul()).NotTo(BeNil()) - Expect(usList[1].UpstreamSpec.GetConsul().ServiceName).To(Equal("svc-2")) - Expect(usList[1].UpstreamSpec.GetConsul().DataCenters).To(ConsistOf("dc1", "dc3", "dc4")) + Expect(usList[1].GetConsul()).NotTo(BeNil()) + Expect(usList[1].GetConsul().ServiceName).To(Equal("svc-2")) + Expect(usList[1].GetConsul().DataCenters).To(ConsistOf("dc1", "dc3", "dc4")) }) It("correctly consolidates service information from different data centers", func() { diff --git a/projects/gloo/pkg/upstreams/kubernetes/conversions_test.go b/projects/gloo/pkg/upstreams/kubernetes/conversions_test.go index 2178522987d..a59b9591a51 100644 --- a/projects/gloo/pkg/upstreams/kubernetes/conversions_test.go +++ b/projects/gloo/pkg/upstreams/kubernetes/conversions_test.go @@ -44,16 +44,16 @@ var _ = Describe("Conversions", func() { Expect(usList).To(HaveLen(2)) Expect(usList[0].Metadata.Name).To(Equal(upstreamNamePrefix + "ns-1-svc-1-8080")) Expect(usList[0].Metadata.Namespace).To(Equal("ns-1")) - Expect(usList[0].UpstreamSpec.GetKube()).NotTo(BeNil()) - Expect(usList[0].UpstreamSpec.GetKube().ServiceName).To(Equal("svc-1")) - Expect(usList[0].UpstreamSpec.GetKube().ServiceNamespace).To(Equal("ns-1")) - Expect(usList[0].UpstreamSpec.GetKube().ServicePort).To(BeEquivalentTo(8080)) + Expect(usList[0].GetKube()).NotTo(BeNil()) + Expect(usList[0].GetKube().ServiceName).To(Equal("svc-1")) + Expect(usList[0].GetKube().ServiceNamespace).To(Equal("ns-1")) + Expect(usList[0].GetKube().ServicePort).To(BeEquivalentTo(8080)) Expect(usList[1].Metadata.Name).To(Equal(upstreamNamePrefix + "ns-1-svc-1-8081")) Expect(usList[1].Metadata.Namespace).To(Equal("ns-1")) - Expect(usList[1].UpstreamSpec.GetKube()).NotTo(BeNil()) - Expect(usList[1].UpstreamSpec.GetKube().ServiceName).To(Equal("svc-1")) - Expect(usList[1].UpstreamSpec.GetKube().ServiceNamespace).To(Equal("ns-1")) - Expect(usList[1].UpstreamSpec.GetKube().ServicePort).To(BeEquivalentTo(8081)) + Expect(usList[1].GetKube()).NotTo(BeNil()) + Expect(usList[1].GetKube().ServiceName).To(Equal("svc-1")) + Expect(usList[1].GetKube().ServiceNamespace).To(Equal("ns-1")) + Expect(usList[1].GetKube().ServicePort).To(BeEquivalentTo(8081)) }) }) diff --git a/projects/gloo/pkg/upstreams/upstreams_suite_test.go b/projects/gloo/pkg/upstreams/upstreams_suite_test.go index e9fa179f1d7..004ab03dfa1 100644 --- a/projects/gloo/pkg/upstreams/upstreams_suite_test.go +++ b/projects/gloo/pkg/upstreams/upstreams_suite_test.go @@ -40,13 +40,12 @@ var getUpstream = func(name, namespace, svcName, svcNs string, port uint32) *v1. Name: name, Namespace: namespace, }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceName: svcName, - ServiceNamespace: svcNs, - ServicePort: port, - }}, + UpstreamType: &v1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceName: svcName, + ServiceNamespace: svcNs, + ServicePort: port, + }, }, } } diff --git a/projects/ingress/pkg/translator/translate.go b/projects/ingress/pkg/translator/translate.go index aac2cf5d89a..79659b1ea73 100644 --- a/projects/ingress/pkg/translator/translate.go +++ b/projects/ingress/pkg/translator/translate.go @@ -84,13 +84,13 @@ func upstreamForBackend(upstreams gloov1.UpstreamList, ingressNamespace string, // longer selectors represent subsets of pods for a service var matchingUpstream *gloov1.Upstream for _, us := range upstreams { - switch spec := us.UpstreamSpec.UpstreamType.(type) { - case *gloov1.UpstreamSpec_Kube: + switch spec := us.UpstreamType.(type) { + case *gloov1.Upstream_Kube: if spec.Kube.ServiceNamespace == ingressNamespace && spec.Kube.ServiceName == backend.ServiceName && spec.Kube.ServicePort == uint32(backend.ServicePort.IntVal) { if matchingUpstream != nil { - originalSelectorLength := len(matchingUpstream.UpstreamSpec.UpstreamType.(*gloov1.UpstreamSpec_Kube).Kube.Selector) + originalSelectorLength := len(matchingUpstream.UpstreamType.(*gloov1.Upstream_Kube).Kube.Selector) newSelectorLength := len(spec.Kube.Selector) if newSelectorLength > originalSelectorLength { continue diff --git a/projects/ingress/pkg/translator/translate_test.go b/projects/ingress/pkg/translator/translate_test.go index 1e98caa0583..cbf9f01c742 100644 --- a/projects/ingress/pkg/translator/translate_test.go +++ b/projects/ingress/pkg/translator/translate_test.go @@ -151,15 +151,13 @@ var _ = Describe("Translate", func() { Namespace: namespace, Name: "wow-upstream", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceNamespace: namespace, - ServiceName: serviceName, - ServicePort: uint32(servicePort), - Selector: map[string]string{ - "a": "b", - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceNamespace: namespace, + ServiceName: serviceName, + ServicePort: uint32(servicePort), + Selector: map[string]string{ + "a": "b", }, }, }, @@ -169,15 +167,13 @@ var _ = Describe("Translate", func() { Namespace: namespace, Name: "wow-upstream-subset", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceName: serviceName, - ServicePort: uint32(servicePort), - Selector: map[string]string{ - "a": "b", - "c": "d", - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceName: serviceName, + ServicePort: uint32(servicePort), + Selector: map[string]string{ + "a": "b", + "c": "d", }, }, }, @@ -330,26 +326,22 @@ var _ = Describe("Translate", func() { us1 := &gloov1.Upstream{ Metadata: core.Metadata{Namespace: "gloo-system", Name: "amoeba-dev-api-gateway-amoeba-dev-80"}, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceNamespace: "amoeba-dev", - ServiceName: "api-gateway-amoeba-dev", - ServicePort: uint32(80), - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceNamespace: "amoeba-dev", + ServiceName: "api-gateway-amoeba-dev", + ServicePort: uint32(80), }, }, } us2 := &gloov1.Upstream{ Metadata: core.Metadata{Namespace: "gloo-system", Name: "amoeba-dev-api-gateway-amoeba-dev-80"}, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Kube{ - Kube: &kubernetes.UpstreamSpec{ - ServiceNamespace: "amoeba-dev", - ServiceName: "amoeba-ui", - ServicePort: uint32(80), - }, + UpstreamType: &gloov1.Upstream_Kube{ + Kube: &kubernetes.UpstreamSpec{ + ServiceNamespace: "amoeba-dev", + ServiceName: "amoeba-ui", + ServicePort: uint32(80), }, }, } diff --git a/test/benchmark/snapshot_benchmark_test.go b/test/benchmark/snapshot_benchmark_test.go index 65ade376f8c..ee335664194 100644 --- a/test/benchmark/snapshot_benchmark_test.go +++ b/test/benchmark/snapshot_benchmark_test.go @@ -66,9 +66,9 @@ func Hashi(us *v1.Upstream) uint64 { pairs := []pair{ {k: "us.Metadata.Namespace", v: us.Metadata.Namespace}, {k: "us.Metadata.Name", v: us.Metadata.Name}, - {k: "us.UpstreamSpec.GetKube().ServiceNamespace", v: us.UpstreamSpec.GetKube().ServiceNamespace}, - {k: "us.UpstreamSpec.GetKube().ServiceName", v: us.UpstreamSpec.GetKube().ServiceName}, - {k: "strconv.Itoa(int(us.UpstreamSpec.GetKube().ServicePort))", v: strconv.Itoa(int(us.UpstreamSpec.GetKube().ServicePort))}, + {k: "us.GetKube().ServiceNamespace", v: us.GetKube().ServiceNamespace}, + {k: "us.GetKube().ServiceName", v: us.GetKube().ServiceName}, + {k: "strconv.Itoa(int(us.GetKube().ServicePort))", v: strconv.Itoa(int(us.GetKube().ServicePort))}, } for k, v := range us.Metadata.Annotations { diff --git a/test/benchmark/upstream_list.json b/test/benchmark/upstream_list.json index ab5ef0fbe56..c42edaa0711 100644 --- a/test/benchmark/upstream_list.json +++ b/test/benchmark/upstream_list.json @@ -1,16215 +1,14987 @@ [ { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "kube": { + "serviceName": "helloworld-1-xvgfm", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "kube-svc:default-helloworld-1-xvgfm-80", + }, + "name": "kube-svc:default-helloworld-1-xvgfm-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-1-xvgfm", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "kube-svc:default-helloworld-1-xvgfm-q2ktv-9090", + }, + "name": "kube-svc:default-helloworld-1-xvgfm-q2ktv-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "kube-svc:default-helloworld-1-xvgfm-q2ktv-9091", + }, + "name": "kube-svc:default-helloworld-1-xvgfm-q2ktv-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-1-xvgfm-tdcnc", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "kube-svc:default-helloworld-1-xvgfm-tdcnc-80", + }, + "name": "kube-svc:default-helloworld-1-xvgfm-tdcnc-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-1-xvgfm-tdcnc", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-10-8f62n-6pmf5", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "kube-svc:default-helloworld-10-8f62n-6pmf5-80", + }, + "name": "kube-svc:default-helloworld-10-8f62n-6pmf5-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-10-8f62n-6pmf5", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-10-8f62n", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "kube-svc:default-helloworld-10-8f62n-80", + }, + "name": "kube-svc:default-helloworld-10-8f62n-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-10-8f62n", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "kube-svc:default-helloworld-10-8f62n-cmt8v-9090", + }, + "name": "kube-svc:default-helloworld-10-8f62n-cmt8v-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "kube-svc:default-helloworld-10-8f62n-cmt8v-9091", + }, + "name": "kube-svc:default-helloworld-10-8f62n-cmt8v-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-11-7ng9c", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "kube-svc:default-helloworld-11-7ng9c-80", + }, + "name": "kube-svc:default-helloworld-11-7ng9c-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-11-7ng9c", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "kube-svc:default-helloworld-11-7ng9c-bh4cr-9090", + }, + "name": "kube-svc:default-helloworld-11-7ng9c-bh4cr-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "kube-svc:default-helloworld-11-7ng9c-bh4cr-9091", + }, + "name": "kube-svc:default-helloworld-11-7ng9c-bh4cr-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-11-7ng9c-lzbkd", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "kube-svc:default-helloworld-11-7ng9c-lzbkd-80", + }, + "name": "kube-svc:default-helloworld-11-7ng9c-lzbkd-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-11-7ng9c-lzbkd", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-12-qvs97", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "kube-svc:default-helloworld-12-qvs97-80", + }, + "name": "kube-svc:default-helloworld-12-qvs97-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-12-qvs97", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-12-qvs97-lftjn", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "kube-svc:default-helloworld-12-qvs97-lftjn-80", + }, + "name": "kube-svc:default-helloworld-12-qvs97-lftjn-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-12-qvs97-lftjn", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "kube-svc:default-helloworld-12-qvs97-svzhd-9090", + }, + "name": "kube-svc:default-helloworld-12-qvs97-svzhd-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "kube-svc:default-helloworld-12-qvs97-svzhd-9091", + }, + "name": "kube-svc:default-helloworld-12-qvs97-svzhd-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-13-b8q5n", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "kube-svc:default-helloworld-13-b8q5n-80", + }, + "name": "kube-svc:default-helloworld-13-b8q5n-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-13-b8q5n", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-13-b8q5n-b55lp", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "kube-svc:default-helloworld-13-b8q5n-b55lp-80", + }, + "name": "kube-svc:default-helloworld-13-b8q5n-b55lp-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-13-b8q5n-b55lp", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "kube-svc:default-helloworld-13-b8q5n-b6nh8-9090", + }, + "name": "kube-svc:default-helloworld-13-b8q5n-b6nh8-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "kube-svc:default-helloworld-13-b8q5n-b6nh8-9091", + }, + "name": "kube-svc:default-helloworld-13-b8q5n-b6nh8-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-14-fj4jm-4bvkz", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "kube-svc:default-helloworld-14-fj4jm-4bvkz-80", + }, + "name": "kube-svc:default-helloworld-14-fj4jm-4bvkz-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-14-fj4jm-4bvkz", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-14-fj4jm", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "kube-svc:default-helloworld-14-fj4jm-80", + }, + "name": "kube-svc:default-helloworld-14-fj4jm-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-14-fj4jm", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "kube-svc:default-helloworld-14-fj4jm-fpxl6-9090", + }, + "name": "kube-svc:default-helloworld-14-fj4jm-fpxl6-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "kube-svc:default-helloworld-14-fj4jm-fpxl6-9091", + }, + "name": "kube-svc:default-helloworld-14-fj4jm-fpxl6-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-15-kksks", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "kube-svc:default-helloworld-15-kksks-80", + }, + "name": "kube-svc:default-helloworld-15-kksks-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-15-kksks", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-15-kksks-m9c8w", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "kube-svc:default-helloworld-15-kksks-m9c8w-80", + }, + "name": "kube-svc:default-helloworld-15-kksks-m9c8w-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-15-kksks-m9c8w", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "kube-svc:default-helloworld-15-kksks-z7g75-9090", + }, + "name": "kube-svc:default-helloworld-15-kksks-z7g75-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "kube-svc:default-helloworld-15-kksks-z7g75-9091", + }, + "name": "kube-svc:default-helloworld-15-kksks-z7g75-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-2-gkc45", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "kube-svc:default-helloworld-2-gkc45-80", + }, + "name": "kube-svc:default-helloworld-2-gkc45-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-2-gkc45", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-2-gkc45-t7spf", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "kube-svc:default-helloworld-2-gkc45-t7spf-80", + }, + "name": "kube-svc:default-helloworld-2-gkc45-t7spf-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-2-gkc45-t7spf", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "kube-svc:default-helloworld-2-gkc45-xsv4k-9090", + }, + "name": "kube-svc:default-helloworld-2-gkc45-xsv4k-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "kube-svc:default-helloworld-2-gkc45-xsv4k-9091", + }, + "name": "kube-svc:default-helloworld-2-gkc45-xsv4k-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-3-278pq", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "kube-svc:default-helloworld-3-278pq-80", + }, + "name": "kube-svc:default-helloworld-3-278pq-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-3-278pq", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "kube-svc:default-helloworld-3-278pq-h5lj2-9090", + }, + "name": "kube-svc:default-helloworld-3-278pq-h5lj2-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "kube-svc:default-helloworld-3-278pq-h5lj2-9091", + }, + "name": "kube-svc:default-helloworld-3-278pq-h5lj2-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-3-278pq-pvzz6", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "kube-svc:default-helloworld-3-278pq-pvzz6-80", + }, + "name": "kube-svc:default-helloworld-3-278pq-pvzz6-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-3-278pq-pvzz6", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "kube-svc:default-helloworld-4-s4xq2-5j9mh-9090", - "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + }, + "name": "kube-svc:default-helloworld-4-s4xq2-5j9mh-9090", + "namespace": "default" + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "kube-svc:default-helloworld-4-s4xq2-5j9mh-9091", + }, + "name": "kube-svc:default-helloworld-4-s4xq2-5j9mh-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-4-s4xq2", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "kube-svc:default-helloworld-4-s4xq2-80", + }, + "name": "kube-svc:default-helloworld-4-s4xq2-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-4-s4xq2", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-4-s4xq2-qzkz7", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "kube-svc:default-helloworld-4-s4xq2-qzkz7-80", + }, + "name": "kube-svc:default-helloworld-4-s4xq2-qzkz7-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-4-s4xq2-qzkz7", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-5-95x2b", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "kube-svc:default-helloworld-5-95x2b-80", + }, + "name": "kube-svc:default-helloworld-5-95x2b-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-5-95x2b", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-5-95x2b-hcktv", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "kube-svc:default-helloworld-5-95x2b-hcktv-80", + }, + "name": "kube-svc:default-helloworld-5-95x2b-hcktv-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-5-95x2b-hcktv", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "kube-svc:default-helloworld-5-95x2b-nhdd2-9090", + }, + "name": "kube-svc:default-helloworld-5-95x2b-nhdd2-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "kube-svc:default-helloworld-5-95x2b-nhdd2-9091", + }, + "name": "kube-svc:default-helloworld-5-95x2b-nhdd2-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-6-mcvmp", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "kube-svc:default-helloworld-6-mcvmp-80", + }, + "name": "kube-svc:default-helloworld-6-mcvmp-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-6-mcvmp", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-6-mcvmp-mxj42", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "kube-svc:default-helloworld-6-mcvmp-mxj42-80", + }, + "name": "kube-svc:default-helloworld-6-mcvmp-mxj42-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-6-mcvmp-mxj42", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "kube-svc:default-helloworld-6-mcvmp-wthtq-9090", + }, + "name": "kube-svc:default-helloworld-6-mcvmp-wthtq-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "kube-svc:default-helloworld-6-mcvmp-wthtq-9091", + }, + "name": "kube-svc:default-helloworld-6-mcvmp-wthtq-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "kube-svc:default-helloworld-7-nb449-4zdcq-9090", + }, + "name": "kube-svc:default-helloworld-7-nb449-4zdcq-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "kube-svc:default-helloworld-7-nb449-4zdcq-9091", + }, + "name": "kube-svc:default-helloworld-7-nb449-4zdcq-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-7-nb449", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "kube-svc:default-helloworld-7-nb449-80", + }, + "name": "kube-svc:default-helloworld-7-nb449-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-7-nb449", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-7-nb449-v8mw2", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "kube-svc:default-helloworld-7-nb449-v8mw2-80", + }, + "name": "kube-svc:default-helloworld-7-nb449-v8mw2-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-7-nb449-v8mw2", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-8-w8hrn", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "kube-svc:default-helloworld-8-w8hrn-80", + }, + "name": "kube-svc:default-helloworld-8-w8hrn-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-8-w8hrn", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "kube-svc:default-helloworld-8-w8hrn-cwxkm-9090", + }, + "name": "kube-svc:default-helloworld-8-w8hrn-cwxkm-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "kube-svc:default-helloworld-8-w8hrn-cwxkm-9091", + }, + "name": "kube-svc:default-helloworld-8-w8hrn-cwxkm-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-8-w8hrn-v6vrs", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "kube-svc:default-helloworld-8-w8hrn-v6vrs-80", + }, + "name": "kube-svc:default-helloworld-8-w8hrn-v6vrs-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-8-w8hrn-v6vrs", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-9-km6sb", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "kube-svc:default-helloworld-9-km6sb-80", + }, + "name": "kube-svc:default-helloworld-9-km6sb-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-9-km6sb", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-9-km6sb-fv754", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "kube-svc:default-helloworld-9-km6sb-fv754-80", + }, + "name": "kube-svc:default-helloworld-9-km6sb-fv754-80", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-9-km6sb-fv754", - "serviceNamespace": "default", - "servicePort": 80 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "kube-svc:default-helloworld-9-km6sb-gwfkg-9090", + }, + "name": "kube-svc:default-helloworld-9-km6sb-gwfkg-9090", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + }, + "status": {} + }, + { + "kube": { + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "kube-svc:default-helloworld-9-km6sb-gwfkg-9091", + }, + "name": "kube-svc:default-helloworld-9-km6sb-gwfkg-9091", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "kubernetes", + "serviceNamespace": "default", + "servicePort": 443 + }, "metadata": { "labels": { - "component": "apiserver", + "component": "apiserver", "provider": "kubernetes" - }, - "name": "kube-svc:default-kubernetes-443", + }, + "name": "kube-svc:default-kubernetes-443", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "kubernetes", - "serviceNamespace": "default", - "servicePort": 443 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "petstore", + "serviceNamespace": "default", + "servicePort": 8080 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" - }, + }, "labels": { "service": "petstore" - }, - "name": "kube-svc:default-petstore-8080", + }, + "name": "kube-svc:default-petstore-8080", "namespace": "default" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "petstore", - "serviceNamespace": "default", - "servicePort": 8080 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-1", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-1-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-1-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-1", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-10", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-10-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-10-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-10", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-100", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-100-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-100-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-100", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-101", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-101-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-101-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-101", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-102", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-102-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-102-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-102", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-103", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-103-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-103-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-103", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-104", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-104-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-104-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-104", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-105", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-105-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-105-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-105", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-106", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-106-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-106-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-106", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-107", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-107-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-107-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-107", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-108", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-108-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-108-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-108", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-109", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-109-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-109-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-109", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-11", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-11-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-11-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-11", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-110", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-110-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-110-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-110", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-111", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-111-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-111-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-111", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-112", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-112-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-112-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-112", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-113", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-113-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-113-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-113", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-114", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-114-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-114-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-114", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-115", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-115-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-115-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-115", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-116", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-116-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-116-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-116", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-117", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-117-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-117-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-117", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-118", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-118-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-118-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-118", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-119", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-119-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-119-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-119", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-12", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-12-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-12-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-12", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-120", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-120-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-120-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-120", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-121", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-121-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-121-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-121", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-122", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-122-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-122-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-122", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-123", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-123-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-123-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-123", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-124", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-124-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-124-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-124", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-125", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-125-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-125-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-125", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-126", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-126-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-126-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-126", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-127", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-127-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-127-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-127", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-128", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-128-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-128-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-128", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-129", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-129-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-129-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-129", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-13", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-13-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-13-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-13", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-130", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-130-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-130-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-130", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-131", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-131-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-131-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-131", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-132", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-132-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-132-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-132", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-133", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-133-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-133-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-133", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-134", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-134-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-134-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-134", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-135", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-135-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-135-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-135", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-136", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-136-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-136-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-136", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-137", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-137-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-137-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-137", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-138", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-138-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-138-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-138", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-139", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-139-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-139-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-139", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-14", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-14-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-14-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-14", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-140", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-140-80", - "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-140", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "name": "kube-svc:dev-master-control-ui-control-ui-140-80", + "namespace": "dev" + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-141", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-141-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-141-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-141", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-142", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-142-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-142-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-142", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-143", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-143-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-143-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-143", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-144", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-144-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-144-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-144", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-145", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-145-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-145-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-145", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-146", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-146-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-146-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-146", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-147", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-147-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-147-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-147", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-148", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-148-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-148-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-148", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-149", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-149-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-149-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-149", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-15", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-15-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-15-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-15", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-150", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-150-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-150-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-150", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-151", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-151-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-151-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-151", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-152", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-152-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-152-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-152", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-153", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-153-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-153-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-153", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-154", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-154-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-154-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-154", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-155", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-155-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-155-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-155", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-156", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-156-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-156-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-156", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-157", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-157-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-157-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-157", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-158", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-158-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-158-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-158", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-159", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-159-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-159-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-159", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-16", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-16-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-16-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-16", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-160", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-160-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-160-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-160", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-161", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-161-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-161-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-161", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-162", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-162-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-162-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-162", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-163", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-163-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-163-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-163", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-164", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-164-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-164-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-164", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-165", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-165-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-165-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-165", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-166", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-166-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-166-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-166", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-167", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-167-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-167-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-167", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-168", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-168-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-168-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-168", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-169", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-169-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-169-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-169", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-17", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-17-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-17-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-17", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-170", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-170-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-170-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-170", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-171", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-171-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-171-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-171", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-172", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-172-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-172-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-172", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-173", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-173-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-173-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-173", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-174", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-174-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-174-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-174", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-175", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-175-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-175-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-175", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-176", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-176-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-176-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-176", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-177", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-177-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-177-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-177", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-178", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-178-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-178-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-178", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-179", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-179-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-179-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-179", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-18", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-18-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-18-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-18", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-180", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-180-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-180-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-180", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-181", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-181-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-181-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-181", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-182", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-182-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-182-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-182", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-183", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-183-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-183-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-183", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-184", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-184-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-184-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-184", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-185", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-185-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-185-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-185", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-186", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-186-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-186-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-186", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-187", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-187-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-187-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-187", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-188", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-188-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-188-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-188", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-189", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-189-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-189-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-189", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-19", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-19-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-19-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-19", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-190", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-190-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-190-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-190", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-191", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-191-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-191-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-191", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-192", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-192-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-192-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-192", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-193", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-193-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-193-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-193", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-194", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-194-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-194-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-194", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-195", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-195-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-195-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-195", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-196", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-196-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-196-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-196", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-197", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-197-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-197-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-197", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-198", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-198-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-198-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-198", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-199", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-199-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-199-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-199", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-2", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-2-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-2-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-2", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-20", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-20-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-20-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-20", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-200", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-200-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-200-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-200", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-21", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-21-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-21-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-21", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-22", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-22-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-22-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-22", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-23", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-23-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-23-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-23", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-24", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-24-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-24-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-24", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-25", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-25-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-25-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-25", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-26", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-26-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-26-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-26", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-27", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-27-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-27-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-27", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-28", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-28-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-28-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-28", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-29", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-29-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-29-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-29", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-3", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-3-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-3-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-3", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-30", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-30-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-30-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-30", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-31", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-31-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-31-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-31", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-32", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-32-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-32-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-32", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-33", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-33-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-33-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-33", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-34", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-34-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-34-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-34", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-35", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-35-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-35-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-35", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-36", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-36-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-36-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-36", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-37", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-37-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-37-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-37", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-38", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-38-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-38-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-38", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-39", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-39-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-39-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-39", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-4", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-4-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-4-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-4", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-40", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-40-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-40-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-40", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-41", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-41-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-41-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-41", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-42", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-42-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-42-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-42", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-43", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-43-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-43-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-43", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-44", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-44-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-44-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-44", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-45", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-45-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-45-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-45", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-46", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-46-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-46-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-46", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-47", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-47-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-47-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-47", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-48", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-48-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-48-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-48", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-49", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-49-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-49-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-49", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-5", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-5-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-5-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-5", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-50", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-50-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-50-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-50", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-51", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-51-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-51-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-51", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-52", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-52-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-52-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-52", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-53", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-53-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-53-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-53", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-54", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-54-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-54-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-54", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-55", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-55-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-55-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-55", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-56", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-56-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-56-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-56", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-57", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-57-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-57-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-57", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-58", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-58-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-58-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-58", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-59", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-59-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-59-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-59", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-6", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-6-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-6-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-6", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-60", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-60-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-60-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-60", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-61", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-61-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-61-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-61", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-62", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-62-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-62-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-62", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-63", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-63-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-63-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-63", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-64", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-64-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-64-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-64", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-65", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-65-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-65-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-65", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-66", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-66-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-66-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-66", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-67", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-67-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-67-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-67", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-68", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-68-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-68-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-68", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-69", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-69-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-69-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-69", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-7", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-7-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-7-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-7", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-70", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-70-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-70-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-70", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-71", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-71-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-71-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-71", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-72", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-72-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-72-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-72", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-73", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-73-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-73-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-73", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-74", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-74-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-74-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-74", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-75", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-75-80", - "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-75", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "name": "kube-svc:dev-master-control-ui-control-ui-75-80", + "namespace": "dev" + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-76", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-76-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-76-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-76", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-77", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-77-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-77-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-77", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-78", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-78-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-78-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-78", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-79", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-79-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-79-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-79", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-8", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-8-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-8-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-8", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-80", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-80-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-80-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-80", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-81", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-81-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-81-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-81", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-82", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-82-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-82-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-82", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-83", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-83-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-83-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-83", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-84", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-84-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-84-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-84", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-85", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-85-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-85-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-85", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-86", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-86-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-86-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-86", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-87", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-87-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-87-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-87", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-88", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-88-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-88-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-88", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-89", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-89-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-89-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-89", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-9", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-9-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-9-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-9", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-90", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-90-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-90-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-90", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-91", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-91-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-91-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-91", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-92", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-92-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-92-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-92", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-93", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-93-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-93-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-93", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-94", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-94-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-94-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-94", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-95", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-95-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-95-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-95", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-96", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-96-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-96-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-96", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-97", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-97-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-97-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-97", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-98", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-98-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-98-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-98", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "master-control-ui-control-ui-99", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { "app": "petstore" - }, - "name": "kube-svc:dev-master-control-ui-control-ui-99-80", + }, + "name": "kube-svc:dev-master-control-ui-control-ui-99-80", "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "master-control-ui-control-ui-99", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "petstore", + "serviceNamespace": "dev", + "servicePort": 8080 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"dev\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" - }, + }, "labels": { "service": "petstore" - }, - "name": "kube-svc:dev-petstore-8080", - "namespace": "dev" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "petstore", - "serviceNamespace": "dev", - "servicePort": 8080 - } - } - }, - { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + }, + "name": "kube-svc:dev-petstore-8080", + "namespace": "dev" + }, + "status": {} + }, + { + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-1-xvgfm", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-80", + "namespace": "gloo-system", "resourceVersion": "2050" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-1-xvgfm", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-1-xvgfm", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-1" + }, + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-q2kt-4b195522e401e1ba899deb10147121d", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-q2kt-4b195522e401e1ba899deb10147121d", + "namespace": "gloo-system", "resourceVersion": "2018" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-1-xvgfm", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-1" - }, - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-1-xvgfm", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-1" + }, + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-q2kt-b18a7f63994cfbcc9778d79ccd1531d", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-q2kt-b18a7f63994cfbcc9778d79ccd1531d", + "namespace": "gloo-system", "resourceVersion": "1895" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-1-xvgfm", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-1" - }, - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-q2ktv-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-q2ktv-9090", + "namespace": "gloo-system", "resourceVersion": "1880" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-1-xvgfm-q2ktv", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-1-xvgfm", - "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-1-xvgfm", + "autoscaling.knative.dev/kpa": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-q2ktv-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-q2ktv-9091", + "namespace": "gloo-system", "resourceVersion": "1986" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-1-xvgfm-q2ktv", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-1-xvgfm", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-1" + }, + "serviceName": "helloworld-1-xvgfm-tdcnc", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-tdcn-1be547c37b32686a2549a6ee7062237", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-tdcn-1be547c37b32686a2549a6ee7062237", + "namespace": "gloo-system", "resourceVersion": "1614" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-1-xvgfm", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-1" - }, - "serviceName": "helloworld-1-xvgfm-tdcnc", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-1-xvgfm-tdcnc", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-1-xvgfm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-1", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-1-xvgfm", - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-1-xvgfm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-1-xvgfm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-1", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-1-xvgfm", + "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-1" - }, - "name": "default-helloworld-1-xvgfm-tdcnc-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-1-xvgfm-tdcnc-80", + "namespace": "gloo-system", "resourceVersion": "1674" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4438b19-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-1-xvgfm-tdcnc", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-10-8f62n", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-6pm-a8b09b2ba838110170032184b736377", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-10-8f62n-6pmf5", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-10" + }, + "name": "default-helloworld-10-8f62n-6pm-a8b09b2ba838110170032184b736377", + "namespace": "gloo-system", "resourceVersion": "2116" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-10-8f62n", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-10" - }, - "serviceName": "helloworld-10-8f62n-6pmf5", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-10-8f62n-6pmf5", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-6pmf5-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-10-8f62n-6pmf5-80", + "namespace": "gloo-system", "resourceVersion": "1988" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-10-8f62n-6pmf5", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-10-8f62n", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-10-8f62n", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-10-8f62n-80", + "namespace": "gloo-system", "resourceVersion": "1773" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-10-8f62n", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-10-8f62n", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-cmt-73ff1628a9ce2ee426a81265b16aa98", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-10" + }, + "name": "default-helloworld-10-8f62n-cmt-73ff1628a9ce2ee426a81265b16aa98", + "namespace": "gloo-system", "resourceVersion": "1785" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-10-8f62n", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-10" - }, - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-10-8f62n", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-cmt-afcdca701be90cbd5fbbb875b914182", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-10" + }, + "name": "default-helloworld-10-8f62n-cmt-afcdca701be90cbd5fbbb875b914182", + "namespace": "gloo-system", "resourceVersion": "1782" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-10-8f62n", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-10" - }, - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-cmt8v-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-10-8f62n-cmt8v-9090", + "namespace": "gloo-system", "resourceVersion": "1729" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-10-8f62n-cmt8v", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-10-8f62n", - "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-10", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-10-8f62n", - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-10-8f62n", + "autoscaling.knative.dev/kpa": "helloworld-10-8f62n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-10", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-10-8f62n", + "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-10" - }, - "name": "default-helloworld-10-8f62n-cmt8v-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-10-8f62n-cmt8v-9091", + "namespace": "gloo-system", "resourceVersion": "1775" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4758672-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-10-8f62n-cmt8v", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-11-7ng9c", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-80", + "namespace": "gloo-system", "resourceVersion": "1829" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-11-7ng9c", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-11-7ng9c", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-11" + }, + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-bh4-5b9e738eb85bd4e5e357dc5a471d95d", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-bh4-5b9e738eb85bd4e5e357dc5a471d95d", + "namespace": "gloo-system", "resourceVersion": "1927" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-11-7ng9c", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-11" - }, - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-11-7ng9c", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-11" + }, + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-bh4-b5e132f675ed77506bda43ec64d5ef3", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-bh4-b5e132f675ed77506bda43ec64d5ef3", + "namespace": "gloo-system", "resourceVersion": "1917" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-11-7ng9c", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-11" - }, - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-bh4cr-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-bh4cr-9090", + "namespace": "gloo-system", "resourceVersion": "1849" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-11-7ng9c-bh4cr", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-11-7ng9c", - "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-11-7ng9c", + "autoscaling.knative.dev/kpa": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-bh4cr-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-bh4cr-9091", + "namespace": "gloo-system", "resourceVersion": "1854" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-11-7ng9c-bh4cr", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-11-7ng9c", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-11" + }, + "serviceName": "helloworld-11-7ng9c-lzbkd", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-lzb-d5f2b2f17548dcecae5775ed26cc6ed", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-lzb-d5f2b2f17548dcecae5775ed26cc6ed", + "namespace": "gloo-system", "resourceVersion": "1796" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-11-7ng9c", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-11" - }, - "serviceName": "helloworld-11-7ng9c-lzbkd", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-11-7ng9c-lzbkd", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-11-7ng9c", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-11", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-11-7ng9c", - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-11-7ng9c", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-11-7ng9c", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-11", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-11-7ng9c", + "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-11" - }, - "name": "default-helloworld-11-7ng9c-lzbkd-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-11-7ng9c-lzbkd-80", + "namespace": "gloo-system", "resourceVersion": "1794" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f4dd4cb1-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-11-7ng9c-lzbkd", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-12-qvs97", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-12-qvs97-80", + "namespace": "gloo-system", "resourceVersion": "1969" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-12-qvs97", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-12-qvs97", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-12" + }, + "serviceName": "helloworld-12-qvs97-lftjn", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-lft-f75cf672d45115d64046e56db767692", - "namespace": "gloo-system", + }, + "name": "default-helloworld-12-qvs97-lft-f75cf672d45115d64046e56db767692", + "namespace": "gloo-system", "resourceVersion": "1841" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-12-qvs97", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-12" - }, - "serviceName": "helloworld-12-qvs97-lftjn", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-12-qvs97-lftjn", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-12-qvs97", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-lftjn-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-12-qvs97-lftjn-80", + "namespace": "gloo-system", "resourceVersion": "1839" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-12-qvs97-lftjn", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-12-qvs97", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-svz-43c37e12e93018020781cec8e493069", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-12" + }, + "name": "default-helloworld-12-qvs97-svz-43c37e12e93018020781cec8e493069", + "namespace": "gloo-system", "resourceVersion": "1845" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-12-qvs97", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-12" - }, - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-12-qvs97", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-svz-e6a9d574515a1af4e8fbba1b66ccd61", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-12" + }, + "name": "default-helloworld-12-qvs97-svz-e6a9d574515a1af4e8fbba1b66ccd61", + "namespace": "gloo-system", "resourceVersion": "1831" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-12-qvs97", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-12" - }, - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-svzhd-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-12-qvs97-svzhd-9090", + "namespace": "gloo-system", "resourceVersion": "1801" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-12-qvs97-svzhd", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-12-qvs97", - "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-12", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-12-qvs97", - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-12-qvs97", + "autoscaling.knative.dev/kpa": "helloworld-12-qvs97", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-12", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-12-qvs97", + "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-12" - }, - "name": "default-helloworld-12-qvs97-svzhd-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-12-qvs97-svzhd-9091", + "namespace": "gloo-system", "resourceVersion": "1807" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f508363d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-12-qvs97-svzhd", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-13-b8q5n", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-13-b8q5n-80", + "namespace": "gloo-system", "resourceVersion": "1975" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-13-b8q5n", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-13-b8q5n", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-13" + }, + "serviceName": "helloworld-13-b8q5n-b55lp", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b55-a9e6e72797571c34547ea356d3b086c", - "namespace": "gloo-system", + }, + "name": "default-helloworld-13-b8q5n-b55-a9e6e72797571c34547ea356d3b086c", + "namespace": "gloo-system", "resourceVersion": "1952" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-13-b8q5n", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-13" - }, - "serviceName": "helloworld-13-b8q5n-b55lp", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-13-b8q5n-b55lp", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-13-b8q5n", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b55lp-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-13-b8q5n-b55lp-80", + "namespace": "gloo-system", "resourceVersion": "1978" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-13-b8q5n-b55lp", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-13-b8q5n", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b6n-7d6faf2a76ea6958254f859e6ded729", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-13" + }, + "name": "default-helloworld-13-b8q5n-b6n-7d6faf2a76ea6958254f859e6ded729", + "namespace": "gloo-system", "resourceVersion": "1821" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-13-b8q5n", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-13" - }, - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-13-b8q5n", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b6n-84901a727aaaef133d03a6ec1396590", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-13" + }, + "name": "default-helloworld-13-b8q5n-b6n-84901a727aaaef133d03a6ec1396590", + "namespace": "gloo-system", "resourceVersion": "1814" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-13-b8q5n", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-13" - }, - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b6nh8-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-13-b8q5n-b6nh8-9090", + "namespace": "gloo-system", "resourceVersion": "1789" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-13-b8q5n-b6nh8", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-13-b8q5n", - "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-13", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-13-b8q5n", - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-13-b8q5n", + "autoscaling.knative.dev/kpa": "helloworld-13-b8q5n", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-13", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-13-b8q5n", + "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-13" - }, - "name": "default-helloworld-13-b8q5n-b6nh8-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-13-b8q5n-b6nh8-9091", + "namespace": "gloo-system", "resourceVersion": "1809" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f546b02d-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-13-b8q5n-b6nh8", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-14-fj4jm", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-4bv-9b1d6b0c17d2e248684fb0866e11a8d", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-14-fj4jm-4bvkz", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-14" + }, + "name": "default-helloworld-14-fj4jm-4bv-9b1d6b0c17d2e248684fb0866e11a8d", + "namespace": "gloo-system", "resourceVersion": "1824" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-14-fj4jm", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-14" - }, - "serviceName": "helloworld-14-fj4jm-4bvkz", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-14-fj4jm-4bvkz", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-4bvkz-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-14-fj4jm-4bvkz-80", + "namespace": "gloo-system", "resourceVersion": "1819" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-14-fj4jm-4bvkz", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-14-fj4jm", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-14-fj4jm", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-14-fj4jm-80", + "namespace": "gloo-system", "resourceVersion": "1833" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-14-fj4jm", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-14-fj4jm", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-fpx-2013f8f56d9da951aedeebe01d9b842", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-14" + }, + "name": "default-helloworld-14-fj4jm-fpx-2013f8f56d9da951aedeebe01d9b842", + "namespace": "gloo-system", "resourceVersion": "2299" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-14-fj4jm", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-14" - }, - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9090 - } - } - }, - { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" + } + }, + { + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-14-fj4jm", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-fpx-2776929d1a4d32c8a617fd5a9c32c9a", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-14" + }, + "name": "default-helloworld-14-fj4jm-fpx-2776929d1a4d32c8a617fd5a9c32c9a", + "namespace": "gloo-system", "resourceVersion": "2372" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-14-fj4jm", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-14" - }, - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-fpxl6-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-14-fj4jm-fpxl6-9090", + "namespace": "gloo-system", "resourceVersion": "2304" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-14-fj4jm-fpxl6", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-14-fj4jm", - "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-14", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-14-fj4jm", - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-14-fj4jm", + "autoscaling.knative.dev/kpa": "helloworld-14-fj4jm", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-14", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-14-fj4jm", + "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-14" - }, - "name": "default-helloworld-14-fj4jm-fpxl6-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-14-fj4jm-fpxl6-9091", + "namespace": "gloo-system", "resourceVersion": "2367" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5948772-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-14-fj4jm-fpxl6", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-15-kksks", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-15-kksks-80", + "namespace": "gloo-system", "resourceVersion": "2061" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-15-kksks", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-15-kksks", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-15" + }, + "serviceName": "helloworld-15-kksks-m9c8w", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-m9c-7f937d6fb8f11d4bc76a31f48040622", - "namespace": "gloo-system", + }, + "name": "default-helloworld-15-kksks-m9c-7f937d6fb8f11d4bc76a31f48040622", + "namespace": "gloo-system", "resourceVersion": "2137" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-15-kksks", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-15" - }, - "serviceName": "helloworld-15-kksks-m9c8w", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-15-kksks-m9c8w", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-15-kksks", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-m9c8w-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-15-kksks-m9c8w-80", + "namespace": "gloo-system", "resourceVersion": "1990" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-15-kksks-m9c8w", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-15-kksks", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-z7g-7410d50a3368dcf4bdbdaebb388c3d0", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-15" + }, + "name": "default-helloworld-15-kksks-z7g-7410d50a3368dcf4bdbdaebb388c3d0", + "namespace": "gloo-system", "resourceVersion": "2389" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-15-kksks", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-15" - }, - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-15-kksks", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-z7g-7763ce4907426ef58d65fe98a7c545b", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-15" + }, + "name": "default-helloworld-15-kksks-z7g-7763ce4907426ef58d65fe98a7c545b", + "namespace": "gloo-system", "resourceVersion": "2376" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-15-kksks", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-15" - }, - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-z7g75-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-15-kksks-z7g75-9090", + "namespace": "gloo-system", "resourceVersion": "2381" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-15-kksks-z7g75", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-15-kksks", - "autoscaling.knative.dev/kpa": "helloworld-15-kksks", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-15", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-15-kksks", - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-15-kksks", + "autoscaling.knative.dev/kpa": "helloworld-15-kksks", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-15", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-15-kksks", + "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-15" - }, - "name": "default-helloworld-15-kksks-z7g75-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-15-kksks-z7g75-9091", + "namespace": "gloo-system", "resourceVersion": "2373" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f5e0c1e7-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-15-kksks-z7g75", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-2-gkc45", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-2-gkc45-80", + "namespace": "gloo-system", "resourceVersion": "2341" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-2-gkc45", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-2-gkc45", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-2" + }, + "serviceName": "helloworld-2-gkc45-t7spf", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-t7sp-f676e064b0cf4f50efe1f829c58fc9d", - "namespace": "gloo-system", + }, + "name": "default-helloworld-2-gkc45-t7sp-f676e064b0cf4f50efe1f829c58fc9d", + "namespace": "gloo-system", "resourceVersion": "2358" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-2-gkc45", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-2" - }, - "serviceName": "helloworld-2-gkc45-t7spf", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-2-gkc45-t7spf", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-2-gkc45", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-t7spf-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-2-gkc45-t7spf-80", + "namespace": "gloo-system", "resourceVersion": "2297" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-2-gkc45-t7spf", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-2-gkc45", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-xsv4-9aad3fb8fc6c97d12ce5808f27cdf43", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-2" + }, + "name": "default-helloworld-2-gkc45-xsv4-9aad3fb8fc6c97d12ce5808f27cdf43", + "namespace": "gloo-system", "resourceVersion": "2425" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-2-gkc45", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-2" - }, - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-2-gkc45", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-xsv4-ad2a91fdfae63fe663d21275625c809", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-2" + }, + "name": "default-helloworld-2-gkc45-xsv4-ad2a91fdfae63fe663d21275625c809", + "namespace": "gloo-system", "resourceVersion": "2404" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-2-gkc45", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-2" - }, - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-xsv4k-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-2-gkc45-xsv4k-9090", + "namespace": "gloo-system", "resourceVersion": "2413" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-2-gkc45-xsv4k", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-2-gkc45", - "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-2", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-2-gkc45", - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-2-gkc45", + "autoscaling.knative.dev/kpa": "helloworld-2-gkc45", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-2", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-2-gkc45", + "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-2" - }, - "name": "default-helloworld-2-gkc45-xsv4k-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-2-gkc45-xsv4k-9091", + "namespace": "gloo-system", "resourceVersion": "2415" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f614b4d8-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-2-gkc45-xsv4k", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-3-278pq", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-80", + "namespace": "gloo-system", "resourceVersion": "2363" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-3-278pq", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-3-278pq", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-3" + }, + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-h5lj-2ed7f23cc997787c09a3add4a8ce464", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-h5lj-2ed7f23cc997787c09a3add4a8ce464", + "namespace": "gloo-system", "resourceVersion": "2418" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-3-278pq", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-3" - }, - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-3-278pq", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-3" + }, + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-h5lj-51a0b5b3a8783bd1f634a48d79dce6a", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-h5lj-51a0b5b3a8783bd1f634a48d79dce6a", + "namespace": "gloo-system", "resourceVersion": "2409" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-3-278pq", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-3" - }, - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-h5lj2-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-h5lj2-9090", + "namespace": "gloo-system", "resourceVersion": "2405" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-3-278pq-h5lj2", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-3-278pq", - "autoscaling.knative.dev/kpa": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-3-278pq", + "autoscaling.knative.dev/kpa": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-h5lj2-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-h5lj2-9091", + "namespace": "gloo-system", "resourceVersion": "2423" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-3-278pq-h5lj2", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-3-278pq", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-3" + }, + "serviceName": "helloworld-3-278pq-pvzz6", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-pvzz-b0025a26cb560476a943da58fd4d116", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-pvzz-b0025a26cb560476a943da58fd4d116", + "namespace": "gloo-system", "resourceVersion": "2401" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-3-278pq", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-3" - }, - "serviceName": "helloworld-3-278pq-pvzz6", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-3-278pq-pvzz6", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-3-278pq", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-3", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-3-278pq", - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-3-278pq", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-3-278pq", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-3", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-3-278pq", + "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-3" - }, - "name": "default-helloworld-3-278pq-pvzz6-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-3-278pq-pvzz6-80", + "namespace": "gloo-system", "resourceVersion": "2393" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f65bfd98-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-3-278pq-pvzz6", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-4-s4xq2", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-5j9m-4e8995ff60dfa5aaa4df356ccc30641", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-4" + }, + "name": "default-helloworld-4-s4xq2-5j9m-4e8995ff60dfa5aaa4df356ccc30641", + "namespace": "gloo-system", "resourceVersion": "2491" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-4-s4xq2", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-4" - }, - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-4-s4xq2", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-5j9m-b51391bd52481d1a703f58e26107dbb", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-4" + }, + "name": "default-helloworld-4-s4xq2-5j9m-b51391bd52481d1a703f58e26107dbb", + "namespace": "gloo-system", "resourceVersion": "2469" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-4-s4xq2", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-4" - }, - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-5j9mh-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-4-s4xq2-5j9mh-9090", + "namespace": "gloo-system", "resourceVersion": "2449" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-4-s4xq2-5j9mh", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-4-s4xq2", - "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-4-s4xq2", + "autoscaling.knative.dev/kpa": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-5j9mh-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-4-s4xq2-5j9mh-9091", + "namespace": "gloo-system", "resourceVersion": "2461" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-4-s4xq2-5j9mh", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-4-s4xq2", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-4-s4xq2-80", + "namespace": "gloo-system", "resourceVersion": "2041" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-4-s4xq2", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-4-s4xq2", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-4" + }, + "serviceName": "helloworld-4-s4xq2-qzkz7", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-qzkz-9c57b7a2bee2ae2214dc8b5d796a4b9", - "namespace": "gloo-system", + }, + "name": "default-helloworld-4-s4xq2-qzkz-9c57b7a2bee2ae2214dc8b5d796a4b9", + "namespace": "gloo-system", "resourceVersion": "2440" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-4-s4xq2", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-4" - }, - "serviceName": "helloworld-4-s4xq2-qzkz7", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-4-s4xq2-qzkz7", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-4-s4xq2", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-4", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-4-s4xq2", - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-4-s4xq2", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-4-s4xq2", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-4", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-4-s4xq2", + "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-4" - }, - "name": "default-helloworld-4-s4xq2-qzkz7-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-4-s4xq2-qzkz7-80", + "namespace": "gloo-system", "resourceVersion": "2427" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f68bd25b-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-4-s4xq2-qzkz7", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-5-95x2b", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-5-95x2b-80", + "namespace": "gloo-system", "resourceVersion": "2189" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-5-95x2b", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-5-95x2b", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-5" + }, + "serviceName": "helloworld-5-95x2b-hcktv", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-hckt-e37e68ac62499b5b4e13dcffffd85f3", - "namespace": "gloo-system", + }, + "name": "default-helloworld-5-95x2b-hckt-e37e68ac62499b5b4e13dcffffd85f3", + "namespace": "gloo-system", "resourceVersion": "2387" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-5-95x2b", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-5" - }, - "serviceName": "helloworld-5-95x2b-hcktv", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-5-95x2b-hcktv", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-5-95x2b", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-hcktv-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-5-95x2b-hcktv-80", + "namespace": "gloo-system", "resourceVersion": "2383" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-5-95x2b-hcktv", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-5-95x2b", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-nhdd-80354a98c1353d95e16a58fa893ff6d", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-5" + }, + "name": "default-helloworld-5-95x2b-nhdd-80354a98c1353d95e16a58fa893ff6d", + "namespace": "gloo-system", "resourceVersion": "2192" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-5-95x2b", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-5" - }, - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-5-95x2b", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-nhdd-fd5c8b99e8e582fd67f2036d00d9855", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-5" + }, + "name": "default-helloworld-5-95x2b-nhdd-fd5c8b99e8e582fd67f2036d00d9855", + "namespace": "gloo-system", "resourceVersion": "2365" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-5-95x2b", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-5" - }, - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-nhdd2-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-5-95x2b-nhdd2-9090", + "namespace": "gloo-system", "resourceVersion": "2283" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-5-95x2b-nhdd2", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-5-95x2b", - "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-5", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-5-95x2b", - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-5-95x2b", + "autoscaling.knative.dev/kpa": "helloworld-5-95x2b", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-5", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-5-95x2b", + "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-5" - }, - "name": "default-helloworld-5-95x2b-nhdd2-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-5-95x2b-nhdd2-9091", + "namespace": "gloo-system", "resourceVersion": "2274" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f71145bc-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-5-95x2b-nhdd2", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-6-mcvmp", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-6-mcvmp-80", + "namespace": "gloo-system", "resourceVersion": "2318" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-6-mcvmp", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-6-mcvmp", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-6" + }, + "serviceName": "helloworld-6-mcvmp-mxj42", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-mxj4-7e080eb08ba7bc0712536a8b78fe848", - "namespace": "gloo-system", + }, + "name": "default-helloworld-6-mcvmp-mxj4-7e080eb08ba7bc0712536a8b78fe848", + "namespace": "gloo-system", "resourceVersion": "2091" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-6-mcvmp", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-6" - }, - "serviceName": "helloworld-6-mcvmp-mxj42", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-6-mcvmp-mxj42", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-6-mcvmp", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-mxj42-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-6-mcvmp-mxj42-80", + "namespace": "gloo-system", "resourceVersion": "2012" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-6-mcvmp-mxj42", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-6-mcvmp", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-wtht-b184ebbe57c637c772e14ff4100e58f", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-6" + }, + "name": "default-helloworld-6-mcvmp-wtht-b184ebbe57c637c772e14ff4100e58f", + "namespace": "gloo-system", "resourceVersion": "2437" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-6-mcvmp", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-6" - }, - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-6-mcvmp", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-wtht-d0cbecfb7e3d75bd8602e144f1afe66", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-6" + }, + "name": "default-helloworld-6-mcvmp-wtht-d0cbecfb7e3d75bd8602e144f1afe66", + "namespace": "gloo-system", "resourceVersion": "2435" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-6-mcvmp", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-6" - }, - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-wthtq-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-6-mcvmp-wthtq-9090", + "namespace": "gloo-system", "resourceVersion": "2433" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-6-mcvmp-wthtq", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-6-mcvmp", - "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-6", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-6-mcvmp", - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-6-mcvmp", + "autoscaling.knative.dev/kpa": "helloworld-6-mcvmp", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-6", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-6-mcvmp", + "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-6" - }, - "name": "default-helloworld-6-mcvmp-wthtq-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-6-mcvmp-wthtq-9091", + "namespace": "gloo-system", "resourceVersion": "2445" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f763a8a0-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-6-mcvmp-wthtq", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-7-nb449", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-4zdc-5d07c72b2d4db162622bb47a2983fd3", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-7" + }, + "name": "default-helloworld-7-nb449-4zdc-5d07c72b2d4db162622bb47a2983fd3", + "namespace": "gloo-system", "resourceVersion": "2500" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-7-nb449", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-7" - }, - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-7-nb449", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-4zdc-e9c8c0622e3f1f3992188dcde209ceb", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-7" + }, + "name": "default-helloworld-7-nb449-4zdc-e9c8c0622e3f1f3992188dcde209ceb", + "namespace": "gloo-system", "resourceVersion": "2502" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-7-nb449", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-7" - }, - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-4zdcq-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-7-nb449-4zdcq-9090", + "namespace": "gloo-system", "resourceVersion": "2489" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-7-nb449-4zdcq", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-7-nb449", - "autoscaling.knative.dev/kpa": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-7-nb449", + "autoscaling.knative.dev/kpa": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-4zdcq-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-7-nb449-4zdcq-9091", + "namespace": "gloo-system", "resourceVersion": "2496" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-7-nb449-4zdcq", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-7-nb449", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-7-nb449-80", + "namespace": "gloo-system", "resourceVersion": "2468" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-7-nb449", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-7-nb449", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-7" + }, + "serviceName": "helloworld-7-nb449-v8mw2", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-v8mw-ee364f62d8faa706ebc1da621b0beb4", - "namespace": "gloo-system", + }, + "name": "default-helloworld-7-nb449-v8mw-ee364f62d8faa706ebc1da621b0beb4", + "namespace": "gloo-system", "resourceVersion": "2218" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-7-nb449", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-7" - }, - "serviceName": "helloworld-7-nb449-v8mw2", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-7-nb449-v8mw2", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-7-nb449", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-7", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-7-nb449", - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-7-nb449", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-7-nb449", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-7", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-7-nb449", + "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-7" - }, - "name": "default-helloworld-7-nb449-v8mw2-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-7-nb449-v8mw2-80", + "namespace": "gloo-system", "resourceVersion": "2288" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7bc5d93-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-7-nb449-v8mw2", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-8-w8hrn", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-80", + "namespace": "gloo-system", "resourceVersion": "2452" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-8-w8hrn", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, - { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + }, + { + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-8-w8hrn", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-8" + }, + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-cwxk-6b2fec1e02a03951cb820c361aa2f1b", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-cwxk-6b2fec1e02a03951cb820c361aa2f1b", + "namespace": "gloo-system", "resourceVersion": "2497" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-8-w8hrn", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-8" - }, - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-8-w8hrn", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-8" + }, + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-cwxk-c0e2ff805e601742bed8c47302d1481", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-cwxk-c0e2ff805e601742bed8c47302d1481", + "namespace": "gloo-system", "resourceVersion": "2506" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-8-w8hrn", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-8" - }, - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-cwxkm-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-cwxkm-9090", + "namespace": "gloo-system", "resourceVersion": "2507" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-8-w8hrn-cwxkm", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-8-w8hrn", - "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-8-w8hrn", + "autoscaling.knative.dev/kpa": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-cwxkm-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-cwxkm-9091", + "namespace": "gloo-system", "resourceVersion": "2509" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-8-w8hrn-cwxkm", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-8-w8hrn", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-8" + }, + "serviceName": "helloworld-8-w8hrn-v6vrs", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-v6vr-9387c060f2ef08d954008688a1a180a", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-v6vr-9387c060f2ef08d954008688a1a180a", + "namespace": "gloo-system", "resourceVersion": "2457" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-8-w8hrn", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-8" - }, - "serviceName": "helloworld-8-w8hrn-v6vrs", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-8-w8hrn-v6vrs", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-8-w8hrn", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-8", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-8-w8hrn", - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-8-w8hrn", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-8-w8hrn", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-8", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-8-w8hrn", + "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-8" - }, - "name": "default-helloworld-8-w8hrn-v6vrs-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-8-w8hrn-v6vrs-80", + "namespace": "gloo-system", "resourceVersion": "2459" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f7f0a914-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-8-w8hrn-v6vrs", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "helloworld-9-km6sb", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Public", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Public", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-9-km6sb-80", + "namespace": "gloo-system", "resourceVersion": "2285" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "helloworld-9-km6sb", - "serviceNamespace": "default", - "servicePort": 80 - } } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-9-km6sb", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-9" + }, + "serviceName": "helloworld-9-km6sb-fv754", + "serviceNamespace": "default", + "servicePort": 80 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-fv75-ad4026bd1086363b8521b749a31e537", - "namespace": "gloo-system", + }, + "name": "default-helloworld-9-km6sb-fv75-ad4026bd1086363b8521b749a31e537", + "namespace": "gloo-system", "resourceVersion": "2277" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-9-km6sb", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-9" - }, - "serviceName": "helloworld-9-km6sb-fv754", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-9-km6sb-fv754", + "serviceNamespace": "default", + "servicePort": 80 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", - "networking.internal.knative.dev/serviceType": "Private", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serverlessservice": "helloworld-9-km6sb", + "networking.internal.knative.dev/serviceType": "Private", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-fv754-80", - "namespace": "gloo-system", + }, + "name": "default-helloworld-9-km6sb-fv754-80", + "namespace": "gloo-system", "resourceVersion": "2293" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-9-km6sb-fv754", - "serviceNamespace": "default", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-9-km6sb", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-gwfk-4c1f7dfe656d579377f704cb49e36d9", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9090 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-9" + }, + "name": "default-helloworld-9-km6sb-gwfk-4c1f7dfe656d579377f704cb49e36d9", + "namespace": "gloo-system", "resourceVersion": "2478" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-9-km6sb", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-9" - }, - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", - "serving.knative.dev/creator": "scott.weiss@solo.io" - }, - "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "helloworld-9-km6sb", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-gwfk-c04ea2090d8630fef40eee127266eb2", - "namespace": "gloo-system", + }, + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9091 + }, + "metadata": { + "annotations": { + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", + "serving.knative.dev/creator": "scott.weiss@solo.io" + }, + "labels": { + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "serving.knative.dev/service": "helloworld-9" + }, + "name": "default-helloworld-9-km6sb-gwfk-c04ea2090d8630fef40eee127266eb2", + "namespace": "gloo-system", "resourceVersion": "2483" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "helloworld-9-km6sb", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", - "serving.knative.dev/service": "helloworld-9" - }, - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9091 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9090 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-gwfkg-9090", - "namespace": "gloo-system", + }, + "name": "default-helloworld-9-km6sb-gwfkg-9090", + "namespace": "gloo-system", "resourceVersion": "2488" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" + }, + "serviceName": "helloworld-9-km6sb-gwfkg", + "serviceNamespace": "default", + "servicePort": 9091 + }, "metadata": { "annotations": { - "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", - "autoscaling.knative.dev/maxScale": "1", - "autoscaling.knative.dev/metric": "concurrency", - "autoscaling.knative.dev/minScale": "1", + "autoscaling.knative.dev/class": "kpa.autoscaling.knative.dev", + "autoscaling.knative.dev/maxScale": "1", + "autoscaling.knative.dev/metric": "concurrency", + "autoscaling.knative.dev/minScale": "1", "serving.knative.dev/creator": "scott.weiss@solo.io" - }, + }, "labels": { - "app": "helloworld-9-km6sb", - "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", - "discovered_by": "kubernetesplugin", - "networking.internal.knative.dev/serviceType": "Metrics", - "serving.knative.dev/configuration": "helloworld-9", - "serving.knative.dev/configurationGeneration": "1", - "serving.knative.dev/revision": "helloworld-9-km6sb", - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", + "app": "helloworld-9-km6sb", + "autoscaling.knative.dev/kpa": "helloworld-9-km6sb", + "discovered_by": "kubernetesplugin", + "networking.internal.knative.dev/serviceType": "Metrics", + "serving.knative.dev/configuration": "helloworld-9", + "serving.knative.dev/configurationGeneration": "1", + "serving.knative.dev/revision": "helloworld-9-km6sb", + "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0", "serving.knative.dev/service": "helloworld-9" - }, - "name": "default-helloworld-9-km6sb-gwfkg-9091", - "namespace": "gloo-system", + }, + "name": "default-helloworld-9-km6sb-gwfkg-9091", + "namespace": "gloo-system", "resourceVersion": "2471" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "serving.knative.dev/revisionUID": "f8341d4e-be86-11e9-bb8b-42010a8400f0" - }, - "serviceName": "helloworld-9-km6sb-gwfkg", - "serviceNamespace": "default", - "servicePort": 9091 - } - } - }, - { - "discoveryMetadata": {}, - "metadata": { - "labels": { - "component": "apiserver", - "discovered_by": "kubernetesplugin", - "provider": "kubernetes" - }, - "name": "default-kubernetes-443", - "namespace": "gloo-system", - "resourceVersion": "1061" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "serviceName": "kubernetes", - "serviceNamespace": "default", - "servicePort": 443 - } } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "serviceName": "kubernetes", + "serviceNamespace": "default", + "servicePort": 443 + }, "metadata": { - "annotations": { - "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" - }, "labels": { - "discovered_by": "kubernetesplugin", - "service": "petstore" - }, - "name": "default-petstore-8080", - "namespace": "gloo-system", - "resourceVersion": "18286" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "petstore", - "serviceNamespace": "default", - "servicePort": 8080, - "serviceSpec": { - "rest": { - "swaggerInfo": { - "url": "http://petstore.default.svc.cluster.local:8080/swagger.json" - }, - "transformations": { - "addPet": { - "body": { - "text": "{\"id\": {{ default(id, \"\") }},\"name\": \"{{ default(name, \"\")}}\",\"tag\": \"{{ default(tag, \"\")}}\"}" - }, - "headers": { - ":method": { - "text": "POST" - }, - ":path": { - "text": "/api/pets" - }, - "content-type": { - "text": "application/json" - } - } - }, - "deletePet": { - "headers": { - ":method": { - "text": "DELETE" - }, - ":path": { - "text": "/api/pets/{{ default(id, \"\") }}" - }, - "content-type": { - "text": "application/json" - } - } - }, - "findPetById": { - "body": {}, - "headers": { - ":method": { - "text": "GET" - }, - ":path": { - "text": "/api/pets/{{ default(id, \"\") }}" - }, - "content-length": { - "text": "0" - }, - "content-type": {}, - "transfer-encoding": {} + "component": "apiserver", + "discovered_by": "kubernetesplugin", + "provider": "kubernetes" + }, + "name": "default-kubernetes-443", + "namespace": "gloo-system", + "resourceVersion": "1061" + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" + } + }, + { + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "petstore", + "serviceNamespace": "default", + "servicePort": 8080, + "serviceSpec": { + "rest": { + "swaggerInfo": { + "url": "http://petstore.default.svc.cluster.local:8080/swagger.json" + }, + "transformations": { + "addPet": { + "body": { + "text": "{\"id\": {{ default(id, \"\") }},\"name\": \"{{ default(name, \"\")}}\",\"tag\": \"{{ default(tag, \"\")}}\"}" + }, + "headers": { + ":method": { + "text": "POST" + }, + ":path": { + "text": "/api/pets" + }, + "content-type": { + "text": "application/json" } - }, - "findPets": { - "body": {}, - "headers": { - ":method": { - "text": "GET" - }, - ":path": { - "text": "/api/pets?tags={{default(tags, \"\")}}&limit={{default(limit, \"\")}}" - }, - "content-length": { - "text": "0" - }, - "content-type": {}, - "transfer-encoding": {} + } + }, + "deletePet": { + "headers": { + ":method": { + "text": "DELETE" + }, + ":path": { + "text": "/api/pets/{{ default(id, \"\") }}" + }, + "content-type": { + "text": "application/json" } } + }, + "findPetById": { + "body": {}, + "headers": { + ":method": { + "text": "GET" + }, + ":path": { + "text": "/api/pets/{{ default(id, \"\") }}" + }, + "content-length": { + "text": "0" + }, + "content-type": {}, + "transfer-encoding": {} + } + }, + "findPets": { + "body": {}, + "headers": { + ":method": { + "text": "GET" + }, + ":path": { + "text": "/api/pets?tags={{default(tags, \"\")}}&limit={{default(limit, \"\")}}" + }, + "content-length": { + "text": "0" + }, + "content-type": {}, + "transfer-encoding": {} + } } } } } + }, + "metadata": { + "annotations": { + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"default\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" + }, + "labels": { + "discovered_by": "kubernetesplugin", + "service": "petstore" + }, + "name": "default-petstore-8080", + "namespace": "gloo-system", + "resourceVersion": "18286" + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-1", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-1-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-1-80", + "namespace": "gloo-system", "resourceVersion": "18704" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-1", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-10", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-10-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-10-80", + "namespace": "gloo-system", "resourceVersion": "18849" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-10", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-100", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-100-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-100-80", + "namespace": "gloo-system", "resourceVersion": "19677" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-100", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-101", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-101-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-101-80", + "namespace": "gloo-system", "resourceVersion": "19633" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-101", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-102", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-102-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-102-80", + "namespace": "gloo-system", "resourceVersion": "19682" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-102", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-103", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-103-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-103-80", + "namespace": "gloo-system", "resourceVersion": "19711" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-103", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-104", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-104-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-104-80", + "namespace": "gloo-system", "resourceVersion": "19763" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-104", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-105", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-105-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-105-80", + "namespace": "gloo-system", "resourceVersion": "19713" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-105", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-106", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-106-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-106-80", + "namespace": "gloo-system", "resourceVersion": "19737" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-106", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-107", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-107-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-107-80", + "namespace": "gloo-system", "resourceVersion": "19690" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-107", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-108", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-108-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-108-80", + "namespace": "gloo-system", "resourceVersion": "19696" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-108", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-109", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-109-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-109-80", + "namespace": "gloo-system", "resourceVersion": "19675" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-109", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-11", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-11-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-11-80", + "namespace": "gloo-system", "resourceVersion": "18824" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-11", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-110", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-110-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-110-80", + "namespace": "gloo-system", "resourceVersion": "19755" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-110", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-111", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-111-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-111-80", + "namespace": "gloo-system", "resourceVersion": "19725" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-111", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-112", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-112-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-112-80", + "namespace": "gloo-system", "resourceVersion": "19635" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-112", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-113", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-113-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-113-80", + "namespace": "gloo-system", "resourceVersion": "19676" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-113", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-114", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-114-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-114-80", + "namespace": "gloo-system", "resourceVersion": "19750" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-114", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-115", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-115-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-115-80", + "namespace": "gloo-system", "resourceVersion": "19836" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-115", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-116", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-116-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-116-80", + "namespace": "gloo-system", "resourceVersion": "19901" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-116", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-117", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-117-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-117-80", + "namespace": "gloo-system", "resourceVersion": "19907" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-117", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-118", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-118-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-118-80", + "namespace": "gloo-system", "resourceVersion": "19936" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-118", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-119", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-119-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-119-80", + "namespace": "gloo-system", "resourceVersion": "19842" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-119", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-12", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-12-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-12-80", + "namespace": "gloo-system", "resourceVersion": "18836" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-12", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-120", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-120-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-120-80", + "namespace": "gloo-system", "resourceVersion": "19838" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-120", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-121", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-121-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-121-80", + "namespace": "gloo-system", "resourceVersion": "19837" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-121", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-122", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-122-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-122-80", + "namespace": "gloo-system", "resourceVersion": "19937" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-122", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-123", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-123-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-123-80", + "namespace": "gloo-system", "resourceVersion": "19859" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-123", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-124", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-124-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-124-80", + "namespace": "gloo-system", "resourceVersion": "19935" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-124", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-125", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-125-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-125-80", + "namespace": "gloo-system", "resourceVersion": "19862" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-125", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-126", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-126-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-126-80", + "namespace": "gloo-system", "resourceVersion": "19860" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-126", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-127", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-127-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-127-80", + "namespace": "gloo-system", "resourceVersion": "19905" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-127", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-128", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-128-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-128-80", + "namespace": "gloo-system", "resourceVersion": "19839" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-128", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-129", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-129-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-129-80", + "namespace": "gloo-system", "resourceVersion": "20149" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-129", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-13", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-13-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-13-80", + "namespace": "gloo-system", "resourceVersion": "18856" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-13", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-130", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-130-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-130-80", + "namespace": "gloo-system", "resourceVersion": "20084" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-130", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-131", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-131-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-131-80", + "namespace": "gloo-system", "resourceVersion": "20155" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-131", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-132", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-132-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-132-80", + "namespace": "gloo-system", "resourceVersion": "20049" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-132", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-133", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-133-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-133-80", + "namespace": "gloo-system", "resourceVersion": "20080" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-133", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-134", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-134-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-134-80", + "namespace": "gloo-system", "resourceVersion": "20078" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-134", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-135", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-135-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-135-80", + "namespace": "gloo-system", "resourceVersion": "20151" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-135", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-136", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-136-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-136-80", + "namespace": "gloo-system", "resourceVersion": "20023" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-136", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-137", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-137-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-137-80", + "namespace": "gloo-system", "resourceVersion": "20098" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-137", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-138", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-138-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-138-80", + "namespace": "gloo-system", "resourceVersion": "20099" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-138", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-139", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-139-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-139-80", + "namespace": "gloo-system", "resourceVersion": "20088" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-139", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-14", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-14-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-14-80", + "namespace": "gloo-system", "resourceVersion": "18867" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-14", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-140", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-140-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-140-80", + "namespace": "gloo-system", "resourceVersion": "19991" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-140", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-141", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-141-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-141-80", + "namespace": "gloo-system", "resourceVersion": "20169" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-141", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-142", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-142-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-142-80", + "namespace": "gloo-system", "resourceVersion": "20150" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-142", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-143", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-143-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-143-80", + "namespace": "gloo-system", "resourceVersion": "20108" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-143", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-144", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-144-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-144-80", + "namespace": "gloo-system", "resourceVersion": "20068" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-144", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-145", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-145-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-145-80", + "namespace": "gloo-system", "resourceVersion": "20157" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-145", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-146", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-146-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-146-80", + "namespace": "gloo-system", "resourceVersion": "20067" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-146", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-147", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-147-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-147-80", + "namespace": "gloo-system", "resourceVersion": "20164" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-147", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-148", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-148-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-148-80", + "namespace": "gloo-system", "resourceVersion": "20092" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-148", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-149", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-149-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-149-80", + "namespace": "gloo-system", "resourceVersion": "20103" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-149", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-15", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-15-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-15-80", + "namespace": "gloo-system", "resourceVersion": "18908" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-15", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-150", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-150-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-150-80", + "namespace": "gloo-system", "resourceVersion": "20124" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-150", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-151", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-151-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-151-80", + "namespace": "gloo-system", "resourceVersion": "20069" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-151", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-152", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-152-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-152-80", + "namespace": "gloo-system", "resourceVersion": "20116" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-152", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-153", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-153-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-153-80", + "namespace": "gloo-system", "resourceVersion": "20148" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-153", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-154", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-154-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-154-80", + "namespace": "gloo-system", "resourceVersion": "20066" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-154", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-155", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-155-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-155-80", + "namespace": "gloo-system", "resourceVersion": "20133" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-155", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-156", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-156-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-156-80", + "namespace": "gloo-system", "resourceVersion": "20141" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-156", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-157", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-157-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-157-80", + "namespace": "gloo-system", "resourceVersion": "20047" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-157", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-158", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-158-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-158-80", + "namespace": "gloo-system", "resourceVersion": "20073" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-158", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-159", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-159-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-159-80", + "namespace": "gloo-system", "resourceVersion": "20224" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-159", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-16", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-16-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-16-80", + "namespace": "gloo-system", "resourceVersion": "18930" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-16", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-160", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-160-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-160-80", + "namespace": "gloo-system", "resourceVersion": "20266" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-160", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-161", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-161-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-161-80", + "namespace": "gloo-system", "resourceVersion": "20245" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-161", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-162", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-162-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-162-80", + "namespace": "gloo-system", "resourceVersion": "20262" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-162", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-163", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-163-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-163-80", + "namespace": "gloo-system", "resourceVersion": "20260" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-163", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-164", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-164-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-164-80", + "namespace": "gloo-system", "resourceVersion": "20223" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-164", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-165", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-165-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-165-80", + "namespace": "gloo-system", "resourceVersion": "20215" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-165", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-166", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-166-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-166-80", + "namespace": "gloo-system", "resourceVersion": "20244" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-166", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-167", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-167-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-167-80", + "namespace": "gloo-system", "resourceVersion": "20214" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-167", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-168", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-168-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-168-80", + "namespace": "gloo-system", "resourceVersion": "20196" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-168", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-169", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-169-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-169-80", + "namespace": "gloo-system", "resourceVersion": "20263" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-169", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-17", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-17-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-17-80", + "namespace": "gloo-system", "resourceVersion": "18937" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-17", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-170", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-170-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-170-80", + "namespace": "gloo-system", "resourceVersion": "20247" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-170", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-171", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-171-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-171-80", + "namespace": "gloo-system", "resourceVersion": "20243" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-171", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-172", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-172-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-172-80", + "namespace": "gloo-system", "resourceVersion": "20225" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-172", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-173", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-173-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-173-80", + "namespace": "gloo-system", "resourceVersion": "20235" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-173", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-174", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-174-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-174-80", + "namespace": "gloo-system", "resourceVersion": "20189" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-174", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-175", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-175-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-175-80", + "namespace": "gloo-system", "resourceVersion": "20204" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-175", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-176", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-176-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-176-80", + "namespace": "gloo-system", "resourceVersion": "20222" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-176", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-177", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-177-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-177-80", + "namespace": "gloo-system", "resourceVersion": "20261" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-177", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-178", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-178-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-178-80", + "namespace": "gloo-system", "resourceVersion": "20237" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-178", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-179", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-179-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-179-80", + "namespace": "gloo-system", "resourceVersion": "20250" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-179", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-18", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-18-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-18-80", + "namespace": "gloo-system", "resourceVersion": "18897" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-18", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-180", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-180-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-180-80", + "namespace": "gloo-system", "resourceVersion": "20301" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-180", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-181", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-181-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-181-80", + "namespace": "gloo-system", "resourceVersion": "20305" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-181", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-182", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-182-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-182-80", + "namespace": "gloo-system", "resourceVersion": "20325" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-182", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-183", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-183-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-183-80", + "namespace": "gloo-system", "resourceVersion": "20319" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-183", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-184", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-184-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-184-80", + "namespace": "gloo-system", "resourceVersion": "20353" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-184", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-185", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-185-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-185-80", + "namespace": "gloo-system", "resourceVersion": "20288" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-185", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-186", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-186-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-186-80", + "namespace": "gloo-system", "resourceVersion": "20321" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-186", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-187", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-187-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-187-80", + "namespace": "gloo-system", "resourceVersion": "20338" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-187", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-188", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-188-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-188-80", + "namespace": "gloo-system", "resourceVersion": "20349" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-188", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-189", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-189-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-189-80", + "namespace": "gloo-system", "resourceVersion": "20294" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-189", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-19", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-19-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-19-80", + "namespace": "gloo-system", "resourceVersion": "18921" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-19", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-190", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-190-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-190-80", + "namespace": "gloo-system", "resourceVersion": "20287" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-190", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-191", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-191-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-191-80", + "namespace": "gloo-system", "resourceVersion": "20351" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-191", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-192", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-192-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-192-80", + "namespace": "gloo-system", "resourceVersion": "20322" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-192", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-193", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-193-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-193-80", + "namespace": "gloo-system", "resourceVersion": "20365" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-193", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-194", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-194-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-194-80", + "namespace": "gloo-system", "resourceVersion": "20333" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-194", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-195", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-195-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-195-80", + "namespace": "gloo-system", "resourceVersion": "20320" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-195", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-196", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-196-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-196-80", + "namespace": "gloo-system", "resourceVersion": "20332" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-196", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-197", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-197-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-197-80", + "namespace": "gloo-system", "resourceVersion": "20348" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-197", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-198", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-198-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-198-80", + "namespace": "gloo-system", "resourceVersion": "20350" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-198", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-199", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-199-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-199-80", + "namespace": "gloo-system", "resourceVersion": "20290" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-199", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-2", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-2-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-2-80", + "namespace": "gloo-system", "resourceVersion": "18725" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-2", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-20", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-20-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-20-80", + "namespace": "gloo-system", "resourceVersion": "18936" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-20", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-200", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-200-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-200-80", + "namespace": "gloo-system", "resourceVersion": "20289" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-200", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-21", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-21-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-21-80", + "namespace": "gloo-system", "resourceVersion": "18895" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-21", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-22", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-22-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-22-80", + "namespace": "gloo-system", "resourceVersion": "18894" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-22", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-23", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-23-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-23-80", + "namespace": "gloo-system", "resourceVersion": "18965" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-23", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-24", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-24-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-24-80", + "namespace": "gloo-system", "resourceVersion": "18971" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-24", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-25", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-25-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-25-80", + "namespace": "gloo-system", "resourceVersion": "19029" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-25", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-26", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-26-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-26-80", + "namespace": "gloo-system", "resourceVersion": "18987" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-26", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-27", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-27-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-27-80", + "namespace": "gloo-system", "resourceVersion": "18978" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-27", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-28", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-28-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-28-80", + "namespace": "gloo-system", "resourceVersion": "18993" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-28", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-29", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-29-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-29-80", + "namespace": "gloo-system", "resourceVersion": "19028" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-29", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-3", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-3-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-3-80", + "namespace": "gloo-system", "resourceVersion": "18733" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-3", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-30", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-30-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-30-80", + "namespace": "gloo-system", "resourceVersion": "18967" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-30", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-31", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-31-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-31-80", + "namespace": "gloo-system", "resourceVersion": "18982" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-31", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-32", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-32-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-32-80", + "namespace": "gloo-system", "resourceVersion": "19014" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-32", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-33", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-33-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-33-80", + "namespace": "gloo-system", "resourceVersion": "18966" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-33", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-34", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-34-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-34-80", + "namespace": "gloo-system", "resourceVersion": "18984" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-34", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-35", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-35-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-35-80", + "namespace": "gloo-system", "resourceVersion": "19006" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-35", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-36", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-36-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-36-80", + "namespace": "gloo-system", "resourceVersion": "19035" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-36", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-37", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-37-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-37-80", + "namespace": "gloo-system", "resourceVersion": "19063" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-37", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-38", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-38-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-38-80", + "namespace": "gloo-system", "resourceVersion": "19042" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-38", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-39", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-39-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-39-80", + "namespace": "gloo-system", "resourceVersion": "19078" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-39", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-4", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-4-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-4-80", + "namespace": "gloo-system", "resourceVersion": "18739" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-4", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-40", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-40-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-40-80", + "namespace": "gloo-system", "resourceVersion": "19064" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-40", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-41", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-41-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-41-80", + "namespace": "gloo-system", "resourceVersion": "19071" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-41", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-42", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-42-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-42-80", + "namespace": "gloo-system", "resourceVersion": "19105" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-42", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-43", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-43-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-43-80", + "namespace": "gloo-system", "resourceVersion": "19072" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-43", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-44", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-44-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-44-80", + "namespace": "gloo-system", "resourceVersion": "19112" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-44", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-45", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-45-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-45-80", + "namespace": "gloo-system", "resourceVersion": "19140" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-45", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-46", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-46-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-46-80", + "namespace": "gloo-system", "resourceVersion": "19141" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-46", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-47", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-47-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-47-80", + "namespace": "gloo-system", "resourceVersion": "19139" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-47", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-48", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-48-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-48-80", + "namespace": "gloo-system", "resourceVersion": "19117" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-48", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-49", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-49-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-49-80", + "namespace": "gloo-system", "resourceVersion": "19177" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-49", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-5", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-5-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-5-80", + "namespace": "gloo-system", "resourceVersion": "18753" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-5", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-50", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-50-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-50-80", + "namespace": "gloo-system", "resourceVersion": "19171" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-50", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-51", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-51-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-51-80", + "namespace": "gloo-system", "resourceVersion": "19206" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-51", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-52", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-52-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-52-80", + "namespace": "gloo-system", "resourceVersion": "19185" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-52", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-53", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-53-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-53-80", + "namespace": "gloo-system", "resourceVersion": "19207" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-53", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-54", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-54-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-54-80", + "namespace": "gloo-system", "resourceVersion": "19172" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-54", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-55", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-55-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-55-80", + "namespace": "gloo-system", "resourceVersion": "19244" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-55", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-56", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-56-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-56-80", + "namespace": "gloo-system", "resourceVersion": "19268" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-56", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-57", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-57-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-57-80", + "namespace": "gloo-system", "resourceVersion": "19236" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-57", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-58", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-58-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-58-80", + "namespace": "gloo-system", "resourceVersion": "19217" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-58", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-59", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-59-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-59-80", + "namespace": "gloo-system", "resourceVersion": "19235" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-59", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-6", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-6-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-6-80", + "namespace": "gloo-system", "resourceVersion": "18738" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-6", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-60", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-60-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-60-80", + "namespace": "gloo-system", "resourceVersion": "19267" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-60", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-61", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-61-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-61-80", + "namespace": "gloo-system", "resourceVersion": "19334" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-61", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-62", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-62-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-62-80", + "namespace": "gloo-system", "resourceVersion": "19389" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-62", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-63", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-63-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-63-80", + "namespace": "gloo-system", "resourceVersion": "19443" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-63", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-64", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-64-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-64-80", + "namespace": "gloo-system", "resourceVersion": "19357" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-64", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-65", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-65-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-65-80", + "namespace": "gloo-system", "resourceVersion": "19368" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-65", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-66", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-66-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-66-80", + "namespace": "gloo-system", "resourceVersion": "19333" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-66", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-67", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-67-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-67-80", + "namespace": "gloo-system", "resourceVersion": "19343" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-67", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-68", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-68-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-68-80", + "namespace": "gloo-system", "resourceVersion": "19375" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-68", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-69", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-69-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-69-80", + "namespace": "gloo-system", "resourceVersion": "19487" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-69", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-7", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-7-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-7-80", + "namespace": "gloo-system", "resourceVersion": "18779" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-7", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-70", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-70-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-70-80", + "namespace": "gloo-system", "resourceVersion": "19423" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-70", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-71", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-71-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-71-80", + "namespace": "gloo-system", "resourceVersion": "19431" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-71", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-72", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-72-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-72-80", + "namespace": "gloo-system", "resourceVersion": "19474" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-72", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-73", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-73-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-73-80", + "namespace": "gloo-system", "resourceVersion": "19449" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-73", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-74", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-74-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-74-80", + "namespace": "gloo-system", "resourceVersion": "19417" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-74", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-75", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-75-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-75-80", + "namespace": "gloo-system", "resourceVersion": "19418" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-75", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-76", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-76-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-76-80", + "namespace": "gloo-system", "resourceVersion": "19465" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-76", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-77", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-77-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-77-80", + "namespace": "gloo-system", "resourceVersion": "19466" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-77", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-78", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-78-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-78-80", + "namespace": "gloo-system", "resourceVersion": "19437" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-78", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-79", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-79-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-79-80", + "namespace": "gloo-system", "resourceVersion": "19464" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-79", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-8", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-8-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-8-80", + "namespace": "gloo-system", "resourceVersion": "18801" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-8", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-80", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-80-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-80-80", + "namespace": "gloo-system", "resourceVersion": "19416" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-80", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-81", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-81-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-81-80", + "namespace": "gloo-system", "resourceVersion": "19600" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-81", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-82", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-82-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-82-80", + "namespace": "gloo-system", "resourceVersion": "19586" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-82", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-83", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-83-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-83-80", + "namespace": "gloo-system", "resourceVersion": "19522" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-83", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-84", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-84-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-84-80", + "namespace": "gloo-system", "resourceVersion": "19569" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-84", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-85", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-85-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-85-80", + "namespace": "gloo-system", "resourceVersion": "19558" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-85", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-86", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-86-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-86-80", + "namespace": "gloo-system", "resourceVersion": "19552" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-86", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-87", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-87-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-87-80", + "namespace": "gloo-system", "resourceVersion": "19594" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-87", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-88", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-88-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-88-80", + "namespace": "gloo-system", "resourceVersion": "19514" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-88", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-89", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-89-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-89-80", + "namespace": "gloo-system", "resourceVersion": "19513" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-89", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-9", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-9-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-9-80", + "namespace": "gloo-system", "resourceVersion": "18825" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-9", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-90", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-90-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-90-80", + "namespace": "gloo-system", "resourceVersion": "19613" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-90", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-91", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-91-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-91-80", + "namespace": "gloo-system", "resourceVersion": "19607" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-91", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-92", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-92-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-92-80", + "namespace": "gloo-system", "resourceVersion": "19568" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-92", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-93", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-93-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-93-80", + "namespace": "gloo-system", "resourceVersion": "19592" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-93", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-94", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-94-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-94-80", + "namespace": "gloo-system", "resourceVersion": "19550" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-94", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-95", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-95-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-95-80", + "namespace": "gloo-system", "resourceVersion": "19515" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-95", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-96", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-96-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-96-80", + "namespace": "gloo-system", "resourceVersion": "19535" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-96", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-97", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-97-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-97-80", + "namespace": "gloo-system", "resourceVersion": "19577" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-97", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-98", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-98-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-98-80", + "namespace": "gloo-system", "resourceVersion": "19781" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-98", - "serviceNamespace": "dev", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "master-control-ui-control-ui-99", + "serviceNamespace": "dev", + "servicePort": 80 + }, "metadata": { "labels": { - "app": "petstore", + "app": "petstore", "discovered_by": "kubernetesplugin" - }, - "name": "dev-master-control-ui-control-ui-99-80", - "namespace": "gloo-system", + }, + "name": "dev-master-control-ui-control-ui-99-80", + "namespace": "gloo-system", "resourceVersion": "19743" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "master-control-ui-control-ui-99", - "serviceNamespace": "dev", - "servicePort": 80 - } - } - }, - { - "discoveryMetadata": {}, - "metadata": { - "annotations": { - "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"dev\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" - }, - "labels": { - "discovered_by": "kubernetesplugin", - "service": "petstore" - }, - "name": "dev-petstore-8080", - "namespace": "gloo-system", - "resourceVersion": "18735" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "petstore" - }, - "serviceName": "petstore", - "serviceNamespace": "dev", - "servicePort": 8080, - "serviceSpec": { - "rest": { - "swaggerInfo": { - "url": "http://petstore.dev.svc.cluster.local:8080/swagger.json" - }, - "transformations": { - "addPet": { - "body": { - "text": "{\"id\": {{ default(id, \"\") }},\"name\": \"{{ default(name, \"\")}}\",\"tag\": \"{{ default(tag, \"\")}}\"}" - }, - "headers": { - ":method": { - "text": "POST" - }, - ":path": { - "text": "/api/pets" - }, - "content-type": { - "text": "application/json" - } - } - }, - "deletePet": { - "headers": { - ":method": { - "text": "DELETE" - }, - ":path": { - "text": "/api/pets/{{ default(id, \"\") }}" - }, - "content-type": { - "text": "application/json" - } - } - }, - "findPetById": { - "body": {}, - "headers": { - ":method": { - "text": "GET" - }, - ":path": { - "text": "/api/pets/{{ default(id, \"\") }}" - }, - "content-length": { - "text": "0" - }, - "content-type": {}, - "transfer-encoding": {} + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" + } + }, + { + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "petstore" + }, + "serviceName": "petstore", + "serviceNamespace": "dev", + "servicePort": 8080, + "serviceSpec": { + "rest": { + "swaggerInfo": { + "url": "http://petstore.dev.svc.cluster.local:8080/swagger.json" + }, + "transformations": { + "addPet": { + "body": { + "text": "{\"id\": {{ default(id, \"\") }},\"name\": \"{{ default(name, \"\")}}\",\"tag\": \"{{ default(tag, \"\")}}\"}" + }, + "headers": { + ":method": { + "text": "POST" + }, + ":path": { + "text": "/api/pets" + }, + "content-type": { + "text": "application/json" } - }, - "findPets": { - "body": {}, - "headers": { - ":method": { - "text": "GET" - }, - ":path": { - "text": "/api/pets?tags={{default(tags, \"\")}}&limit={{default(limit, \"\")}}" - }, - "content-length": { - "text": "0" - }, - "content-type": {}, - "transfer-encoding": {} + } + }, + "deletePet": { + "headers": { + ":method": { + "text": "DELETE" + }, + ":path": { + "text": "/api/pets/{{ default(id, \"\") }}" + }, + "content-type": { + "text": "application/json" } } + }, + "findPetById": { + "body": {}, + "headers": { + ":method": { + "text": "GET" + }, + ":path": { + "text": "/api/pets/{{ default(id, \"\") }}" + }, + "content-length": { + "text": "0" + }, + "content-type": {}, + "transfer-encoding": {} + } + }, + "findPets": { + "body": {}, + "headers": { + ":method": { + "text": "GET" + }, + ":path": { + "text": "/api/pets?tags={{default(tags, \"\")}}&limit={{default(limit, \"\")}}" + }, + "content-length": { + "text": "0" + }, + "content-type": {}, + "transfer-encoding": {} + } } } } } + }, + "metadata": { + "annotations": { + "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"service\":\"petstore\"},\"name\":\"petstore\",\"namespace\":\"dev\"},\"spec\":{\"ports\":[{\"port\":8080,\"protocol\":\"TCP\"}],\"selector\":{\"app\":\"petstore\"}}}\n" + }, + "labels": { + "discovered_by": "kubernetesplugin", + "service": "petstore" + }, + "name": "dev-petstore-8080", + "namespace": "gloo-system", + "resourceVersion": "18735" + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "gloo": "gloo" + }, + "serviceName": "gloo", + "serviceNamespace": "gloo-system", + "servicePort": 9977 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"gloo\"},\"name\":\"gloo\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"grpc\",\"port\":9977,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"gloo\"}}}\n" - }, + }, "labels": { - "app": "gloo", - "discovered_by": "kubernetesplugin", + "app": "gloo", + "discovered_by": "kubernetesplugin", "gloo": "gloo" - }, - "name": "gloo-system-gloo-9977", - "namespace": "gloo-system", + }, + "name": "gloo-system-gloo-9977", + "namespace": "gloo-system", "resourceVersion": "1082" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "gloo": "gloo" - }, - "serviceName": "gloo", - "serviceNamespace": "gloo-system", - "servicePort": 9977 - }, - "useHttp2": true - } - }, + }, + "useHttp2": true + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "gloo": "knative-external-proxy" + }, + "serviceName": "knative-external-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-external-proxy\"},\"name\":\"knative-external-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-external-proxy\"},\"type\":\"LoadBalancer\"}}\n" - }, + }, "labels": { - "app": "gloo", - "discovered_by": "kubernetesplugin", + "app": "gloo", + "discovered_by": "kubernetesplugin", "gloo": "knative-external-proxy" - }, - "name": "gloo-system-knative-external-proxy-443", - "namespace": "gloo-system", + }, + "name": "gloo-system-knative-external-proxy-443", + "namespace": "gloo-system", "resourceVersion": "1086" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "gloo": "knative-external-proxy" - }, - "serviceName": "knative-external-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "gloo": "knative-external-proxy" + }, + "serviceName": "knative-external-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-external-proxy\"},\"name\":\"knative-external-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-external-proxy\"},\"type\":\"LoadBalancer\"}}\n" - }, + }, "labels": { - "app": "gloo", - "discovered_by": "kubernetesplugin", + "app": "gloo", + "discovered_by": "kubernetesplugin", "gloo": "knative-external-proxy" - }, - "name": "gloo-system-knative-external-proxy-80", - "namespace": "gloo-system", + }, + "name": "gloo-system-knative-external-proxy-80", + "namespace": "gloo-system", "resourceVersion": "1078" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "gloo": "knative-external-proxy" - }, - "serviceName": "knative-external-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "gloo": "knative-internal-proxy" + }, + "serviceName": "knative-internal-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-internal-proxy\"},\"name\":\"knative-internal-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-internal-proxy\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "gloo", - "discovered_by": "kubernetesplugin", + "app": "gloo", + "discovered_by": "kubernetesplugin", "gloo": "knative-internal-proxy" - }, - "name": "gloo-system-knative-internal-proxy-443", - "namespace": "gloo-system", + }, + "name": "gloo-system-knative-internal-proxy-443", + "namespace": "gloo-system", "resourceVersion": "1098" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "gloo": "knative-internal-proxy" - }, - "serviceName": "knative-internal-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "gloo": "knative-internal-proxy" + }, + "serviceName": "knative-internal-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-internal-proxy\"},\"name\":\"knative-internal-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-internal-proxy\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "gloo", - "discovered_by": "kubernetesplugin", + "app": "gloo", + "discovered_by": "kubernetesplugin", "gloo": "knative-internal-proxy" - }, - "name": "gloo-system-knative-internal-proxy-80", - "namespace": "gloo-system", + }, + "name": "gloo-system-knative-internal-proxy-80", + "namespace": "gloo-system", "resourceVersion": "1072" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "gloo": "knative-internal-proxy" - }, - "serviceName": "knative-internal-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-80", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-80", + "namespace": "gloo-system", "resourceVersion": "1172" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 81 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-81", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-81", + "namespace": "gloo-system", "resourceVersion": "1094" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 81 - }, - "useHttp2": true - } - }, + }, + "useHttp2": true + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-9090", + "namespace": "gloo-system", "resourceVersion": "1096" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator", + "role": "activator", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-activator-v0-8-0-80", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-activator-v0-8-0-80", + "namespace": "gloo-system", "resourceVersion": "1221" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator", - "role": "activator", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator", + "role": "activator", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 81 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-activator-v0-8-0-81", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-activator-v0-8-0-81", + "namespace": "gloo-system", "resourceVersion": "1106" - }, + }, "status": { - "reportedBy": "gloo", + "reportedBy": "gloo", "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator", - "role": "activator", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 81 - }, - "useHttp2": true - } - }, + }, + "useHttp2": true + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "activator", + "role": "activator", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", - "discovered_by": "kubernetesplugin", + "app": "activator", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-activator-service-activator-v0-8-0-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-activator-service-activator-v0-8-0-9090", + "namespace": "gloo-system", "resourceVersion": "1416" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "activator", - "role": "activator", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-443", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-443", + "namespace": "gloo-system", "resourceVersion": "1441" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 8080 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-8080", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-8080", + "namespace": "gloo-system", "resourceVersion": "1383" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 8080 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-9090", + "namespace": "gloo-system", "resourceVersion": "1517" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-v0-8-0-443", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-v0-8-0-443", + "namespace": "gloo-system", "resourceVersion": "1756" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 8080 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-v0-8-0-8080", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-v0-8-0-8080", + "namespace": "gloo-system", "resourceVersion": "1471" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 8080 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "autoscaler", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", - "discovered_by": "kubernetesplugin", + "app": "autoscaler", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-autoscaler-v0-8-0-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-autoscaler-v0-8-0-9090", + "namespace": "gloo-system", "resourceVersion": "1321" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "autoscaler", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "controller" + }, + "serviceName": "controller", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"controller\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"controller\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"controller\"}}}\n" - }, + }, "labels": { - "app": "controller", - "discovered_by": "kubernetesplugin", + "app": "controller", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-controller-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-controller-9090", + "namespace": "gloo-system", "resourceVersion": "1059" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "controller" - }, - "serviceName": "controller", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "controller", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "controller", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"controller\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"controller\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"controller\"}}}\n" - }, + }, "labels": { - "app": "controller", - "discovered_by": "kubernetesplugin", + "app": "controller", + "discovered_by": "kubernetesplugin", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-controller-v0-8-0-9090", - "namespace": "gloo-system", + }, + "name": "knative-serving-controller-v0-8-0-9090", + "namespace": "gloo-system", "resourceVersion": "1066" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "controller", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "controller", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "role": "webhook" + }, + "serviceName": "webhook", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"role\":\"webhook\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"webhook\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"role\":\"webhook\"}}}\n" - }, + }, "labels": { - "discovered_by": "kubernetesplugin", - "role": "webhook", + "discovered_by": "kubernetesplugin", + "role": "webhook", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-webhook-443", - "namespace": "gloo-system", + }, + "name": "knative-serving-webhook-443", + "namespace": "gloo-system", "resourceVersion": "1088" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "role": "webhook" - }, - "serviceName": "webhook", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "app": "webhook", + "role": "webhook", + "serving.knative.dev/release": "v0.8.0" + }, + "serviceName": "webhook", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"role\":\"webhook\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"webhook\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"role\":\"webhook\"}}}\n" - }, + }, "labels": { - "discovered_by": "kubernetesplugin", - "role": "webhook", + "discovered_by": "kubernetesplugin", + "role": "webhook", "serving.knative.dev/release": "v0.8.0" - }, - "name": "knative-serving-webhook-webhook-v0-8-0-443", - "namespace": "gloo-system", + }, + "name": "knative-serving-webhook-webhook-v0-8-0-443", + "namespace": "gloo-system", "resourceVersion": "1269" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "app": "webhook", - "role": "webhook", - "serving.knative.dev/release": "v0.8.0" - }, - "serviceName": "webhook", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { + "kube": { + "serviceName": "gloo", + "serviceNamespace": "gloo-system", + "servicePort": 9977 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"gloo\"},\"name\":\"gloo\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"grpc\",\"port\":9977,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"gloo\"}}}\n" - }, + }, "labels": { - "app": "gloo", + "app": "gloo", "gloo": "gloo" - }, - "name": "kube-svc:gloo-system-gloo-9977", + }, + "name": "kube-svc:gloo-system-gloo-9977", "namespace": "gloo-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "gloo", - "serviceNamespace": "gloo-system", - "servicePort": 9977 - }, - "useHttp2": true - } - }, + }, + "status": {}, + "useHttp2": true + }, { + "kube": { + "serviceName": "knative-external-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-external-proxy\"},\"name\":\"knative-external-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-external-proxy\"},\"type\":\"LoadBalancer\"}}\n" - }, + }, "labels": { - "app": "gloo", + "app": "gloo", "gloo": "knative-external-proxy" - }, - "name": "kube-svc:gloo-system-knative-external-proxy-443", + }, + "name": "kube-svc:gloo-system-knative-external-proxy-443", "namespace": "gloo-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "knative-external-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 443 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "knative-external-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-external-proxy\"},\"name\":\"knative-external-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-external-proxy\"},\"type\":\"LoadBalancer\"}}\n" - }, + }, "labels": { - "app": "gloo", + "app": "gloo", "gloo": "knative-external-proxy" - }, - "name": "kube-svc:gloo-system-knative-external-proxy-80", + }, + "name": "kube-svc:gloo-system-knative-external-proxy-80", "namespace": "gloo-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "knative-external-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "knative-internal-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-internal-proxy\"},\"name\":\"knative-internal-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-internal-proxy\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "gloo", + "app": "gloo", "gloo": "knative-internal-proxy" - }, - "name": "kube-svc:gloo-system-knative-internal-proxy-443", + }, + "name": "kube-svc:gloo-system-knative-internal-proxy-443", "namespace": "gloo-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "knative-internal-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 443 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "knative-internal-proxy", + "serviceNamespace": "gloo-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"gloo\",\"gloo\":\"knative-internal-proxy\"},\"name\":\"knative-internal-proxy\",\"namespace\":\"gloo-system\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\"},{\"name\":\"https\",\"port\":443,\"protocol\":\"TCP\"}],\"selector\":{\"gloo\":\"knative-internal-proxy\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "gloo", + "app": "gloo", "gloo": "knative-internal-proxy" - }, - "name": "kube-svc:gloo-system-knative-internal-proxy-80", + }, + "name": "kube-svc:gloo-system-knative-internal-proxy-80", "namespace": "gloo-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "knative-internal-proxy", - "serviceNamespace": "gloo-system", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "k8s-app": "heapster" + }, + "serviceName": "heapster", + "serviceNamespace": "kube-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Heapster\"},\"name\":\"heapster\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":80,\"targetPort\":8082}],\"selector\":{\"k8s-app\":\"heapster\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "discovered_by": "kubernetesplugin", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "discovered_by": "kubernetesplugin", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Heapster" - }, - "name": "kube-system-heapster-80", - "namespace": "gloo-system", + }, + "name": "kube-system-heapster-80", + "namespace": "gloo-system", "resourceVersion": "1060" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "k8s-app": "heapster" - }, - "serviceName": "heapster", - "serviceNamespace": "kube-system", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "k8s-app": "heapster", + "version": "v1.6.1" + }, + "serviceName": "heapster", + "serviceNamespace": "kube-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Heapster\"},\"name\":\"heapster\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":80,\"targetPort\":8082}],\"selector\":{\"k8s-app\":\"heapster\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "discovered_by": "kubernetesplugin", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "discovered_by": "kubernetesplugin", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Heapster" - }, - "name": "kube-system-heapster-v1-6-1-80", - "namespace": "gloo-system", + }, + "name": "kube-system-heapster-v1-6-1-80", + "namespace": "gloo-system", "resourceVersion": "1076" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "k8s-app": "heapster", - "version": "v1.6.1" - }, - "serviceName": "heapster", - "serviceNamespace": "kube-system", - "servicePort": 80 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "k8s-app": "kube-dns" + }, + "serviceName": "kube-dns", + "serviceNamespace": "kube-system", + "servicePort": 53 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"KubeDNS\"},\"name\":\"kube-dns\",\"namespace\":\"kube-system\"},\"spec\":{\"clusterIP\":\"10.0.0.10\",\"ports\":[{\"name\":\"dns\",\"port\":53,\"protocol\":\"UDP\"},{\"name\":\"dns-tcp\",\"port\":53,\"protocol\":\"TCP\"}],\"selector\":{\"k8s-app\":\"kube-dns\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "discovered_by": "kubernetesplugin", - "k8s-app": "kube-dns", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "discovered_by": "kubernetesplugin", + "k8s-app": "kube-dns", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "KubeDNS" - }, - "name": "kube-system-kube-dns-53", - "namespace": "gloo-system", + }, + "name": "kube-system-kube-dns-53", + "namespace": "gloo-system", "resourceVersion": "1137" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "k8s-app": "kube-dns" - }, - "serviceName": "kube-dns", - "serviceNamespace": "kube-system", - "servicePort": 53 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "k8s-app": "metrics-server" + }, + "serviceName": "metrics-server", + "serviceNamespace": "kube-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Metrics-server\"},\"name\":\"metrics-server\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"protocol\":\"TCP\",\"targetPort\":\"https\"}],\"selector\":{\"k8s-app\":\"metrics-server\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "discovered_by": "kubernetesplugin", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "discovered_by": "kubernetesplugin", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Metrics-server" - }, - "name": "kube-system-metrics-server-443", - "namespace": "gloo-system", + }, + "name": "kube-system-metrics-server-443", + "namespace": "gloo-system", "resourceVersion": "1771" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "k8s-app": "metrics-server" - }, - "serviceName": "metrics-server", - "serviceNamespace": "kube-system", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { - "discoveryMetadata": {}, + "discoveryMetadata": {}, + "kube": { + "selector": { + "k8s-app": "metrics-server", + "version": "v0.3.1" + }, + "serviceName": "metrics-server", + "serviceNamespace": "kube-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Metrics-server\"},\"name\":\"metrics-server\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"protocol\":\"TCP\",\"targetPort\":\"https\"}],\"selector\":{\"k8s-app\":\"metrics-server\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "discovered_by": "kubernetesplugin", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "discovered_by": "kubernetesplugin", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Metrics-server" - }, - "name": "kube-system-metrics-server-v0-3-1-443", - "namespace": "gloo-system", + }, + "name": "kube-system-metrics-server-v0-3-1-443", + "namespace": "gloo-system", "resourceVersion": "1593" - }, - "status": { - "reportedBy": "gloo", - "state": "Accepted" - }, - "upstreamSpec": { - "kube": { - "selector": { - "k8s-app": "metrics-server", - "version": "v0.3.1" - }, - "serviceName": "metrics-server", - "serviceNamespace": "kube-system", - "servicePort": 443 - } + }, + "status": { + "reportedBy": "gloo", + "state": "Accepted" } - }, + }, { + "kube": { + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", + "app": "activator", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-activator-service-80", + }, + "name": "kube-svc:knative-serving-activator-service-80", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 81 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", + "app": "activator", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-activator-service-81", + }, + "name": "kube-svc:knative-serving-activator-service-81", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 81 - }, - "useHttp2": true - } - }, + }, + "status": {}, + "useHttp2": true + }, { + "kube": { + "serviceName": "activator-service", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"activator\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"activator-service\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":80,\"protocol\":\"TCP\",\"targetPort\":8012},{\"name\":\"http2\",\"port\":81,\"protocol\":\"TCP\",\"targetPort\":8013},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"activator\"},\"type\":\"ClusterIP\"}}\n" - }, + }, "labels": { - "app": "activator", + "app": "activator", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-activator-service-9090", + }, + "name": "kube-svc:knative-serving-activator-service-9090", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "activator-service", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", + "app": "autoscaler", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-autoscaler-443", + }, + "name": "kube-svc:knative-serving-autoscaler-443", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 8080 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", + "app": "autoscaler", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-autoscaler-8080", + }, + "name": "kube-svc:knative-serving-autoscaler-8080", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 8080 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "autoscaler", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"autoscaler\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"autoscaler\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"http\",\"port\":8080,\"protocol\":\"TCP\",\"targetPort\":8080},{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090},{\"name\":\"custom-metrics\",\"port\":443,\"protocol\":\"TCP\",\"targetPort\":8443}],\"selector\":{\"app\":\"autoscaler\"}}}\n" - }, + }, "labels": { - "app": "autoscaler", + "app": "autoscaler", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-autoscaler-9090", + }, + "name": "kube-svc:knative-serving-autoscaler-9090", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "autoscaler", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "controller", + "serviceNamespace": "knative-serving", + "servicePort": 9090 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"controller\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"controller\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"name\":\"metrics\",\"port\":9090,\"protocol\":\"TCP\",\"targetPort\":9090}],\"selector\":{\"app\":\"controller\"}}}\n" - }, + }, "labels": { - "app": "controller", + "app": "controller", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-controller-9090", + }, + "name": "kube-svc:knative-serving-controller-9090", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "controller", - "serviceNamespace": "knative-serving", - "servicePort": 9090 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "webhook", + "serviceNamespace": "knative-serving", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"role\":\"webhook\",\"serving.knative.dev/release\":\"v0.8.0\"},\"name\":\"webhook\",\"namespace\":\"knative-serving\"},\"spec\":{\"ports\":[{\"port\":443,\"targetPort\":8443}],\"selector\":{\"role\":\"webhook\"}}}\n" - }, + }, "labels": { - "role": "webhook", + "role": "webhook", "serving.knative.dev/release": "v0.8.0" - }, - "name": "kube-svc:knative-serving-webhook-443", + }, + "name": "kube-svc:knative-serving-webhook-443", "namespace": "knative-serving" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "webhook", - "serviceNamespace": "knative-serving", - "servicePort": 443 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "heapster", + "serviceNamespace": "kube-system", + "servicePort": 80 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Heapster\"},\"name\":\"heapster\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":80,\"targetPort\":8082}],\"selector\":{\"k8s-app\":\"heapster\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Heapster" - }, - "name": "kube-svc:kube-system-heapster-80", + }, + "name": "kube-svc:kube-system-heapster-80", "namespace": "kube-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "heapster", - "serviceNamespace": "kube-system", - "servicePort": 80 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "kube-dns", + "serviceNamespace": "kube-system", + "servicePort": 53 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"KubeDNS\"},\"name\":\"kube-dns\",\"namespace\":\"kube-system\"},\"spec\":{\"clusterIP\":\"10.0.0.10\",\"ports\":[{\"name\":\"dns\",\"port\":53,\"protocol\":\"UDP\"},{\"name\":\"dns-tcp\",\"port\":53,\"protocol\":\"TCP\"}],\"selector\":{\"k8s-app\":\"kube-dns\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "k8s-app": "kube-dns", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "k8s-app": "kube-dns", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "KubeDNS" - }, - "name": "kube-svc:kube-system-kube-dns-53", + }, + "name": "kube-svc:kube-system-kube-dns-53", "namespace": "kube-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "kube-dns", - "serviceNamespace": "kube-system", - "servicePort": 53 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "kube-dns", + "serviceNamespace": "kube-system", + "servicePort": 53 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"k8s-app\":\"kube-dns\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"KubeDNS\"},\"name\":\"kube-dns\",\"namespace\":\"kube-system\"},\"spec\":{\"clusterIP\":\"10.0.0.10\",\"ports\":[{\"name\":\"dns\",\"port\":53,\"protocol\":\"UDP\"},{\"name\":\"dns-tcp\",\"port\":53,\"protocol\":\"TCP\"}],\"selector\":{\"k8s-app\":\"kube-dns\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "k8s-app": "kube-dns", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "k8s-app": "kube-dns", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "KubeDNS" - }, - "name": "kube-svc:kube-system-kube-dns-53", + }, + "name": "kube-svc:kube-system-kube-dns-53", "namespace": "kube-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "kube-dns", - "serviceNamespace": "kube-system", - "servicePort": 53 - } - } - }, + }, + "status": {} + }, { + "kube": { + "serviceName": "metrics-server", + "serviceNamespace": "kube-system", + "servicePort": 443 + }, "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Service\",\"metadata\":{\"annotations\":{},\"labels\":{\"addonmanager.kubernetes.io/mode\":\"Reconcile\",\"kubernetes.io/cluster-service\":\"true\",\"kubernetes.io/name\":\"Metrics-server\"},\"name\":\"metrics-server\",\"namespace\":\"kube-system\"},\"spec\":{\"ports\":[{\"port\":443,\"protocol\":\"TCP\",\"targetPort\":\"https\"}],\"selector\":{\"k8s-app\":\"metrics-server\"}}}\n" - }, + }, "labels": { - "addonmanager.kubernetes.io/mode": "Reconcile", - "kubernetes.io/cluster-service": "true", + "addonmanager.kubernetes.io/mode": "Reconcile", + "kubernetes.io/cluster-service": "true", "kubernetes.io/name": "Metrics-server" - }, - "name": "kube-svc:kube-system-metrics-server-443", + }, + "name": "kube-svc:kube-system-metrics-server-443", "namespace": "kube-system" - }, - "status": {}, - "upstreamSpec": { - "kube": { - "serviceName": "metrics-server", - "serviceNamespace": "kube-system", - "servicePort": 443 - } - } + }, + "status": {} } ] diff --git a/test/e2e/aws_credentials/ec2_test.go b/test/e2e/aws_credentials/ec2_test.go index 3e40a03519a..239958dcea2 100644 --- a/test/e2e/aws_credentials/ec2_test.go +++ b/test/e2e/aws_credentials/ec2_test.go @@ -80,57 +80,51 @@ var _ = Describe("", func() { secretRef := secret.Metadata.Ref() var filters []*glooec2.TagFilter withRole := &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: region, - SecretRef: &secretRef, - RoleArn: roleArn, - Filters: filters, - PublicIp: false, - Port: 80, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: region, + SecretRef: &secretRef, + RoleArn: roleArn, + Filters: filters, + PublicIp: false, + Port: 80, }, }, Metadata: core.Metadata{Name: "with-role", Namespace: "default"}, } withRoleWithoutSecret := &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: region, - RoleArn: roleArn, - Filters: filters, - PublicIp: false, - Port: 80, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: region, + RoleArn: roleArn, + Filters: filters, + PublicIp: false, + Port: 80, }, }, Metadata: core.Metadata{Name: "with-role", Namespace: "default"}, } withOutRole := &v1.Upstream{ - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: region, - SecretRef: &secretRef, - Filters: filters, - PublicIp: false, - Port: 80, - }, + UpstreamType: &v1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: region, + SecretRef: &secretRef, + Filters: filters, + PublicIp: false, + Port: 80, }, }, Metadata: core.Metadata{Name: "without-role", Namespace: "default"}, } By("should error when no role provided") - svcWithout, err := ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withOutRole.UpstreamSpec.GetAwsEc2()), v1.SecretList{secret}) + svcWithout, err := ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withOutRole.GetAwsEc2()), v1.SecretList{secret}) Expect(err).NotTo(HaveOccurred()) _, err = svcWithout.DescribeInstances(&ec2api.DescribeInstancesInput{}) Expect(err).To(HaveOccurred()) By("should succeed when role provided, secret passed with upstream") - svc, err := ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withRole.UpstreamSpec.GetAwsEc2()), v1.SecretList{secret}) + svc, err := ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withRole.GetAwsEc2()), v1.SecretList{secret}) Expect(err).NotTo(HaveOccurred()) result, err := svc.DescribeInstances(&ec2api.DescribeInstancesInput{}) Expect(err).NotTo(HaveOccurred()) @@ -138,7 +132,7 @@ var _ = Describe("", func() { Expect(len(instances)).To(BeNumerically(">", 0)) By("should succeed when role provided, secret derived from env") - svc, err = ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withRoleWithoutSecret.UpstreamSpec.GetAwsEc2()), v1.SecretList{secret}) + svc, err = ec2.GetEc2Client(ec2.NewCredentialSpecFromEc2UpstreamSpec(withRoleWithoutSecret.GetAwsEc2()), v1.SecretList{secret}) Expect(err).NotTo(HaveOccurred()) result, err = svc.DescribeInstances(&ec2api.DescribeInstancesInput{}) Expect(err).NotTo(HaveOccurred()) diff --git a/test/e2e/aws_ec2_test.go b/test/e2e/aws_ec2_test.go index 7aceba20a34..569fe3f6394 100644 --- a/test/e2e/aws_ec2_test.go +++ b/test/e2e/aws_ec2_test.go @@ -112,25 +112,23 @@ var _ = Describe("AWS EC2 Plugin utils test", func() { Namespace: "default", Name: region, }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_AwsEc2{ - AwsEc2: &glooec2.UpstreamSpec{ - Region: region, - SecretRef: &secretRef, - RoleArn: roleArn, - Filters: []*glooec2.TagFilter{ - { - Spec: &glooec2.TagFilter_KvPair_{ - KvPair: &glooec2.TagFilter_KvPair{ - Key: "svc", - Value: "worldwide-hello", - }, + UpstreamType: &gloov1.Upstream_AwsEc2{ + AwsEc2: &glooec2.UpstreamSpec{ + Region: region, + SecretRef: &secretRef, + RoleArn: roleArn, + Filters: []*glooec2.TagFilter{ + { + Spec: &glooec2.TagFilter_KvPair_{ + KvPair: &glooec2.TagFilter_KvPair{ + Key: "svc", + Value: "worldwide-hello", }, }, }, - PublicIp: true, - Port: 80, }, + PublicIp: true, + Port: 80, }, }, } diff --git a/test/e2e/aws_test.go b/test/e2e/aws_test.go index 2f998f90687..b6244d277dc 100644 --- a/test/e2e/aws_test.go +++ b/test/e2e/aws_test.go @@ -76,23 +76,21 @@ var _ = Describe("AWS Lambda", func() { Namespace: "default", Name: region, }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Aws{ - Aws: &aws_plugin.UpstreamSpec{ - LambdaFunctions: []*aws_plugin.LambdaFunctionSpec{{ - LambdaFunctionName: "uppercase", + UpstreamType: &gloov1.Upstream_Aws{ + Aws: &aws_plugin.UpstreamSpec{ + LambdaFunctions: []*aws_plugin.LambdaFunctionSpec{{ + LambdaFunctionName: "uppercase", + Qualifier: "", + LogicalName: "uppercase", + }, + { + LambdaFunctionName: "contact-form", Qualifier: "", - LogicalName: "uppercase", - }, - { - LambdaFunctionName: "contact-form", - Qualifier: "", - LogicalName: "contact-form", - }, + LogicalName: "contact-form", }, - Region: region, - SecretRef: utils.ResourceRefPtr(secret.Metadata.Ref()), }, + Region: region, + SecretRef: utils.ResourceRefPtr(secret.Metadata.Ref()), }, }, } diff --git a/test/e2e/custom_auth_test.go b/test/e2e/custom_auth_test.go index dd6f99a348b..cedcd7db8bf 100644 --- a/test/e2e/custom_auth_test.go +++ b/test/e2e/custom_auth_test.go @@ -53,16 +53,14 @@ var _ = Describe("CustomAuth", func() { Name: "custom-auth", Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UseHttp2: true, - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static.UpstreamSpec{ - Hosts: []*static.Host{{ - // this is a safe way of referring to localhost - Addr: envoyInstance.GlooAddr, - Port: 8095, - }}, - }, + UseHttp2: true, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static.UpstreamSpec{ + Hosts: []*static.Host{{ + // this is a safe way of referring to localhost + Addr: envoyInstance.GlooAddr, + Port: 8095, + }}, }, }, } diff --git a/test/e2e/happypath_test.go b/test/e2e/happypath_test.go index 11ba3744d63..0bba2358f41 100644 --- a/test/e2e/happypath_test.go +++ b/test/e2e/happypath_test.go @@ -208,22 +208,20 @@ var _ = Describe("Happy path", func() { // create ssl proxy copyUp := *tu.Upstream copyUp.Metadata.Name = copyUp.Metadata.Name + "-ssl" - port := tu.Upstream.UpstreamSpec.UpstreamType.(*gloov1.UpstreamSpec_Static).Static.Hosts[0].Port - addr := tu.Upstream.UpstreamSpec.UpstreamType.(*gloov1.UpstreamSpec_Static).Static.Hosts[0].Addr + port := tu.Upstream.UpstreamType.(*gloov1.Upstream_Static).Static.Hosts[0].Port + addr := tu.Upstream.UpstreamType.(*gloov1.Upstream_Static).Static.Hosts[0].Addr sslport := v1helpers.StartSslProxy(ctx, port) ref := sslSecret.Metadata.Ref() - copyUp.UpstreamSpec = &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: []*static_plugin_gloo.Host{{ - Addr: addr, - Port: sslport, - }}, - }, + copyUp.UpstreamType = &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: []*static_plugin_gloo.Host{{ + Addr: addr, + Port: sslport, + }}, }, } - copyUp.UpstreamSpec.SslConfig = &gloov1.UpstreamSslConfig{ + copyUp.SslConfig = &gloov1.UpstreamSslConfig{ SslSecrets: &gloov1.UpstreamSslConfig_SecretRef{ SecretRef: &ref, }, diff --git a/test/e2e/health_checks_test.go b/test/e2e/health_checks_test.go index 6543b538bc2..2d7f9701339 100644 --- a/test/e2e/health_checks_test.go +++ b/test/e2e/health_checks_test.go @@ -143,7 +143,7 @@ var _ = Describe("Health Checks", func() { v.Check.Interval = &translator.DefaultHealthCheckInterval v.Check.HealthyThreshold = translator.DefaultThreshold v.Check.UnhealthyThreshold = translator.DefaultThreshold - us.GetUpstreamSpec().HealthChecks = []*envoycore.HealthCheck{v.Check} + us.HealthChecks = []*envoycore.HealthCheck{v.Check} _, err = testClients.UpstreamClient.Write(us, clients.WriteOpts{ OverwriteExisting: true, @@ -169,7 +169,7 @@ var _ = Describe("Health Checks", func() { It("outlier detection", func() { us, err := testClients.UpstreamClient.Read(tu.Upstream.Metadata.Namespace, tu.Upstream.Metadata.Name, clients.ReadOpts{}) Expect(err).NotTo(HaveOccurred()) - us.GetUpstreamSpec().OutlierDetection = &envoycluster.OutlierDetection{ + us.OutlierDetection = &envoycluster.OutlierDetection{ Interval: &types.Duration{Seconds: 1}, } @@ -210,7 +210,7 @@ var _ = Describe("Health Checks", func() { us, err := testClients.UpstreamClient.Read(tu.Upstream.Metadata.Namespace, tu.Upstream.Metadata.Name, clients.ReadOpts{}) Expect(err).NotTo(HaveOccurred()) - us.GetUpstreamSpec().HealthChecks = []*envoycore.HealthCheck{ + us.HealthChecks = []*envoycore.HealthCheck{ { Timeout: &translator.DefaultHealthCheckTimeout, Interval: &translator.DefaultHealthCheckInterval, diff --git a/test/e2e/ratelimit_test.go b/test/e2e/ratelimit_test.go index ce7b886fe29..2556ddf1509 100644 --- a/test/e2e/ratelimit_test.go +++ b/test/e2e/ratelimit_test.go @@ -79,15 +79,13 @@ var _ = Describe("Rate Limit", func() { Name: "rl-server", Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UseHttp2: true, - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &gloov1static.UpstreamSpec{ - Hosts: []*gloov1static.Host{{ - Addr: envoyInstance.GlooAddr, - Port: rlPort, - }}, - }, + UseHttp2: true, + UpstreamType: &gloov1.Upstream_Static{ + Static: &gloov1static.UpstreamSpec{ + Hosts: []*gloov1static.Host{{ + Addr: envoyInstance.GlooAddr, + Port: rlPort, + }}, }, }, } diff --git a/test/kube2e/gateway/gateway_test.go b/test/kube2e/gateway/gateway_test.go index edf58fa6bef..a3987e39afc 100644 --- a/test/kube2e/gateway/gateway_test.go +++ b/test/kube2e/gateway/gateway_test.go @@ -740,7 +740,7 @@ var _ = Describe("Kube2e: gateway", func() { if err != nil { return err } - upstream.UpstreamSpec.UpstreamType.(*gloov1.UpstreamSpec_Kube).Kube.ServiceSpec = &gloov1plugins.ServiceSpec{ + upstream.UpstreamType.(*gloov1.Upstream_Kube).Kube.ServiceSpec = &gloov1plugins.ServiceSpec{ PluginType: &gloov1plugins.ServiceSpec_Grpc{ Grpc: &grpcv1.ServiceSpec{}, }, @@ -757,7 +757,7 @@ var _ = Describe("Kube2e: gateway", func() { for _, svc := range createdServices { // now set subset config on an upstream: up, _ := getUpstream(svc) - spec := up.GetUpstreamSpec().GetKube().GetServiceSpec() + spec := up.GetKube().GetServiceSpec() Expect(spec).ToNot(BeNil()) Expect(spec.GetGrpc()).ToNot(BeNil()) } @@ -1015,7 +1015,7 @@ var _ = Describe("Kube2e: gateway", func() { // I use eventually so it will wait a bit between retries. Eventually(func() error { upstream, _ := getUpstream() - upstream.UpstreamSpec.UpstreamType.(*gloov1.UpstreamSpec_Kube).Kube.SubsetSpec = &gloov1plugins.SubsetSpec{ + upstream.UpstreamType.(*gloov1.Upstream_Kube).Kube.SubsetSpec = &gloov1plugins.SubsetSpec{ Selectors: []*gloov1plugins.Selector{{ Keys: []string{"text"}, }}, diff --git a/test/samples/sample_gloo_api_snapshot.go b/test/samples/sample_gloo_api_snapshot.go index 6037d3c8679..542f0324292 100644 --- a/test/samples/sample_gloo_api_snapshot.go +++ b/test/samples/sample_gloo_api_snapshot.go @@ -17,14 +17,12 @@ func SimpleUpstream() *v1.Upstream { Name: "test", Namespace: "gloo-system", }, - UpstreamSpec: &v1.UpstreamSpec{ - UpstreamType: &v1.UpstreamSpec_Static{ - Static: &static.UpstreamSpec{ - Hosts: []*static.Host{ - { - Addr: "Test", - Port: 124, - }, + UpstreamType: &v1.Upstream_Static{ + Static: &static.UpstreamSpec{ + Hosts: []*static.Host{ + { + Addr: "Test", + Port: 124, }, }, }, diff --git a/test/services/mesh.go b/test/services/mesh.go index 43fd79e80ad..d19ecfe09fe 100644 --- a/test/services/mesh.go +++ b/test/services/mesh.go @@ -139,14 +139,12 @@ func (m *QuoteUnquoteMesh) Start(ef *EnvoyFactory, testClients TestClients, serv Name: fmt.Sprintf("local-%d", i), Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: []*static_plugin_gloo.Host{{ - Addr: "localhost", - Port: s.Port, - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: []*static_plugin_gloo.Host{{ + Addr: "localhost", + Port: s.Port, + }}, }, }, } @@ -160,14 +158,12 @@ func (m *QuoteUnquoteMesh) Start(ef *EnvoyFactory, testClients TestClients, serv Name: fmt.Sprintf("mesh-local-%d", i), Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: []*static_plugin_gloo.Host{{ - Addr: "localhost", - Port: m.portfor(i, i), - }}, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: []*static_plugin_gloo.Host{{ + Addr: "localhost", + Port: m.portfor(i, i), + }}, }, }, } diff --git a/test/v1helpers/test_upstream.go b/test/v1helpers/test_upstream.go index c9fea578a67..8dfce6c7705 100644 --- a/test/v1helpers/test_upstream.go +++ b/test/v1helpers/test_upstream.go @@ -95,11 +95,9 @@ func newTestUpstream(addr string, ports []uint32, responses <-chan *ReceivedRequ Name: fmt.Sprintf("local-%d", id), Namespace: "default", }, - UpstreamSpec: &gloov1.UpstreamSpec{ - UpstreamType: &gloov1.UpstreamSpec_Static{ - Static: &static_plugin_gloo.UpstreamSpec{ - Hosts: hosts, - }, + UpstreamType: &gloov1.Upstream_Static{ + Static: &static_plugin_gloo.UpstreamSpec{ + Hosts: hosts, }, }, }