Skip to content

A tour of the Console

The Console is at /console on every QueryAPIGate server - nothing separate to install. Each screen below, with what it's for; click one for the full size. The README has the SQL editor, the demo video and the architecture.

Home: stat tiles for connections, the API Repository, API keys, roles, requests and error rate, System health listing the current alerts (an expiring key, a key over its rate limit, a failing query), recent audit activity, quick actions, and recent ad-hoc and saved-query requests
Home: live totals, what needs attention, recent activity, and every recent request - saved APIs and ad-hoc SQL alike.

The Console's sign-in page: a centred card with the QueryAPIGate wordmark, the heading Sign in to the Console, a field for an admin token or API key, a Sign in button, and a note on where tokens come from
Signed out, a tab sees only the sign-in page - Sign in with SSO when it's set up, or an admin token
The same sign-in page in the dark theme
The same page in the dark theme, following the operating system's

The Workspaces screen (experimental): three workspaces - catalogue, default (this tab's) and payments - with their descriptions, member counts and Work here, edit and remove actions; below, the members of payments, bea as owner and dmitri as developer, each role changeable, and a form to add a member. The sidebar's workspace switcher sits under the wordmark
Workspaces (experimental): teams on one server, each running its own connections, queries and keys - with the switcher under the wordmark, and each workspace's members.

Connections screen with All/Active/Inactive/Deleted tabs, listing ClickHouse, MySQL, PostgreSQL and SQLite connections with their status, each connection's live usage (queries run, failures, average latency), and Query, edit and delete actions
Manage connections across every supported database, with live usage per connection
The API Repository: saved queries grouped into collapsible collections, each with its key count and Postman/Rename actions, beside the selected query's connection, collection, Run/SQL/History/Curl tabs and generated GET /q/ endpoint
Every saved query becomes a documented REST endpoint - grouped into collections
API keys screen showing keys created from roles and scoped to a collection (shown as a dashed name/ tag), an expiring partner key, per-key rate limits, and each key's last-used time and live usage
Per-key permissions: connections, specific saved queries, expiry, rate limits - and what each key has actually done
Roles screen listing reusable permission templates - connections, read/write access, rate limit and IP allowlisting - with a New key from this shortcut
Named roles: a reusable grant template, copied onto a key once at creation
A saved query's History tab: every run with its time, calling API key, rows, duration and request ID, with a status filter and search box
Run history per saved query: who called it, how long it took, and the request ID to find it in the logs
Audit log screen listing every administrative change - saved queries, roles and API keys created or updated - with an action filter and search box
A durable audit log of every configuration change, filterable by action, actor and target
Metrics screen with stat tiles for requests, error rate, active queries, pool and rate limiting, bars for requests by status and queries by connection, and a per-connection latency table
Live metrics with no Prometheus required - or import the bundled Grafana dashboard for history
The Move to a collection drawer: choosing a collection previews which API keys will gain access to the query and which will lose it, and which roles will include it
Collections: grant a key a whole group of queries - and see exactly which keys gain or lose access before a query moves
Caching screen: response cache backend, entry count, hit rate, hits and misses, and the list of saved queries with a cache_ttl set
Caching: live hit rate for the response cache backing every saved query's cache_ttl
Alerts screen with a tab per check - key expiry, unused keys, failing connections, query errors, slow queries, rate limits, open access and run history - listing a critical failing connection and warnings for an expiring key, a key over its rate limit and a failing query, each with what to do and a link to fix it
Alerts: failing connections, expiring keys, failing or slow queries, rate limits being hit - each with what to do, clearing by itself once fixed
Access map: every saved query against every API key, showing whether each key reaches it through a named query, a collection or a whole connection, with filters by connection, database and reach
Access map: which key can call which query, and why - one grid instead of reading every grant
Settings: the server's effective configuration by section, and this browser's Appearance preferences - theme, font size, time zone, time format, table density and reduced motion
Settings: the server's effective configuration, read-only, plus per-browser appearance and editor preferences
Help: the how-to guides browsed inside the Console, with an On this page list of the guide's sections
Help: the docs and how-to guides for the version you run, inside the Console
Home in the dark theme, with the font size and light/dark switches in the top right corner
Light or dark, three font sizes - switched from the top right corner