refactor: update AWS S3 credentials configuration

- Modify AWS credentials to use 's3' instead of 'minio' for both production and development environments.
- Update associated initializers, environment configurations, and sitemap generator settings.
- Simplify the configuration retrieval by aligning with new standards for S3.

These changes ensure consistent access to AWS S3 resources and improve maintainability by aligning with updated environment variable practices.
This commit is contained in:
songtianlun 2025-03-16 00:13:37 +08:00
parent 0a75ea9bd5
commit f2e2c8c4d8
8 changed files with 45 additions and 41 deletions

View File

@ -83,8 +83,8 @@ class SitemapsController < ApplicationController
def set_bucket_name def set_bucket_name
@bucket_name = Rails.env.production? ? @bucket_name = Rails.env.production? ?
ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:minio, :bucket)) : ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:s3, :bucket)) :
ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:minio_dev, :bucket)) ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:s3_dev, :bucket))
end end
def s3_client def s3_client

View File

@ -35,21 +35,21 @@ class RefreshSitemapWorker
if Rails.env.production? if Rails.env.production?
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new( SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:minio, :bucket)), ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:s3, :bucket)),
aws_access_key_id: ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :access_key_id)), aws_access_key_id: ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :access_key_id)),
aws_secret_access_key: ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :secret_access_key)), aws_secret_access_key: ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :secret_access_key)),
aws_region: ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:minio, :region)), aws_region: ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:s3, :region)),
force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio, :force_path_style)), force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3, :force_path_style)),
endpoint: ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:minio, :endpoint)), endpoint: ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:s3, :endpoint)),
) )
else else
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new( SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:minio_dev, :bucket)), ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:s3_dev, :bucket)),
aws_access_key_id: ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :access_key_id)), aws_access_key_id: ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :access_key_id)),
aws_secret_access_key: ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :secret_access_key)), aws_secret_access_key: ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :secret_access_key)),
aws_region: ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:minio_dev, :region)), aws_region: ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:s3_dev, :region)),
force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio_dev, :force_path_style)), force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3_dev, :force_path_style)),
endpoint: ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:minio_dev, :endpoint)), endpoint: ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:s3_dev, :endpoint)),
) )
end end
SitemapGenerator::Sitemap.sitemaps_path = "sitemaps/" SitemapGenerator::Sitemap.sitemaps_path = "sitemaps/"

View File

@ -1 +1 @@
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--X5EEAN17k1lkJcuO--lT7sC4JrxHcmrMt2aoiU9g== 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--3zI6078+E2drt7F7--ktwsQ37sKOR88VnBiX2CBA==

View File

@ -40,6 +40,8 @@ Rails.application.configure do
# Store uploaded files on the local file system (see config/storage.yml for options). # Store uploaded files on the local file system (see config/storage.yml for options).
# config.active_storage.service = :local # config.active_storage.service = :local
config.active_storage.service = :amazon_dev config.active_storage.service = :amazon_dev
# 使用代理模式,避免 Aliyun OSS Can not override response header on content-type 问题,
config.active_storage.resolve_model_to_route = :rails_storage_proxy
# Don't care if the mailer can't send. # Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false config.action_mailer.raise_delivery_errors = false

View File

@ -23,6 +23,8 @@ Rails.application.configure do
# Store uploaded files on the local file system (see config/storage.yml for options). # Store uploaded files on the local file system (see config/storage.yml for options).
config.active_storage.service = ENV["RAILS_BUILD"] ? :build : :amazon config.active_storage.service = ENV["RAILS_BUILD"] ? :build : :amazon
# 使用代理模式,避免 Aliyun OSS Can not override response header on content-type 问题,
config.active_storage.resolve_model_to_route = :rails_storage_proxy
# Assume all access to the app is happening through a SSL-terminating reverse proxy. # Assume all access to the app is happening through a SSL-terminating reverse proxy.
config.assume_ssl = true config.assume_ssl = true

View File

@ -1,21 +1,21 @@
if Rails.env.production? if Rails.env.production?
Aws.config.update({ Aws.config.update({
region: ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:minio, :region)), region: ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:s3, :region)),
credentials: Aws::Credentials.new( credentials: Aws::Credentials.new(
ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :access_key_id)), ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :access_key_id)),
ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :secret_access_key)) ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :secret_access_key))
), ),
force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio_dev, :force_path_style)), force_path_style: ENV.fetch("AWS_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3_dev, :force_path_style)),
endpoint: ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:minio, :endpoint)) endpoint: ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:s3, :endpoint))
}) })
else else
Aws.config.update({ Aws.config.update({
region: ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:minio_dev, :region)), region: ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:s3_dev, :region)),
credentials: Aws::Credentials.new( credentials: Aws::Credentials.new(
ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :access_key_id)), ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :access_key_id)),
ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :secret_access_key)) ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :secret_access_key))
), ),
force_path_style: ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio_dev, :force_path_style)), force_path_style: ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3_dev, :force_path_style)),
endpoint: ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:minio_dev, :endpoint)) endpoint: ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:s3_dev, :endpoint))
}) })
end end

View File

@ -2,10 +2,10 @@
host = Rails.env.production? ? "https://todayaiweather.com" : "http://127.0.0.1:3000" host = Rails.env.production? ? "https://todayaiweather.com" : "http://127.0.0.1:3000"
Rails.application.routes.default_url_options[:host] = host Rails.application.routes.default_url_options[:host] = host
SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new( SitemapGenerator::Sitemap.adapter = SitemapGenerator::AwsSdkAdapter.new(
Rails.application.credentials.dig(:minio, :bucket), Rails.application.credentials.dig(:s3, :bucket),
aws_access_key_id: Rails.application.credentials.dig(:minio, :access_key_id), aws_access_key_id: Rails.application.credentials.dig(:s3, :access_key_id),
aws_secret_access_key: Rails.application.credentials.dig(:minio, :secret_access_key), aws_secret_access_key: Rails.application.credentials.dig(:s3, :secret_access_key),
aws_region: Rails.application.credentials.dig(:minio, :region) aws_region: Rails.application.credentials.dig(:s3, :region)
) )
SitemapGenerator::Sitemap.sitemaps_path = "sitemaps/" SitemapGenerator::Sitemap.sitemaps_path = "sitemaps/"

View File

@ -19,21 +19,21 @@ build:
# bucket: your_own_bucket-<%= Rails.env %> # bucket: your_own_bucket-<%= Rails.env %>
amazon_dev: amazon_dev:
service: S3 service: S3
access_key_id: <%= ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :access_key_id)) %> access_key_id: <%= ENV.fetch("AWS_DEV_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :access_key_id)) %>
secret_access_key: <%= ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio_dev, :secret_access_key)) %> secret_access_key: <%= ENV.fetch("AWS_DEV_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3_dev, :secret_access_key)) %>
region: <%= ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:minio_dev, :region)) %> region: <%= ENV.fetch("AWS_DEV_REGION", Rails.application.credentials.dig(:s3_dev, :region)) %>
bucket: <%= ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:minio_dev, :bucket)) %> bucket: <%= ENV.fetch("AWS_DEV_BUCKET", Rails.application.credentials.dig(:s3_dev, :bucket)) %>
endpoint: <%= ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:minio_dev, :endpoint)) %> endpoint: <%= ENV.fetch("AWS_DEV_ENDPOINT", Rails.application.credentials.dig(:s3_dev, :endpoint)) %>
force_path_style: <%= ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio_dev, :force_path_style)) %> force_path_style: <%= ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3_dev, :force_path_style)) %>
amazon: amazon:
service: S3 service: S3
access_key_id: <%= ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :access_key_id)) %> access_key_id: <%= ENV.fetch("AWS_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :access_key_id)) %>
secret_access_key: <%= ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:minio, :secret_access_key)) %> secret_access_key: <%= ENV.fetch("AWS_SECRET_ACCESS_KEY_ID", Rails.application.credentials.dig(:s3, :secret_access_key)) %>
region: <%= ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:minio, :region)) %> region: <%= ENV.fetch("AWS_REGION", Rails.application.credentials.dig(:s3, :region)) %>
bucket: <%= ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:minio, :bucket)) %> bucket: <%= ENV.fetch("AWS_BUCKET", Rails.application.credentials.dig(:s3, :bucket)) %>
endpoint: <%= ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:minio, :endpoint)) %> endpoint: <%= ENV.fetch("AWS_ENDPOINT", Rails.application.credentials.dig(:s3, :endpoint)) %>
force_path_style: <%= ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:minio, :force_path_style)) %> force_path_style: <%= ENV.fetch("AWS_DEV_FORCE_PATH_STYLE", Rails.application.credentials.dig(:s3, :force_path_style)) %>
# Remember not to checkin your GCS keyfile to a repository # Remember not to checkin your GCS keyfile to a repository
# google: # google: