Skip to content

Consolidate to one domain, replace placeholder URLs, load real secrets #14

Description

@ianpatrickhines

Context

Endpoint configuration is inconsistent and not yet pointed at real infrastructure, so nothing actually connects end-to-end. Three different domains appear across the codebase:

  • Extension → https://streaming.nat.example.com, https://nat.example.com/... (placeholders), [email protected]
  • Site → https://api.natassistant.com/stripe/checkout and /stripe/verify-session (hardcoded fallback)
  • Privacy/terms links → asknat.ai

Also: Lambda env-var defaults don't match the template (e.g. handler default nat/anthropic-api-key vs template nat/anthropic-api-key-${Environment}), risking a prod Lambda reading a dev/wrong secret; and API Gateway has no custom domain (custom-domain param is commented out in infrastructure/template.yaml).

Acceptance Criteria

  • Pick ONE canonical domain and use it consistently across extension, site, and legal links
  • Replace all example.com placeholders with real, build-time-injected URLs (VITE_CHECKOUT_API_URL, VITE_VERIFY_API_URL, extension streaming/auth URLs)
  • Reconcile Lambda env-var defaults with the CloudFormation template (no silent fallback to a wrong secret path)
  • Populate required secrets in Secrets Manager for the target env (Anthropic key, NB OAuth client id/secret, Stripe secret + webhook secret)
  • Wire up a custom domain for the API Gateway (ACM cert + DNS) — or explicitly defer with a note
  • End-to-end smoke: extension → backend → NB returns a real result in the target env

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions