Define CRDs for HTTPAPI and Quota spec and distribute to proxies#1845
Define CRDs for HTTPAPI and Quota spec and distribute to proxies#1845ayj merged 6 commits intoistio:masterfrom
Conversation
|
@ayj: Adding do-not-merge/release-note-label-needed because the release note process has not been followed. DetailsOne of the following labels is required "release-note", "release-note-action-required", or "release-note-none". Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Assign the PR to them by writing The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these OWNERS Files:You can indicate your approval by writing |
|
That that this is a continuation of istio/old_pilot_repo#1644 which was rebased from istio/pilot onto istio/istio. |
Codecov Report
@@ Coverage Diff @@
## master #1845 +/- ##
==========================================
- Coverage 81.68% 81.12% -0.56%
==========================================
Files 135 184 +49
Lines 11537 18650 +7113
==========================================
+ Hits 9424 15130 +5706
- Misses 1920 3101 +1181
- Partials 193 419 +226
Continue to review full report at Codecov.
|
…client-spec-quota
| // `istio.mixer.v1.config.client.IstioService` and | ||
| // `istio.proxy.v1.config.IstioService` are logically | ||
| // equivalent. Convert from mixer-to-proxy representation so we can | ||
| // use ResolveHostname below. |
There was a problem hiding this comment.
note: IstioService is going away in pilot (see @louiscryan and @rshriram latest gateway proposal)
| pbt := proto.MessageType(ps.MessageName) | ||
| if pbt == nil { | ||
| return nil, fmt.Errorf("unknown type %q", ps.MessageName) | ||
| pbt = gogoproto.MessageType(ps.MessageName) |
There was a problem hiding this comment.
clarify where gogoproto comes in from?
| } | ||
|
|
||
| // ValidateHTTPAPISpecBinding checks that HTTPAPISpecBinding is well-formed. | ||
| func ValidateHTTPAPISpecBinding(msg proto.Message) error { |
There was a problem hiding this comment.
note: we're entertaining the idea of using protoc-validate annotations from lyft to automate these functions. this is fine for now.
|
Agreed 100% on consistent codegen for our api-machinery. cc @gjwestlife |
…io#1845) 1. create corresponding CRD for HTTPAPISpec, HTTPAPISpecBinding, QuotaSpec, and QuotaSpecBinding (see https://github.com/istio/api/blob/master/mixer/v1/config/client/api_spec.proto) 2. add corresponding validation code for new model types 3. update istioConfigStore to select HTTPAPISpec and QuotaSpec config associated with destination service instances using the corresponding HTTPAPISpec and QuotaSpec bindings. 4. distribute the HTTPAPI and Quota spec to proxy as part of mixerclient filter configura
create corresponding CRD for HTTPAPISpec, HTTPAPISpecBinding, QuotaSpec, and QuotaSpecBinding (see https://github.com/istio/api/blob/master/mixer/v1/config/client/api_spec.proto)
add corresponding validation code for new model types
update
istioConfigStoreto select HTTPAPISpec and QuotaSpec config associated with destination service instances using the corresponding HTTPAPISpec and QuotaSpec bindings.distribute the HTTPAPI and Quota spec to proxy as part of mixerclient filter configuration.