Advanced configuration
Database options
SSL certificates for Postgres Database
Add the following configuration to your application.yaml to enable SSL certificates for database access.
Advanced logging
The IDE Services Server uses the Logback logging framework, which is configured using SpringFramework.
You can configure logging categories in application.yaml, for example:
You can also point to a custom Logback configuration from a classpath (using the classpath:
prefix) or container (using the file:
prefix). For example, add the following code to your application.yaml to enable a custom Logback configuration:
Log IDE and Plugin Downloads
You can track user downloads of IDEs and plugins distributed by IDE Provisioner and collect the recorded data from the server-side logs.
This download logging option is disabled by default. To enable it:
Add the following parameter to your application.yaml file:
tbe.features.log-binary-downloads: trueMake sure the logging level is set to
INFO
in the application.yaml file:logging: level: root: INFO
Add the following parameter to your values.yaml file:
tbe.features.log-binary-downloads: trueMake sure the logging level is set to
INFO
in the values.yaml file:logging: level: root: INFO
To output the log data in JSON format for easier reading:
Add the following property to the application.yaml file:
logging: config: "classpath:json-logging.xml"Restart your IDE Services Server.
Add the following property to the values.yaml file:
logging: config: "classpath:json-logging.xml"Restart your IDE Services Server.
For each event when a user downloads either a plugin or an IDE, the following details will be recorded:
User ID, user subject (from IdP), and username
Timestamp
Name, version, and build number of the IDE or
ID and version of the plugin
Examples of download logs
User details can be found in the "auditId"
line.
If IDE Services fails to locate the IDE that the user is attempting to download, it will log the URL to the IDE binary instead of the IDE details:
Other parameters
JVM options for IDE Services Server
You can pass JVM options to the IDE Services Server by using the JAVA_TOOL_OPTIONS
environment variable, for example:
JAVA_TOOL_OPTIONS=" -Dtest.property=42 -ea "
IPv6 stack
Add the following parameters to the JAVA_TOOL_OPTIONS
environment variable to enable the IPv6 stack:
Forward proxy setups
IDE Services can work in setups that use a forward proxy that attaches the Authorization
header automatically without any additional configuration. It assumes that correct OAuth bearer token values will be provided by an external tool managing the network. By default, it will try to communicate with the server without any authentication and will fall back to it if an HTTP-response has 401 Unauthorised
or 403 Forbidden
status codes. This means that it is possible for only a subset of users to authenticate using a proxy where other will use explicit OAuth login.
Work behind an HTTP proxy
In case you want to run IDE Services Server behind an HTTP proxy, you can configure such a setup in your server configuration file:
- spring.cloud.gateway.httpclient.proxy.username
Specify the username for Netty HttpClient proxy configuration.
- spring.cloud.gateway.httpclient.proxy.password
Specify the password for Netty HttpClient proxy configuration.
- spring.cloud.gateway.httpclient.proxy.type
Specify the pool type for HttpClient to use.
- spring.cloud.gateway.httpclient.proxy.port
Specify the port for Netty HttpClient proxy configuration.
- spring.cloud.gateway.httpclient.proxy.non-proxy-hosts-pattern
Provide a regular expression for a list of hosts that should be reached directly, bypassing the proxy.
- spring.cloud.gateway.httpclient.proxy.host
Specify the hostname for Netty HttpClient proxy configuration.