ffc0c86f36
for when we need to debug direct upload problems
41 lines
1.1 KiB
Ruby
Executable File
41 lines
1.1 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
#
|
|
# Make sure the bucket we rely upon in development exists.
|
|
# Configuration and credentials are in config/storage.yml
|
|
#
|
|
require_relative "../config/environment"
|
|
require "aws-sdk-s3"
|
|
|
|
# Load storage configuration
|
|
storage_config = YAML.load(ERB.new(File.read("config/storage.yml")).result)
|
|
minio_config = storage_config["devminio"]
|
|
|
|
bucket_name = minio_config["bucket"]
|
|
endpoint = minio_config["endpoint"]
|
|
access_key = minio_config["access_key_id"]
|
|
secret_key = minio_config["secret_access_key"]
|
|
region = minio_config["region"]
|
|
|
|
# Create S3 client
|
|
s3_client = Aws::S3::Client.new(
|
|
endpoint: endpoint,
|
|
access_key_id: access_key,
|
|
secret_access_key: secret_key,
|
|
region: region,
|
|
force_path_style: minio_config["force_path_style"]
|
|
)
|
|
|
|
# Check if bucket exists
|
|
begin
|
|
s3_client.head_bucket(bucket: bucket_name)
|
|
puts "Bucket '#{bucket_name}' already exists"
|
|
rescue Aws::S3::Errors::NotFound
|
|
# Create the bucket
|
|
puts "Creating bucket '#{bucket_name}'..."
|
|
s3_client.create_bucket(bucket: bucket_name)
|
|
puts "Successfully created bucket '#{bucket_name}'"
|
|
rescue => e
|
|
puts "Error checking/creating bucket: #{e.message}"
|
|
exit 1
|
|
end
|