Conversation
There was a problem hiding this comment.
do a get() first, then check for empty string later. faster.
There was a problem hiding this comment.
We want both descriptors, not if/else. So always add the else one, then if there is a key that is not empty, add the other one.
There was a problem hiding this comment.
Ahh my bad. I understood it as if/else not in addition if the rate_limit_key exists. Code has been updated.
source/common/router/config_impl.h
Outdated
There was a problem hiding this comment.
I added the ability for getObject() to "allow_empty". If you could clean up the constructor to use initializer lists that would be great, that you can make both of these members const.
There was a problem hiding this comment.
Updated RateLimitPolicy()
There was a problem hiding this comment.
Lot of duplication here. Either use a base class for common stuff, or just refactor the main test fixture so that you pass the JSON configuration via a setup() function
commit 764e66055a9dcbaed259b8758121bc46f636830b
Author: Constance Caramanolis <ccaramanolis@lyft.com>
Date: Thu Sep 22 12:29:10 2016 -0700
Add docs
commit 3322f38d6765868b779f27b3be03a9e1b914dd24
Author: Constance Caramanolis <ccaramanolis@lyft.com>
Date: Tue Sep 20 17:35:02 2016 -0700
First ratelimit commit
97810ec to
29076df
Compare
include/envoy/router/router.h
Outdated
| virtual bool doGlobalLimiting() const PURE; | ||
|
|
||
| /** | ||
| * @return the rate limit key for a service, if it exists. |
| <config_http_filters_rate_limit>` if it is installed. Defaults to false if not specified. | ||
|
|
||
| rate_limit_key | ||
| *(optional, string)* Specifies a descriptor value to be used for request header rate limiting. |
There was a problem hiding this comment.
I would change this slightly to not specifically talk about request header, as we are likely to use this for other things in the future (like IP). I would just saw that the key is used by different action types and then refer to the filter docs.
There was a problem hiding this comment.
changed everything to route_key
| } | ||
|
|
||
| header_name | ||
| *(required, string)* The header name to be queried from the request header and used to |
|
|
||
| If *rate_limit_key* is set in the :ref:`route <config_http_conn_man_route_table_route_rate_limit>`, the following descriptor is sent: | ||
|
|
||
| * ("rate_limit", "<rate_limit_key>"), ("<descriptor_key>", "<header_value_queried_from_header>") |
There was a problem hiding this comment.
I think sending "rate_limit" is confusing. I would maybe do "route_key" (and of course update code below)
source/common/router/config_impl.h
Outdated
|
|
||
| private: | ||
| bool do_global_limiting_{}; | ||
| const bool do_global_limiting_{}; |
include/envoy/router/router.h
Outdated
| virtual bool doGlobalLimiting() const PURE; | ||
|
|
||
| /** | ||
| * @return the rate limit key for a service, if it exists. |
There was a problem hiding this comment.
nit: return the route key, if it exists.
|
|
||
| descriptors.push_back({{{descriptor_key_, header_value}}}); | ||
|
|
||
| std::string route_key = route.rateLimitPolicy().routeKey(); |
There was a problem hiding this comment.
this does a copy, so do const std::string& or leave it the way you had it before.
| { | ||
| "domain": "foo", | ||
| "actions": [ | ||
| {"type": "request_headers", |
There was a problem hiding this comment.
properly indented.
* Point to googleapi in service control client. (envoyproxy#91) * Point to googleapi in service control client. * Use git repository for service-control-client. * Merge latest changes from master (envoyproxy#104) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Extract quota config from service config. (envoyproxy#101) * Add metric_cost in config. * Remove group rules. * Call loadQuotaConfig in config::create. * Update latest update from master branch (envoyproxy#106) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Added quota contoll without the service control client library (envoyproxy#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 envoyproxy#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. (envoyproxy#108) * Add unit test for quota config. * Add comments. * Update test specifics. * Merge latest changes from master branch (envoyproxy#112) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Not to use api_key if its service is not actived. (envoyproxy#109) * If QuotaControl service is not available, return utils::Status::OK (envoyproxy#113) * If QuotaControl service is not available, return utils::Status::OK * Updated comment * Return HTTP status code 429 on google.rpc.Code.RESOURCE_EXHAUSTED (envoyproxy#119) * Fixed incorrectly resolved conflicts (envoyproxy#123) * Added unit test cases for rate limiting (envoyproxy#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 (envoyproxy#125) (envoyproxy#128) * Added handling of error code QUOTA_SYSTEM_UNAVAILABLE (envoyproxy#148) * Integrated service control client library with quota cache aggregation (envoyproxy#149) * Fixed error on merge (envoyproxy#151) * Integrated service control client library with quota cache aggregation * Fixed error on merge * Fixed the compatibility issue with the latest update on esp (envoyproxy#152) * Removed copied proto files (envoyproxy#208) * Set default allocate quota request timeout to 1sec and applied latest service control client library change (envoyproxy#211) * Merged key_restriction related changes from master (envoyproxy#213) * Merge latest changes from master branch (envoyproxy#217) * Not call report if decodeHeaders is not called. (envoyproxy#150) * Update mixerclient with sync-ed grpc write and fail-fast. (envoyproxy#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (envoyproxy#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (envoyproxy#158) * Update lyft/envoy commit Id to latest. (envoyproxy#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 (envoyproxy#169) * Always set response latency (envoyproxy#172) * Update mixerclient to sync_transport change. (envoyproxy#178) * Use opaque config to turn on/off forward attribute and mixer filter (envoyproxy#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 (envoyproxy#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (envoyproxy#184) * Move .bazelrc to tools/bazel.rc (envoyproxy#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (envoyproxy#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (envoyproxy#190) * Add mixer client end to end integration test. (envoyproxy#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 (envoyproxy#193) * Make quota call (envoyproxy#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (envoyproxy#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 (envoyproxy#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (envoyproxy#201) * Update README on how to enable check cache. (envoyproxy#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (envoyproxy#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#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 (envoyproxy#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Updated the commit id of cloudendpoints/service-control-client-cxx (envoyproxy#218) * Update commitid of cloudendpoints/service-control-client-cxx repo (envoyproxy#220)
* Created check security rules file and a few dummy/helper functions. (envoyproxy#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. (envoyproxy#53) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (envoyproxy#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (envoyproxy#41) * Update prototype to use iptables (envoyproxy#42) * Rebase to fixed Envoy (envoyproxy#43) * Handle HEAD request. (envoyproxy#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (envoyproxy#48) * Try again (envoyproxy#49) * Enable ESP to invoke Firebase Security rules. (envoyproxy#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 (envoyproxy#65) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (envoyproxy#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (envoyproxy#41) * Update prototype to use iptables (envoyproxy#42) * Rebase to fixed Envoy (envoyproxy#43) * Handle HEAD request. (envoyproxy#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (envoyproxy#48) * Try again (envoyproxy#49) * Integrate with mixer client. (envoyproxy#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (envoyproxy#56) * Add uuid-dev dependency in README.md (envoyproxy#45) * Extract originIp and OriginHost. (envoyproxy#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (envoyproxy#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (envoyproxy#59) * Use envoy new access_log handler for sending Report. (envoyproxy#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with envoyproxy#396. (envoyproxy#61) * Fix tclap dependency fetching error (envoyproxy#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 (envoyproxy#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. (envoyproxy#75) * Unit tests for check security rules. * format * Address review comments. * Fix typos * Merge from master to firebase (envoyproxy#143) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (envoyproxy#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (envoyproxy#41) * Update prototype to use iptables (envoyproxy#42) * Rebase to fixed Envoy (envoyproxy#43) * Handle HEAD request. (envoyproxy#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (envoyproxy#48) * Try again (envoyproxy#49) * Integrate with mixer client. (envoyproxy#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (envoyproxy#56) * Add uuid-dev dependency in README.md (envoyproxy#45) * Extract originIp and OriginHost. (envoyproxy#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (envoyproxy#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (envoyproxy#59) * Use envoy new access_log handler for sending Report. (envoyproxy#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with envoyproxy#396. (envoyproxy#61) * Fix tclap dependency fetching error (envoyproxy#62) * Integrate mixer client directly with envoy. (envoyproxy#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. (envoyproxy#68) * Push tar.gz to GCS (envoyproxy#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (envoyproxy#72) * Update mixer client SHA. (envoyproxy#74) * Update readme. (envoyproxy#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (envoyproxy#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 (envoyproxy#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (envoyproxy#78) * Add script to build docker image. (envoyproxy#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (envoyproxy#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (envoyproxy#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (envoyproxy#82) * Fix src/envoy/mixer/README.md (envoyproxy#85) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Not to use api_key if its service is not actived. (envoyproxy#109) * Update envoy and add c-ares (envoyproxy#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. (envoyproxy#110) * Add send_attribute filter. (envoyproxy#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (envoyproxy#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (envoyproxy#125) * Send headers as string map. (envoyproxy#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (envoyproxy#127) * update base debug docker image reference (envoyproxy#133) * Update postsubmit to create docker images (envoyproxy#132) * Adding config release for bazel build (envoyproxy#135) * Fix mixer client crash. (envoyproxy#136) * Get mixerclient with response parsing. (envoyproxy#138) * Update nghttp2 to sync with envoy (envoyproxy#140) * Fix src/envoy/mixer/README.md * Update nghttp2 to sync with envoy * update * fix typo * Merge from master to firebase (envoyproxy#159) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (envoyproxy#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (envoyproxy#41) * Update prototype to use iptables (envoyproxy#42) * Rebase to fixed Envoy (envoyproxy#43) * Handle HEAD request. (envoyproxy#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (envoyproxy#48) * Try again (envoyproxy#49) * Integrate with mixer client. (envoyproxy#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (envoyproxy#56) * Add uuid-dev dependency in README.md (envoyproxy#45) * Extract originIp and OriginHost. (envoyproxy#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (envoyproxy#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (envoyproxy#59) * Use envoy new access_log handler for sending Report. (envoyproxy#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with envoyproxy#396. (envoyproxy#61) * Fix tclap dependency fetching error (envoyproxy#62) * Integrate mixer client directly with envoy. (envoyproxy#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. (envoyproxy#68) * Push tar.gz to GCS (envoyproxy#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (envoyproxy#72) * Update mixer client SHA. (envoyproxy#74) * Update readme. (envoyproxy#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (envoyproxy#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 (envoyproxy#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (envoyproxy#78) * Add script to build docker image. (envoyproxy#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (envoyproxy#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (envoyproxy#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (envoyproxy#82) * Fix src/envoy/mixer/README.md (envoyproxy#85) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Not to use api_key if its service is not actived. (envoyproxy#109) * Update envoy and add c-ares (envoyproxy#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. (envoyproxy#110) * Add send_attribute filter. (envoyproxy#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (envoyproxy#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (envoyproxy#125) * Send headers as string map. (envoyproxy#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (envoyproxy#127) * update base debug docker image reference (envoyproxy#133) * Update postsubmit to create docker images (envoyproxy#132) * Adding config release for bazel build (envoyproxy#135) * Fix mixer client crash. (envoyproxy#136) * Get mixerclient with response parsing. (envoyproxy#138) * Update nghttp2 to sync with envoy (envoyproxy#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 (envoyproxy#142) * Test * test * test * revert file * address comments * test * fix typo * fix format * fix format * Update to latest mixer_client. (envoyproxy#145) * Update to latest mixer_client. * Updated the sha. * Not call report if decodeHeaders is not called. (envoyproxy#150) * Update mixerclient with sync-ed grpc write and fail-fast. (envoyproxy#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (envoyproxy#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 (envoyproxy#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 (envoyproxy#237) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect (envoyproxy#38) * Simple TCP server to show how to retrieve original dest IP:port after an iptables redirect * Fixed style. * Rebase Envoy (envoyproxy#41) * Update prototype to use iptables (envoyproxy#42) * Rebase to fixed Envoy (envoyproxy#43) * Handle HEAD request. (envoyproxy#34) * Handle HEAD request. * Try with GET if HEAD fails. * Address comments. * Format file. * Expose bazel target (envoyproxy#48) * Try again (envoyproxy#49) * Integrate with mixer client. (envoyproxy#55) * Integrate with mixer client. * Restore repositories.bzl back. * Add originIp and originHost attributes. (envoyproxy#56) * Add uuid-dev dependency in README.md (envoyproxy#45) * Extract originIp and OriginHost. (envoyproxy#57) * Extract originIp and OriginHost. * Make header x-forwarded-host const. * Update buckets for UI. (envoyproxy#58) * Update buckets for UI. * Only update time_distribution. * Add targetService attribute. (envoyproxy#59) * Use envoy new access_log handler for sending Report. (envoyproxy#60) * use access_log handler. * Not to use Loggable base class. * Update to the latest envoy with envoyproxy#396. (envoyproxy#61) * Fix tclap dependency fetching error (envoyproxy#62) * Integrate mixer client directly with envoy. (envoyproxy#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. (envoyproxy#68) * Push tar.gz to GCS (envoyproxy#69) * Push tar.gz to GCS * Rename envoy_esp * Remove mixer_client from api_manager. (envoyproxy#72) * Update mixer client SHA. (envoyproxy#74) * Update readme. (envoyproxy#73) * Adds Jenkinsfile and updates release-binary to create a SHA. (envoyproxy#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 (envoyproxy#70) * protobuf v3.2.0 * grpc v1.1.1 * Align auth lib with grpc 1.1.1 * Add sourceService. (envoyproxy#78) * Add script to build docker image. (envoyproxy#77) * Add script to build docker image. * Add start_envoy for docker image. * Use official attribute names (envoyproxy#80) * Use official attribute names * fix format * Creates a KEY for mixer client dep. Updates release-binary (envoyproxy#79) * Updated mixer repo to use a key for commit * release-binary skip build if file exists. * Update src/envoy/mixer/README. (envoyproxy#82) * Fix src/envoy/mixer/README.md (envoyproxy#85) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Not to use api_key if its service is not actived. (envoyproxy#109) * Update envoy and add c-ares (envoyproxy#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. (envoyproxy#110) * Add send_attribute filter. (envoyproxy#115) * Add send_attribute filter. * Fix format * rename variable serialized_attributes_ * Address the comments. * Fail request if api_key is not valid. (envoyproxy#116) * Fail request if api_key is not valid. * Format code. * Update comments. * Address comment. * Rename response.http.code (envoyproxy#125) * Send headers as string map. (envoyproxy#129) * Send headers as string map. * Remove origin.ip and origin.host. * Fix format * unify bazel's docker build targets with other istio repos (envoyproxy#127) * update base debug docker image reference (envoyproxy#133) * Update postsubmit to create docker images (envoyproxy#132) * Adding config release for bazel build (envoyproxy#135) * Fix mixer client crash. (envoyproxy#136) * Get mixerclient with response parsing. (envoyproxy#138) * Update nghttp2 to sync with envoy (envoyproxy#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 (envoyproxy#142) * Test * test * test * revert file * address comments * test * fix typo * fix format * fix format * Update to latest mixer_client. (envoyproxy#145) * Update to latest mixer_client. * Updated the sha. * Not call report if decodeHeaders is not called. (envoyproxy#150) * Update mixerclient with sync-ed grpc write and fail-fast. (envoyproxy#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (envoyproxy#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (envoyproxy#158) * Update lyft/envoy commit Id to latest. (envoyproxy#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 (envoyproxy#169) * Always set response latency (envoyproxy#172) * Update mixerclient to sync_transport change. (envoyproxy#178) * Use opaque config to turn on/off forward attribute and mixer filter (envoyproxy#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 (envoyproxy#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (envoyproxy#184) * Move .bazelrc to tools/bazel.rc (envoyproxy#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (envoyproxy#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (envoyproxy#190) * Add mixer client end to end integration test. (envoyproxy#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 (envoyproxy#193) * Make quota call (envoyproxy#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (envoyproxy#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 (envoyproxy#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (envoyproxy#201) * Update README on how to enable check cache. (envoyproxy#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (envoyproxy#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#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 (envoyproxy#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Fix go build (envoyproxy#224) * Use TranscoderInputStream to reduce confusion around ByteCount() (envoyproxy#225) * Add TranscoderInputStream to reduce confusion * fix_format * Merge latest changes from rate_limiting to master (envoyproxy#221) * Point to googleapi in service control client. (envoyproxy#91) * Point to googleapi in service control client. * Use git repository for service-control-client. * Merge latest changes from master (envoyproxy#104) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Extract quota config from service config. (envoyproxy#101) * Add metric_cost in config. * Remove group rules. * Call loadQuotaConfig in config::create. * Update latest update from master branch (envoyproxy#106) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Added quota contoll without the service control client library (envoyproxy#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 envoyproxy#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. (envoyproxy#108) * Add unit test for quota config. * Add comments. * Update test specifics. * Merge latest changes from master branch (envoyproxy#112) * Get attributes from envoy config. (envoyproxy#87) * Send all attributes. * Remove unused const strings. * Address comment. * updated SHA to point to newer envoy with RDS API feature (envoyproxy#94) * Disable travis on stable branches (envoyproxy#96) * Publish debug binaries (no release yet) (envoyproxy#98) * Copies the binary instead of linking for release (envoyproxy#102) * Not to use api_key if its service is not actived. (envoyproxy#109) * If QuotaControl service is not available, return utils::Status::OK (envoyproxy#113) * If QuotaControl service is not available, return utils::Status::OK * Updated comment * Return HTTP status code 429 on google.rpc.Code.RESOURCE_EXHAUSTED (envoyproxy#119) * Fixed incorrectly resolved conflicts (envoyproxy#123) * Added unit test cases for rate limiting (envoyproxy#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 (envoyproxy#125) (envoyproxy#128) * Added handling of error code QUOTA_SYSTEM_UNAVAILABLE (envoyproxy#148) * Integrated service control client library with quota cache aggregation (envoyproxy#149) * Fixed error on merge (envoyproxy#151) * Integrated service control client library with quota cache aggregation * Fixed error on merge * Fixed the compatibility issue with the latest update on esp (envoyproxy#152) * Removed copied proto files (envoyproxy#208) * Set default allocate quota request timeout to 1sec and applied latest service control client library change (envoyproxy#211) * Merged key_restriction related changes from master (envoyproxy#213) * Merge latest changes from master branch (envoyproxy#217) * Not call report if decodeHeaders is not called. (envoyproxy#150) * Update mixerclient with sync-ed grpc write and fail-fast. (envoyproxy#155) * Update mixerclient with sync-ed write and fail-fast. * Update to latest test. * Update again * Update envoy to PR553 (envoyproxy#156) * Update envoy to PR553 * Update libevent to 2.1.8 * Uses a specific version of the Shared Pipeline lib (envoyproxy#158) * Update lyft/envoy commit Id to latest. (envoyproxy#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 (envoyproxy#169) * Always set response latency (envoyproxy#172) * Update mixerclient to sync_transport change. (envoyproxy#178) * Use opaque config to turn on/off forward attribute and mixer filter (envoyproxy#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 (envoyproxy#182) * Fix a bug and test it out * Update filter type * Update README.md * Update mixer client to mixer api with gogoproto. (envoyproxy#184) * Move .bazelrc to tools/bazel.rc (envoyproxy#186) * Move .bazelrc to tools/bazel.rc * Update Jenkinsfile with latest version of pipeline * Support apikey based traffic restriction (envoyproxy#189) * b/36368559 support apikey based traffic restriction * Fixed code formatting * Fix crash in unreachable/overloaded RDS (envoyproxy#190) * Add mixer client end to end integration test. (envoyproxy#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 (envoyproxy#193) * Make quota call (envoyproxy#192) * hookup quota call * Make quota call. * Update indent. * Update envoy and update configs (envoyproxy#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 (envoyproxy#197) * Refactory the mixer config loading. * fix format * Add integration test. * updated README.md * s/send/sent/ * Split into separate tests. (envoyproxy#201) * Update README on how to enable check cache. (envoyproxy#204) * Update README on how to enable check cache. * Update the comment. * build: support Envoy native Bazel build. (envoyproxy#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#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 (envoyproxy#212) * Fixes bazel rc issues * Update Jenkins to latest pipeline version * Updated the commit id of cloudendpoints/service-control-client-cxx (envoyproxy#218) * Update commitid of cloudendpoints/service-control-client-cxx repo (envoyproxy#220) * Send delta metrics for intermediate reports. (envoyproxy#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. (envoyproxy#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 (envoyproxy#231) * Add envoy Buffer based TranscoderInputStream * fix format * A few doc changes for consistency across repos. (envoyproxy#235) * Add repositories.bzl * Added missing export setting in bazel configuration (envoyproxy#236) * Added export missing in bazel configuration * Added export missing in bazel configuration * Allow HTTP functions in firebase rules to specify audience (envoyproxy#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.
Merge envoy-wasm into 1.3
This matches my commit address Signed-off-by: Keith Smiley <keithbsmiley@gmail.com> Signed-off-by: JP Simard <jp@jpsim.com>
This matches my commit address Signed-off-by: Keith Smiley <keithbsmiley@gmail.com> Signed-off-by: JP Simard <jp@jpsim.com>
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
No description provided.