Providers

Providers track the external infrastructure and dependencies a customer’s system relies on — clouds (AWS, GCP), databases (Postgres, MySQL, ClickHouse), AI APIs (Anthropic, OpenAI), and the like. A Provider is a sibling to a Service: it carries a human description, a durable agent-curated context describing the Provider, and its own observability surface (Objectives and triggered Investigations).

Service: firetiger.observability.v1.ProviderCatalogService

Resource name pattern: providers/{provider_id}

Access: Read-write

Methods

The standard AIP-compliant CRUD surface plus a recommendation-lifecycle surface is available. Request/response shapes are in proto/firetiger/observability/v1/providers.proto and follow the same patterns as other resources documented here (e.g. Services).

RPC HTTP
CreateProvider POST /v1/catalog/providers
GetProvider GET /v1/catalog/{name=providers/*}
ListProviders GET /v1/catalog/providers
UpdateProvider PATCH /v1/catalog/{provider.name=providers/*}
DeleteProvider DELETE /v1/catalog/{name=providers/*}
RecommendProvider POST /v1/catalog/providers:recommend
AcceptProvider POST /v1/catalog/{name=providers/*}:accept
ArchiveProvider POST /v1/catalog/{name=providers/*}:archive
RestoreProvider POST /v1/catalog/{name=providers/*}:restore
GetProviderRecommendations GET /v1/catalog/{name=providers/*}/recommendations
RecreateProviderExpertSession POST /v1/catalog/{name=providers/*}:recreateExpertSession

Recommendation lifecycle

Providers are first-class resources that carry a state and flow through the same recommendation lifecycle as Services:

  • Detection stores newly-discovered Providers via RecommendProvider. The recommended Provider is persisted as a real resource in PROVIDER_STATE_RECOMMENDED and its Provider Expert is provisioned (best-effort) to answer questions and review coverage.
  • A customer accepts a recommendation (AcceptProvider) to promote it to PROVIDER_STATE_ACTIVE, or archives it (ArchiveProvider) to dismiss it into PROVIDER_STATE_ARCHIVED. Restore (RestoreProvider) brings an archived Provider back. User-created Providers default to PROVIDER_STATE_ACTIVE.

A Provider’s Objectives are ordinary Objectives that set owner_resource to the Provider’s name (providers/{provider}). Beyond the lifecycle RPCs, GetProviderRecommendations (see Recommended Connections) surfaces the Connection(s) recommended to observe a Provider. Provider Monitoring (running checks against a Provider) is a separate follow-up and not yet part of this API.

Recommendation metadata is carried on the resource itself: recommendation_confidence and recommendation_reasoning (see field table below).

GetProviderRecommendations (no side effects) returns, for the Provider’s provider_type, the Connection(s) recommended to observe it:

  • recommended_connection_typesConnectionType enum string keys (e.g. "CONNECTION_TYPE_POSTGRES") for the Connection(s) Firetiger needs to observe the Provider. Empty for context-only Providers whose type Firetiger can represent but cannot yet observe through a first-class Connection. String keys, not the typed enum, keep observability.v1 decoupled from connections.v1.

Provider Monitoring — running connection-gated health checks against a Provider — is a separate follow-up and is not yet exposed on this service.

Provider resource

Field Type Behavior Description
name string Output only Format: providers/{provider}
display_name string Required Short, scannable label shown in headers and Provider lists (1–200 chars)
description string Optional One-paragraph, human-facing overview of what the Provider is
context string Optional Durable, structured Markdown describing the Provider, read by agents and rendered on the Provider page. Agents curate it into canonical sections (purpose, code references, dependent services, telemetry signature, invariants, failure modes and known bugs); it holds steady-state knowledge, not point-in-time evidence or timestamps. Agent-proposed at recommend time; customer-editable
expert_session string Output only The per-Provider provider-expert agent session that answers questions and periodically reviews this Provider’s dependencies, Connections, telemetry, and Objectives. Format: agents/{agent}/sessions/{session}
provider_type ProviderType Optional The kind of Provider (AWS, Postgres, Anthropic, …). The typed join key to the brand logo and recommended Connections, resolved through a registry. See ProviderType
state ProviderState Output only Lifecycle state. User-created Providers default to PROVIDER_STATE_ACTIVE; detected Providers persist in PROVIDER_STATE_RECOMMENDED until accepted or archived. See ProviderState
recommendation_confidence RecommendationConfidence Optional Agent’s confidence in this recommendation. See RecommendationConfidence
recommendation_reasoning string Optional Free-text rationale for why this Provider was recommended
etag string Output only Optimistic-concurrency token returned by Get and required on Update; stale etags fail with ABORTED
create_time / update_time / delete_time timestamp Output only Standard AIP lifecycle timestamps

UpdateProvider is field-masked: send the Provider with an update_mask listing the paths to write (e.g. context). state, expert_session, and the other output-only fields are server-managed and ignored on Create/Update.

Enums

ProviderState

Value Description
PROVIDER_STATE_UNSPECIFIED Default zero value; not a valid persisted state
PROVIDER_STATE_RECOMMENDED Detected Provider awaiting accept/archive
PROVIDER_STATE_ACTIVE Accepted (or user-created) Provider
PROVIDER_STATE_ARCHIVED Dismissed recommendation; hidden from active views

RecommendationConfidence

Value Description
RECOMMENDATION_CONFIDENCE_UNSPECIFIED Confidence not set
RECOMMENDATION_CONFIDENCE_HIGH High confidence
RECOMMENDATION_CONFIDENCE_MEDIUM Medium confidence
RECOMMENDATION_CONFIDENCE_LOW Low confidence

ProviderType

The bounded taxonomy of Provider kinds. Independent of firetiger.connections.v1.ConnectionType — the ProviderType → ConnectionType / logo mapping lives in registries. New kinds are added here as detection grows.

Group Values
Clouds / PaaS PROVIDER_TYPE_AWS, PROVIDER_TYPE_GCP, PROVIDER_TYPE_VERCEL, PROVIDER_TYPE_SUPABASE
Databases / data stores PROVIDER_TYPE_POSTGRES, PROVIDER_TYPE_MYSQL, PROVIDER_TYPE_CLICKHOUSE, PROVIDER_TYPE_ELASTICSEARCH
AI APIs PROVIDER_TYPE_ANTHROPIC, PROVIDER_TYPE_OPENAI, PROVIDER_TYPE_TOGETHER_AI, PROVIDER_TYPE_DEEPSEEK, PROVIDER_TYPE_BASETEN
Durable execution / workflow orchestration PROVIDER_TYPE_TEMPORAL

Notes

  • A Provider mirrors a Service’s recommendation shape, minus the Service-only breakdown Dimensions.
  • The Provider lifecycle RPCs manage the Provider resource only; provider Objectives and their triaged Investigations are owned by the provider monitoring work.

This site uses Just the Docs, a documentation theme for Jekyll.