Download Latest Version skipper-v0.22.88-darwin-amd64.tar.gz (71.5 MB)
Email in envelope

Get an email when there's a new version of Skipper

Home / v0.22.87
Name Modified Size InfoDownloads / Week
Parent folder
skipper-v0.22.87-windows-amd64.zip 2025-08-11 72.4 MB
skipper-v0.22.87-linux-armv7.tar.gz 2025-08-11 65.1 MB
skipper-v0.22.87-linux-arm64.tar.gz 2025-08-11 66.7 MB
skipper-v0.22.87-linux-amd64.tar.gz 2025-08-11 71.8 MB
skipper-v0.22.87-darwin-arm64.tar.gz 2025-08-11 67.6 MB
skipper-v0.22.87-darwin-amd64.tar.gz 2025-08-11 71.3 MB
sha256sum.txt 2025-08-11 613 Bytes
README.md 2025-08-11 4.2 kB
v0.22.87 source code.tar.gz 2025-08-11 4.3 MB
v0.22.87 source code.zip 2025-08-11 5.1 MB
Totals: 10 Items   424.4 MB 0

Changes

OPA JWT token cache configuration (#3572)

Context

With https://github.com/open-policy-agent/opa/pull/7274 Open Policy Agent added configurable token cache to io.jwt token verification built-in functions to improve performance. See changelog.

Changes

With this pull request JWT cache reading and writing is enabled and benchmark tests are added to measure JWT validation performance with cache configuration.

Fix in opa-envoy-plugin After initial round of benchmark tests that showed no impact on perfomence the bug was found in opa-envoy-plugin and contribution with the fix was made.

Benchmark tests result after fix

  • results for test with vs without cache configuration

for 10 runs, each 20 s: attached: jwt-validation-cache-benchmark-results-10runs-20s.txt

:::goos: darwin
goarch: arm64
pkg: github.com/zalando/skipper/filters/openpolicyagent/opaauthorizerequest
cpu: Apple M1
                                  │       sec/op       │
JwtValidation/without_jwt_cache-8       20.10µ ± 4%
JwtValidation/with_jwt_cache-8          10.65µ ± 3%
geomean                                 14.63µ

                                  │        B/op        │
JwtValidation/without_jwt_cache-8      38.11Ki ± 0%
JwtValidation/with_jwt_cache-8         29.89Ki ± 0%
geomean                                33.75Ki

                                  │     allocs/op      │
JwtValidation/without_jwt_cache-8        621.0 ± 0%
JwtValidation/with_jwt_cache-8           512.0 ± 0%
geomean                                  563.9
  • results for test with cache set for max number of 5 tokens in the cache and varying number of tokens in the test (1, 5, 6, 10, 100)

    :::goos: darwin goarch: arm64 pkg: github.com/zalando/skipper/filters/openpolicyagent/opaauthorizerequest cpu: Apple M1 │ B/op │ JwtValidationWithVaryingTokenCounts/tokens_count_1-8 9.892µ ± 14% JwtValidationWithVaryingTokenCounts/tokens_count_5-8 10.38µ ± 9% JwtValidationWithVaryingTokenCounts/tokens_count_6-8 13.38µ ± 3% JwtValidationWithVaryingTokenCounts/tokens_count_10-8 16.23µ ± 7% JwtValidationWithVaryingTokenCounts/tokens_count_100-8 22.25µ ± 14%

                                                       │        B/op        │
    

    JwtValidationWithVaryingTokenCounts/tokens_count_1-8 29.89Ki ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_5-8 29.90Ki ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_6-8 31.78Ki ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_10-8 34.57Ki ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_100-8 38.27Ki ± 0% geomean 32.73Ki

                                                       │     allocs/op      │
    

    JwtValidationWithVaryingTokenCounts/tokens_count_1-8 512.0 ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_5-8 512.0 ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_6-8 538.0 ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_10-8 577.0 ± 0% JwtValidationWithVaryingTokenCounts/tokens_count_100-8 631.5 ± 0%


Multiarch Docker image

Multiarch Docker image is available in Github's docker registry:

docker run -it ghcr.io/zalando/skipper:v0.22.87 skipper --help

Docker image

Docker image is available in Zalando's Open Source registry:

docker run -it registry.opensource.zalan.do/teapot/skipper:v0.22.87 skipper --help
Source: README.md, updated 2025-08-11