Skip to content

Commit 8c5cc8d

Browse files
authored
tiered rate limit jwt e2e tests (#7412)
1 parent c42fbb0 commit 8c5cc8d

30 files changed

+1745
-331
lines changed

.github/data/matrix-smoke-plus.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,19 +64,26 @@
6464
"platforms": "linux/arm64, linux/amd64"
6565
},
6666
{
67-
"label": "policies 1/2",
67+
"label": "policies 1/3",
6868
"image": "ubi-9-plus",
6969
"type": "plus",
70-
"marker": "'policies and not policies_ac and not policies_jwt and not policies_mtls'",
70+
"marker": "'policies and not policies_ac and not policies_jwt and not policies_mtls and not policies_rl'",
7171
"platforms": "linux/arm64, linux/amd64, linux/s390x"
7272
},
7373
{
74-
"label": "policies 2/2",
74+
"label": "policies 2/3",
7575
"image": "ubi-9-plus",
7676
"type": "plus",
7777
"marker": "'policies_ac or policies_jwt or policies_mtls'",
7878
"platforms": "linux/arm64, linux/amd64, linux/s390x"
7979
},
80+
{
81+
"label": "policies 3/3",
82+
"image": "ubi-9-plus",
83+
"type": "plus",
84+
"marker": "policies_rl",
85+
"platforms": "linux/arm64, linux/amd64, linux/s390x"
86+
},
8087
{
8188
"label": "OIDC-UI 1/1",
8289
"image": "debian-plus",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2RldGFpbHMiOnsibGV2ZWwiOiJCYXNpYyJ9LCJzdWIiOiJjbGllbnQyIiwibmFtZSI6IkphbmUgRG9lIn0.WeylllL0g70FQqtuz9HQh8oI7-1y9Qlx1_LVCZxAGLE
1+
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAwMDEifQ.eyJ1c2VyX2RldGFpbHMiOnsibGV2ZWwiOiJCYXNpYyJ9LCJzdWIiOiJjbGllbnQyIiwibmFtZSI6IkphbmUgRG9lIn0.Iy187N0_DQF-uQwGzsnn4fOwADNAYotNWB8nSMQaD2M
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjbGllbnQzIiwibmFtZSI6IkJpbGx5IEJsb2dncyJ9.ARozS58-7UN5enKlH1AXt_QC_tuRoLC1I-lTc0UrJFo
1+
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAwMDEifQ.eyJzdWIiOiJjbGllbnQzIiwibmFtZSI6IkJpbGx5IEJsb2dncyJ9.i0CScSOYEaMCkrIA8HpvElfjrdDr4pp2HEkpgnc8UVc
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2RldGFpbHMiOnsibGV2ZWwiOiJQcmVtaXVtIn0sInN1YiI6ImNsaWVudDUiLCJuYW1lIjoiSm9obiBEb2UiLCJpYXQiOjE1MTYyMzkwMjJ9.LxYflVUa01jsoxo4TbC4h5pnqypBamV1XUqKdAGt968
1+
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAwMDEifQ.eyJ1c2VyX2RldGFpbHMiOnsibGV2ZWwiOiJQcmVtaXVtIn0sInN1YiI6ImNsaWVudDUiLCJuYW1lIjoiSm9obiBEb2UiLCJpYXQiOjE1MTYyMzkwMjJ9.v2s74eW_jIkR0VKKv0JmQZ6WwQSdDDDtUTWFjAwg82c

internal/configs/virtualserver.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,7 +1048,7 @@ func (p *policiesCfg) addRateLimitConfig(
10481048
) *validationResults {
10491049
res := newValidationResults()
10501050

1051-
rlZoneName := fmt.Sprintf("pol_rl_%v_%v_%v_%v", polNamespace, polName, ownerDetails.vsNamespace, ownerDetails.vsName)
1051+
rlZoneName := rfc1123ToSnake(fmt.Sprintf("pol_rl_%v_%v_%v_%v", polNamespace, polName, ownerDetails.vsNamespace, ownerDetails.vsName))
10521052
if rateLimit.Condition != nil && rateLimit.Condition.JWT.Claim != "" && rateLimit.Condition.JWT.Match != "" {
10531053
lrz := generateGroupedLimitReqZone(rlZoneName, rateLimit, podReplicas, ownerDetails)
10541054
p.RateLimit.PolicyGroupMaps = append(p.RateLimit.PolicyGroupMaps, *generateLRZPolicyGroupMap(lrz))
@@ -1778,16 +1778,16 @@ func generateGroupedLimitReqZone(zoneName string,
17781778
strings.ToLower(rateLimitPol.Condition.JWT.Match),
17791779
)
17801780

1781-
lrz.GroupVariable = fmt.Sprintf("$rl_%s_%s_group_%s",
1781+
lrz.GroupVariable = rfc1123ToSnake(fmt.Sprintf("$rl_%s_%s_group_%s",
17821782
ownerDetails.vsNamespace,
17831783
ownerDetails.vsName,
17841784
strings.ToLower(
17851785
strings.Join(
17861786
strings.Split(rateLimitPol.Condition.JWT.Claim, "."), "_",
17871787
),
17881788
),
1789-
)
1790-
lrz.Key = fmt.Sprintf("$%s", strings.Replace(zoneName, "-", "_", -1))
1789+
))
1790+
lrz.Key = rfc1123ToSnake(fmt.Sprintf("$%s", zoneName))
17911791
lrz.PolicyResult = rateLimitPol.Key
17921792
lrz.GroupDefault = rateLimitPol.Condition.Default
17931793
lrz.GroupSource = generateAuthJwtClaimSetVariable(rateLimitPol.Condition.JWT.Claim, ownerDetails.vsNamespace, ownerDetails.vsName)
@@ -1858,7 +1858,7 @@ func generateAuthJwtClaimSet(jwtCondition conf_v1.JWTCondition, owner policyOwne
18581858
}
18591859

18601860
func generateAuthJwtClaimSetVariable(claim string, vsNamespace string, vsName string) string {
1861-
return fmt.Sprintf("$jwt_%v_%v_%v", vsNamespace, vsName, strings.Join(strings.Split(claim, "."), "_"))
1861+
return strings.ReplaceAll(fmt.Sprintf("$jwt_%v_%v_%v", vsNamespace, vsName, strings.Join(strings.Split(claim, "."), "_")), "-", "_")
18621862
}
18631863

18641864
func generateAuthJwtClaimSetClaim(claim string) string {

internal/configs/virtualserver_test.go

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6570,7 +6570,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
65706570
LimitReqZones: []version2.LimitReqZone{
65716571
{
65726572
Key: "$pol_rl_default_premium_rate_limit_policy_default_cafe",
6573-
ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe",
6573+
ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe",
65746574
ZoneSize: "10M",
65756575
Rate: "10r/s",
65766576
PolicyResult: "$jwt_claim_sub",
@@ -6581,7 +6581,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
65816581
},
65826582
{
65836583
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
6584-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
6584+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
65856585
ZoneSize: "20M",
65866586
Rate: "20r/s",
65876587
PolicyResult: "$jwt_claim_sub",
@@ -6598,8 +6598,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
65986598
VSNamespace: "default",
65996599
VSName: "cafe",
66006600
LimitReqs: []version2.LimitReq{
6601-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6602-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6601+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6602+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
66036603
},
66046604
LimitReqOptions: version2.LimitReqOptions{
66056605
DryRun: false,
@@ -6805,7 +6805,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
68056805
LimitReqZones: []version2.LimitReqZone{
68066806
{
68076807
Key: "$pol_rl_default_premium_rate_limit_policy_default_cafe",
6808-
ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe",
6808+
ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe",
68096809
ZoneSize: "10M",
68106810
Rate: "10r/s",
68116811
PolicyResult: "$jwt_claim_sub",
@@ -6816,7 +6816,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
68166816
},
68176817
{
68186818
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
6819-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
6819+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
68206820
ZoneSize: "20M",
68216821
Rate: "20r/s",
68226822
PolicyResult: "$jwt_claim_sub",
@@ -6834,8 +6834,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
68346834
VSNamespace: "default",
68356835
VSName: "cafe",
68366836
LimitReqs: []version2.LimitReq{
6837-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6838-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6837+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
6838+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
68396839
},
68406840
LimitReqOptions: version2.LimitReqOptions{
68416841
DryRun: false,
@@ -7041,7 +7041,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
70417041
LimitReqZones: []version2.LimitReqZone{
70427042
{
70437043
Key: "$pol_rl_default_premium_rate_limit_policy_default_cafe",
7044-
ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe",
7044+
ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe",
70457045
ZoneSize: "10M",
70467046
Rate: "10r/s",
70477047
PolicyResult: "$jwt_claim_sub",
@@ -7052,7 +7052,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
70527052
},
70537053
{
70547054
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
7055-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
7055+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
70567056
ZoneSize: "20M",
70577057
Rate: "20r/s",
70587058
PolicyResult: "$jwt_claim_sub",
@@ -7081,8 +7081,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
70817081
ProxySetHeaders: []version2.Header{{Name: "Host", Value: "$host"}},
70827082
ServiceName: "tea-svc",
70837083
LimitReqs: []version2.LimitReq{
7084-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7085-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7084+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7085+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
70867086
},
70877087
LimitReqOptions: version2.LimitReqOptions{
70887088
DryRun: false,
@@ -7296,7 +7296,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
72967296
LimitReqZones: []version2.LimitReqZone{
72977297
{
72987298
Key: "$pol_rl_default_premium_rate_limit_policy_default_cafe",
7299-
ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe",
7299+
ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe",
73007300
ZoneSize: "10M",
73017301
Rate: "10r/s",
73027302
PolicyResult: "$jwt_claim_sub",
@@ -7307,7 +7307,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
73077307
},
73087308
{
73097309
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
7310-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
7310+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
73117311
ZoneSize: "20M",
73127312
Rate: "20r/s",
73137313
PolicyResult: "$jwt_claim_sub",
@@ -7350,8 +7350,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
73507350
VSRName: "tea",
73517351
VSRNamespace: "default",
73527352
LimitReqs: []version2.LimitReq{
7353-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7354-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7353+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7354+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
73557355
},
73567356
LimitReqOptions: version2.LimitReqOptions{
73577357
DryRun: false,
@@ -7562,7 +7562,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
75627562
LimitReqZones: []version2.LimitReqZone{
75637563
{
75647564
Key: "$pol_rl_default_premium_rate_limit_policy_default_cafe",
7565-
ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe",
7565+
ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe",
75667566
ZoneSize: "10M",
75677567
Rate: "10r/s",
75687568
PolicyResult: "$jwt_claim_sub",
@@ -7573,7 +7573,7 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
75737573
},
75747574
{
75757575
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
7576-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
7576+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
75777577
ZoneSize: "20M",
75787578
Rate: "20r/s",
75797579
PolicyResult: "$jwt_claim_sub",
@@ -7591,8 +7591,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
75917591
VSNamespace: "default",
75927592
VSName: "cafe",
75937593
LimitReqs: []version2.LimitReq{
7594-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7595-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7594+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7595+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
75967596
},
75977597
LimitReqOptions: version2.LimitReqOptions{
75987598
DryRun: false,
@@ -7625,8 +7625,8 @@ func TestGenerateVirtualServerConfigRateLimitGroups(t *testing.T) {
76257625
VSRName: "tea",
76267626
VSRNamespace: "default",
76277627
LimitReqs: []version2.LimitReq{
7628-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7629-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7628+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7629+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
76307630
},
76317631
LimitReqOptions: version2.LimitReqOptions{
76327632
DryRun: false,
@@ -7857,7 +7857,7 @@ func TestGenerateVirtualServerConfigWithRateLimitGroupsWarning(t *testing.T) {
78577857
},
78587858
{
78597859
Key: "$pol_rl_default_basic_rate_limit_policy_default_cafe",
7860-
ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe",
7860+
ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe",
78617861
ZoneSize: "20M",
78627862
Rate: "20r/s",
78637863
PolicyResult: "$jwt_claim_sub",
@@ -7874,8 +7874,8 @@ func TestGenerateVirtualServerConfigWithRateLimitGroupsWarning(t *testing.T) {
78747874
VSNamespace: "default",
78757875
VSName: "cafe",
78767876
LimitReqs: []version2.LimitReq{
7877-
{ZoneName: "pol_rl_default_premium-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7878-
{ZoneName: "pol_rl_default_basic-rate-limit-policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7877+
{ZoneName: "pol_rl_default_premium_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
7878+
{ZoneName: "pol_rl_default_basic_rate_limit_policy_default_cafe", Burst: 0, NoDelay: false, Delay: 0},
78797879
},
78807880
LimitReqOptions: version2.LimitReqOptions{
78817881
DryRun: false,
@@ -8131,15 +8131,15 @@ func TestGeneratePolicies(t *testing.T) {
81318131
RateLimit: rateLimit{
81328132
Reqs: []version2.LimitReq{
81338133
{
8134-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8134+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
81358135
},
81368136
},
81378137
Zones: []version2.LimitReqZone{
81388138
{
81398139
Key: "test",
81408140
ZoneSize: "10M",
81418141
Rate: "10r/s",
8142-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8142+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
81438143
},
81448144
},
81458145
Options: version2.LimitReqOptions{
@@ -8188,13 +8188,13 @@ func TestGeneratePolicies(t *testing.T) {
81888188
Key: "test",
81898189
ZoneSize: "10M",
81908190
Rate: "10r/s",
8191-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8191+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
81928192
},
81938193
{
81948194
Key: "test2",
81958195
ZoneSize: "20M",
81968196
Rate: "20r/s",
8197-
ZoneName: "pol_rl_default_rateLimit-policy2_default_test",
8197+
ZoneName: "pol_rl_default_rateLimit_policy2_default_test",
81988198
},
81998199
},
82008200
Options: version2.LimitReqOptions{
@@ -8203,10 +8203,10 @@ func TestGeneratePolicies(t *testing.T) {
82038203
},
82048204
Reqs: []version2.LimitReq{
82058205
{
8206-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8206+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
82078207
},
82088208
{
8209-
ZoneName: "pol_rl_default_rateLimit-policy2_default_test",
8209+
ZoneName: "pol_rl_default_rateLimit_policy2_default_test",
82108210
},
82118211
},
82128212
},
@@ -8240,7 +8240,7 @@ func TestGeneratePolicies(t *testing.T) {
82408240
Key: "test",
82418241
ZoneSize: "10M",
82428242
Rate: "5r/s",
8243-
ZoneName: "pol_rl_default_rateLimitScale-policy_default_test",
8243+
ZoneName: "pol_rl_default_rateLimitScale_policy_default_test",
82448244
},
82458245
},
82468246
Options: version2.LimitReqOptions{
@@ -8249,7 +8249,7 @@ func TestGeneratePolicies(t *testing.T) {
82498249
},
82508250
Reqs: []version2.LimitReq{
82518251
{
8252-
ZoneName: "pol_rl_default_rateLimitScale-policy_default_test",
8252+
ZoneName: "pol_rl_default_rateLimitScale_policy_default_test",
82538253
},
82548254
},
82558255
},
@@ -8962,13 +8962,13 @@ func TestGeneratePoliciesFails(t *testing.T) {
89628962
Key: "test",
89638963
ZoneSize: "10M",
89648964
Rate: "10r/s",
8965-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8965+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
89668966
},
89678967
{
89688968
Key: "test2",
89698969
ZoneSize: "20M",
89708970
Rate: "20r/s",
8971-
ZoneName: "pol_rl_default_rateLimit-policy2_default_test",
8971+
ZoneName: "pol_rl_default_rateLimit_policy2_default_test",
89728972
},
89738973
},
89748974
Options: version2.LimitReqOptions{
@@ -8977,10 +8977,10 @@ func TestGeneratePoliciesFails(t *testing.T) {
89778977
},
89788978
Reqs: []version2.LimitReq{
89798979
{
8980-
ZoneName: "pol_rl_default_rateLimit-policy_default_test",
8980+
ZoneName: "pol_rl_default_rateLimit_policy_default_test",
89818981
},
89828982
{
8983-
ZoneName: "pol_rl_default_rateLimit-policy2_default_test",
8983+
ZoneName: "pol_rl_default_rateLimit_policy2_default_test",
89848984
},
89858985
},
89868986
},

tests/Dockerfile

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# syntax=docker/dockerfile:1.5
1+
# syntax=docker/dockerfile:1.11
22
# this is here so we can grab the latest version of kind and have dependabot keep it up to date
33
FROM kindest/node:v1.32.2@sha256:f226345927d7e348497136874b6d207e0b32cc52154ad8323129352923a3142f
44

@@ -8,27 +8,23 @@ FROM quay.io/skopeo/stable:v1.17.0
88
FROM python:3.13@sha256:08471c63c5fdf2644adc142a7fa8d0290eb405cda14c473fbe5b4cd0933af601
99

1010
RUN apt-get update \
11-
&& apt-get install -y curl git \
11+
&& apt-get install -y curl git apache2-utils \
1212
&& rm -rf /var/lib/apt/lists/*
1313

1414
WORKDIR /workspace/tests
1515

16-
COPY --link tests/requirements.txt /workspace/tests/
17-
RUN pip install --require-hashes -r requirements.txt --no-deps
18-
RUN playwright install --with-deps chromium
1916

17+
COPY --link tests/requirements.txt /workspace/tests/
2018
COPY --link deployments /workspace/deployments
2119
COPY --link config /workspace/config
20+
COPY --link tests /workspace/tests
21+
COPY --link pyproject.toml /workspace/pyproject.toml
2222

2323
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \
2424
&& install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
25-
&& apt-get update && apt-get install -y apache2-utils
25+
&& curl https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz | tar xvz -C /tmp/ && mv /tmp/docker/docker /usr/bin/docker
2626

27-
RUN apt update -y \
28-
&& curl https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz | tar xvz -C /tmp/ && mv /tmp/docker/docker /usr/bin/docker
29-
30-
COPY --link tests /workspace/tests
31-
32-
COPY --link pyproject.toml /workspace/
27+
RUN pip install --require-hashes -r requirements.txt --no-deps
28+
RUN playwright install --with-deps chromium
3329

3430
ENTRYPOINT ["python3", "-m", "pytest"]

0 commit comments

Comments
 (0)