From 90eb61bb5f39345c15c058509f98bbf3eb8f07c7 Mon Sep 17 00:00:00 2001 From: Jorge Manrubia Date: Fri, 12 Dec 2025 10:54:09 +0100 Subject: [PATCH] Add script to set stripe env vars from 1password --- saas/exe/stripe-dev | 23 +++++++++++++++++++++++ saas/fizzy-saas.gemspec | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 saas/exe/stripe-dev diff --git a/saas/exe/stripe-dev b/saas/exe/stripe-dev new file mode 100755 index 000000000..820264766 --- /dev/null +++ b/saas/exe/stripe-dev @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby +# +# Fetches Stripe development environment variables from 1Password. +# Usage: eval "$(bundle exec stripe-dev)" + +require "json" + +secrets_escaped = `kamal secrets fetch \ + --adapter 1password \ + --account basecamp \ + --from "Deploy/Fizzy" \ + "Development/STRIPE_SECRET_KEY" \ + "Development/STRIPE_MONTHLY_V1_PRICE_ID" 2>/dev/null` + +# kamal outputs shell-escaped JSON, unescape it +secrets_json = secrets_escaped.gsub(/\\(.)/, '\1') +secrets = JSON.parse(secrets_json) + +stripe_secret_key = secrets["Deploy/Fizzy/Development/STRIPE_SECRET_KEY"] +stripe_price_id = secrets["Deploy/Fizzy/Development/STRIPE_MONTHLY_V1_PRICE_ID"] + +puts %Q(export STRIPE_SECRET_KEY="#{stripe_secret_key}") +puts %Q(export STRIPE_MONTHLY_V1_PRICE_ID="#{stripe_price_id}") diff --git a/saas/fizzy-saas.gemspec b/saas/fizzy-saas.gemspec index d4f79e4ce..1368ef63c 100644 --- a/saas/fizzy-saas.gemspec +++ b/saas/fizzy-saas.gemspec @@ -18,9 +18,12 @@ Gem::Specification.new do |spec| spec.metadata["source_code_uri"] = "https://github.com/basecamp/fizzy-saas" spec.files = Dir.chdir(File.expand_path(__dir__)) do - Dir["{app,config,db,lib}/**/*", "test/fixtures/**/*", "LICENSE.md", "Rakefile", "README.md"] + Dir["{app,config,db,lib,exe}/**/*", "test/fixtures/**/*", "LICENSE.md", "Rakefile", "README.md"] end + spec.bindir = "exe" + spec.executables = [ "stripe-dev" ] + spec.add_dependency "rails", ">= 8.1.0.beta1" spec.add_dependency "queenbee" spec.add_dependency "rails_structured_logging"