fix(secrets): catalog NEON_API_KEY (G7 root-cause)#250
Conversation
Add NEON_API_KEY to .github/secret-catalog.json. Uncataloged key is why
the DB-password rotator errors ("Missing Neon API credentials") and the
rotation-audit skips it. Catalog metadata only — no secret value.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 49 minutes and 48 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
chittyconnect | a1ec5a8 | Jun 12 2026, 05:28 PM |
There was a problem hiding this comment.
Pull request overview
Adds a missing governance catalog entry for the Neon control-plane API key so it can be tracked by the repo’s secret rotation/audit metadata.
Changes:
- Adds
NEON_API_KEYto.github/secret-catalog.jsonwithsource: 1password,rotation_days: 90, andscope: third-party.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| { | ||
| "name": "NEON_API_KEY", | ||
| "source": "1password", | ||
| "vault": "ChittyOS", | ||
| "rotation_days": 90, | ||
| "scope": "third-party" |
Summary
Adds
NEON_API_KEYto.github/secret-catalog.json— the root-cause fix for finding G7. This is a pure catalog metadata entry; no secret value is touched anywhere.Finding G7 — evidence
secret:neon:meta.lastResult = errorsince 2026-06-10 — the DB-password rotator fails with "Missing Neon API credentials".NEON_API_KEYwas absent from the catalog entirely (onlyNEON_DATABASE_URL, the Postgres connection string / data-plane credential, was present).onepassword-rotation-audit.yml. (Note: the audit workflow as written counts catalog entries and warns onnullrotation_days; it does not enumerate per-secret against 1Password — the per-secret tracking gap is the operator's stated evidence, surfaced here for context.)What this entry does
{ "name": "NEON_API_KEY", "source": "1password", "vault": "ChittyOS", "rotation_days": 90, "scope": "third-party" }third-party:NEON_API_KEYis a control-plane SaaS API key for the Neon platform — same credential class asOPENAI_API_KEYandNOTION_API_KEY(boththird-party). It is deliberately notdatabasescope; that scope belongs toNEON_DATABASE_URL(the data-plane connection string). The task suggested scopeintegration-api-key, but that value exists nowhere in the catalog or repo — per the "match the file, don't invent" constraint, the existingthird-partyconvention is used. The broker destination (integrations/neon/...) confirms the integration/third-party bucket.rotation_days: 90: matchesOPENAI_API_KEYexactly (rotatable third-party API key).Why this unblocks downstream
sync-1p-to-cf-secrets→ CF Secrets path.Broker destination: 1Password
ChittyOS :: integrations/neon/api_key.Validation
Scope guardrails honored
.github/allowed-workflow-secrets.txt,version, orlast_audit(out of scope for this entry). If rotation-audit "tracking" should also gate on the allowed-workflow-secrets list, that is a follow-up, not part of this diff.CI note
Husky bootstrap (
.husky/_/husky.sh) is absent in this environment, so bothpre-commitandpre-pushhooks error.lint-stagedwas run manually (no staged files in its glob; catalog JSON validated viajq empty). Commit and push used--no-verify.🤖 Generated with Claude Code