Skip to main content

Console

The Console is the API provider and admin interface. Platform admins and tenant managers use it to control the entire API lifecycle.

Governance (ADR-055)

The Console follows the Stripe Model: Console = Provider + Admin (Create & Manage). Consumer features (API discovery, subscriptions, testing) are on the Portal.

URL: console.gostoa.dev

Getting Started​

  1. Navigate to the Console URL
  2. Sign in via Keycloak (OIDC client: control-plane-ui)
  3. The dashboard shows an overview of your tenants and APIs

Dashboard​

The Console dashboard provides:

  • Tenant summary: Number of tenants, active APIs, subscriptions
  • Recent activity: Latest API publications, subscription requests
  • Health status: Platform component health checks

Tenant Management​

Creating a Tenant​

  1. Navigate to Tenants β†’ Create Tenant
  2. Enter:
    • Name: Unique identifier (lowercase, hyphens allowed)
    • Display Name: Human-readable label
    • Contact Email: Tenant admin email
  3. Click Create

This provisions:

  • Kubernetes namespace tenant-{name}
  • GitLab repository for tenant config
  • Keycloak group for tenant RBAC

Tenant Settings​

  • Members: Add/remove users, assign roles
  • Quotas: Set API and subscription limits
  • Policies: Default policies applied to all tenant APIs

Tenant Selector​

If you have access to multiple tenants, use the tenant selector in the top navigation to switch context. Only resources belonging to the selected tenant are displayed.

API Management​

Publishing an API​

  1. Navigate to APIs β†’ Create API
  2. Fill in:
    • Name and Version
    • Description
    • OpenAPI Specification (upload or URL)
  3. Configure policies
  4. Click Publish

The API will appear in the Developer Portal and be synced to the gateway.

API Lifecycle Actions​

ActionEffect
PublishMake API live and discoverable
DeprecateMark as deprecated (still functional)
RetireDeactivate API, stop traffic
DeleteRemove API and all subscriptions

Monitoring APIs​

View per-API metrics:

  • Request count and error rate
  • Latency percentiles (p50, p95, p99)
  • Active subscriptions and consumers
  • Gateway sync status

Subscription Management​

Reviewing Requests​

  1. Navigate to Subscriptions β†’ Pending
  2. Review the consumer's application details
  3. Click Approve or Reject

Managing Active Subscriptions​

  • Suspend: Temporarily disable access
  • Revoke: Permanently terminate the subscription
  • View usage: Request count and rate limit utilization

User Management​

Managed through Keycloak integration:

RoleWhat They Can Do
cpi-adminEverything β€” all tenants, all operations
tenant-adminFull access within their tenant
devopsDeploy and promote APIs
viewerRead-only access

Adding a User​

  1. Navigate to Users β†’ Invite
  2. Enter email address
  3. Select tenant and role
  4. The user receives an invitation via Keycloak

Webhooks​

Manage webhook endpoints for event-driven integrations.

  1. Navigate to Webhooks in the sidebar
  2. Click Create Webhook
  3. Enter the target URL, select event types, and set a signing secret
  4. Use Test to send a synthetic event and verify delivery

View delivery history, retry failed deliveries, and inspect request/response details.

See Console Advanced Features for detailed webhook configuration.

Credential Mappings​

Map consumer credentials to backend authentication schemes.

  1. Navigate to Credentials in the sidebar
  2. Click Create Mapping
  3. Select the auth type (api_key, bearer, or basic)
  4. Configure source (consumer credential) and target (backend credential)

Credential mappings enable the gateway to translate consumer API keys into backend-specific authentication.

Contracts / UAC​

Manage Universal API Contracts that define multi-protocol API bindings.

  1. Navigate to Contracts in the sidebar
  2. Click Create Contract to define a new API contract
  3. Add protocol bindings (REST, MCP, GraphQL, gRPC, Kafka)
  4. Publish the contract to make it available for consumers

Contracts are the foundation of STOA's "Define Once, Expose Everywhere" approach. See UAC Concepts for details.

Gateway Adapters​

The Console shows the sync status between STOA and the target API gateways:

StatusMeaning
SyncedAPI is live on the gateway
PendingSync in progress
ErrorSync failed β€” check logs
DriftGateway state differs from desired state

The Gateway Adapter reconciliation can be triggered manually from the Console or automatically via ArgoCD.