@@ -121,7 +121,7 @@ This directory contains all official Genkit plugins for Python.
121121│ ──────────────────────── ──────────────────── │
122122│ │
123123│ ┌─────────┐ ┌─────────┐ ┌───────────────────┐ │
124- │ │ aws │ │ google- │ │ observability │ ← PLANNED │
124+ │ │ aws │ │ google- │ │ observability │ ✅ NEW │
125125│ │ │ │ cloud │ │ • Sentry │ │
126126│ │ • SigV4 │ │ • ADC │ │ • Honeycomb │ │
127127│ │ • X-Ray │ │ • Trace │ │ • Datadog │ │
@@ -134,28 +134,28 @@ This directory contains all official Genkit plugins for Python.
134134│ │ Console │ │ Trace │ │ Any OTLP Backend │ │
135135│ └─────────┘ └─────────┘ └───────────────────┘ │
136136│ │
137- │ ┌─────────┐ │
138- │ │ azure │ ← PLANNED │
139- │ │ • Distro│ │
140- │ │ • Live │ CAN'T BE REPLICATED CAN BE REPLICATED │
141- │ │ • Map │ WITH GENERIC OTLP WITH GENERIC OTLP │
142- │ └────┬────┘ │
143- │ │ │
144- │ ▼ │
145- │ ┌─────────┐ │
146- │ │ App │ │
147- │ │Insights │ │
148- │ └─────────┘ │
137+ │ ┌─────────┐ ┌─────────┐ │
138+ │ │ azure │ │ cf │ ✅ NEW │
139+ │ │ • Distro│ │ • OTLP │ • Generic OTLP │
140+ │ │ • AppIns│ │ • Token │ • Any backend │
141+ │ └────┬────┘ └────┬────┘ │
142+ │ │ │ CAN'T BE REPLICATED CAN BE REPLICATED │
143+ │ ▼ ▼ WITH GENERIC OTLP WITH GENERIC OTLP │
144+ │ ┌─────────┐ ┌─────────┐ │
145+ │ │ App │ │ OTLP │ │
146+ │ │Insights │ │ Backend │ │
147+ │ └─────────┘ └─────────┘ │
149148│ │
150149├─────────────────────────────────────────────────────────────────────────────────┤
151150│ │
152151│ "I'm on AWS and want X-Ray" → aws plugin │
153152│ "I'm on GCP and want Cloud Trace" → google-cloud plugin │
154- │ "I'm on Azure and want App Insights" → azure plugin (PLANNED) │
153+ │ "I'm on Azure and want App Insights" → azure plugin │
155154│ "I'm using Firebase" → firebase plugin (auto telemetry) │
156155│ │
157- │ "I want Sentry/Honeycomb/Datadog" → observability plugin (PLANNED) │
158- │ "I'm multi-cloud" → observability plugin (PLANNED) │
156+ │ "I want Sentry/Honeycomb/Datadog" → observability plugin │
157+ │ "I'm multi-cloud" → observability plugin │
158+ │ "I want generic OTLP export" → cf plugin (Cloudflare-compatible) │
159159│ │
160160└─────────────────────────────────────────────────────────────────────────────────┘
161161```
@@ -228,6 +228,9 @@ This directory contains all official Genkit plugins for Python.
228228| --------| ---------| ----------|
229229| ** google-cloud** | Cloud Trace, Logging | GCP native, log correlation |
230230| ** aws** | X-Ray, CloudWatch | AWS native, SigV4 auth |
231+ | ** azure** | Application Insights | Azure Monitor, trace correlation |
232+ | ** cf** | Any OTLP endpoint | Generic OTLP, Bearer auth |
233+ | ** observability** | Sentry, Honeycomb, Datadog, Grafana, Axiom | 3rd party presets |
231234| ** firebase** | Firebase console | Auto-telemetry for Firebase apps |
232235
233236### Integrations
@@ -252,6 +255,135 @@ This directory contains all official Genkit plugins for Python.
252255| ** firebase** | Firestore | Production, serverless |
253256| ** vertex-ai** | Vertex AI Vector Search | Enterprise scale |
254257
258+ ## Environment Variables Reference
259+
260+ All environment variables used by Genkit plugins. Configure these before running your application.
261+
262+ ### Model Provider Environment Variables
263+
264+ | Variable | Plugin | Required | Description | Documentation |
265+ | ----------| --------| ----------| -------------| ---------------|
266+ | ` GOOGLE_GENAI_API_KEY ` | google-genai | Yes | Google AI Studio API key | [ Get API Key] ( https://aistudio.google.com/apikey ) |
267+ | ` ANTHROPIC_API_KEY ` | anthropic | Yes | Anthropic API key | [ Anthropic Console] ( https://console.anthropic.com/ ) |
268+ | ` AWS_REGION ` | aws-bedrock | Yes | AWS region (e.g., ` us-east-1 ` ) | [ AWS Regions] ( https://docs.aws.amazon.com/general/latest/gr/bedrock.html ) |
269+ | ` AWS_ACCESS_KEY_ID ` | aws-bedrock | Yes* | AWS access key | [ AWS Credentials] ( https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html ) |
270+ | ` AWS_SECRET_ACCESS_KEY ` | aws-bedrock | Yes* | AWS secret key | [ AWS Credentials] ( https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html ) |
271+ | ` AZURE_AI_FOUNDRY_ENDPOINT ` | msfoundry | Yes | Azure AI Foundry endpoint URL | [ Azure AI Foundry] ( https://ai.azure.com/ ) |
272+ | ` AZURE_AI_FOUNDRY_API_KEY ` | msfoundry | Yes* | Azure AI Foundry API key | [ Azure AI Foundry] ( https://ai.azure.com/ ) |
273+ | ` OPENAI_API_KEY ` | compat-oai | Yes | OpenAI API key | [ OpenAI API Keys] ( https://platform.openai.com/api-keys ) |
274+ | ` OPENAI_ORG_ID ` | compat-oai | No | OpenAI organization ID | [ OpenAI Settings] ( https://platform.openai.com/account/organization ) |
275+ | ` DEEPSEEK_API_KEY ` | deepseek | Yes | DeepSeek API key | [ DeepSeek Platform] ( https://platform.deepseek.com/ ) |
276+ | ` XAI_API_KEY ` | xai | Yes | xAI API key | [ xAI Console] ( https://console.x.ai/ ) |
277+ | ` CLOUDFLARE_ACCOUNT_ID ` | cf-ai | Yes | Cloudflare account ID | [ Cloudflare Dashboard] ( https://dash.cloudflare.com/ ) |
278+ | ` CLOUDFLARE_API_TOKEN ` | cf-ai | Yes | Cloudflare API token | [ Cloudflare API Tokens] ( https://developers.cloudflare.com/fundamentals/api/get-started/create-token/ ) |
279+
280+ * Can use IAM roles, managed identity, or other credential providers instead.
281+
282+ ### Telemetry Environment Variables
283+
284+ #### Google Cloud Plugin
285+
286+ | Variable | Required | Description | Documentation |
287+ | ----------| ----------| -------------| ---------------|
288+ | ` GOOGLE_CLOUD_PROJECT ` | Yes | GCP project ID | [ GCP Projects] ( https://cloud.google.com/resource-manager/docs/creating-managing-projects ) |
289+ | ` GOOGLE_APPLICATION_CREDENTIALS ` | Yes* | Path to service account JSON | [ Application Default Credentials] ( https://cloud.google.com/docs/authentication/application-default-credentials ) |
290+ | ` GCLOUD_PROJECT ` | No | Alternative to ` GOOGLE_CLOUD_PROJECT ` | - |
291+ | ` FIREBASE_PROJECT_ID ` | No | Firebase project ID (auto-detected) | - |
292+
293+ * Not required when running on GCP with default credentials.
294+
295+ #### AWS Plugin
296+
297+ | Variable | Required | Description | Documentation |
298+ | ----------| ----------| -------------| ---------------|
299+ | ` AWS_REGION ` | Yes | AWS region for X-Ray | [ AWS X-Ray] ( https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-python.html ) |
300+ | ` AWS_ACCESS_KEY_ID ` | Yes* | AWS access key | [ AWS Credentials] ( https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html ) |
301+ | ` AWS_SECRET_ACCESS_KEY ` | Yes* | AWS secret key | [ AWS Credentials] ( https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html ) |
302+ | ` AWS_DEFAULT_REGION ` | No | Fallback region | - |
303+
304+ * Can use IAM roles instead.
305+
306+ #### Azure Plugin
307+
308+ | Variable | Required | Description | Documentation |
309+ | ----------| ----------| -------------| ---------------|
310+ | ` APPLICATIONINSIGHTS_CONNECTION_STRING ` | Yes | Application Insights connection string | [ Azure Monitor OpenTelemetry] ( https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-configuration ) |
311+ | ` AZURE_TENANT_ID ` | No | Azure AD tenant ID | [ Azure Identity] ( https://learn.microsoft.com/azure/developer/python/sdk/authentication-overview ) |
312+ | ` AZURE_CLIENT_ID ` | No | Azure AD client ID | - |
313+ | ` AZURE_CLIENT_SECRET ` | No | Azure AD client secret | - |
314+
315+ #### Cloudflare (cf) Plugin
316+
317+ | Variable | Required | Description | Documentation |
318+ | ----------| ----------| -------------| ---------------|
319+ | ` CF_OTLP_ENDPOINT ` | Yes | OTLP endpoint URL | [ Cloudflare Workers Observability] ( https://developers.cloudflare.com/workers/observability/ ) |
320+ | ` CF_API_TOKEN ` | Yes | Cloudflare API token (Bearer auth) | [ Cloudflare API Tokens] ( https://developers.cloudflare.com/fundamentals/api/get-started/create-token/ ) |
321+
322+ #### Observability Plugin (Third-Party Backends)
323+
324+ ##### Sentry
325+
326+ | Variable | Required | Description | Documentation |
327+ | ----------| ----------| -------------| ---------------|
328+ | ` SENTRY_DSN ` | Yes | Sentry DSN (Data Source Name) | [ Sentry DSN] ( https://docs.sentry.io/concepts/otlp/ ) |
329+ | ` SENTRY_ENVIRONMENT ` | No | Environment name (production, staging) | [ Sentry Configuration] ( https://docs.sentry.io/platforms/python/configuration/options/ ) |
330+ | ` SENTRY_RELEASE ` | No | Release version identifier | - |
331+
332+ ##### Honeycomb
333+
334+ | Variable | Required | Description | Documentation |
335+ | ----------| ----------| -------------| ---------------|
336+ | ` HONEYCOMB_API_KEY ` | Yes | Honeycomb API key | [ Honeycomb API Keys] ( https://docs.honeycomb.io/configure/environments/manage-api-keys/ ) |
337+ | ` HONEYCOMB_DATASET ` | No | Dataset name (Classic only) | [ Honeycomb Datasets] ( https://docs.honeycomb.io/send-data/python/opentelemetry-sdk/ ) |
338+ | ` HONEYCOMB_API_ENDPOINT ` | No | API endpoint (default: US) | [ Honeycomb Endpoints] ( https://docs.honeycomb.io/configure/environments/manage-api-keys/ ) |
339+
340+ Honeycomb endpoints:
341+ - US (default): ` https://api.honeycomb.io `
342+ - EU: ` https://api.eu1.honeycomb.io `
343+
344+ ##### Datadog
345+
346+ | Variable | Required | Description | Documentation |
347+ | ----------| ----------| -------------| ---------------|
348+ | ` DD_API_KEY ` | Yes | Datadog API key | [ Datadog API Keys] ( https://docs.datadoghq.com/account_management/api-app-keys/ ) |
349+ | ` DD_SITE ` | No | Datadog site (default: ` datadoghq.com ` ) | [ Datadog Sites] ( https://docs.datadoghq.com/getting_started/site/ ) |
350+ | ` DD_APP_KEY ` | No | Datadog application key | - |
351+
352+ Datadog sites: ` datadoghq.com ` , ` datadoghq.eu ` , ` us3.datadoghq.com ` , ` us5.datadoghq.com ` , ` ap1.datadoghq.com `
353+
354+ ##### Grafana Cloud
355+
356+ | Variable | Required | Description | Documentation |
357+ | ----------| ----------| -------------| ---------------|
358+ | ` GRAFANA_OTLP_ENDPOINT ` | Yes | Grafana Cloud OTLP endpoint | [ Grafana Cloud OTLP] ( https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/setup/collector/opentelemetry-collector/ ) |
359+ | ` GRAFANA_USER_ID ` | Yes | Grafana Cloud instance ID (numeric) | [ Grafana Cloud Portal] ( https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/ ) |
360+ | ` GRAFANA_API_KEY ` | Yes | Grafana Cloud API key | [ Grafana Cloud API Keys] ( https://grafana.com/docs/grafana-cloud/account-management/authentication-and-permissions/create-api-key/ ) |
361+
362+ Find your credentials: My Account > [ Stack] > OpenTelemetry > Configure
363+
364+ ##### Axiom
365+
366+ | Variable | Required | Description | Documentation |
367+ | ----------| ----------| -------------| ---------------|
368+ | ` AXIOM_TOKEN ` | Yes | Axiom API token | [ Axiom API Tokens] ( https://axiom.co/docs/reference/tokens ) |
369+ | ` AXIOM_DATASET ` | No | Dataset name (default: ` genkit ` ) | [ Axiom Datasets] ( https://axiom.co/docs/reference/datasets ) |
370+ | ` AXIOM_ORG_ID ` | No | Organization ID | - |
371+
372+ #### Generic OpenTelemetry (Standard Variables)
373+
374+ | Variable | Required | Description | Documentation |
375+ | ----------| ----------| -------------| ---------------|
376+ | ` OTEL_EXPORTER_OTLP_ENDPOINT ` | Yes | OTLP collector endpoint | [ OTel SDK Environment Variables] ( https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/ ) |
377+ | ` OTEL_EXPORTER_OTLP_HEADERS ` | No | Headers for authentication | - |
378+ | ` OTEL_SERVICE_NAME ` | No | Service name for traces | - |
379+
380+ ### Safety & Evaluation Environment Variables
381+
382+ | Variable | Plugin | Required | Description | Documentation |
383+ | ----------| --------| ----------| -------------| ---------------|
384+ | ` GOOGLE_CLOUD_PROJECT ` | checks | Yes | GCP project with Checks API enabled | [ Google Checks] ( https://developers.google.com/checks ) |
385+ | ` GOOGLE_APPLICATION_CREDENTIALS ` | checks | Yes* | Service account credentials | - |
386+
255387## Installation
256388
257389Each plugin is a separate package. Install only what you need:
0 commit comments