Tannur

Using the Dashboard

A visual walkthrough of every screen in the Tannur Dashboard — from signing up to managing production deployments.

Signing Up

  1. Navigate to https://tannur.xyz/auth.
  2. Click Sign up and authenticate with your GitHub account.
  3. Your organisation (tenant) is created automatically and you land on the dashboard home screen.

Dashboard Overview

The home screen gives you a bird's-eye view of your account. It includes:

Total Projects

The number of active projects in your workspace.

Total Events

Cumulative events emitted across all streams.

Active Streams

Streams that received events in the last 24 hours.

Current Tier

Your billing plan (Seed, Sprout, Pro, Growth).

Below the stats cards you'll see a Recent Activity feed showing your latest events and deployments.

Managing Projects

Projects map 1-to-1 with your GitHub repositories. Each project gets its own event streams, deployment history, and domain configuration.

Creating a Project

  1. Click + New Project in the top-right of the Projects page.
  2. Connect your GitHub repository (Tannur requests read access only).
  3. Choose a branch to deploy from (defaults to main).
  4. Configure environment variables if needed.
  5. Click Deploy. Tannur auto-detects the framework and builds.

Project Detail View

Clicking on any project opens its detail view, which has three main sections:

  • Deployments Tab

    Shows every deployment with its status (building, ready, failed), commit SHA, branch, and timestamp. Click any deployment to view its build logs.

  • Event Streams Tab

    Lists all event streams attached to this project. For each stream you can see the total event count, last event timestamp, and current materialised state. Click a stream to drill into the raw event log.

  • Settings Tab

    Configure environment variables, custom domains, build commands, and install commands. You can also delete the project here.

Working with Event Streams

Event streams are the heart of Tannur. Each stream is an append-only log of events that Tannur materialises into a current state snapshot.

Viewing a Stream

From the Project Detail → Event Streams tab, click any stream name. You'll see:

  • Current State — The materialised JSON state computed from all events.
  • Event Log — A scrollable table of every event with its type, payload, sequence number, and timestamp.
  • Stream Metrics — Events per minute, total event count, last write time.

Emitting Events from the Dashboard

While events are typically emitted from your application code via the SDK or API, you can also test events directly from the Dashboard:

  1. Open a stream detail page.
  2. Click the Emit Event button in the top-right.
  3. Enter the event type (e.g. order.created) and a JSON payload.
  4. Click Send. The event appears in the log and the state updates in real time.

Verifying a Stream

You can verify the integrity of a stream (ensure no events have been tampered with) from the CLI:

tannur verify <streamId>

Custom Domains

Available on the Pro tier and above. Attach your own domain to any project.

  1. Go to Project → Settings → Domains.
  2. Click Add Domain and enter your domain (e.g. app.yoursite.com).
  3. Add the CNAME record shown in the modal to your DNS provider (e.g. Cloudflare).
  4. Tannur provisions a TLS certificate automatically via Let's Encrypt.
  5. Once DNS propagates (usually <5 min with Cloudflare), your domain is live.

Managing API Keys

API keys authenticate your SDKs, CLI, and direct API calls.

  • Generate a key — Go to Settings → API Keys → Generate New Key. Copy it immediately; it is only shown once.
  • Rotate a key — Click the rotate icon next to any key, or run tannur rotate-key in the CLI. The old key is revoked instantly.
  • Scopes — Keys can be scoped to read, read_write, or all.

Billing & Plans

Manage your subscription from Settings → Billing.

PlanProjectsCustom DomainsTeam MembersAI Generation
Seed1
Sprout5
ProUnlimited
GrowthUnlimited✓ + SSO + Branding
Ctrl+I