Sauce Orchestrate fully integrates with Sauce Connect. If the service or site you are testing is already accessed via Sauce Connect, no change to your code is needed. If your code makes direct calls to any backend service, such as an API or database that is behind a firewall on your private network, follow the steps below to launch a secure trusted connection between your network and the Sauce Orchestrate runner.
Configure a Sauce Connect Tunnel with Access to the Management Services
- The specific configuration needed for Sauce Orchestrate is setting the
vm-versionto the fixed value listed below and adding the domains of backend services to the
- All other steps and configuration are the same. Refer to the Sauce Connect Proxy Quickstart.
tunnel-domains: [ ]
Configure the Sauce Orchestrate Runner to Use This Management Tunnel
- Add the
tunnelkey to the runner configuration.
When a Sauce Orchestrate container starts with Sauce Connect enabled, the following environment variables are set:
# Reference (for manual configuration)
# Java Opts (for manual configuration)
SAUCE_JAVA_OPTS=-Dhttp.proxyHost=host.sauceconnect.internal -Dhttp.proxyPort=1080 -Dhttps.proxyHost=host.sauceconnect.internal -Dhttps.proxyPort=1080 -Dhttp.nonProxyHosts=host.sauceconnect.internal|saucelabs.com|*.saucelabs.com
# Standard Proxy
Standard Proxy Configuration
In most programing language (Go, Python, Node.js...) the standard proxy environment variables are supported, and there is no extra step to configure the Sauce Connect.
Java is a notable exception. The standard proxy environment variable are not
supported, and system properties must be used instead. One way to configure
the system properties is to pass the
SAUCE_JAVA_OPTS options when starting
a Java VM.
In Maven this may be done in several place
- For the main maven process setting
MAVEN_OPTS=$SAUCE_JAVA_OPTS, or alternatively in
- For the Surefire processes in pom.xml as below:
This should me enough for libraries using the standard Java HTTP client. Some libraries however differ from the standard and require the proxy configuration to be implemented within code.