diff --git a/airbyte-workers/src/main/java/io/airbyte/workers/config/ContainerOrchestratorConfigBeanFactory.java b/airbyte-workers/src/main/java/io/airbyte/workers/config/ContainerOrchestratorConfigBeanFactory.java index 53871ce1b95..3a7a669ef57 100644 --- a/airbyte-workers/src/main/java/io/airbyte/workers/config/ContainerOrchestratorConfigBeanFactory.java +++ b/airbyte-workers/src/main/java/io/airbyte/workers/config/ContainerOrchestratorConfigBeanFactory.java @@ -22,6 +22,7 @@ import jakarta.inject.Named; import jakarta.inject.Singleton; import java.nio.file.Path; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -84,7 +85,8 @@ public ContainerOrchestratorConfig kubernetesContainerOrchestratorConfig( @Value("${airbyte.data.plane.service-account.credentials-path}") final String dataPlaneServiceAccountCredentialsPath, @Value("${airbyte.container.orchestrator.data-plane-creds.secret-mount-path}") final String containerOrchestratorDataPlaneCredsSecretMountPath, @Value("${airbyte.container.orchestrator.data-plane-creds.secret-name}") final String containerOrchestratorDataPlaneCredsSecretName, - @Value("${airbyte.acceptance.test.enabled}") final boolean isInTestMode) { + @Value("${airbyte.acceptance.test.enabled}") final boolean isInTestMode, + @Value("${datadog.orchestrator.disabled.integrations}") final String disabledIntegrations) { final var kubernetesClient = new DefaultKubernetesClient(); final DocumentStoreClient documentStoreClient = StateClients.create( @@ -108,6 +110,11 @@ public ContainerOrchestratorConfig kubernetesContainerOrchestratorConfig( environmentVariables.put(DATA_PLANE_SERVICE_ACCOUNT_CREDENTIALS_PATH_ENV_VAR, dataPlaneServiceAccountCredentialsPath); environmentVariables.put(DATA_PLANE_SERVICE_ACCOUNT_EMAIL_ENV_VAR, dataPlaneServiceAccountEmail); + // Disable DD agent integrations based on the configuration + if (StringUtils.isNotEmpty(disabledIntegrations)) { + Arrays.asList(disabledIntegrations.split(",")).forEach(e -> environmentVariables.put(e.trim(), Boolean.FALSE.toString())); + } + final Configs configs = new EnvConfigs(); environmentVariables.put(EnvConfigs.FEATURE_FLAG_CLIENT, configs.getFeatureFlagClient()); environmentVariables.put(EnvConfigs.LAUNCHDARKLY_KEY, configs.getLaunchDarklyKey()); diff --git a/airbyte-workers/src/main/resources/application.yml b/airbyte-workers/src/main/resources/application.yml index 86af62d0683..d3791fffef0 100644 --- a/airbyte-workers/src/main/resources/application.yml +++ b/airbyte-workers/src/main/resources/application.yml @@ -229,6 +229,9 @@ datadog: agent: host: ${DD_AGENT_HOST:} port: ${DD_DOGSTATSD_PORT:} + orchestrator: + disabled: + integrations: ${DD_ORCHESTRATOR_DISABLED_INTEGRATIONS:DD_INTEGRATION_GRPC_ENABLED,DD_INTEGRATION_GRPC_CLIENT_ENABLED,DD_INTEGRATION_GRPC_SERVER_ENABLED,DD_INTEGRATION_NETTY_ENABLED,DD_INTEGRATION_GOOGLE_HTTP_CLIENT_ENABLED} docker: network: ${DOCKER_NETWORK:host}