I know it’s been a while, but I have to say, the error is anything BUT clear when Loki spews a 403.
Why?
Because Loki does not LOG THE URL IT ATTEMPTED in any way.
In my case I can setup access to the bucket from any application using the same keys and it works, because I can figure out how to get those applications to use the minio server URL pathing correctly - BUT NOT LOKI
I’m sitting here iterating through multiple incantations of configuring loki for over 24 hours now. All spew 403 - and I can’t tell what effect my changes are having, because again… Loki isn’t logging what URL it’s trying so I can’t tell if it’s doing something it shouldn’t (which it obivously is)
So no - 403 errors from S3 buckets with Loki are not clear. At all.
I was trying to get this working with a 3 buckets (one for each admin, chunks and rules) but with all the problems I’ve been having I decided to try 1 bucket with path style.
https://s3.home.routh.io/minio/loki-logs is the correct full URL for the bucket that should be used by loki (verified with the s3 client) - the bucket name is loki-logs currently.
Ultimately with no logging anywhere from Loki about what URL these configurations wind up with it thinking it should use - troubleshooting this has been obtuse - and Minio doesn’t log this on the TrueNAS side either (nor does the traefik ingress log the request path) - so I’m about to need to start doing tcpdumps here to try and see what URL it’s actually trying to wind up with a 403.
The client I tested with used my admin creds, and it created a /minio/ bucket and put the stuff in a subfolder of that bucket.
The terraform provider I used is ultimately returning the wrong URL - it should be https://s3.home.routh.io/<bucket> which is what is in the presigned URLs from the UI - but he provider is adding an extra /minio/ to the path for some reason.