Releases: zufardhiyaulhaq/istio-ratelimit-operator
v2.14.0
v2.13.0
Releasing v2.13.0 🥳🥳
supporting Istio 1.19, 1.20, and 1.21
What's Changed
- fix Istio local rate limit envoyfilter
- upgrade HPA for rate limit service to v2
- Bump google.golang.org/protobuf from 1.28.1 to 1.33.0 by @dependabot in #42
Full Changelog: v2.12.0...v2.13.0
v2.12.0
v2.11.1
Full Changelog: v2.11.0...v2.11.1
v2.11.0
Releasing v2.11.0 🥳🥳
Changes:
- add extra labels on operator
- add extra labels field on RateLimitService
To add additional labels to RateLimitService
apiVersion: ratelimit.zufardhiyaulhaq.com/v1alpha1
kind: RateLimitService
metadata:
name: echo-redis-ratelimit-service
namespace: default
spec:
kubernetes:
extra_labels:
team: foo
environment: staging
How to Upgrade
Helm by default doesn't update the CRDs, you need to apply the CRDs manually
kubectl apply -f https://raw.githubusercontent.com/zufardhiyaulhaq/istio-ratelimit-operator/v2.11.0/charts/istio-ratelimit-operator/crds/crds.yaml
What's Changed
- add extra-labels for operator & ratelimitservice by @zufardhiyaulhaq in #40
Full Changelog: v2.10.2...v2.11.0
v2.10.2
What's Changed
- fix reload statsd-exporter by @zufardhiyaulhaq in #39
Full Changelog: v2.10.1...v2.10.2
v2.10.1
Ability to use imagePullSecrets in generated ServiceAccount
Full Changelog: v2.10.0...v2.10.1
v2.10.0
Releasing v2.10.0 🥳🥳
Changes:
- istio-ratelimit-operator now support remote address, this allows you to ratelimit based on client IP addresses.
- we are refactoring statsd, now RateLimitService comes with statsd-exporter sidecar.
- deprecating
spec.monitoring.statsd
To enable statsd-exporter sidecar, you need to set spec.monitoring.enabled
to true
.
apiVersion: ratelimit.zufardhiyaulhaq.com/v1alpha1
kind: RateLimitService
metadata:
name: echo-redis-ratelimit-service
namespace: default
spec:
monitoring:
enabled: true
you can get the ratelimit metrics by calling RateLimitService on port 9102
~ $ k port-forward svc/podinfo-zufardhiyaulhaq-com-rls 9102:9102
~ $ curl http://localhost:9102/metrics | grep ratelimit
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16316 0 16316 0 0 12855 0 --:--:-- 0:00:01 --:--:-- 12959
# HELP ratelimit_redis_pool_cx_active Metric autogenerated by statsd_exporter.
# TYPE ratelimit_redis_pool_cx_active gauge
ratelimit_redis_pool_cx_active 10
# HELP ratelimit_redis_pool_cx_local_close Metric autogenerated by statsd_exporter.
# TYPE ratelimit_redis_pool_cx_local_close counter
ratelimit_redis_pool_cx_local_close 1
# HELP ratelimit_redis_pool_cx_total Metric autogenerated by statsd_exporter.
# TYPE ratelimit_redis_pool_cx_total counter
ratelimit_redis_pool_cx_total 11
# HELP ratelimit_service_config_load_success Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_config_load_success counter
ratelimit_service_config_load_success 1551
# HELP ratelimit_service_rate_limit_near_limit Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_rate_limit_near_limit counter
ratelimit_service_rate_limit_near_limit{global_rate_limit_name="podinfo-zufardhiyaulhaq-com-ratelimit-route",identifier="podinfo-ratelimit-route",rate_limit_service_name="podinfo-zufardhiyaulhaq-com-rls"} 1
# HELP ratelimit_service_rate_limit_over_limit Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_rate_limit_over_limit counter
ratelimit_service_rate_limit_over_limit{global_rate_limit_name="podinfo-zufardhiyaulhaq-com-ratelimit-route",identifier="podinfo-ratelimit-route",rate_limit_service_name="podinfo-zufardhiyaulhaq-com-rls"} 5
# HELP ratelimit_service_rate_limit_total_hits Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_rate_limit_total_hits counter
ratelimit_service_rate_limit_total_hits{global_rate_limit_name="podinfo-zufardhiyaulhaq-com-ratelimit-route",identifier="podinfo-ratelimit-route",rate_limit_service_name="podinfo-zufardhiyaulhaq-com-rls"} 16
# HELP ratelimit_service_rate_limit_within_limit Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_rate_limit_within_limit counter
ratelimit_service_rate_limit_within_limit{global_rate_limit_name="podinfo-zufardhiyaulhaq-com-ratelimit-route",identifier="podinfo-ratelimit-route",rate_limit_service_name="podinfo-zufardhiyaulhaq-com-rls"} 11
# HELP ratelimit_service_response_time_seconds Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_response_time_seconds histogram
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.005"} 15
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.01"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.025"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.05"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.1"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.25"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="0.5"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="1"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="2.5"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="5"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="10"} 16
ratelimit_service_response_time_seconds_bucket{grpc_method="ShouldRateLimit",le="+Inf"} 16
ratelimit_service_response_time_seconds_sum{grpc_method="ShouldRateLimit"} 0.019000000000000003
ratelimit_service_response_time_seconds_count{grpc_method="ShouldRateLimit"} 16
# HELP ratelimit_service_total_requests Metric autogenerated by statsd_exporter.
# TYPE ratelimit_service_total_requests counter
ratelimit_service_total_requests{grpc_method="ShouldRateLimit"} 16
How to Upgrade
Helm by default doesn't update the CRDs, you need to apply the CRDs manually
kubectl apply -f https://raw.githubusercontent.com/zufardhiyaulhaq/istio-ratelimit-operator/v2.10.0/charts/istio-ratelimit-operator/crds/crds.yaml
v2.10.0-rc.2
Fix statsd config generator for remote address
Full Changelog: v2.10.0-rc.1...v2.10.0-rc.2
v2.10.0-rc.1
Releasing v2.10.0-rc.1, fix remote address matcher not working
What's Changed
- fix: remote_address not working by @zufardhiyaulhaq in #37
Full Changelog: v2.10.0-rc.0...v2.10.0-rc.1