docs: fix numbered list rendering in secrets-limit troubleshooting doc (#50479)

## Summary
- #50366 added a numbered "How to fix" list, but the fenced code blocks
and follow-up paragraphs between items 1/2/3 weren't indented under
their list markers, so each numbered item parses as its own single-item
list per CommonMark's list-continuation rules — the rendered doc shows
"1, 1, 1" instead of "1, 2, 3".
- Indents the code fences and paragraphs so they attach to their list
item, keeping the whole "How to fix" section as one ordered list.

No content changes — purely a list-structure/indentation fix so the doc
renders correctly.

## Test plan
- [ ] Preview the docs page and confirm "How to fix" renders as 1, 2, 3

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Updated the troubleshooting guide with clearer Markdown and TypeScript
code formatting for secret configuration and retrieval examples.
- Clarified how to set grouped credentials, handle missing secret
values, and access parsed keys individually.
- Documented behavior remains unchanged: grouped credentials count as
one secret, and missing `API_KEYS` values produce an error.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Tina Ha authored and GitHub committed 2026-09-18 15:20:30 -04:00
1 parent 5918a69398
commit f69195f9df
1 file changed
+12 -12
@@ -15,22 +15,22 @@ Supabase doesn't raise this limit on a per-project basis today. The workaround b
1. Group related credentials into a JSON object and store it under a single secret name:
```bash
supabase secrets set API_KEYS='{"stripe":"sk_live_xxx","sendgrid":"SG.xxx","aws":"xxx"}'
```
```bash
supabase secrets set API_KEYS='{"stripe":"sk_live_xxx","sendgrid":"SG.xxx","aws":"xxx"}'
```
This counts as **one** secret against the 100 limit, no matter how many keys are nested inside it.
This counts as **one** secret against the 100 limit, no matter how many keys are nested inside it.
2. Read it back in your function with `Deno.env.get()` and `JSON.parse`:
```typescript
const raw = Deno.env.get('API_KEYS')
if (!raw) {
throw new Error('Missing API_KEYS secret')
}
const keys = JSON.parse(raw)
const stripeKey = keys.stripe
```
```typescript
const raw = Deno.env.get('API_KEYS')
if (!raw) {
throw new Error('Missing API_KEYS secret')
}
const keys = JSON.parse(raw)
const stripeKey = keys.stripe
```
3. Confirm it was set with `supabase secrets list`.