Releases: cloudfoundry/routing-release
0.279.0
Changes
- Bumped to golang 1.21.0!
- Refactor of proxy config properties. Thanks @domdom82!
Bosh Job Spec changes:
diff --git a/jobs/acceptance_tests/spec b/jobs/acceptance_tests/spec
index db508ca3..e1a6a9ae 100644
--- a/jobs/acceptance_tests/spec
+++ b/jobs/acceptance_tests/spec
@@ -7,7 +7,7 @@ templates:
bpm.yml.erb: config/bpm.yml
packages:
- - golang-1.20-linux
+ - golang-1.21-linux
- acceptance_tests
- rtr
- cf-cli-8-linux
diff --git a/jobs/smoke_tests/spec b/jobs/smoke_tests/spec
index 5776a9c8..b230192b 100644
--- a/jobs/smoke_tests/spec
+++ b/jobs/smoke_tests/spec
@@ -7,7 +7,7 @@ templates:
bpm.yml.erb: config/bpm.yml
packages:
- - golang-1.20-linux
+ - golang-1.21-linux
- acceptance_tests
- cf-cli-8-linux
✨ Built with go 1.21.0
Full Changelog: v0.278.0...v0.279.0
Resources
0.278.0
Changes
- Continue to forward relevant headers by removing hop-by-hop headers that could interfere with gorouter when proxying client requests
- Go mod dependency updates
Bosh Job Spec changes:
diff --git a/jobs/gorouter/spec b/jobs/gorouter/spec
index a14133ed..2bb394e9 100644
--- a/jobs/gorouter/spec
+++ b/jobs/gorouter/spec
@@ -282,6 +282,27 @@ properties:
example:
- name: X-Vcap-Request-Id
- name: Accept-Ranges
+ router.hop_by_hop_headers_to_filter:
+ description: |
+ (optional, array value) List of HTTP Headers that are filtered for
+ Hop-By-Hop Connection header.
+ When clients make requests to the gorouter and the gorouter proxies
+ their request, these HTTP Headers will be automatically be removed from
+ the request's Connection header and sent as normal headers to the
+ target backend. This list *also* specificies the Headers that can be
+ returned by the backend; i.e. if a client attempts to send one of these
+ Headers in their Connection Header to gorouter and it's *NOT* filtered,
+ the header will *NOT* be returned to client properly after proxying the
+ request.
+ default:
+ - X-Forwarded-For
+ - X-Forwarded-Proto
+ - B3
+ - X-B3
+ - X-B3-SpanID
+ - X-B3-TraceID
+ - X-Request-Start
+ - X-Forwarded-Client-Cert
router.frontend_idle_timeout:
description: |
(optional, integer) Duration in seconds to maintain an open connection when client supports keep-alive.
✨ Built with go 1.20.7
Full Changelog: v0.277.0...v0.278.0
Resources
0.277.0
Changes
- Additional metrics/logging component ports have been reserved from gorouter's ephemeral port range.
✨ Built with go 1.20.7
Full Changelog: v0.276.0...v0.277.0
Resources
0.276.0
Changes
- Bumped golang to 1.20.7
- 🐛 Added new loggregator ports to gorouter's list of ports to exclude from ephemeral ranges. Thanks @ctlong!
✨ Built with go 1.20.7
Full Changelog: v0.275.0...v0.276.0
Resources
0.275.0
Changes
- Bumps golang to 1.20.6
- Resolves a bug in gorouter where path-based routes could return 503s when no backend endpoints remain, rather than falling back to non-path (hostname-only) routes. Thanks @domdom82!
✨ Built with go 1.20.6
Full Changelog: v0.274.0...v0.275.0
Resources
0.274.0
Changes
- 🐛 Bug Fix: This release fixes this known issue around multiple expect 100-continue responses.
✨ Built with go 1.20.5
Full Changelog: v0.273.0...v0.274.0
Resources
0.273.0
Known Issue
Changes
- Bug Fix: Set Gorouter's ExpectContinueTimeout to 1 sec. This fixes bug 1 of this known issue
- Dependency Bump: Bump the cf cli version in the acceptance test errand and the smoke test errand from v6 to v8.
Bosh Job Spec changes:
diff --git a/jobs/acceptance_tests/spec b/jobs/acceptance_tests/spec
index 6a73b9ae..db508ca3 100644
--- a/jobs/acceptance_tests/spec
+++ b/jobs/acceptance_tests/spec
@@ -10,7 +10,7 @@ packages:
- golang-1.20-linux
- acceptance_tests
- rtr
- - cf-cli-6-linux
+ - cf-cli-8-linux
properties:
acceptance_tests.nodes:
diff --git a/jobs/smoke_tests/spec b/jobs/smoke_tests/spec
index 0426dc99..5776a9c8 100644
--- a/jobs/smoke_tests/spec
+++ b/jobs/smoke_tests/spec
@@ -9,7 +9,7 @@ templates:
packages:
- golang-1.20-linux
- acceptance_tests
- - cf-cli-6-linux
+ - cf-cli-8-linux
properties:
acceptance_tests.verbose:
✨ Built with go 1.20.5
Full Changelog: v0.272.0...v0.273.0
Resources
0.272.0
Known issue
Changes
- ✨
route_registrar
now emites route registration events immediately upon startup, rather than waiting for a full registration interval to pass. This will cut down on accidental TTL expiry incurred by restarting route-registrar. - ✨ The
router.enable_log_attempts_details
property has been added to allow operators to configure Gorouter to log additional information about retried attempts to send requests to backends. Thanks @maxmoehl! - 🐛Specifying multiple CA certs to route_registrar via
route_registrar.routing_api.ca_certs
will now render correctly as multiple certs in a single CA file. - 🐛 Routing API clients now correctly refresh their UAA tokens prior to expiry. This should help prevent
route_registrar
from crashing whenever the token expires. - Golang package dependency bumps
Bosh Job Spec changes:
diff --git a/jobs/gorouter/spec b/jobs/gorouter/spec
index 0f61e044..a14133ed 100644
--- a/jobs/gorouter/spec
+++ b/jobs/gorouter/spec
@@ -236,6 +236,9 @@ properties:
router.logging_level:
description: "Log level for router"
default: "info"
+ router.enable_log_attempts_details:
+ description: "Log additional fields in the access log that provide more details on the specific timings and attempts performed towards endpoints."
+ default: false
router.logging.format.timestamp:
description: |
Format for timestamp in component logs. Valid values are 'rfc3339', 'deprecated', and 'unix-epoch'."
✨ Built with go 1.20.5
Full Changelog: v0.271.0...v0.272.0
Resources
0.271.0
Known Issue
Changes
- Bumped to golang 1.20.5
✨ Built with go 1.20.5
Full Changelog: v0.270.0...v0.271.0
Resources
0.270.0
Known Issue
Changes
- CI now tests CATS + RATS against cflinuxfs4
- 🐛Gorouter's
request_timeout_in_seconds
now only affects request timeout and is not used for idle timeout, which is set byfrontend_idle_timeout
- routing-utils now passes
go vet
- Dependency Bumps:
- The vendored healthchecker boshrelease is now v0.8.0
- go.step.sm/crypto v0.31.0
- Go dependency bumps for the routing-utils package:
- code.cloudfoundry.org/tlsconfig 8f91c367795b
- github.com/nats-io/nats.go v1.26.0
Bosh Job Spec changes:
diff --git a/jobs/gorouter/spec b/jobs/gorouter/spec
index 4fa13ae3..0f61e044 100644
--- a/jobs/gorouter/spec
+++ b/jobs/gorouter/spec
@@ -380,11 +380,9 @@ properties:
default: 22
request_timeout_in_seconds:
description: |
- This configures a "request timeout" and a "backend idle timeout".
+ This configures an entire request timeout.
Requests from router to backend endpoints that are longer than this duration will be canceled and logged as
- `backend-request-timeout` errors. In addition, TCP connections between router and backend endpoints that
- are idle for longer than this duration will be closed. Related properties: `router.max_idle_connections`
- and `router.keep_alive_probe_interval`.
+ `backend-request-timeout` errors. If set to 0 this timeout is disabled.
default: 900
endpoint_dial_timeout_in_seconds:
description: |
✨ Built with go 1.20.4
Full Changelog: v0.269.0...v0.270.0