Repository navigation
v1.3.2
·
12 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Changes
-
- added end-to-end tests - refactoring - minor fixes - improved logging - added docs - http2https
-
- https - http2 - readme - coverage
-
- refactoring - added tests - saving data into redis with gob - added load balancing (roundrobin) - improved CI - added tests in dockerfile - linted - added check for race conditions - added config struct
-
- added graceful shutdown - small refactoring - gzip
-
- fix codecov in ci - fixing tests - added script flags - added tlsfuzzer - docs
- Add FUNDING.yml + contact CTA
- Add license scan report and status (#64)
- Added the required mention in the readme for OpenSSL
- Bump alpine from 3.12.1 to 3.12.2 (#61)
- Bump alpine from 3.12.2 to 3.12.3 (#66)
- Bump alpine from 3.12.3 to 3.13.0
- Bump alpine from 3.13.0 to 3.13.2
- Bump alpine from 3.13.2 to 3.13.5
- Bump alpine from 3.13.5 to 3.14.0
- Bump golang from 1.15.4-alpine3.12 to 1.15.5-alpine3.12
- Bump golang from 1.15.5-alpine3.12 to 1.15.6-alpine3.12 (#39)
- Bump golang from 1.15.6-alpine3.12 to 1.16.1-alpine3.12
- Bump golang from 1.16.1-alpine3.12 to 1.16.3-alpine3.12
- Bump ws from 7.4.1 to 7.4.6 in /test/full-setup
- Cache dns upstream - closed #52
- Cancel superseded CI runs on the same ref
- Compile on different platforms and provide it on each release (#138)
- Create codeql-analysis.yml
- Dedupe balancer init logic and metrics label-building (ponytail audit)
- Docker multi distro builds (#22)
- Domain overrides settings #35 (#106)
- Feature/update dependencies (#161)
- Fix mis-indented Kubernetes deployment manifest (Pod-spec fields nested under containers)
- Fixed missing TLS files + Refactoring (#102)
- Fixed paambaati/codeclimate-action@v2.7.4
- HTTP2 Pusher interface is broken (#65)
- Harden runtime images: drop root, add libcap for privileged-port binding, add HEALTHCHECK
- LB Algorithms (#108)
- Merge branch 'main' into claude/amazing-meitner-sf2tv5
- Merge branch 'main' into feature/issue-58-negative-caching
- Merge branch 'main' into feature/redis_cluster
- Merge branch 'main' into v0.2.0
- Merge branch 'main' of github.com:fabiocicerchia/go-proxy-cache into main
- Merge branch 'main' of github.com:fabiocicerchia/go-proxy-cache into main
- Merge pull request #1 from fabiocicerchia/dependabot/docker/golang-1.15.5-alpine3.12
- Merge pull request #155 from Aireuropa/feature/redis_cluster
- Merge pull request #163 from fabiocicerchia/upgrading
- Merge pull request #166 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/semver-7.5.4
- Merge pull request #167 from fabiocicerchia/dependabot/go_modules/golang.org/x/net-0.17.0
- Merge pull request #168 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/sideway/formula-3.0.1
- Merge pull request #169 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/fastify-3.29.5
- Merge pull request #181 from fabiocicerchia/dependabot/go_modules/google.golang.org/protobuf-1.33.0
- Merge pull request #203 from fabiocicerchia/snyk-fix-581307a6c304b01df5c951da54754b77
- Merge pull request #204 from fabiocicerchia/snyk-fix-75590cef215191f584789739b1eb8b4f
- Merge pull request #205 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/ws-8.17.1
- Merge pull request #206 from fabiocicerchia/dependabot/go_modules/golang.org/x/net-0.23.0
- Merge pull request #207 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/multi-2fd66afbb9
- Merge pull request #208 from fabiocicerchia/feature/jwt-validation
- Merge pull request #249 from fabiocicerchia/dependabot/go_modules/golang.org/x/crypto-0.45.0
- Merge pull request #255 from fabiocicerchia/snyk-fix-0df44f11c41149909d0486d54aec263a
- Merge pull request #257 from fabiocicerchia/snyk-fix-0ef06eee9a8975e6a542fa80f84f65af
- Merge pull request #258 from fabiocicerchia/claude/amazing-meitner-sf2tv5
- Merge pull request #260 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/ws-8.21.0
- Merge pull request #263 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/multi-51c8167ac1
- Merge pull request #264 from fabiocicerchia/feature/issue-21-eviction-policy
- Merge pull request #265 from fabiocicerchia/feature/issue-22-byte-range-cache
- Merge pull request #266 from fabiocicerchia/feature/issue-58-negative-caching
- Merge pull request #267 from fabiocicerchia/feature/issue-57-collapsed-forwarding
- Merge pull request #268 from fabiocicerchia/fix/issue-11-hsts-mitm
- Merge pull request #270 from fabiocicerchia/gandalf-fixes
- Merge pull request #271 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws/brace-expansion-2.1.4
- Merge pull request #3 from fabiocicerchia/https
- Merge pull request #67 from fabiocicerchia/v0.2.0
- Merge pull request #78 from fabiocicerchia/dependabot/docker/alpine-3.13.0
- Merge pull request #83 from fabiocicerchia/dependabot/docker/alpine-3.13.2
- Merge pull request #84 from fabiocicerchia/dependabot/docker/golang-1.16.1-alpine3.12
- Merge pull request #91 from fabiocicerchia/dependabot/docker/golang-1.16.3-alpine3.12
- Merge pull request #92 from fabiocicerchia/dependabot/docker/alpine-3.13.5
- Merge pull request #94 from fabiocicerchia/dependabot/npm_and_yarn/test/full-setup/ws-7.4.6
- Merge pull request #96 from fabiocicerchia/dependabot/docker/alpine-3.14.0
- Merge pull request #99 from fabiocicerchia/dependabot/docker/alpine-3.14.1
- Opentracing (#18)
- Pin GitHub Actions to commit SHAs
- Production-Ready (#5)
- Prometheus Metrics (#111)
- Support HTTP Basic Auth on upstreams - closed #46
- Update FUNDING.yml
- added TTL based on s-maxage or max-age
- added allowed statuses and methods
- added banner for supporting the project
- added changelog
- added export methods comments
- added extra details in cache_*_total prometheus metrics
- added functional tests
- added grc for test colouring
- added healthcheck + purge method
- added helm chart & kustomization manifests (#27)
- added jwt validation
- added missing file for readthedocs.io
- added multi arch build (#21)
- added port in healthchecks (#130)
- added redis cluster support
- added support for expires header
- added tests
- added yaml config
- adding extra metrics + graphs in grafana (#28)
- adding tests
- adjusted and extended redis cluster support
- build(deps): bump @opentelemetry/core, @opentelemetry/auto-instrumentations-node, @opentelemetry/exporter-jaeger, @opentelemetry/resources, @opentelemetry/sdk-trace-base and @opentelemetry/sdk-trace-web
- build(deps): bump @sideway/formula in /test/full-setup/ws
- build(deps): bump alpine from 3.14.0 to 3.14.1
- build(deps): bump alpine from 3.14.1 to 3.14.2 (#105)
- build(deps): bump alpine from 3.14.2 to 3.15.0 (#117)
- build(deps): bump alpine from 3.15.0 to 3.15.2 (#129)
- build(deps): bump alpine from 3.15.2 to 3.15.4 (#136)
- build(deps): bump brace-expansion in /test/full-setup/ws
- build(deps): bump cookie and @opentelemetry/auto-instrumentations-node
- build(deps): bump fastify from 3.27.4 to 3.29.5 in /test/full-setup/ws
- build(deps): bump go.opentelemetry.io/otel/sdk (#288)
- build(deps): bump golang from 1.17.0-alpine3.14 to 1.17.8-alpine3.14 (#123)
- build(deps): bump golang from 1.17.8-alpine3.14 to 1.18.0-alpine3.14 (#125)
- build(deps): bump golang from 1.18.0-alpine3.14 to 1.18.2-alpine3.14 (#140)
- build(deps): bump golang.org/x/crypto from 0.21.0 to 0.45.0
- build(deps): bump golang.org/x/net from 0.10.0 to 0.17.0
- build(deps): bump golang.org/x/net from 0.17.0 to 0.23.0
- build(deps): bump google.golang.org/protobuf from 1.31.0 to 1.33.0
- build(deps): bump semver from 7.3.5 to 7.5.4 in /test/full-setup/ws
- build(deps): bump ws from 8.18.0 to 8.21.0 in /test/full-setup/ws
- build(deps): bump ws from 8.5.0 to 8.17.1 in /test/full-setup/ws
- changed copyright year
- changed misleading description
- changed readme badges
- changelog
- chg: Add tests for etags http headers - closes #71
- chg: benchmarks - closed #14 (#59)
- chg: displaying omitted when printing configuration settings
- chg: linted
- chg: refactor to have an upstream pool - closed #47
- chg: refactoring
- chg: refactoring + removed some todos
- chg: refactoring + removing other todos
- chg: refactoring + tests
- chg: refactoring to use DomainID consistenly in various places + changed some logging
- chg: updated changelog for v1.1.0
- chg: upgraded package.json
- chore(release): bump version to 1.3.1 (#281)
- chore(release): bump version to 1.3.2 (#290)
- chore: declare this repository in the paved catalog (#286)
- ci: move Builds off the retired ubuntu-20.04 runner
- ci: post dependency drift and SBOM diffs to boneyard (#285)
- ci: post this repository's gandalf record to proofhouse (#284)
- ci: stop re-running on main what the pull request already proved (#287)
- circuit breaker
- converted to use opentelemetry rather than opentracing (#20)
- corrected changelog for v1.0.0
- coverage
- deprecating http/2 push
- deps update
- deps version bump
- dev: added comments to explain critical settings related to issue #35
- disabled codeclimate in pipeline, as it is not working and still waiting from customer support
- disabled tests in dockerfile
- docs: remove the broken FOSSA badge
- enterprise cleanup
- feat(cache): add negative caching for configurable error statuses
- feat(cache): expose Redis maxmemory-policy for eviction (LRU/LFU/etc)
- feat(handler): collapse concurrent identical GET/HEAD upstream fetches
- feat(purge): add IP allowlist and shared-secret auth for PURGE
- feat(upstream): gate collapsed forwarding behind a feature flag (default off)
- fix(balancer): close healthcheck response bodies
- fix(balancer): eliminate data races between health checks and Pick
- fix(balancer): prevent index-out-of-range panic in ip-hash Pick
- fix(balancer): prevent index-out-of-range panic in round-robin Pick
- fix(build): drop -march=native from CGO_CFLAGS (#280)
- fix(cache): bypass cache for Range requests and partial content responses
- fix(cache): respect min lower bound in soft-expiration jitter
- fix(ci): disable GO_MODULES alongside GO in super-linter (#274)
- fix(deps): update all Go dependencies to current versions
- fix(docker): update EOL base images and Go builders
- fix(handler): handle IPv6 hosts in GetHostname
- fix(handler): reuse the upstream transport instead of building one per request (#289)
- fix(healthcheck): report REDIS status based on all connections
- fix(healthcheck): return HTTP 500 when Redis is unavailable
- fix(jwt): don't run JWT validation when no JWKS URL is configured
- fix(jwt): set Content-Type before writing the response header
- fix(logger): escape attacker-controlled fields in access log lines
- fix(publish): publish to GHCR, on demand, signed, from one build (#279)
- fix(publish): sign both registries even when a tag is refused (#283)
- fix(redis): avoid panic in Get when circuit breaker is open
- fix(release): don't let an annotated tag break the release workflow (#282)
- fix(security): add configurable HSTS header to mitigate MITM/SSL-stripping
- fix(server): make graceful shutdown actually graceful
- fix(server): stop multiplying duration timeouts by time.Second
- fix(tls): stop mutating a shared tls.Config across domains
- fix(tls): use a stable, configurable autocert cache directory
- fix(transport): don't panic on HTTP/2 push failure
- fix(utils): handle IPv6 addresses correctly in StripPort
- fix: Automatically push to Docker Hub - closed #103
- fix: Dockerfile to reduce vulnerabilities (#127)
- fix: Dockerfile to reduce vulnerabilities (#142)
- fix: Fix CodeClimate broken coverage - closed #44
- fix: Test logging to file - closes #73
- fix: add tags in Configuration struct - closed #41
- fix: added docker push to makefile
- fix: added missing docs for golint
- fix: broken build pipeline
- fix: broken tests for logs
- fix: docker/Dockerfile to reduce vulnerabilities
- fix: docker/Dockerfile.amazonlinux to reduce vulnerabilities
- fix: docker/Dockerfile.amazonlinux to reduce vulnerabilities
- fix: docker/Dockerfile.debian to reduce vulnerabilities
- fix: fix CodeClimate broken coverage - #44
- fix: fixing to achieve good score on BetterCodeHub - #40
- fix: generating dummy tls certificates for tests
- fix: health-check the upstream over the upstream's own scheme (#277)
- fix: least-privilege workflow tokens, super-linter v8, and unswallowed errors on the request path (#273)
- fix: lowered priority from WARN to INFO in case of MISS in redis + fixed one test + fixed wrong wildcard schema being passed to the proxy
- fix: refactoring to avoid to share HTTP headers with sensitive information in redis key
- fix: replacing correctly the cache_status_label variable
- fix: say which check turned a request away, instead of "mostly likely" (#276)
- fix: store responses that have no Vary header (#278)
- fix: tests for chunking - closed #43
- fix: using correct tls certificates on test/full-setup
- fix: using the correct redis connection in case of wildcard scheme matching
- fixed broken insecurebridge
- fixed broken tests
- fixed docker network, tests are successful
- fixed dockerfile build
- fixed error
Cannot process Upstream URL: parse "123abc.com:8080": first path segment in URL cannot contain colonwhile using an upstream hostname with port without specifying its protocol - fixed golang version base image for docker
- fixed image logo
- fixed some todos
- fixed typo in build-multiarch
- fixing CodeQL issue: Log entries created from user input
- fixing build
- fixing sca (#34)
- fixing tests after refactoring
- implemented opentelemetry - closed 56 (#110)
- improved dashboard - #4
- improving builds in github actions
- initial commit
- install grc dep in github actions
- linting
- linting
- linting
- more fixes
- multi-domains
- new: Add log support for sentry/syslog/rsyslog (#112)
- new: Add tests for HTTP2 Push - closes #75
- new: Async storing in redis to avoid latency - closed #55
- new: Handle ETags - closes #10 (#62)
- new: Kubernetes Example - closes #60
- new: Missing locks on write/read on redis - closes #45
- new: Prevent Cache Stampede + Serve STALE cache - closed #48 #18
- new: Upstream healthchecks - closed #49
- new: Use X-Forwarded-Proto - closes #26
- new: WebSockets - closes #16 (#63)
- new: add readthedocs.org - closes #30
- new: added new label for HIT/MISS in the logs
- new: added tests for websockets
- new: check configuration validity - closed #7
- new: docker docs - closed #34
- new: make health-check optional, with config flag - closed #29
- new: make release - closed #6
- new: set log line format in config - closed #32
- no global variables (renamed co to jwtConfig)
- opentelemetry refactoring
- perf(cache): return empty Vary slice when header is absent
- perf(config): make DomainConf memoization actually work
- perf(jwt): cache compiled excluded-path regexes
- prometheus refactoring
- refactor: elevate-code sweep (#275)
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring
- refactoring + CII Best Practices
- refactoring + tests
- refactoring + tests
- refactoring tests
- refactoring tests
- removed unused lock file
- restored code
- restored nginx image
- small adjustments to fix mostly the tests
- small fixes
- small fixes to solve mostly linting issues
- small refactoring
- small refactoring + polishing of folder structure
- switch from gob to msgpack
- updated changelog
- updated changelog
- updated changelog + fixes on makefile
- updated changelog for v0.3.0
- updated changelog for v1.0.0
- updated docker image tags for full test
- updated go dependencies
- updated testing docs
- updated ws test dependencies
- upgraded components in docker nginx to a newer version (not latest though)
- upgraded deps for ws test
- version bump for golang image
- version bump for ws deps
- version upgrades + fixing sca
- wip chunks
- wip for vary header