Skip to content
This repository was archived by the owner on Jun 2, 2021. It is now read-only.

Commit 5989686

Browse files
danail-branekovgcapizzi
authored andcommitted
Fix task completion callback on k8s
When deployed on K8s, Istio handles transparently applying mTLS to network traffic. [#173393442] Signed-off-by: Giuseppe Capizzi <gcapizzi@pivotal.io>
1 parent 07b60b1 commit 5989686

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

lib/cloud_controller/diego/task_completion_callback_generator.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ def initialize(config=Config.config)
66
end
77

88
def generate(task)
9-
schema = 'https'
9+
if @config.kubernetes_api_configured?
10+
port = 80
11+
schema = 'http'
12+
else
13+
port = @config.get(:tls_port)
14+
schema = 'https'
15+
end
1016
auth = ''
1117
host = @config.get(:internal_service_hostname)
12-
port = @config.get(:tls_port)
1318
api_version = 'v4'
1419

1520
path = "/internal/#{api_version}/tasks/#{task.guid}/completed"

spec/unit/lib/cloud_controller/diego/task_completion_callback_generator_spec.rb

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ module Diego
88

99
describe '#generate' do
1010
let(:task) { TaskModel.make }
11+
let(:kubernetes_config) { nil }
1112
let(:task_config) do
1213
{
1314
internal_service_hostname: 'google.com',
1415
tls_port: '8888',
16+
kubernetes: kubernetes_config,
1517
}
1618
end
1719

@@ -26,6 +28,20 @@ module Diego
2628
)
2729
end
2830
end
31+
32+
context 'when kubernetes is configured' do
33+
let(:kubernetes_config) do
34+
{
35+
host_url: 'https://master.default.svc.cluster-domain.example',
36+
}
37+
end
38+
39+
it 'configures the callback url with http and relies on Istio for mTLS' do
40+
expect(generator.generate(task)).to eq(
41+
"http://google.com:80/internal/v4/tasks/#{task.guid}/completed"
42+
)
43+
end
44+
end
2945
end
3046
end
3147
end

0 commit comments

Comments
 (0)