|
81 | 81 | supabase-start: |
82 | 82 | cmds: |
83 | 83 | - curl -o supabase/config.toml https://gist.githubusercontent.com/yujonglee/c0704ebe0818621a64753d663c4fcaff/raw/b82572dfcb6ffa4d20c332a8dd7650e5b82b99c3/supabase-default.toml |
| 84 | + - dasel put -f supabase/config.toml -t int -v 17 'db.major_version' |
84 | 85 | - dasel put -f supabase/config.toml -t string -v 'http://localhost:3000' 'auth.site_url' |
85 | 86 | - dasel put -f supabase/config.toml -t json -v '["http://localhost:3000/callback/auth"]' 'auth.additional_redirect_urls' |
86 | 87 | - '[ -n "$GITHUB_CLIENT_ID" ] && [ -n "$GITHUB_CLIENT_SECRET" ] && dasel put -f supabase/config.toml -t bool -v true ''auth.external.github.enabled'' || true' |
@@ -199,83 +200,5 @@ tasks: |
199 | 200 |
|
200 | 201 | stripe: |
201 | 202 | cmds: |
202 | | - - | |
203 | | - bash <<'EOF' |
204 | | - set -euo pipefail |
205 | | -
|
206 | | - generated_env_file=".stripe/generated.env" |
207 | | - env_target="apps/api/.env" |
208 | | -
|
209 | | - cleanup() { |
210 | | - rm -f "$generated_env_file" |
211 | | - } |
212 | | - trap cleanup EXIT |
213 | | -
|
214 | | - mkdir -p "$(dirname "$generated_env_file")" |
215 | | -
|
216 | | - secret=$(stripe listen --print-secret | tr -d '\r\n') |
217 | | -
|
218 | | - if [ -z "$secret" ]; then |
219 | | - echo "failed to retrieve Stripe webhook secret" >&2 |
220 | | - exit 1 |
221 | | - fi |
222 | | -
|
223 | | - printf 'STRIPE_WEBHOOK_SECRET="%s"\n' "$secret" > "$generated_env_file" |
224 | | -
|
225 | | - if [ -s "$generated_env_file" ]; then |
226 | | - mkdir -p "$(dirname "$env_target")" |
227 | | -
|
228 | | - if [ ! -f "$env_target" ]; then |
229 | | - cp "$generated_env_file" "$env_target" |
230 | | - else |
231 | | - merged_env=$(mktemp) |
232 | | - awk -v new_file="$generated_env_file" ' |
233 | | - BEGIN { |
234 | | - while ((getline line < new_file) > 0) { |
235 | | - if (line ~ /^[[:space:]]*$/ || line ~ /^[[:space:]]*#/) continue |
236 | | - sep = index(line, "=") |
237 | | - if (sep == 0) continue |
238 | | - key = substr(line, 1, sep - 1) |
239 | | - gsub(/^[[:space:]]+|[[:space:]]+$/, "", key) |
240 | | - value = substr(line, sep + 1) |
241 | | - new_values[key] = value |
242 | | - } |
243 | | - close(new_file) |
244 | | - } |
245 | | - { |
246 | | - line = $0 |
247 | | - if (line ~ /^[[:space:]]*$/ || line ~ /^[[:space:]]*#/) { |
248 | | - print line |
249 | | - next |
250 | | - } |
251 | | - sep = index(line, "=") |
252 | | - if (sep == 0) { |
253 | | - print line |
254 | | - next |
255 | | - } |
256 | | - key = substr(line, 1, sep - 1) |
257 | | - gsub(/^[[:space:]]+|[[:space:]]+$/, "", key) |
258 | | - if (key in new_values) { |
259 | | - print key "=" new_values[key] |
260 | | - used[key] = 1 |
261 | | - } else { |
262 | | - print line |
263 | | - } |
264 | | - } |
265 | | - END { |
266 | | - for (key in new_values) { |
267 | | - if (!(key in used)) { |
268 | | - print key "=" new_values[key] |
269 | | - } |
270 | | - } |
271 | | - } |
272 | | - ' "$env_target" > "$merged_env" |
273 | | - mv "$merged_env" "$env_target" |
274 | | - fi |
275 | | - echo "✓ Webhook secret written to $env_target" |
276 | | - fi |
277 | | -
|
278 | | - rm -f "$generated_env_file" |
279 | | -
|
280 | | - stripe listen --skip-verify --forward-to http://localhost:8787/webhook/stripe |
281 | | - EOF |
| 203 | + - stripe listen --print-secret | tr -d '\r\n' | xargs -I{} sh -c 'printf "STRIPE_WEBHOOK_SECRET=\"{}\"\n" > .env.stripe' |
| 204 | + - stripe listen --skip-verify --forward-to http://localhost:8787/webhook/stripe |
0 commit comments