Problem
The JAVA_TOOL_OPTIONS environment variable does not persist across Helm chart upgrades, causing IDE Services to crash and restart after each deployment.
Cause [Optional]
The JAVA_TOOL_OPTIONS environment variable was not being properly configured in the ides.config section of the Helm chart's values.yaml file. When the Helm chart was updated using helm upgrade, the manually added environment variable was overwritten.
Resolution
To ensure the JAVA_TOOL_OPTIONS environment variable persists across Helm chart upgrades, follow these steps:
-
Open the Helm chart's
values.yamlfile. -
Add the following configuration under your existing
ides:section:ides: config: javaOpts: > -Djavax.net.ssl.keyStore=/certs/cert.pfx \ -Djavax.net.ssl.keyStoreType=PKCS12 \ -Djavax.net.ssl.keyStorePassword=tbeserverThis configuration sets the SSL options as JVM arguments and ensures they are passed to the container during every deployment or upgrade.
-
When upgrading the Helm release, use the same
values.yamlfile:helm upgrade <release-name> oci://registry-1.docker.io/jetbrains/ide-services-helm \ --version <chart_version> \ --namespace <namespace> \ -f values.yamlReplace
<release-name>,<chart_version>, and<namespace>with your deployment-specific values. -
Test the deployment to confirm the environment variable is applied correctly and persists across upgrades.
Why It Works
- The Helm chart includes a parameter
ides.config.javaOpts, which is designed for defining additional JVM options. By using this parameter, the required environment variable is consistently applied across deployments. - This approach avoids manual edits to the deployment and ensures that updates to the Helm chart maintain the configured state.
References
By adding the options directly to ides.config.javaOpts, these SSL options are integrated into the managed configuration, ensuring stability and consistency in deployment behavior.
Comments
0 comments
Please sign in to leave a comment.