Interface Server
The specified values will take precedence over the values defined in the develocity.xml.
- Since:
- 1.21
-
Method Summary
Modifier and TypeMethodDescriptionGets the credentials configuration.Gets the remote build cache server ID.getUrl()Gets the remote build cache node URL.booleanGets whether it is allowed to communicate with the remote build cache node over an insecure HTTP connection.booleanGets whether it is allowed to communicate with the remote build cache node with an untrusted SSL certificate.booleanGets whether the client should use HTTP Expect-Continue when storing data on the server.voidsetAllowInsecureProtocol(boolean allowInsecureProtocol) Sets whether it is allowed to communicate with the remote build cache node over an insecure HTTP connection.voidsetAllowUntrusted(boolean allowUntrusted) Sets whether it is allowed to communicate with the remote build cache node with an untrusted SSL certificate.voidsetServerId(String serverId) Sets the remote build cache server ID.default voidSets the remote build cache node URL.voidSets the remote build cache node URL.voidsetUseExpectContinue(boolean useExpectContinue) Sets whether the client should use HTTP Expect-Continue when storing data on the server.
-
Method Details
-
getServerId
Gets the remote build cache server ID.- Returns:
- the remote build cache server ID or
null
-
setServerId
Sets the remote build cache server ID.Configuration via the
develocity.cache.remote.serverIdsystem property will always take precedence.- Parameters:
serverId- the remote build cache server ID ornull
-
getUrl
Gets the remote build cache node URL.- Returns:
- the remote build cache node URL or
null
-
setUrl
Sets the remote build cache node URL.Configuration via the
develocity.cache.remote.urlsystem property will always take precedence.- Parameters:
url- the remote build cache node URL ornull
-
setUrl
Sets the remote build cache node URL.Configuration via the
develocity.cache.remote.urlsystem property will always take precedence.- Parameters:
url- the remote build cache node URL ornull
-
isAllowUntrusted
boolean isAllowUntrusted()Gets whether it is allowed to communicate with the remote build cache node with an untrusted SSL certificate.- Returns:
trueif it is allowed to communicate with the remote build cache node with an untrusted SSL certificate,falseotherwise
-
setAllowUntrusted
void setAllowUntrusted(boolean allowUntrusted) Sets whether it is allowed to communicate with the remote build cache node with an untrusted SSL certificate.The default (built-in) remote build cache node uses SSL certificates that are trusted by default by standard modern Java environments. If you are using a different remote build cache node, it may use an untrusted certificate. This may be due to the use of an internally provisioned or self-signed certificate.
In such a scenario, you can either configure the build JVM environment to trust the certificate, or call this method with
trueto disable verification of the remote build cache node identity.Allowing communication with untrusted servers keeps data encrypted during transmission, but makes it easy for a man-in-the-middle to impersonate the intended server and capture data.
Setting this property to
trueis a convenient workaround during the initial evaluation, but it is a serious security issue and should not be used in production.This value has no effect if the remote build cache node URL is specified using the HTTP protocol (i.e. has SSL disabled).
Configuration via the
develocity.cache.remote.allowUntrustedServersystem property will always take precedence.- Parameters:
allowUntrusted- whether to allow communication with an HTTPS server with an untrusted certificate
-
isAllowInsecureProtocol
boolean isAllowInsecureProtocol()Gets whether it is allowed to communicate with the remote build cache node over an insecure HTTP connection.- Returns:
trueif communication over an insecure HTTP connection is allowed,falseotherwise
-
setAllowInsecureProtocol
void setAllowInsecureProtocol(boolean allowInsecureProtocol) Sets whether it is allowed to communicate with the remote build cache node over an insecure HTTP connection.For security purposes this intentionally requires a user to opt in to using insecure protocols on case by case basis.
Allowing communication over insecure protocols allows for a man-in-the-middle to impersonate the intended server, and gives an attacker the ability to serve malicious executable code onto the system.
Setting this property to
trueis a convenient workaround during the initial evaluation, but it is a serious security issue and should not be used in production.Configuration via the
develocity.cache.remote.allowInsecureProtocolsystem property will always take precedence.- Parameters:
allowInsecureProtocol- whether to allow communication over an insecure HTTP connection
-
isUseExpectContinue
boolean isUseExpectContinue()Gets whether the client should use HTTP Expect-Continue when storing data on the server.- Returns:
trueif the client uses HTTP Expect-Continue,falseotherwise
-
setUseExpectContinue
void setUseExpectContinue(boolean useExpectContinue) Sets whether the client should use HTTP Expect-Continue when storing data on the server.Configuration via the
develocity.cache.remote.useExpectContinuesystem property will always take precedence.- Parameters:
useExpectContinue- whether the client should use HTTP Expect-Continue
-
getCredentials
Credentials getCredentials()Gets the credentials configuration.If not specified and an access key is available for the
DevelocityApi.getServer()value, it will be used to authenticate with the build cache (regardless of the build cache server address set withsetUrl(String)orsetUrl(URI)).- Returns:
- the credentials configuration
-