logicsrc/.env.example
Anthony Ettinger cf99e93c53 feat(web): blog-post ingestion webhook + /blog, dynamic RSS & sitemap
Add an autoblog webhook receiver and a Supabase-backed blog to logicsrc-web
(the app had no Supabase usage before).

- Migration: blog_posts table (RLS: public reads published, service-role
  writes). Applied to the linked project.
- POST /api/webhooks/blog: verifies the Standard Webhooks signature against
  BLOG_WEBHOOK_SECRET via @profullstack/autoblog verifyAndParse (no admin
  user — shared secret only) and upserts the post by slug.
- /blog index + /blog/[slug] render published posts from the table.
- /blog/rss.xml and /sitemap.xml are now dynamic, generated from the table;
  removed the static public/sitemap.xml and public/blog/rss.xml.
- BLOG_WEBHOOK_SECRET added to .env.example.

Verified end-to-end: a signed sample post delivered 200 and appeared in the
index, post page, RSS, and sitemap; build + typecheck pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 11:53:43 +00:00

35 lines
989 B
Text

# Canonical public site URL (used for CoinPay redirect/webhook URLs and secure cookies)
PUBLIC_URL=https://logicsrc.com
COMMANDBOARD_API_URL=http://localhost:4010
COMMANDBOARD_TOKEN=
COMMANDBOARD_DID=
COMMANDBOARD_AGENT_KEY=
LOGICSRC_SCHEMA_VERSION=0.1
COINPAY_API_URL=
COINPAY_API_KEY=
COINPAY_MERCHANT_ID=
COINPAY_BUSINESS_ID=
COINPAY_ELIGIBILITY_MERCHANT_ID=
COINPAY_ELIGIBILITY_API_KEY=
COINPAY_HIRE_US_BLOCKCHAIN=USDC_POL
COINPAY_WEBHOOK_SECRET=
COINPAY_OAUTH_ISSUER=https://coinpayportal.com
COINPAY_OAUTH_CLIENT_ID=
COINPAY_OAUTH_CLIENT_SECRET=
COINPAY_OAUTH_REDIRECT_URI=https://logicsrc.com/api/oauth/coinpay/callback
COINPAY_OAUTH_SCOPES=openid profile email
LOGICSRC_SESSION_SECRET=
UGIG_API_URL=
UGIG_API_KEY=
UGIG_WEBHOOK_SECRET=
SH1PT_API_URL=
SH1PT_API_KEY=
SH1PT_WEBHOOK_SECRET=
# Shared secret for the blog-post ingestion webhook (no admin user; the
# webhook authenticates callers by this secret instead). Generate with:
# openssl rand -hex 32
BLOG_WEBHOOK_SECRET=