DependencyTrack / DependencyTrack/helm-charts
Provide more Options for S3, e.g. inscure, path style, etc ...
- Dominant language
- Go Template
- Stars
- 78
- Forks
- 55
- Avg merge
- 1h 57m
- Merged PRs (30d)
- 14
Description
For file storage I use this in my local home lab cluster with the recent release of depdency track 2.0.0:
```
fileStorage:
provider: s3
s3:
endpoint: "rook-ceph-rgw-ceph-objectstore.rook-ceph.svc.cluster.local:80"
region: default
bucket: dtrack
```
That does not work and runs into a timeout exception , like this one:
```
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Server.doStart(Server.java:630)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:92)
2026-08-02T22:15:13+02:00 at org.dependencytrack.Application.main(Application.java:277)
2026-08-02T22:15:13+02:00 Caused by: java.lang.IllegalStateException: java.net.SocketTimeoutException: Connect timed out
2026-08-02T22:15:13+02:00 at io.minio.MinioAsyncClient.throwMinioException(MinioAsyncClient.java:3700)
2026-08-02T22:15:13+02:00 at io.minio.MinioClient.bucketExists(MinioClient.java:691)
2026-08-02T22:15:13+02:00 at org.dependencytrack.filestorage.s3.S3FileStorageProvider.requireBucketExists(S3FileStorageProvider.java:96)
2026-08-02T22:15:13+02:00 ... 22 common frames omitted
2026-08-02T22:15:13+02:00 Caused by: java.net.SocketTimeoutException: Connect timed out
2026-08-02T22:15:13+02:00 at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(Unknown Source)
2026-08-02T22:15:13+02:00 at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
2026-08-02T22:15:13+02:00 at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
2026-08-02T22:15:13+02:00 at java.base/java.net.Socket.connect(Unknown Source)
2026-08-02T22:15:13+02:00 at okhttp3.internal.platform.Platform.connectSocket(Platform.kt:149)
2026-08-02T22:15:13+02:00 at okhttp3.internal.connection.ConnectPlan.connectSocket(ConnectPlan.kt:276)
2026-08-02T22:15:13+02:00 at okhttp3.internal.connection.ConnectPlan.connectTcp(ConnectPlan.kt:135)
2026-08-02T22:15:13+02:00 at okhttp3.internal.connection.FastFallbackExchangeFinder$launchTcpConnect$1.runOnce(FastFallbackExchangeFinder.kt:144)
2026-08-02T22:15:13+02:00 at okhttp3.internal.concurrent.TaskRunner$runnable$1.run(TaskRunner.kt:81)
2026-08-02T22:15:13+02:00 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
2026-08-02T22:15:13+02:00 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
2026-08-02T22:15:13+02:00 at java.base/java.lang.Thread.run(Unknown Source)
2026-08-02T22:15:13+02:00 2026-08-02 20:15:13,241 WARN [ContainerLifeCycle] Unable to destroy
2026-08-02T22:15:13+02:00 java.lang.IllegalStateException: STARTED
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Handler$Abstract.destroy(Handler.java:560)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.component.ContainerLifeCycle.destroy(ContainerLifeCycle.java:229)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Handler$Abstract.destroy(Handler.java:561)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.handler.ContextHandler.lambda$destroy$0(ContextHandler.java:1207)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1726)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1713)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.handler.ContextHandler.destroy(ContextHandler.java:1207)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.component.ContainerLifeCycle.destroy(ContainerLifeCycle.java:229)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Handler$Abstract.destroy(Handler.java:561)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.component.ContainerLifeCycle.destroy(ContainerLifeCycle.java:229)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.server.Handler$Abstract.destroy(Handler.java:561)
2026-08-02T22:15:13+02:00 at org.eclipse.jetty.util.thread.ShutdownThread.run(ShutdownThread.java:146)
```
I also have Grafana Loki installed, works without any problem with the following settings here:
```
s3:
endpoint: rook-ceph-rgw-ceph-objectstore.rook-ceph.svc.cluster.local
region: default
s3ForcePathStyle: true
insecure: true
```
So, I'd be happy to see similar options in this helm chart. There are IMHO valid scenarios to be able to disabel https or do other settings, like s3ForcePathStyle.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Helm chart's fileStorage.s3 configuration and the S3FileStorageProvider.java call shown in the stack trace. Compare the requested s3ForcePathStyle and insecure settings with the existing chart values and templates; done means both options can be configured and the supplied Ceph endpoint works without a timeout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- cloud, devops
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100