Skip to content

Commit

Permalink
add: Support Istio getaway to filter VirtualService retries fields & …
Browse files Browse the repository at this point in the history
…Delete match with traffic judgment.

Signed-off-by: 赵禹 <[email protected]>
  • Loading branch information
赵禹 committed Jan 3, 2024
1 parent 678d4d2 commit 88671c8
Showing 1 changed file with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ function GetRulesToPatch(spec, stableService, protocol)
local matchedRoutes = {}
if (spec[protocol] ~= nil) then
for _, rule in ipairs(spec[protocol]) do
local retries = rule.retries or {}
if #retries == 0 then
rule.retries = nil
end
-- skip routes contain matches
if (rule.match == nil) then
for _, route in ipairs(rule.route) do
Expand All @@ -44,6 +48,14 @@ end

-- generate routes with matches, insert a rule before other rules, only support http headers, cookies etc.
function GenerateRoutesWithMatches(spec, matches, stableService, canaryService)
local http = spec.http
for _, rule in ipairs(http) do
local retries = rule.retries or {}
if #retries == 0 then
rule.retries = nil
end
end

for _, match in ipairs(matches) do
local route = {}
route["match"] = {}
Expand Down Expand Up @@ -79,7 +91,7 @@ function GenerateRoutesWithMatches(spec, matches, stableService, canaryService)
else
route.route[1].destination.host = canaryService
end
table.insert(spec.http, 1, route)
table.insert(http, 1, route)
end
end

Expand Down

0 comments on commit 88671c8

Please sign in to comment.