From bc38b5db1b0b4e80650c83ce696e4f8f85ed35a2 Mon Sep 17 00:00:00 2001 From: Steven Hawkins Date: Tue, 25 Jun 2024 12:02:27 -0400 Subject: [PATCH] fix: add proxy env propagation (#30741) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: add proxy env propagation closes: #30165 Signed-off-by: Steve Hawkins * Update operator/src/main/java/org/keycloak/operator/controllers/KeycloakDeploymentDependentResource.java Co-authored-by: Martin Bartoš --------- Signed-off-by: Steve Hawkins Co-authored-by: Martin Bartoš --- .../KeycloakDeploymentDependentResource.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/operator/src/main/java/org/keycloak/operator/controllers/KeycloakDeploymentDependentResource.java b/operator/src/main/java/org/keycloak/operator/controllers/KeycloakDeploymentDependentResource.java index 1987ee14125..4b1c83790aa 100644 --- a/operator/src/main/java/org/keycloak/operator/controllers/KeycloakDeploymentDependentResource.java +++ b/operator/src/main/java/org/keycloak/operator/controllers/KeycloakDeploymentDependentResource.java @@ -53,6 +53,7 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Arrays; import java.util.Base64; import java.util.LinkedHashMap; import java.util.List; @@ -74,6 +75,8 @@ import static org.keycloak.operator.crds.v2alpha1.CRDUtils.isTlsConfigured; @KubernetesDependent(labelSelector = Constants.DEFAULT_LABELS_AS_STRING) public class KeycloakDeploymentDependentResource extends CRUDKubernetesDependentResource { + private static final List COPY_ENV = Arrays.asList("HTTP_PROXY", "HTTPS_PROXY", "NO_PROXY"); + private static final String SERVICE_ACCOUNT_DIR = "/var/run/secrets/kubernetes.io/serviceaccount/"; private static final String SERVICE_CA_CRT = SERVICE_ACCOUNT_DIR + "service-ca.crt"; @@ -419,7 +422,14 @@ public class KeycloakDeploymentDependentResource extends CRUDKubernetesDependent } return envBuilder.build(); }) - .collect(Collectors.toList()); + .collect(Collectors.toCollection(ArrayList::new)); + + for (String env : COPY_ENV) { + String value = System.getenv(env); + if (value != null) { + envVars.add(new EnvVarBuilder().withName(env).withValue(value).build()); + } + } envVars.add( new EnvVarBuilder()