5 min read

Background Jobs (Inngest)

VibeReady uses Inngest for event-driven background jobs and scheduled tasks. Inngest handles webhook processing (including Stripe webhooks), email sending, and any other asynchronous work.

Free tier: 10,000 function runs per month.


Local Development

Inngest works locally without any API keys. The local dev server auto-discovers functions and processes events entirely on your machine.

# Start the Inngest dev server (dashboard at http://localhost:8288)
make inngest-dev

# Stop when done
make inngest-stop

Functions are auto-discovered from the codebase. No configuration is needed for local development.


Production Setup

  1. Get your keys from app.inngest.com, then navigate to Settings, then Keys.

    • Copy the Event Key (starts with inngest_event_key_prod_).
    • Copy the Signing Key (starts with signkey-prod-).
  2. Add to your local environment:

# .env.local
INNGEST_EVENT_KEY="inngest_event_key_prod_..."
INNGEST_SIGNING_KEY="signkey-prod-..."
  1. Add to CI/CD: Add the Event Key and Signing Key to your CI/CD pipeline secrets (e.g., GitHub Secrets) so they are available during builds and deployments.

  2. Add to Terraform (GCP Deployment): Add both keys to your Terraform configuration file, then apply the changes:

terraform apply

This creates secrets in GCP Secret Manager that Cloud Run accesses at runtime.

  1. Register your app with Inngest Cloud: After your first deployment, you need to tell Inngest where to find your functions.

    • Go to app.inngest.com, then Apps, then Sync New App.
    • Enter your Cloud Run URL followed by /api/inngest (e.g., https://your-cloud-run-url/api/inngest).

    Without this step, events are sent but functions will not execute in production.


Testing

Local

  1. Start the dev server with make inngest-dev.
  2. Trigger an event (e.g., create a new user or complete a Stripe checkout).
  3. Check the Inngest dashboard at http://localhost:8288 to verify the function executed.

Production

  1. Trigger an event in your production environment.
  2. Check the Inngest dashboard at app.inngest.com under Functions to verify execution.

Troubleshooting

IssueFix
Functions not showing in dashboardRestart with make inngest-stop && make inngest-dev.
Events not triggering functionsCheck that the event name matches exactly (names are case-sensitive).
Production functions not runningRegister your app URL in Inngest Cloud (see step 5 above).
Production errorsVerify keys in your CI/CD secrets and restart Cloud Run.

Ready to build with VibeReady?

Get the full AI-native SaaS foundation with production infrastructure, AI development framework, and all integrations.

Get VibeReady — From $149