diff options
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/git-lfs-server/main.go | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/cmd/git-lfs-server/main.go b/cmd/git-lfs-server/main.go index fc32f41..f264aa0 100644 --- a/cmd/git-lfs-server/main.go +++ b/cmd/git-lfs-server/main.go | |||
@@ -286,34 +286,44 @@ func die(msg string, args ...any) { | |||
286 | } | 286 | } |
287 | 287 | ||
288 | func main() { | 288 | func main() { |
289 | anonUser := os.Getenv("ANON_USER") | ||
289 | endpoint := os.Getenv("S3_ENDPOINT") | 290 | endpoint := os.Getenv("S3_ENDPOINT") |
290 | accessKeyID := os.Getenv("S3_ACCESS_KEY_ID") | ||
291 | secretAccessKey := os.Getenv("S3_SECRET_ACCESS_KEY") | ||
292 | bucket := os.Getenv("S3_BUCKET") | 291 | bucket := os.Getenv("S3_BUCKET") |
293 | anonUser := os.Getenv("ANON_USER") | 292 | accessKeyIDFile := os.Getenv("S3_ACCESS_KEY_ID_FILE") |
293 | secretAccessKeyFile := os.Getenv("S3_SECRET_ACCESS_KEY_FILE") | ||
294 | 294 | ||
295 | if anonUser == "" { | ||
296 | die("Expected environment variable ANON_USER to be set") | ||
297 | } | ||
295 | if endpoint == "" { | 298 | if endpoint == "" { |
296 | die("Expected environment variable S3_ENDPOINT to be set") | 299 | die("Expected environment variable S3_ENDPOINT to be set") |
297 | } | 300 | } |
298 | if accessKeyID == "" { | ||
299 | die("Expected environment variable S3_ACCESS_KEY_ID to be set") | ||
300 | } | ||
301 | if secretAccessKey == "" { | ||
302 | die("Expected environment variable S3_SECRET_ACCESS_KEY to be set") | ||
303 | } | ||
304 | if bucket == "" { | 301 | if bucket == "" { |
305 | die("Expected environment variable S3_BUCKET to be set") | 302 | die("Expected environment variable S3_BUCKET to be set") |
306 | } | 303 | } |
307 | if anonUser == "" { | 304 | |
308 | die("Expected environment variable ANON_USER to be set") | 305 | if accessKeyIDFile == "" { |
306 | die("Expected environment variable S3_ACCESS_KEY_ID_FILE to be set") | ||
307 | } | ||
308 | if secretAccessKeyFile == "" { | ||
309 | die("Expected environment variable S3_SECRET_ACCESS_KEY_FILE to be set") | ||
310 | } | ||
311 | |||
312 | accessKeyID, err := os.ReadFile(accessKeyIDFile) | ||
313 | if err != nil { | ||
314 | die("Failed to read access key ID from specified file: %s", err) | ||
315 | } | ||
316 | secretAccessKey, err := os.ReadFile(secretAccessKeyFile) | ||
317 | if err != nil { | ||
318 | die("Failed to read secret access key from specified file: %s", err) | ||
309 | } | 319 | } |
310 | 320 | ||
311 | mc, err := minio.New(endpoint, &minio.Options{ | 321 | mc, err := minio.New(endpoint, &minio.Options{ |
312 | Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""), | 322 | Creds: credentials.NewStaticV4(string(accessKeyID), string(secretAccessKey), ""), |
313 | Secure: true, | 323 | Secure: true, |
314 | }) | 324 | }) |
315 | if err != nil { | 325 | if err != nil { |
316 | die("Failed to create S3 client") | 326 | die("Failed to create S3 client: %s", err) |
317 | } | 327 | } |
318 | 328 | ||
319 | if err = cgi.Serve(&handler{mc, bucket, anonUser}); err != nil { | 329 | if err = cgi.Serve(&handler{mc, bucket, anonUser}); err != nil { |