What is the use case for the feature you are requesting? What are you trying to solve?
Every BigBang upgrade breaks SonarQube. On the highside we use CA Certs. After every upgrade we have to modify SonarQube values.yaml and uncomment caCerts, image, secret, enabled. In the SonarQube templates/Deployment.yaml have to add the following to the args command:
chmod 0750 /tmp/certs/cacerts
Then we have to tag the commit and reference that tag in our Override.
Also, had to increase the initContainers memory to 300Mi because 8Mi was too small.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Related merge requests
1
When this merge request is accepted, this issue will be closed automatically.
The initContainer is definitely something we can/should update memory limits on if you're seeing immediate crashes OOM.
For the args changes, that's something we can investigate and think about adding as well - but I suspect that's more tied to the chosen image and permissions in that image. It might be best for us to allow a full override of that command via values so that a customer can modify as needed based on the image they use.
I'm not sure I follow this part: we have to modify SonarQube values.yaml and uncomment caCerts, image, secret, enabled. If you have values overrides for Sonarqube you can pass them via the following, in your BB values/configmap:
addons: sonarqube: values: # example caCerts: image: adoptopenjdk/openjdk11:alpine secret: my-secret
You shouldn't have to modify the sonar chart to do that.
I've been able to re-produce the OOM easily when bringing in a cert, and I bumped the defaults to 300Mi.
As @micah.nagel mentioned, and the method I used for testing, using a helm overrides file allows setting the secret without needing to modify values.yaml. I'm not sure what we should/want to do here.
For the permissions error, I suspect it's due to the init container used. I'll work on allowing the command/args to be customized and testing with an init container with /tmp permissions locked down.
The changes now allow one to override the ca-certs init container command and arguments.
I suspect the root of the permissions issue was the initial file permissions in the caCerts.image image under ${JAVA_HOME}/lib/security/cacerts and also the user/permissions set to run in the image or possibly umask issues. hard to say without seeing the image, but these changes should allow full control over the cert-loading process.
Here's an example of using overrides to chmod the file after the cp.