-
Notifications
You must be signed in to change notification settings - Fork 573
Unification of config API #94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Open items that require further discussion (please add/remove as necessary):
|
Proposal to unify config documents and config keysAfter discussion with @mandarjog @andraxylia @ayj , it seems we can start unification from the consistent conceptual model of the config, putting storage, perf, versioning, validation, and roll-outs aside. We have a common theme in Manager and Mixer that configuration consists of individual documents:
The granularity of the document is dictated by two factors:
Every configuration document should carry its metadata such as the "type" of the document, and a collection of "keys" that are used to select documents. All remaining fields compose the document content, as specified by the proto definitions: that means selector/aspects are mixer rule content, routes/matches are proxy rule content. The configuration key has to be unique globally, and that is the only guaranteed constraint that is easy to enforce with a key-value storage. We should utilize consistent fields such as "type" and "name" for uniformity. Applying these ideas to current config protos, I suggest we structure them as follows:
# meta: note the lack of namespace
type: route-rule
destination: a.default.svc.cluster.local
name: favorite-rule
# content
precedence: 2
match:
httpHeaders:
version:
exact: v1
route:
- tags:
version: v1 Sample REST: get
# meta: note lack of namespace, name since only one policy per destination
type: destination-rule
destination: a.default.svc.cluster.local
# content
- tags:
version: v1
circuitBreaker:
... Sample REST key: get
# meta: single object per installation
type: mesh-config
# content
discoveryAddress: istio-manager:8080
authPolicy: MUTUAL_TLS Sample REST key: get
# meta
type: mixer-rule
scope: global
subject: a.default.svc.cluster.local
name: clueless-pet-rule
# content
selector: source.labels["app"]=="reviews" && source.labels["version"] == "v3"
aspects:
- kind: quota
params:
quota:
- descriptorName: RequestCount
maxAmount: 5
expiration: 1s Sample REST key: get
|
(edited by @kyessenov to fit the story of rate limit) Mixer has the following additional types.
# meta: seems like unique per scope
type: mixer-adapter
scope: global
name: shiny-quota-adaptor
# annotation: satisfies aspect quota
# aspects:
# - quota
# content
plugin: memQuota # this can be a statically linked plug-in, a webhook, or an actual plugin
parameters:
... REST key: get edited by @mandarjog to align with api spec /scopes/{scope}/adapters/{impl_name}/{config_name} I find it useful to think about this as a code statement that instantiates a plugin to satisfy an aspect: global.shinyQuotaAdaptor := memQuota(parameters).(quota)
# meta: seems like unique per scope
type: mixer-descriptor
scope: global
name: quota
# content
- name: RequestCount
rate_limit: true REST key: @ZackButcher @geeknoid @douglas-reid does this make sense? |
We're also going to need to define dictionaries within config...
…On Fri, May 5, 2017 at 2:53 PM, mandarjog ***@***.***> wrote:
Mixer has the following additional types.
type: mixer-adapters # note no subject
scope: global
name: rate-limit
type: mixer-descriptors # note no subject
scope: global
name: rate-limit
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#94 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AVucHR7XIHOKgvLjHU_IBehvw2FRa_c4ks5r25pTgaJpZM4NP88l>
.
|
type: mixer-aspects-version-rule
scope: global
subject: ns.svc.cluster.local
name: rate-limit
version-rule:
- version: v1
weight: 50
- version: v2
weight: 50 type: mixer-adapters-version-rule # note no subject
scope: global
name: rate-limit
version-rule:
- version: v1
weight: 100
- version: v2
weight: 0 |
what is this last post about? |
Adapters are grouped on the 'impl' key
And descriptors have types. Descriptor types are already used as keys.
https://github.com/istio/api/blob/master/mixer/v1/config_api_swagger.yaml
Look at replaceAdapterConfig and replaceDescriptor
Using "iPhone 9";
… On May 5, 2017, at 3:45 PM, Kuat ***@***.***> wrote:
These configs are enormous, let's think how to break apart adapters and descriptors.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Re: naming is the name for the descriptor:
I feel like we want the resource names to be the first (and we should have that reflect in the documents themselves). At least, we should be consistent with: https://cloud.google.com/apis/design/resource_names |
I'm not sure what the descriptor actually does. Is there significance to the name |
@mandarjog please stop editing my examples :) I thought |
@kyessenov my naming thought applies to more than just descriptors. in a bunch of these examples, we could leave out the lines for So, |
True, but I think there is benefit to structured names. It's immediately clear what list operations do if you break the name into resource type, and primary key properties. |
quota-default reflects the fact that there is a 1:n relationship between the adapter impl and the name of the configuration block.
It is also *not* the name of the aspect.
The impl is implicitly connected to the aspect because it registers itself as such.
That name is important because the aspect can use it to explicitly associate with the adapter.
Re: editing "your" example, looks like I wrote that comment originally. Edit it back if you need to, now that you know the reason.
Using "iPhone 9";
… On May 5, 2017, at 8:35 PM, Kuat ***@***.***> wrote:
@mandarjog please stop editing my examples :) I thought quota as a name is important since it's just a symbolic name to connect an aspect to an implementation. Why did you rename it to quota-default?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Ok, updating examples to reflect that there could be multiple adaptors for an aspect. |
Regarding expicit/implicit declaration of the fact that |
The association of rule (route/destination/mixer) to service (destination/scope/subject) is currently encoded in the rule. Does it make sense for this association to be distinct resource? An association would associate a service (or set of services via labels) to a set of rules based on service name, scope, etc. Associations could map one or more service to one or more rules. This composability might be easier user to manage than, for example, creating N rules with identical content except for the subject. This might also be useful for versioning and staged rollouts where rules could be considered immutable and only the association is updated (or new associations added), e.g. Association maps 5% of services to RulesV1 and 95% to RulesV2. |
I think it's an interesting idea to think about an "association rule" (presumably not an individual binding of a rule to a service but some rule saying "match these ____ services to these ____ rules"). Mixer design uses config overrides that are scoped by authority. A cluster admin rule overrides a service producer rule, which is reflected by the fact that the higher authority "scope" rule is used for the same "subject". I'm not sure how to express that easily with more general associations. |
Yes, service-to-rule binding could be N:N. Wouldn't authority belong with the binding with this model? It could either be an explicit field in the binding resource or perhaps the binding themselves are organized under hierarchical scope/authority. |
Is the below example similar to what you have in mind: # meta
type: mixer-rule
name: clueless-pet-rule
# content
selector: source.labels["app"]=="reviews" && source.labels["version"] == "v3"
aspects:
- kind: quota
params:
quota:
- descriptorName: RequestCount
maxAmount: 5
expiration: 1s # meta
type: mixer-rule-binding
name: apply-to-default
# content
selector: service == "*.default.svc.cluster.local" && rule == "clueless-pet-rule" # select which service and rules to apply
authority: root # utmost authority, root decision precedes decisions by lower authority The two selectors are different: the rule selector applies to data path (request attributes) while the binding selector applies to the control plane (hierarchy of services and authorities, collection of rules). I'd want to hear a viable example where data path dictates the control plane rule - I can only come up with the following: "if a request contains a magic string, apply the rule that increases the quota for the rate limit". |
Manager and mixer API server paths are not consistent. Manager path is prefixed with Istio resource version (i.e. v1alpha1) and mixer path is not. Short term workaround is to special case this behavior. Long term solution is to unify API scheme and server implementations. See istio/api#94 for long term tracking.
Manager and mixer API server paths are not consistent. Manager path is prefixed with Istio resource version (i.e. v1alpha1) and mixer path is not. Short term workaround is to special case this behavior. Long term solution is to unify API scheme and server implementations. See istio/api#94 for long term tracking.
While you guys discuss the high level constructs and ideas, how about doing the basic sensible cleanups that should have been there in the first place for istioctl ? The command set is confusing to say the least. It blatantly and very obviously misses the simplest of usability aspects. |
Abandoning since beta-mixer is completely revamping its terminology. |
Manager and mixer API server paths are not consistent. Manager path is prefixed with Istio resource version (i.e. v1alpha1) and mixer path is not. Short term workaround is to special case this behavior. Long term solution is to unify API scheme and server implementations. See istio/api#94 for long term tracking.
* Point to googleapi in service control client. (istio#91) * Point to googleapi in service control client. * Use git repository for service-control-client. * Merge latest changes from master (istio#104) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Extract quota config from service config. (istio#101) * Add metric_cost in config. * Remove group rules. * Call loadQuotaConfig in config::create. * Update latest update from master branch (istio#106) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Added quota contoll without the service control client library (istio#93) * Added quota contoll without the service control client library * Applied code review * Applied code review * Resolve conflicts * Resolve conflicts * Fixed format error reported by script/check-style * Fixed a bug at Aggregated::GetAuthToken that causes Segmentation Fault * Changed usage of template funcion * Applied latest changes from the repo * Applied latest changes from the repo * Applied latest changes from the repo * Adde comments * Updated log information * Applied istio#101 * Changed metric_cost_map to metric_cost_vector * Fixed test case compilation error * Fixed test case compilation error * Add unit test for quota config. (istio#108) * Add unit test for quota config. * Add comments. * Update test specifics. * Merge latest changes from master branch (istio#112) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Not to use api_key if its service is not actived. (istio#109) * If QuotaControl service is not available, return utils::Status::OK (istio#113) * If QuotaControl service is not available, return utils::Status::OK * Updated comment * Return HTTP status code 429 on google.rpc.Code.RESOURCE_EXHAUSTED (istio#119) * Fixed incorrectly resolved conflicts (istio#123) * Added unit test cases for rate limiting (istio#124) * Fixed incorrectly resolved conflicts * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Rename response.http.code (istio#125) (istio#128) * Added handling of error code QUOTA_SYSTEM_UNAVAILABLE (istio#148) * Integrated service control client library with quota cache aggregation (istio#149) * Fixed error on merge (istio#151) * Integrated service control client library with quota cache aggregation * Fixed error on merge * Fixed the compatibility issue with the latest update on esp (istio#152) * Removed copied proto files (istio#208) * Set default allocate quota request timeout to 1sec and applied latest service control client library change (istio#211) * Merged key_restriction related changes from master (istio#213) * Merge latest changes from master branch (istio#217) * Not call report if decodeHeaders is not called. (istio#150) * Update mixerclient with sync-ed grpc write and fail-fast. (istio#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (istio#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (istio#158) * Update lyft/envoy commit Id to latest. (istio#161) * Update lyft/envoy commit Id to latest. * Remove the comment about pull request * Add new line - will delete in next commit. * Update repositories.bzl (istio#169) * Always set response latency (istio#172) * Update mixerclient to sync_transport change. (istio#178) * Use opaque config to turn on/off forward attribute and mixer filter (istio#179) * Modify mixer filter * Swap defaults * Make the filter decoder only * cache mixer disabled decision * Fix a bug in opaque config change and test it out (istio#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (istio#184) * Move .bazelrc to tools/bazel.rc (istio#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (istio#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (istio#190) * Add mixer client end to end integration test. (istio#177) * Add mixer client end to end integration test. * Split some repositories into a separate file. * use real mixer for fake mixer_server. * Test repository * use mixer bzl file. * Use mixer repositories * Not to use mixer repository. * Add return line at the end of WORKSPACE. * Fix broken link (istio#193) * Make quota call (istio#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (istio#195) * Update envoy and update configs * Use gcc-4.9 for travis * Use bazel 0.4.5 * Fix SHA of lightstep-tracer-common * Enable check cache and refactory mixer config loading (istio#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (istio#201) * Update README on how to enable check cache. (istio#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (istio#210) * build: support Envoy native Bazel build. This patch switches the Envoy build from src/envoy/repositories.bzl to using the upstream native build. See envoyproxy/envoy#663 for the corresponding changes on the Envoy side. * Use Envoy master with BUILD.wip rename merged. * Fix clang-format issues. * Fixes bazel.rc issues (istio#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Updated the commit id of cloudendpoints/service-control-client-cxx (istio#218) * Update commitid of cloudendpoints/service-control-client-cxx repo (istio#220)
* Created check security rules file and a few dummy/helper functions. (istio#40) * Created check security rules file and a few dummy/helper functions. And added it to check work flow. * Fix format. * Firebase: Merge from master. (istio#53) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (istio#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (istio#41) * Update prototype to use iptables (istio#42) * Rebase to fixed Envoy (istio#43) * Handle HEAD request. (istio#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (istio#48) * Try again (istio#49) * Enable ESP to invoke Firebase Security rules. (istio#54) * Enable ESP to invoke Firebase Security rules. * Address code review comments. * Remove some debug logs * Add proto file to capture TestRulesetRequest. * clang-format files * Resolve a merge issue with previous commit * Allow security rules to disabled via serverconfig * format file * Addressed Wayne's review comments. * Add firebase server to Server Config. * Address Lizan's review comments * Address review comments. * Disable check rules service by default. * Address more review comments. * Fix a check. * Delete unwanted constant. * Address Wayne's comments and add a simple config test. * Address a review comment. * Add negative test case for config * Address code review * Remove unwanted const std::string * Merge from master into firebase (istio#65) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (istio#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (istio#41) * Update prototype to use iptables (istio#42) * Rebase to fixed Envoy (istio#43) * Handle HEAD request. (istio#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (istio#48) * Try again (istio#49) * Integrate with mixer client. (istio#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (istio#56) * Add uuid-dev dependency in README.md (istio#45) * Extract originIp and OriginHost. (istio#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (istio#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (istio#59) * Use envoy new access_log handler for sending Report. (istio#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with istio#396. (istio#61) * Fix tclap dependency fetching error (istio#62) * Update the auth checke to use service.experimental.authorization.providerwq! * Update the auth check to use service.experimental.authorization.provider * Update the auth check to use service.experimental.authorization.provider (istio#67) * Update the auth check to use service.experimental.authorization.provider * Address comments and revert accidental change. * Remove unnecessary added accidentally. * Another patch * fix the logic * fix lint * Fix broken test and add unit tests * Fix comments * Fix style check * revert style for raw string * fix small lint * fix small lint * fix small lint * Unit tests for check security rules. (istio#75) * Unit tests for check security rules. * format * Address review comments. * Fix typos * Merge from master to firebase (istio#143) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (istio#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (istio#41) * Update prototype to use iptables (istio#42) * Rebase to fixed Envoy (istio#43) * Handle HEAD request. (istio#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (istio#48) * Try again (istio#49) * Integrate with mixer client. (istio#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (istio#56) * Add uuid-dev dependency in README.md (istio#45) * Extract originIp and OriginHost. (istio#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (istio#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (istio#59) * Use envoy new access_log handler for sending Report. (istio#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with istio#396. (istio#61) * Fix tclap dependency fetching error (istio#62) * Integrate mixer client directly with envoy. (istio#66) * Integrate mixer client directly with envoy. * Send response header in Report. * rename filter name from esp to mixer. * add README. * Add release binary script. (istio#68) * Push tar.gz to GCS (istio#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (istio#72) * Update mixer client SHA. (istio#74) * Update readme. (istio#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (istio#71) * Adds Jenkinsfile and update release-binary * Update Jenkinsfile and gitignore * Fixes typo and use normal build Node * Uses default bazel config * Using batch mode * Update bazel memory settings * Do not use Jenkins bazel env * Set .bazelrc for postsubmit * Update grpc and protobuf (istio#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (istio#78) * Add script to build docker image. (istio#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (istio#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (istio#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (istio#82) * Fix src/envoy/mixer/README.md (istio#85) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Not to use api_key if its service is not actived. (istio#109) * Update envoy and add c-ares (istio#107) * Update envoy and add c-ares depedencies * Update release script with debug and normal binary * remove debug ls * formatting * Send StatusCode Attributes to Mixer. (istio#110) * Add send_attribute filter. (istio#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (istio#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (istio#125) * Send headers as string map. (istio#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (istio#127) * update base debug docker image reference (istio#133) * Update postsubmit to create docker images (istio#132) * Adding config release for bazel build (istio#135) * Fix mixer client crash. (istio#136) * Get mixerclient with response parsing. (istio#138) * Update nghttp2 to sync with envoy (istio#140) * Fix src/envoy/mixer/README.md * Update nghttp2 to sync with envoy * update * fix typo * Merge from master to firebase (istio#159) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (istio#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (istio#41) * Update prototype to use iptables (istio#42) * Rebase to fixed Envoy (istio#43) * Handle HEAD request. (istio#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (istio#48) * Try again (istio#49) * Integrate with mixer client. (istio#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (istio#56) * Add uuid-dev dependency in README.md (istio#45) * Extract originIp and OriginHost. (istio#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (istio#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (istio#59) * Use envoy new access_log handler for sending Report. (istio#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with istio#396. (istio#61) * Fix tclap dependency fetching error (istio#62) * Integrate mixer client directly with envoy. (istio#66) * Integrate mixer client directly with envoy. * Send response header in Report. * rename filter name from esp to mixer. * add README. * Add release binary script. (istio#68) * Push tar.gz to GCS (istio#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (istio#72) * Update mixer client SHA. (istio#74) * Update readme. (istio#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (istio#71) * Adds Jenkinsfile and update release-binary * Update Jenkinsfile and gitignore * Fixes typo and use normal build Node * Uses default bazel config * Using batch mode * Update bazel memory settings * Do not use Jenkins bazel env * Set .bazelrc for postsubmit * Update grpc and protobuf (istio#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (istio#78) * Add script to build docker image. (istio#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (istio#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (istio#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (istio#82) * Fix src/envoy/mixer/README.md (istio#85) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Not to use api_key if its service is not actived. (istio#109) * Update envoy and add c-ares (istio#107) * Update envoy and add c-ares depedencies * Update release script with debug and normal binary * remove debug ls * formatting * Send StatusCode Attributes to Mixer. (istio#110) * Add send_attribute filter. (istio#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (istio#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (istio#125) * Send headers as string map. (istio#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (istio#127) * update base debug docker image reference (istio#133) * Update postsubmit to create docker images (istio#132) * Adding config release for bazel build (istio#135) * Fix mixer client crash. (istio#136) * Get mixerclient with response parsing. (istio#138) * Update nghttp2 to sync with envoy (istio#140) * Fix src/envoy/mixer/README.md * Update nghttp2 to sync with envoy * update * fix typo * Populate origin.user attribute from the SAN field of client cert (istio#142) * Test * test * test * revert file * address comments * test * fix typo * fix format * fix format * Update to latest mixer_client. (istio#145) * Update to latest mixer_client. * Updated the sha. * Not call report if decodeHeaders is not called. (istio#150) * Update mixerclient with sync-ed grpc write and fail-fast. (istio#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (istio#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Update the Commit id for envoy * Allow for HTTP based function from Firebase rules (istio#202) * Allow for HTTP based function from Firebase rules * Fix code style check * Added more comments. * Fix style issues. * Address code review comments from Limin and Lizan. * Add more comments and address CR comments. * Fix a typo. * Address Wayne's CR comments. * Merge from master to firebase (istio#237) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (istio#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (istio#41) * Update prototype to use iptables (istio#42) * Rebase to fixed Envoy (istio#43) * Handle HEAD request. (istio#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (istio#48) * Try again (istio#49) * Integrate with mixer client. (istio#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (istio#56) * Add uuid-dev dependency in README.md (istio#45) * Extract originIp and OriginHost. (istio#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (istio#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (istio#59) * Use envoy new access_log handler for sending Report. (istio#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with istio#396. (istio#61) * Fix tclap dependency fetching error (istio#62) * Integrate mixer client directly with envoy. (istio#66) * Integrate mixer client directly with envoy. * Send response header in Report. * rename filter name from esp to mixer. * add README. * Add release binary script. (istio#68) * Push tar.gz to GCS (istio#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (istio#72) * Update mixer client SHA. (istio#74) * Update readme. (istio#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (istio#71) * Adds Jenkinsfile and update release-binary * Update Jenkinsfile and gitignore * Fixes typo and use normal build Node * Uses default bazel config * Using batch mode * Update bazel memory settings * Do not use Jenkins bazel env * Set .bazelrc for postsubmit * Update grpc and protobuf (istio#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (istio#78) * Add script to build docker image. (istio#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (istio#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (istio#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (istio#82) * Fix src/envoy/mixer/README.md (istio#85) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Not to use api_key if its service is not actived. (istio#109) * Update envoy and add c-ares (istio#107) * Update envoy and add c-ares depedencies * Update release script with debug and normal binary * remove debug ls * formatting * Send StatusCode Attributes to Mixer. (istio#110) * Add send_attribute filter. (istio#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (istio#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (istio#125) * Send headers as string map. (istio#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (istio#127) * update base debug docker image reference (istio#133) * Update postsubmit to create docker images (istio#132) * Adding config release for bazel build (istio#135) * Fix mixer client crash. (istio#136) * Get mixerclient with response parsing. (istio#138) * Update nghttp2 to sync with envoy (istio#140) * Fix src/envoy/mixer/README.md * Update nghttp2 to sync with envoy * update * fix typo * Populate origin.user attribute from the SAN field of client cert (istio#142) * Test * test * test * revert file * address comments * test * fix typo * fix format * fix format * Update to latest mixer_client. (istio#145) * Update to latest mixer_client. * Updated the sha. * Not call report if decodeHeaders is not called. (istio#150) * Update mixerclient with sync-ed grpc write and fail-fast. (istio#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (istio#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (istio#158) * Update lyft/envoy commit Id to latest. (istio#161) * Update lyft/envoy commit Id to latest. * Remove the comment about pull request * Add new line - will delete in next commit. * Update repositories.bzl (istio#169) * Always set response latency (istio#172) * Update mixerclient to sync_transport change. (istio#178) * Use opaque config to turn on/off forward attribute and mixer filter (istio#179) * Modify mixer filter * Swap defaults * Make the filter decoder only * cache mixer disabled decision * Fix a bug in opaque config change and test it out (istio#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (istio#184) * Move .bazelrc to tools/bazel.rc (istio#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (istio#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (istio#190) * Add mixer client end to end integration test. (istio#177) * Add mixer client end to end integration test. * Split some repositories into a separate file. * use real mixer for fake mixer_server. * Test repository * use mixer bzl file. * Use mixer repositories * Not to use mixer repository. * Add return line at the end of WORKSPACE. * Fix broken link (istio#193) * Make quota call (istio#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (istio#195) * Update envoy and update configs * Use gcc-4.9 for travis * Use bazel 0.4.5 * Fix SHA of lightstep-tracer-common * Enable check cache and refactory mixer config loading (istio#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (istio#201) * Update README on how to enable check cache. (istio#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (istio#210) * build: support Envoy native Bazel build. This patch switches the Envoy build from src/envoy/repositories.bzl to using the upstream native build. See envoyproxy/envoy#663 for the corresponding changes on the Envoy side. * Use Envoy master with BUILD.wip rename merged. * Fix clang-format issues. * Fixes bazel.rc issues (istio#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Fix go build (istio#224) * Use TranscoderInputStream to reduce confusion around ByteCount() (istio#225) * Add TranscoderInputStream to reduce confusion * fix_format * Merge latest changes from rate_limiting to master (istio#221) * Point to googleapi in service control client. (istio#91) * Point to googleapi in service control client. * Use git repository for service-control-client. * Merge latest changes from master (istio#104) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Extract quota config from service config. (istio#101) * Add metric_cost in config. * Remove group rules. * Call loadQuotaConfig in config::create. * Update latest update from master branch (istio#106) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Added quota contoll without the service control client library (istio#93) * Added quota contoll without the service control client library * Applied code review * Applied code review * Resolve conflicts * Resolve conflicts * Fixed format error reported by script/check-style * Fixed a bug at Aggregated::GetAuthToken that causes Segmentation Fault * Changed usage of template funcion * Applied latest changes from the repo * Applied latest changes from the repo * Applied latest changes from the repo * Adde comments * Updated log information * Applied istio#101 * Changed metric_cost_map to metric_cost_vector * Fixed test case compilation error * Fixed test case compilation error * Add unit test for quota config. (istio#108) * Add unit test for quota config. * Add comments. * Update test specifics. * Merge latest changes from master branch (istio#112) * Get attributes from envoy config. (istio#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (istio#94) * Disable travis on stable branches (istio#96) * Publish debug binaries (no release yet) (istio#98) * Copies the binary instead of linking for release (istio#102) * Not to use api_key if its service is not actived. (istio#109) * If QuotaControl service is not available, return utils::Status::OK (istio#113) * If QuotaControl service is not available, return utils::Status::OK * Updated comment * Return HTTP status code 429 on google.rpc.Code.RESOURCE_EXHAUSTED (istio#119) * Fixed incorrectly resolved conflicts (istio#123) * Added unit test cases for rate limiting (istio#124) * Fixed incorrectly resolved conflicts * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Added unit test cases for rate limiting * Rename response.http.code (istio#125) (istio#128) * Added handling of error code QUOTA_SYSTEM_UNAVAILABLE (istio#148) * Integrated service control client library with quota cache aggregation (istio#149) * Fixed error on merge (istio#151) * Integrated service control client library with quota cache aggregation * Fixed error on merge * Fixed the compatibility issue with the latest update on esp (istio#152) * Removed copied proto files (istio#208) * Set default allocate quota request timeout to 1sec and applied latest service control client library change (istio#211) * Merged key_restriction related changes from master (istio#213) * Merge latest changes from master branch (istio#217) * Not call report if decodeHeaders is not called. (istio#150) * Update mixerclient with sync-ed grpc write and fail-fast. (istio#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (istio#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (istio#158) * Update lyft/envoy commit Id to latest. (istio#161) * Update lyft/envoy commit Id to latest. * Remove the comment about pull request * Add new line - will delete in next commit. * Update repositories.bzl (istio#169) * Always set response latency (istio#172) * Update mixerclient to sync_transport change. (istio#178) * Use opaque config to turn on/off forward attribute and mixer filter (istio#179) * Modify mixer filter * Swap defaults * Make the filter decoder only * cache mixer disabled decision * Fix a bug in opaque config change and test it out (istio#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (istio#184) * Move .bazelrc to tools/bazel.rc (istio#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (istio#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (istio#190) * Add mixer client end to end integration test. (istio#177) * Add mixer client end to end integration test. * Split some repositories into a separate file. * use real mixer for fake mixer_server. * Test repository * use mixer bzl file. * Use mixer repositories * Not to use mixer repository. * Add return line at the end of WORKSPACE. * Fix broken link (istio#193) * Make quota call (istio#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (istio#195) * Update envoy and update configs * Use gcc-4.9 for travis * Use bazel 0.4.5 * Fix SHA of lightstep-tracer-common * Enable check cache and refactory mixer config loading (istio#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (istio#201) * Update README on how to enable check cache. (istio#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (istio#210) * build: support Envoy native Bazel build. This patch switches the Envoy build from src/envoy/repositories.bzl to using the upstream native build. See envoyproxy/envoy#663 for the corresponding changes on the Envoy side. * Use Envoy master with BUILD.wip rename merged. * Fix clang-format issues. * Fixes bazel.rc issues (istio#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Updated the commit id of cloudendpoints/service-control-client-cxx (istio#218) * Update commitid of cloudendpoints/service-control-client-cxx repo (istio#220) * Send delta metrics for intermediate reports. (istio#219) * Send delta metrics for intermediate reports. * Move last_request_bytes/last_response_bytes to RequestContext. * Handle final report. * Address comment. * Update attributes to match the canonical attribute list. (istio#232) * Update response.http.code to response.code and response.latency to response.duration to line up with the canonical attributes in istio/istio.github.io/docs/concepts/attributes.md * Format according to clang-format * Add envoy Buffer based TranscoderInputStream (istio#231) * Add envoy Buffer based TranscoderInputStream * fix format * A few doc changes for consistency across repos. (istio#235) * Add repositories.bzl * Added missing export setting in bazel configuration (istio#236) * Added export missing in bazel configuration * Added export missing in bazel configuration * Allow HTTP functions in firebase rules to specify audience (istio#244) * Allow HTTP functions in firebase rules to specify audience * Allow GetAuthToken to ignore cache and fix style checks. * Fix GetAuthToken * Address Wayne's comment * Check for empty response body * Remove .bazelrc.jenkins file not present in the master branch. * Remove forward_attribute_filter.cc not present in master.
* Add elastic-credentials to api docs (istio#94) * ca-host comment Co-authored-by: Marc Cirauqui <[email protected]>
Some decisions from a meeting:
@andraxylia @mandarjog @ayj
The text was updated successfully, but these errors were encountered: