From 197090f7543df364f63015d1e9983027a19a93a7 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Wed, 26 Nov 2025 16:22:00 +0100 Subject: [PATCH] Move active storage config to gem --- config/storage.oss.yml | 18 ++++++++++++++++++ config/storage.yml | 42 ++++++++++-------------------------------- 2 files changed, 28 insertions(+), 32 deletions(-) create mode 100644 config/storage.oss.yml diff --git a/config/storage.oss.yml b/config/storage.oss.yml new file mode 100644 index 000000000..e50debd34 --- /dev/null +++ b/config/storage.oss.yml @@ -0,0 +1,18 @@ +test: + service: Disk + root: <%= Rails.root.join("tmp/storage/files") %> + +local: + service: Disk + root: <%= Rails.root.join("storage", Rails.env, "files") %> + +devminio: + service: S3 + bucket: fizzy-dev-activestorage + endpoint: "http://minio.localhost:39000" + force_path_style: true + request_checksum_calculation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support + response_checksum_validation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support + region: us-east-1 # default region required for signer + access_key_id: minioadmin + secret_access_key: minioadmin diff --git a/config/storage.yml b/config/storage.yml index ca2b64633..302a7a63e 100644 --- a/config/storage.yml +++ b/config/storage.yml @@ -1,33 +1,11 @@ -test: - service: Disk - root: <%= Rails.root.join("tmp/storage/files") %> +<% + require_relative "../lib/fizzy" -local: - service: Disk - root: <%= Rails.root.join("storage", Rails.env, "files") %> - -devminio: - service: S3 - bucket: fizzy-dev-activestorage - endpoint: "http://minio.localhost:39000" - force_path_style: true - request_checksum_calculation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support - response_checksum_validation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support - region: us-east-1 # default region required for signer - access_key_id: minioadmin - secret_access_key: minioadmin - -# We have "development", "staging", and "production" buckets configured. Note that we don't have a -# "beta" bucket. (As of 2025-06-01.) -<% pure_env = Rails.env.beta? ? "production" : Rails.env %> -purestorage: - service: S3 - bucket: fizzy-<%= pure_env %>-activestorage - endpoint: "https://storage.basecamp.com" - ssl_verify_peer: false # FIXME: using self-signed cert internally - force_path_style: true - request_checksum_calculation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support - response_checksum_validation: when_required # default is when_supported with CRC64NVME checksum which FlashBlade doesn't support - region: us-east-1 # default region required for signer - access_key_id: <%= Rails.application.credentials.dig(:active_storage, :purestorage_service, :access_key_id) %> - secret_access_key: <%= Rails.application.credentials.dig(:active_storage, :purestorage_service, :secret_access_key) %> + config_path = if Fizzy.saas? + gem_path = Gem::Specification.find_by_name("fizzy-saas").gem_dir + File.join(gem_path, "config", "storage.yml") + else + File.join(__dir__, "storage.oss.yml") + end +%> +<%= ERB.new(File.read(config_path)).result %>