From 968481e0d63a6f8aebeaffdb69289154773dcdac Mon Sep 17 00:00:00 2001 From: Haven King Date: Tue, 17 Jun 2025 10:50:27 -0700 Subject: [PATCH 1/2] Allow configuration of Spring API client proxies via environment variable --- .../OrkesConductorClientAutoConfiguration.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java b/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java index 9eb138f..e78e3c0 100644 --- a/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java +++ b/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java @@ -34,6 +34,11 @@ import io.orkes.conductor.client.http.OrkesWorkflowClient; import lombok.extern.slf4j.Slf4j; +import org.springframework.core.env.Environment; + +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.URI; @AutoConfiguration @Slf4j @@ -45,7 +50,7 @@ public class OrkesConductorClientAutoConfiguration { @Primary @ConditionalOnMissingBean public ApiClient orkesConductorClient(ClientProperties clientProperties, - OrkesClientProperties orkesClientProperties) { + OrkesClientProperties orkesClientProperties, Environment environment) { var basePath = StringUtils.isBlank(clientProperties.getRootUri()) ? clientProperties.getBasePath() : clientProperties.getRootUri(); if (basePath == null) { basePath = orkesClientProperties.getConductorServerUrl(); @@ -62,6 +67,14 @@ public ApiClient orkesConductorClient(ClientProperties clientProperties, .writeTimeout(clientProperties.getTimeout().getWrite()) .verifyingSsl(clientProperties.isVerifyingSsl()); + var proxy = environment.getProperty("CONDUCTOR_SERVER_PROXY_URL"); + + if (proxy != null) { + var uri = URI.create(proxy); + var address = new InetSocketAddress(uri.getHost(), uri.getPort() == -1 ? 80 : uri.getPort()); + + builder.proxy(new Proxy(Proxy.Type.HTTP, address)); + } if (orkesClientProperties.getKeyId() != null) { builder.credentials(orkesClientProperties.getKeyId(), orkesClientProperties.getSecret()); From 1fd05b2b7d6b970d4a874aa6e0d986862c490b66 Mon Sep 17 00:00:00 2001 From: Haven King Date: Tue, 17 Jun 2025 10:55:54 -0700 Subject: [PATCH 2/2] Spotless apply --- .../spring/OrkesConductorClientAutoConfiguration.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java b/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java index e78e3c0..f6da07b 100644 --- a/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java +++ b/orkes-spring/src/main/java/io/orkes/conductor/client/spring/OrkesConductorClientAutoConfiguration.java @@ -12,6 +12,10 @@ */ package io.orkes.conductor.client.spring; +import java.net.InetSocketAddress; +import java.net.Proxy; +import java.net.URI; + import org.apache.commons.lang3.StringUtils; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; @@ -20,6 +24,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; +import org.springframework.core.env.Environment; import com.netflix.conductor.client.spring.ClientProperties; @@ -34,11 +39,6 @@ import io.orkes.conductor.client.http.OrkesWorkflowClient; import lombok.extern.slf4j.Slf4j; -import org.springframework.core.env.Environment; - -import java.net.InetSocketAddress; -import java.net.Proxy; -import java.net.URI; @AutoConfiguration @Slf4j