d1500ad4ec
- Rename script from apns-dev to push-dev (handles both APNs and FCM) - Fetch credentials from Deploy/Fizzy Production (same as Kamal) - Use _B64 env vars to avoid escaping issues with multiline keys - Update bin/dev flag from --apns to --push Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
45 lines
1.5 KiB
Ruby
Executable File
45 lines
1.5 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
#
|
|
# Fetches push notification credentials from 1Password for development.
|
|
# Uses the same 1Password items as production (Deploy/Fizzy Production).
|
|
#
|
|
# Usage: eval "$(bundle exec push-dev)"
|
|
|
|
OP_ACCOUNT = "23QPQDKZC5BKBIIG7UGT5GR5RM"
|
|
OP_VAULT = "Deploy"
|
|
OP_ITEM = "Fizzy"
|
|
|
|
def op_read(field)
|
|
`op read "op://#{OP_VAULT}/#{OP_ITEM}/Production/#{field}" --account #{OP_ACCOUNT} 2>/dev/null`.strip
|
|
end
|
|
|
|
apns_key_id = op_read("APNS_KEY_ID")
|
|
apns_team_id = op_read("APNS_TEAM_ID")
|
|
apns_encryption_key_b64 = op_read("APNS_ENCRYPTION_KEY_B64")
|
|
fcm_encryption_key_b64 = op_read("FCM_ENCRYPTION_KEY_B64")
|
|
|
|
if apns_key_id.empty? || apns_encryption_key_b64.empty?
|
|
warn "Error: Could not fetch APNs credentials from 1Password"
|
|
warn "Make sure you're signed in: op signin --account #{OP_ACCOUNT}"
|
|
exit 1
|
|
end
|
|
|
|
if fcm_encryption_key_b64.empty?
|
|
warn "Warning: Could not fetch FCM credentials from 1Password"
|
|
warn "Android push notifications will not work"
|
|
end
|
|
|
|
puts %Q(export APNS_KEY_ID="#{apns_key_id}")
|
|
puts %Q(export APNS_TEAM_ID="#{apns_team_id}")
|
|
puts %Q(export APNS_ENCRYPTION_KEY_B64="#{apns_encryption_key_b64}")
|
|
puts %Q(export FCM_ENCRYPTION_KEY_B64="#{fcm_encryption_key_b64}")
|
|
puts %Q(export ENABLE_NATIVE_PUSH="true")
|
|
|
|
warn ""
|
|
warn "Push notification credentials loaded for development"
|
|
warn " APNs Key ID: #{apns_key_id}"
|
|
warn " APNs Team ID: #{apns_team_id}"
|
|
warn " APNs: #{apns_encryption_key_b64.empty? ? "not configured" : "configured"}"
|
|
warn " FCM: #{fcm_encryption_key_b64.empty? ? "not configured" : "configured"}"
|
|
warn " Native push: enabled"
|