pkg/apis/istio/v1alpha3
Scott Andrews a088fee622 Add Istio client from knative/serving (#35)
* Add Istio client from knative/serving

- Add Istio types in 'apis/istio/v1alpha3'
- Update codegen scripts
- Generate client in 'client'
- Add @tcnghia as owner for 'apis/istio'

Fixes #1

* nix linguring serving package dep

* cleanup vendor cache

* Mark /client as generated

* Fix verify-codegen script

* Run verify-codegen.sh via presubmit-tests.sh

* Remove Gatewaies -> Gateway hack

Looks like we don't need it anymore
2018-08-03 16:14:10 -07:00
..
README.md Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00
doc.go Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00
gateway_types.go Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00
register.go Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00
virtualservice_types.go Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00
zz_generated.deepcopy.go Add Istio client from knative/serving (#35) 2018-08-03 16:14:10 -07:00

README.md

What are these files?

These are Go structs for Istio CRD. We translated them from proto files in https://github.com/istio/api/tree/master/networking/v1alpha3 .

Why do we hand-translate from proto? i.e Why can't we vendor these?

Istio needs to run on many platforms and as a reason they represent their objects internally as proto. On Kubernetes, their API take in JSON objects and convert to proto before processing them.

So they have nothing we can vendor, except for the Go files that are generated by the proto compiler, which is not compatible with K8s API code-generator at all.

We may be able to donate our translation so they can maintain it themselves. See https://github.com/istio/istio/issues/6084.