37 lines
1.3 KiB
Lua
37 lines
1.3 KiB
Lua
annotations = {}
|
|
if ( obj.annotations )
|
|
then
|
|
annotations = obj.annotations
|
|
end
|
|
annotations["alb.ingress.kubernetes.io/canary"] = "true"
|
|
annotations["alb.ingress.kubernetes.io/canary-by-cookie"] = nil
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header"] = nil
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header-pattern"] = nil
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header-value"] = nil
|
|
annotations["alb.ingress.kubernetes.io/canary-weight"] = nil
|
|
annotations["alb.ingress.kubernetes.io/order"] = "1"
|
|
if ( obj.weight ~= "-1" )
|
|
then
|
|
annotations["alb.ingress.kubernetes.io/canary-weight"] = obj.weight
|
|
end
|
|
if ( not obj.matches )
|
|
then
|
|
return annotations
|
|
end
|
|
for _,match in ipairs(obj.matches) do
|
|
local header = match.headers[1]
|
|
if ( header.name == "canary-by-cookie" )
|
|
then
|
|
annotations["alb.ingress.kubernetes.io/canary-by-cookie"] = header.value
|
|
else
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header"] = header.name
|
|
if ( header.type == "RegularExpression" )
|
|
then
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header-pattern"] = header.value
|
|
else
|
|
annotations["alb.ingress.kubernetes.io/canary-by-header-value"] = header.value
|
|
end
|
|
end
|
|
end
|
|
return annotations
|