From d2bf694e4e8b44f8a7de0372b81ce04dd1726c3e Mon Sep 17 00:00:00 2001 From: bom Date: Fri, 17 May 2024 16:02:35 +0200 Subject: [PATCH] Implement burst-rate for simple-ingress --- src/main/cljc/dda/c4k_common/ingress.cljc | 9 +++++---- src/test/cljc/dda/c4k_common/ingress_test.cljc | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/cljc/dda/c4k_common/ingress.cljc b/src/main/cljc/dda/c4k_common/ingress.cljc index c84816a..37c7d77 100644 --- a/src/main/cljc/dda/c4k_common/ingress.cljc +++ b/src/main/cljc/dda/c4k_common/ingress.cljc @@ -17,7 +17,7 @@ (s/def ::burst-rate ::int/burst-rate) (def simple-ingress? (s/keys :req-un [::fqdns ::service-name ::service-port] - :opt-un [::issuer ::average-rate ::ns/namespace])) + :opt-un [::issuer ::average-rate ::burst-rate ::ns/namespace])) (def ingress? (s/keys :req-un [::fqdns ::app-name ::ingress-name ::service-name ::service-port] :opt-un [::issuer ::cert-name ::rate-limit-name ::ns/namespace])) @@ -32,7 +32,8 @@ (def default-config (merge ns/default-config {:issuer "staging" - :average-rate 10})) + :average-rate 10 + :burst-rate 20})) (defn-spec generate-certificate map? @@ -70,10 +71,10 @@ :rate-limit-name service-name} default-config config) - {:keys [average-rate]} final-config] + {:keys [average-rate burst-rate]} final-config] [(int/generate-certificate final-config) (int/generate-rate-limit-middleware {:rate-limit-name service-name :namespace (:namespace final-config) :average-rate average-rate - :burst-rate average-rate}) + :burst-rate burst-rate}) (int/generate-ingress final-config)])) \ No newline at end of file diff --git a/src/test/cljc/dda/c4k_common/ingress_test.cljc b/src/test/cljc/dda/c4k_common/ingress_test.cljc index 25df6c3..c02cc9c 100644 --- a/src/test/cljc/dda/c4k_common/ingress_test.cljc +++ b/src/test/cljc/dda/c4k_common/ingress_test.cljc @@ -101,7 +101,7 @@ :kind "Middleware", :metadata {:name "web-ratelimit" :namespace "default"}, - :spec {:rateLimit {:average 10, :burst 10}}} + :spec {:rateLimit {:average 10, :burst 20}}} {:apiVersion "networking.k8s.io/v1", :kind "Ingress", :metadata