Providers
The Providers catalog tracks 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, an agent-authored deep-dive context, 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 catalog 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 inPROVIDER_STATE_RECOMMENDEDand its Provider Expert is provisioned (best-effort) to answer questions and review coverage. - A customer accepts a recommendation (
AcceptProvider) to promote it toPROVIDER_STATE_ACTIVE, or archives it (ArchiveProvider) to dismiss it intoPROVIDER_STATE_ARCHIVED. Restore (RestoreProvider) brings an archived Provider back. User-created Providers default toPROVIDER_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).
Recommended Connections
GetProviderRecommendations (no side effects) returns, for the Provider’s provider_type, the Connection(s) recommended to observe it:
recommended_connection_types—ConnectionTypeenum 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’t yet connect to. String keys, not the typed enum, keepobservability.v1decoupled fromconnections.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 | Long-form Markdown deep-dive read by agents (which Services depend on it, telemetry hints, known gotchas). 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 / catalog mapping lives in a registry. 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 |
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.