Skip to content

Commit 13d5dae

Browse files
authored
Release/v0.8.9 (#126)
* Bump up APIFW version * Upgrade dependencies * Bump up Go ver to 1.23.7
1 parent f5e0a84 commit 13d5dae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1108
-434
lines changed

.github/workflows/binaries.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
needs:
5252
- draft-release
5353
env:
54-
X_GO_DISTRIBUTION: "https://go.dev/dl/go1.23.6.linux-amd64.tar.gz"
54+
X_GO_DISTRIBUTION: "https://go.dev/dl/go1.23.7.linux-amd64.tar.gz"
5555
APIFIREWALL_NAMESPACE: "github.com/wallarm/api-firewall"
5656
strategy:
5757
matrix:
@@ -162,7 +162,7 @@ jobs:
162162
needs:
163163
- draft-release
164164
env:
165-
X_GO_VERSION: "1.23.6"
165+
X_GO_VERSION: "1.23.7"
166166
APIFIREWALL_NAMESPACE: "github.com/wallarm/api-firewall"
167167
strategy:
168168
matrix:
@@ -272,19 +272,19 @@ jobs:
272272
include:
273273
- arch: armv6
274274
distro: bullseye
275-
go_distribution: https://go.dev/dl/go1.23.6.linux-armv6l.tar.gz
275+
go_distribution: https://go.dev/dl/go1.23.7.linux-armv6l.tar.gz
276276
artifact: armv6-libc
277277
- arch: aarch64
278278
distro: bullseye
279-
go_distribution: https://go.dev/dl/go1.23.6.linux-arm64.tar.gz
279+
go_distribution: https://go.dev/dl/go1.23.7.linux-arm64.tar.gz
280280
artifact: arm64-libc
281281
- arch: armv6
282282
distro: alpine_latest
283-
go_distribution: https://go.dev/dl/go1.23.6.linux-armv6l.tar.gz
283+
go_distribution: https://go.dev/dl/go1.23.7.linux-armv6l.tar.gz
284284
artifact: armv6-musl
285285
- arch: aarch64
286286
distro: alpine_latest
287-
go_distribution: https://go.dev/dl/go1.23.6.linux-arm64.tar.gz
287+
go_distribution: https://go.dev/dl/go1.23.7.linux-arm64.tar.gz
288288
artifact: arm64-musl
289289
steps:
290290
- uses: actions/[email protected]

.github/workflows/trivy.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,20 @@ jobs:
2323
runs-on: "ubuntu-20.04"
2424
steps:
2525
- name: Checkout code
26-
uses: actions/checkout@v3
26+
uses: actions/checkout@v4
2727

2828
- name: Build an image from Dockerfile
2929
run: |
3030
docker build -t wallarm/api-firewall:${{ github.sha }} .
3131
3232
- name: Run Trivy vulnerability scanner
33-
uses: aquasecurity/trivy-action@7b7aa264d83dc58691451798b4d117d53d21edfe
33+
uses: aquasecurity/trivy-action@0.28.0
3434
with:
3535
image-ref: 'wallarm/api-firewall:${{ github.sha }}'
36-
format: 'template'
37-
template: '@/contrib/sarif.tpl'
36+
format: 'sarif'
3837
output: 'trivy-results.sarif'
39-
severity: 'CRITICAL,HIGH'
4038

4139
- name: Upload Trivy scan results to GitHub Security tab
42-
uses: github/codeql-action/upload-sarif@v2
40+
uses: github/codeql-action/upload-sarif@v3
4341
with:
4442
sarif_file: 'trivy-results.sarif'

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION := 0.8.8
1+
VERSION := 0.8.9
22
NAMESPACE := github.com/wallarm/api-firewall
33

44
.DEFAULT_GOAL := build
@@ -39,10 +39,10 @@ vulncheck:
3939
govulncheck ./...
4040

4141
stop_k6_tests:
42-
@docker-compose -f resources/test/docker-compose-api-mode.yml down
42+
@docker compose -f resources/test/docker-compose-api-mode.yml down
4343

4444
run_k6_tests: stop_k6_tests
45-
@docker-compose -f resources/test/docker-compose-api-mode.yml up --build --detach --force-recreate
45+
@docker compose -f resources/test/docker-compose-api-mode.yml up --build --detach --force-recreate
4646
docker run --rm -i --network host grafana/k6 run -v - <resources/test/specification/script.js || true
4747
$(MAKE) stop_k6_tests
4848

cmd/api-firewall/internal/handlers/proxy/routes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"sync"
1010

1111
"github.com/corazawaf/coraza/v3"
12-
"github.com/golang-jwt/jwt"
12+
"github.com/golang-jwt/jwt/v5"
1313
"github.com/google/uuid"
1414
"github.com/karlseguin/ccache/v2"
1515
"github.com/sirupsen/logrus"

cmd/api-firewall/tests/main_api_mode_bench_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func BenchmarkAPIModeBasic(b *testing.B) {
3737

3838
handler := handlersAPI.Handlers(&lock, &cfg, shutdown, logger, specStorage, nil, nil)
3939

40-
p, err := json.Marshal(map[string]interface{}{
40+
p, err := json.Marshal(map[string]any{
4141
"firstname": "test",
4242
"lastname": "test",
4343
"job": "test",

cmd/api-firewall/tests/main_api_mode_test.go

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,7 @@ func (s *APIModeServiceTests) testAPIModeSuccess(t *testing.T) {
745745

746746
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
747747

748-
p, err := json.Marshal(map[string]interface{}{
748+
p, err := json.Marshal(map[string]any{
749749
"firstname": "test",
750750
"lastname": "test",
751751
"job": "test",
@@ -777,7 +777,7 @@ func (s *APIModeServiceTests) testAPIModeSuccess(t *testing.T) {
777777
checkResponseOkStatusCode(t, &reqCtx, DefaultSchemaID)
778778

779779
// Repeat request with invalid email
780-
reqInvalidEmail, err := json.Marshal(map[string]interface{}{
780+
reqInvalidEmail, err := json.Marshal(map[string]any{
781781
"firstname": "test",
782782
"lastname": "test",
783783
"job": "test",
@@ -808,7 +808,7 @@ func (s *APIModeServiceTests) testAPIModeMissedMultipleReqParams(t *testing.T) {
808808

809809
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
810810

811-
p, err := json.Marshal(map[string]interface{}{
811+
p, err := json.Marshal(map[string]any{
812812
"firstname": "test",
813813
"lastname": "test",
814814
"job": "test",
@@ -840,7 +840,7 @@ func (s *APIModeServiceTests) testAPIModeMissedMultipleReqParams(t *testing.T) {
840840
checkResponseOkStatusCode(t, &reqCtx, DefaultSchemaID)
841841

842842
// Repeat request with invalid email
843-
reqInvalidEmail, err := json.Marshal(map[string]interface{}{
843+
reqInvalidEmail, err := json.Marshal(map[string]any{
844844
"email": "[email protected]",
845845
})
846846

@@ -850,7 +850,7 @@ func (s *APIModeServiceTests) testAPIModeMissedMultipleReqParams(t *testing.T) {
850850

851851
req.SetBodyStream(bytes.NewReader(reqInvalidEmail), -1)
852852

853-
missedParams := map[string]interface{}{
853+
missedParams := map[string]any{
854854
"firstname": struct{}{},
855855
"lastname": struct{}{},
856856
}
@@ -1008,7 +1008,7 @@ func (s *APIModeServiceTests) testAPIModeOneSchemeMultipleIDs(t *testing.T) {
10081008
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
10091009

10101010
// one schema
1011-
p, err := json.Marshal(map[string]interface{}{
1011+
p, err := json.Marshal(map[string]any{
10121012
"firstname": "test",
10131013
"lastname": "test",
10141014
"job": "test",
@@ -1092,7 +1092,7 @@ func (s *APIModeServiceTests) testAPIModeTwoDifferentSchemesMultipleIDs(t *testi
10921092
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
10931093

10941094
// one schema
1095-
p, err := json.Marshal(map[string]interface{}{
1095+
p, err := json.Marshal(map[string]any{
10961096
"firstname": "test",
10971097
"lastname": "test",
10981098
"job": "test",
@@ -1122,7 +1122,7 @@ func (s *APIModeServiceTests) testAPIModeTwoDifferentSchemesMultipleIDs(t *testi
11221122

11231123
req.Header.Set(web.XWallarmSchemaIDHeader, fmt.Sprintf("%d", SecondSchemaID))
11241124

1125-
p, err = json.Marshal(map[string]interface{}{
1125+
p, err = json.Marshal(map[string]any{
11261126
"email": "[email protected]",
11271127
})
11281128

@@ -1198,7 +1198,7 @@ func (s *APIModeServiceTests) testAPIModeTwoSchemesMultipleIDs(t *testing.T) {
11981198

11991199
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
12001200

1201-
p, err := json.Marshal(map[string]interface{}{
1201+
p, err := json.Marshal(map[string]any{
12021202
"firstname": "test",
12031203
"lastname": "test",
12041204
"job": "test",
@@ -1247,7 +1247,7 @@ func (s *APIModeServiceTests) testAPIModeTwoSchemesMultipleIDs(t *testing.T) {
12471247
}
12481248

12491249
// Repeat request with invalid email
1250-
reqInvalidEmail, err := json.Marshal(map[string]interface{}{
1250+
reqInvalidEmail, err := json.Marshal(map[string]any{
12511251
"firstname": "test",
12521252
"lastname": "test",
12531253
"job": "test",
@@ -1330,7 +1330,7 @@ func (s *APIModeServiceTests) testAPIModeInvalidCTParseError(t *testing.T) {
13301330

13311331
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
13321332

1333-
p, err := json.Marshal(map[string]interface{}{
1333+
p, err := json.Marshal(map[string]any{
13341334
"firstname": "test",
13351335
"lastname": "test",
13361336
"job": "test",
@@ -1366,7 +1366,7 @@ func (s *APIModeServiceTests) testAPIModeCTNotInSpec(t *testing.T) {
13661366

13671367
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
13681368

1369-
p, err := json.Marshal(map[string]interface{}{
1369+
p, err := json.Marshal(map[string]any{
13701370
"firstname": "test",
13711371
"lastname": "test",
13721372
"job": "test",
@@ -1426,7 +1426,7 @@ func (s *APIModeServiceTests) testAPIModeNoXWallarmSchemaIDHeader(t *testing.T)
14261426

14271427
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
14281428

1429-
p, err := json.Marshal(map[string]interface{}{
1429+
p, err := json.Marshal(map[string]any{
14301430
"firstname": "test",
14311431
"lastname": "test",
14321432
"job": "test",
@@ -1528,7 +1528,7 @@ func (s *APIModeServiceTests) testAPIModeMethodAndPathNotFound(t *testing.T) {
15281528

15291529
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
15301530

1531-
p, err := json.Marshal(map[string]interface{}{
1531+
p, err := json.Marshal(map[string]any{
15321532
"firstname": "test",
15331533
"lastname": "test",
15341534
"job": "test",
@@ -1731,7 +1731,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyMissed(t *testing.T) {
17311731

17321732
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
17331733

1734-
p, err := json.Marshal(map[string]interface{}{
1734+
p, err := json.Marshal(map[string]any{
17351735
"status": uuid.New().String(),
17361736
"testInt": 50,
17371737
"error": "test",
@@ -1782,7 +1782,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterMissed(t *testing.
17821782

17831783
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
17841784

1785-
p, err := json.Marshal(map[string]interface{}{
1785+
p, err := json.Marshal(map[string]any{
17861786
"status": uuid.New().String(),
17871787
"testInt": 50,
17881788
"error": "test",
@@ -1812,7 +1812,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterMissed(t *testing.
18121812
checkResponseOkStatusCode(t, &reqCtx, DefaultSchemaID)
18131813

18141814
// body without required parameter
1815-
p, err = json.Marshal(map[string]interface{}{
1815+
p, err = json.Marshal(map[string]any{
18161816
"error": "test",
18171817
})
18181818

@@ -2003,7 +2003,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterInvalidValue(t *te
20032003

20042004
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
20052005

2006-
p, err := json.Marshal(map[string]interface{}{
2006+
p, err := json.Marshal(map[string]any{
20072007
"status": uuid.New().String(),
20082008
"testInt": 50,
20092009
"error": "test",
@@ -2033,7 +2033,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterInvalidValue(t *te
20332033
checkResponseOkStatusCode(t, &reqCtx, DefaultSchemaID)
20342034

20352035
// body without required parameter
2036-
p, err = json.Marshal(map[string]interface{}{
2036+
p, err = json.Marshal(map[string]any{
20372037
"status": "invalid_test_value",
20382038
"testInt": 50,
20392039
"error": "test",
@@ -2063,7 +2063,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterInvalidValue(t *te
20632063
checkResponseForbiddenStatusCode(t, &reqCtx, DefaultSchemaID, []string{validator.ErrCodeRequiredBodyParameterInvalidValue})
20642064

20652065
// body with parameter which has invalid type
2066-
p, err = json.Marshal(map[string]interface{}{
2066+
p, err = json.Marshal(map[string]any{
20672067
"status": uuid.New().String(),
20682068
"testInt": "invalid_type_str",
20692069
"error": "test",
@@ -2093,7 +2093,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterInvalidValue(t *te
20932093
checkResponseForbiddenStatusCode(t, &reqCtx, DefaultSchemaID, []string{validator.ErrCodeRequiredBodyParameterInvalidValue})
20942094

20952095
// body with required parameter that has value less than minimum threshold
2096-
p, err = json.Marshal(map[string]interface{}{
2096+
p, err = json.Marshal(map[string]any{
20972097
"status": uuid.New().String(),
20982098
"testInt": 1,
20992099
"error": "test",
@@ -2123,7 +2123,7 @@ func (s *APIModeServiceTests) testAPIModeRequiredBodyParameterInvalidValue(t *te
21232123
checkResponseForbiddenStatusCode(t, &reqCtx, DefaultSchemaID, []string{validator.ErrCodeRequiredBodyParameterInvalidValue})
21242124

21252125
// body with required parameter that has value more than maximum threshold
2126-
p, err = json.Marshal(map[string]interface{}{
2126+
p, err = json.Marshal(map[string]any{
21272127
"status": uuid.New().String(),
21282128
"testInt": 1000,
21292129
"error": "test",
@@ -2365,7 +2365,7 @@ func (s *APIModeServiceTests) testAPIModeUnknownParameterBodyJSON(t *testing.T)
23652365

23662366
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
23672367

2368-
p, err := json.Marshal(map[string]interface{}{
2368+
p, err := json.Marshal(map[string]any{
23692369
"firstname": "test",
23702370
"lastname": "test",
23712371
"job": "test",
@@ -2399,7 +2399,7 @@ func (s *APIModeServiceTests) testAPIModeUnknownParameterBodyJSON(t *testing.T)
23992399
// check response status code and response body
24002400
checkResponseForbiddenStatusCode(t, &reqCtx, DefaultSchemaID, []string{validator.ErrCodeUnknownParameterFound})
24012401

2402-
p, err = json.Marshal(map[string]interface{}{
2402+
p, err = json.Marshal(map[string]any{
24032403
"firstname": "test",
24042404
"lastname": "test",
24052405
"job": "test",
@@ -2690,7 +2690,7 @@ func (s *APIModeServiceTests) testAPIModeInvalidRouteInRequest(t *testing.T) {
26902690

26912691
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
26922692

2693-
p, err := json.Marshal(map[string]interface{}{
2693+
p, err := json.Marshal(map[string]any{
26942694
"firstname": "test",
26952695
"lastname": "test",
26962696
"job": "test",
@@ -2746,7 +2746,7 @@ func (s *APIModeServiceTests) testAPIModeInvalidRouteInRequestInMultipleSchemas(
27462746

27472747
handler := handlersAPI.Handlers(s.lock, &cfg, s.shutdown, s.logger, s.dbSpec, nil, nil)
27482748

2749-
p, err := json.Marshal(map[string]interface{}{
2749+
p, err := json.Marshal(map[string]any{
27502750
"firstname": "test",
27512751
"lastname": "test",
27522752
"job": "test",

0 commit comments

Comments
 (0)