Skip to content

Commit 3882924

Browse files
committed
Allow operators to configure router.route_services_internal_server_port
1 parent 715b681 commit 3882924

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

jobs/gorouter/templates/gorouter.yml.erb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ params = {
140140
'route_services_secret_decrypt_only' => p('router.route_services_secret_decrypt_only'),
141141
'route_services_recommend_https' => p('router.route_services_recommend_https'),
142142
'route_services_hairpinning' => p('router.route_services_internal_lookup'),
143+
'route_services_internal_server_port' => p('router.route_services_internal_server_port'),
143144
'route_services_hairpinning_allowlist' => p('router.route_services_internal_lookup_allowlist'),
144145
'extra_headers_to_log' => p('router.extra_headers_to_log'),
145146
'max_header_bytes' => validate_max_header_kb(p('router.max_header_kb')),

jobs/gorouter/templates/pre-start.erb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ tee_output_to_sys_log "${LOG_DIR}" "pre-start" <%= p("router.logging.format.time
3232
ports.append(p("router.status.port")) # has default. will always exist.
3333
ports.append(p("router.status.routes.port")) # has default. will always exist.
3434
ports.append(p("router.tls_port")) # has default. will always exist.
35-
ports.append(p("router.route_services_internal_server_port")) # has default. will always exist.
35+
36+
route_services_internal_server_port = p('router.route_services_internal_server_port')
37+
if route_services_internal_server_port != 0
38+
ports.append(route_services_internal_server_port)
39+
end
3640

3741
if_p('router.status.tls.port') do |port|
3842
ports.append(port)

spec/gorouter_templates_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,21 @@
473473
end
474474
end
475475

476+
context 'route_services_internal_server_port' do
477+
it 'defaults to 7070' do
478+
expect(parsed_yaml['route_services_internal_server_port']).to eq(7070)
479+
end
480+
481+
context 'when set to a value' do
482+
before do
483+
deployment_manifest_fragment['router']['route_services_internal_server_port'] = 7272
484+
end
485+
486+
it 'configures that value for the gorouter' do
487+
expect(parsed_yaml['route_services_internal_server_port']).to eq(7272)
488+
end
489+
end
490+
end
476491
context 'html_error_template' do
477492
it 'is not set by default' do
478493
expect(parsed_yaml['html_error_template_file']).to be_nil
@@ -1561,6 +1576,15 @@
15611576
ports = '81,442,2822,2825,3457,3458,3459,3460,3461,7272,7777,8081,8082,8443,8853,9100,14726,14727,14821,14822,14823,14824,14829,14830,14922,15821,17003,53035,53080'
15621577
expect(rendered_template).to include("\"#{ports}\" > /proc/sys/net/ipv4/ip_local_reserved_ports")
15631578
end
1579+
1580+
context 'when route_services_internal_server_port is set to 0' do
1581+
it 'does not attempt to add 0 to the list of reserved ports because 0 represents use of a random, available port' do
1582+
properties['router']['route_services_internal_server_port'] = 0
1583+
rendered_template = template.render(properties)
1584+
ports = '81,442,2822,2825,3457,3458,3459,3460,3461,7777,8081,8082,8443,8853,9100,14726,14727,14821,14822,14823,14824,14829,14830,14922,15821,17003,53035,53080'
1585+
expect(rendered_template).to include("\"#{ports}\" > /proc/sys/net/ipv4/ip_local_reserved_ports")
1586+
end
1587+
end
15641588
end
15651589
end
15661590
end

0 commit comments

Comments
 (0)