diff --git a/.github/workflows/backends-docs-sync.yaml b/.github/workflows/backends-docs-sync.yaml index 0e0a4e334..3be450cac 100644 --- a/.github/workflows/backends-docs-sync.yaml +++ b/.github/workflows/backends-docs-sync.yaml @@ -31,7 +31,7 @@ jobs: - name: Check for changes in docs-backends run: | git diff --exit-code docs/backends || ( - echo "Changes detected in docs/backends directory. You should update run python ./docs/sync-dest-doc.py and commit the changes."; + echo "Changes detected in docs/backends directory. You should update run cd docs ; python sync-dest-doc.py and commit the changes."; git diff docs/backends; exit 1; ) diff --git a/docs/backends/azureblob.mdx b/docs/backends/azureblob.mdx index d375ecf93..12a25dc49 100644 --- a/docs/backends/azureblob.mdx +++ b/docs/backends/azureblob.mdx @@ -10,4 +10,32 @@ Data can be exported either in JSON format or in binary format (protobuf). There are two required fields to configure Azure Blob Storage backend: - **Account name**: Azure Storage account name -- **Container name**: Azure Storage container name \ No newline at end of file +- **Container name**: Azure Storage container name + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: azureblob-example + namespace: +spec: + data: + AZURE_BLOB_ACCOUNT_NAME: + AZURE_BLOB_CONTAINER_NAME: + destinationName: azureblob + signals: + - TRACES + - LOGS + type: azureblob +``` \ No newline at end of file diff --git a/docs/backends/causely.mdx b/docs/backends/causely.mdx index 8d04750d8..c2a9fcfac 100644 --- a/docs/backends/causely.mdx +++ b/docs/backends/causely.mdx @@ -20,4 +20,31 @@ The endpoint URL is the combined `://:` to access your - `namespace` is the k8s namespace where the Causely Mediator service is deployed - Default port is `4317`; if no port is specified, it will be appended automatically -Example: `http://mediator.causely:4317` \ No newline at end of file +Example: `http://mediator.causely:4317` + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: causely-example + namespace: +spec: + data: + CAUSELY_URL: + destinationName: causely + signals: + - TRACES + - METRICS + type: causely +``` \ No newline at end of file diff --git a/docs/backends/coralogix.mdx b/docs/backends/coralogix.mdx index 194f7f789..a6a48f4cf 100644 --- a/docs/backends/coralogix.mdx +++ b/docs/backends/coralogix.mdx @@ -16,4 +16,47 @@ Follow the [Domain instructions](https://coralogix.com/docs/coralogix-domain/) t ### Application and Subsystem Names -You can configure the application and subsystem names for your Coralogix account. Follow the [Application and Subsystem Names guide](https://coralogix.com/docs/application-and-subsystem-names/) to learn more. \ No newline at end of file +You can configure the application and subsystem names for your Coralogix account. Follow the [Application and Subsystem Names guide](https://coralogix.com/docs/application-and-subsystem-names/) to learn more. + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: coralogix-example + namespace: +spec: + data: + CORALOGIX_APPLICATION_NAME: + CORALOGIX_DOMAIN: + CORALOGIX_SUBSYSTEM_NAME: + destinationName: coralogix + secretRef: + name: coralogix-secret + signals: + - TRACES + - METRICS + - LOGS + type: coralogix + +--- +apiVersion: v1 +data: + CORALOGIX_PRIVATE_KEY: +kind: Secret +metadata: + name: coralogix-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/datadog.mdx b/docs/backends/datadog.mdx index 8fb9b6062..a476471e7 100644 --- a/docs/backends/datadog.mdx +++ b/docs/backends/datadog.mdx @@ -23,3 +23,45 @@ Enter the following account details in Odigos UI: - **Name**: Choose a name for this backend (e.g. Datadog) - **Site** - The datadog site you are using (the url of the datadog site you are using). [click here for more details](https://docs.datadoghq.com/getting_started/site/). - **API Key**: The API key you obtained from Datadog + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: datadog-example + namespace: +spec: + data: + DATADOG_SITE: + destinationName: datadog + secretRef: + name: datadog-secret + signals: + - TRACES + - METRICS + - LOGS + type: datadog + +--- +apiVersion: v1 +data: + DATADOG_API_KEY: +kind: Secret +metadata: + name: datadog-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/dynatrace.mdx b/docs/backends/dynatrace.mdx index 284a3cad3..080c0484e 100644 --- a/docs/backends/dynatrace.mdx +++ b/docs/backends/dynatrace.mdx @@ -12,4 +12,44 @@ On the left sidebar click on `Apps`, then under `Manage` select `Access Tokens`: Make sure to add the required capabilities for the access tokens (e.g `Ingest OpenTelemetry traces` for traces). -The URL is usually of the form `https://{your-environment-id}.live.dynatrace.com` [click her for more details](https://docs.dynatrace.com/docs/extend-dynatrace/opentelemetry/getting-started/otlp-export) \ No newline at end of file +The URL is usually of the form `https://{your-environment-id}.live.dynatrace.com` [click her for more details](https://docs.dynatrace.com/docs/extend-dynatrace/opentelemetry/getting-started/otlp-export) + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: dynatrace-example + namespace: +spec: + data: + DYNATRACE_URL: + destinationName: dynatrace + secretRef: + name: dynatrace-secret + signals: + - TRACES + - METRICS + - LOGS + type: dynatrace + +--- +apiVersion: v1 +data: + DYNATRACE_API_TOKEN: +kind: Secret +metadata: + name: dynatrace-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/elasticsearch.mdx b/docs/backends/elasticsearch.mdx index 88243b4cb..05d1cf082 100644 --- a/docs/backends/elasticsearch.mdx +++ b/docs/backends/elasticsearch.mdx @@ -25,3 +25,51 @@ If empty, the system root CA will be used to validate the server certificate. ## Authentication If your Elasticsearch cluster requires authentication, you can provide the username and password. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: elasticsearch-example + namespace: +spec: + data: + ELASTICSEARCH_URL: + # ES_TRACES_INDEX: + # ES_LOGS_INDEX: + # ELASTICSEARCH_USERNAME: + # ELASTICSEARCH_CA_PEM: + # Note: The commented fields above are optional. + destinationName: elasticsearch + # Uncomment the secretRef below if you are using the optional Secret. + # secretRef: + # name: elasticsearch-secret + + signals: + - TRACES + - LOGS + type: elasticsearch + +--- +# The following Secret is optional. Uncomment the entire block if you need to use it. +# apiVersion: v1 +# data: +# ELASTICSEARCH_PASSWORD: +# kind: Secret +# metadata: +# name: elasticsearch-secret +# namespace: +# type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/googlecloud.mdx b/docs/backends/googlecloud.mdx index 6982e0976..29adef302 100644 --- a/docs/backends/googlecloud.mdx +++ b/docs/backends/googlecloud.mdx @@ -4,3 +4,30 @@ title: "Google Cloud Monitoring" Odigos currently supports Standard (non-Autopilot) GKE clusters. Exporting into Google Cloud does not require credentials as the Kubernetes nodes are permissioned to access the Google Cloud Monitoring APIs by default. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: googlecloud-example + namespace: +spec: + data: {} + destinationName: googlecloud + signals: + - TRACES + - LOGS + type: googlecloud +``` \ No newline at end of file diff --git a/docs/backends/grafanacloudloki.mdx b/docs/backends/grafanacloudloki.mdx index 07b22e3a6..48166024f 100644 --- a/docs/backends/grafanacloudloki.mdx +++ b/docs/backends/grafanacloudloki.mdx @@ -35,3 +35,45 @@ Make sure your token scope includes "logs:write" scope. ### Loki Labels Read about setting grafana loki labels in the [Loki](/backends/loki#loki-labels) page. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: grafanacloudloki-example + namespace: +spec: + data: + GRAFANA_CLOUD_LOKI_ENDPOINT: + # GRAFANA_CLOUD_LOKI_LABELS: + # Note: The commented fields above are optional. + GRAFANA_CLOUD_LOKI_USERNAME: + destinationName: grafanacloudloki + secretRef: + name: grafanacloudloki-secret + signals: + - LOGS + type: grafanacloudloki + +--- +apiVersion: v1 +data: + GRAFANA_CLOUD_LOKI_PASSWORD: +kind: Secret +metadata: + name: grafanacloudloki-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/grafanacloudprometheus.mdx b/docs/backends/grafanacloudprometheus.mdx index bd09ace2d..cfd6b584c 100644 --- a/docs/backends/grafanacloudprometheus.mdx +++ b/docs/backends/grafanacloudprometheus.mdx @@ -42,3 +42,46 @@ you can set the resource attribute names in the `Resource Attributes as Labels` ### Cluster Static Labels You can set static labels for each metric data pointsent exported to Grafana Cloud Prometheus from the cluster by setting the `External Labels` configuration with lable keys and values. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: grafanacloudprometheus-example + namespace: +spec: + data: + GRAFANA_CLOUD_PROMETHEUS_RW_ENDPOINT: + # PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS: + # PROMETHEUS_RESOURCE_EXTERNAL_LABELS: + # Note: The commented fields above are optional. + GRAFANA_CLOUD_PROMETHEUS_USERNAME: + destinationName: grafanacloudprometheus + secretRef: + name: grafanacloudprometheus-secret + signals: + - METRICS + type: grafanacloudprometheus + +--- +apiVersion: v1 +data: + GRAFANA_CLOUD_PROMETHEUS_PASSWORD: +kind: Secret +metadata: + name: grafanacloudprometheus-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/grafanacloudtempo.mdx b/docs/backends/grafanacloudtempo.mdx index a003e74ec..a57628a13 100644 --- a/docs/backends/grafanacloudtempo.mdx +++ b/docs/backends/grafanacloudtempo.mdx @@ -29,3 +29,43 @@ The username is a number. - **Password** - This field is refered to as "password" or "Grafana.com API Token" in the Grafana Cloud UI. You can manage tokens in your "Account Settings" page under the "SECURITY" section in the "Access Policies" page. Make sure your token scope includes "traces:write" scope. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: grafanacloudtempo-example + namespace: +spec: + data: + GRAFANA_CLOUD_TEMPO_ENDPOINT: + GRAFANA_CLOUD_TEMPO_USERNAME: + destinationName: grafanacloudtempo + secretRef: + name: grafanacloudtempo-secret + signals: + - TRACES + type: grafanacloudtempo + +--- +apiVersion: v1 +data: + GRAFANA_CLOUD_TEMPO_PASSWORD: +kind: Secret +metadata: + name: grafanacloudtempo-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/honeycomb.mdx b/docs/backends/honeycomb.mdx index 44b3f4616..721cac046 100644 --- a/docs/backends/honeycomb.mdx +++ b/docs/backends/honeycomb.mdx @@ -20,3 +20,44 @@ Make sure the API Key is permitted to **Send Events** to Honeycomb. - **API Key**: Insert the API Key from the previous step in the **API Key** field. - **Endpoint** - Choose one of the endpoints in the dropdown (api.honeycomb.io is the US instance, api.eu1.honeycomb.io is EU instance) + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: honeycomb-example + namespace: +spec: + data: + HONEYCOMB_ENDPOINT: + destinationName: honeycomb + secretRef: + name: honeycomb-secret + signals: + - TRACES + - METRICS + - LOGS + type: honeycomb + +--- +apiVersion: v1 +data: + HONEYCOMB_API_KEY: +kind: Secret +metadata: + name: honeycomb-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/jaeger.mdx b/docs/backends/jaeger.mdx index de28d1c6c..8801274ec 100644 --- a/docs/backends/jaeger.mdx +++ b/docs/backends/jaeger.mdx @@ -10,3 +10,30 @@ This allows to create a new Jaeger backend by simply specifying the Jaeger OTLP The endpoint format is `host:port`. - host is required - port is optional and defaults to the default OTLP gRPC port `4317`. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: jaeger-example + namespace: +spec: + data: + JAEGER_URL: + destinationName: jaeger + signals: + - TRACES + type: jaeger +``` \ No newline at end of file diff --git a/docs/backends/lightstep.mdx b/docs/backends/lightstep.mdx index b80125f96..ebfc56a01 100644 --- a/docs/backends/lightstep.mdx +++ b/docs/backends/lightstep.mdx @@ -9,3 +9,41 @@ Go to **⚙️ > Access Tokens** and click **Create New** ## Configuring Lightstep Backend Add a new backend with the access token you just created. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: lightstep-example + namespace: +spec: + data: {} + destinationName: lightstep + secretRef: + name: lightstep-secret + signals: + - TRACES + type: lightstep + +--- +apiVersion: v1 +data: + LIGHTSTEP_ACCESS_TOKEN: +kind: Secret +metadata: + name: lightstep-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/logzio.mdx b/docs/backends/logzio.mdx index d154dfc7f..8fd536f03 100644 --- a/docs/backends/logzio.mdx +++ b/docs/backends/logzio.mdx @@ -21,3 +21,50 @@ Create a new logz.io backend with the following configuration: - **Name**: A name for the backend. - **Region**: The region of your Logz.io account. - **Tracing/Metrics/Logs Token**: The token you obtained from Logz.io. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: logzio-example + namespace: +spec: + data: + LOGZIO_REGION: + destinationName: logzio + # Uncomment the secretRef below if you are using the optional Secret. + # secretRef: + # name: logzio-secret + + signals: + - TRACES + - METRICS + - LOGS + type: logzio + +--- +# The following Secret is optional. Uncomment the entire block if you need to use it. +# apiVersion: v1 +# data: +# LOGZIO_LOGS_TOKEN: +# LOGZIO_METRICS_TOKEN: +# LOGZIO_TRACING_TOKEN: +# kind: Secret +# metadata: +# name: logzio-secret +# namespace: +# type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/loki.mdx b/docs/backends/loki.mdx index 7e2f8ac14..036557526 100644 --- a/docs/backends/loki.mdx +++ b/docs/backends/loki.mdx @@ -32,3 +32,31 @@ You can configure your grafana cloud loki labels in the `Labels` multi-input con - [Use only low cardinality values](https://grafana.com/docs/loki/latest/get-started/labels/#cardinality). e.g. use only opentelemetry attributes for which you expect a small number of unique values like `http.response.status_code` but **not** `network.peer.address`. - If the label is not present in a log record, it will be ignored. - The default labels if not set are: `k8s.container.name, k8s.pod.name, k8s.namespace.name` + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: loki-example + namespace: +spec: + data: + LOKI_LABELS: + LOKI_URL: + destinationName: loki + signals: + - LOGS + type: loki +``` \ No newline at end of file diff --git a/docs/backends/newrelic.mdx b/docs/backends/newrelic.mdx index c8ed8288e..d98e498ee 100644 --- a/docs/backends/newrelic.mdx +++ b/docs/backends/newrelic.mdx @@ -19,3 +19,44 @@ For key type select **Ingest - License**, give a name to your key and press **Cr ## Configuring New Relic Backend In the New Relic backend configuration page, enter the **License Key** from previous step and name the backend. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: newrelic-example + namespace: +spec: + data: + NEWRELIC_ENDPOINT: + destinationName: newrelic + secretRef: + name: newrelic-secret + signals: + - TRACES + - METRICS + - LOGS + type: newrelic + +--- +apiVersion: v1 +data: + NEWRELIC_API_KEY: +kind: Secret +metadata: + name: newrelic-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/opsverse.mdx b/docs/backends/opsverse.mdx index f18897fe3..a781b3006 100644 --- a/docs/backends/opsverse.mdx +++ b/docs/backends/opsverse.mdx @@ -11,3 +11,47 @@ Create a new OpsVerse backend with the following details: - **Logs Endpoint** (if logs selected) - **Metrics Endpoint** (if metrics selected) - **Traces (OTLP) Endpoint** (if traces selected) + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: opsverse-example + namespace: +spec: + data: + OPSVERSE_LOGS_URL: + OPSVERSE_METRICS_URL: + OPSVERSE_TRACES_URL: + OPSVERSE_USERNAME: + destinationName: opsverse + secretRef: + name: opsverse-secret + signals: + - TRACES + - METRICS + - LOGS + type: opsverse + +--- +apiVersion: v1 +data: + OPSVERSE_PASSWORD: +kind: Secret +metadata: + name: opsverse-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/otlp.mdx b/docs/backends/otlp.mdx index c897cfaeb..e4db7ea8e 100644 --- a/docs/backends/otlp.mdx +++ b/docs/backends/otlp.mdx @@ -19,3 +19,32 @@ The only required configuration is the endpoint of the OTLP gRPC server. Note th The endpoint format is `host:port`. - host is required - port is optional and defaults to the default OTLP gRPC port `4317`. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: otlp-example + namespace: +spec: + data: + OTLP_GRPC_ENDPOINT: + destinationName: otlp + signals: + - TRACES + - METRICS + - LOGS + type: otlp +``` \ No newline at end of file diff --git a/docs/backends/otlphttp.mdx b/docs/backends/otlphttp.mdx index f837ea6c2..3d4255d0c 100644 --- a/docs/backends/otlphttp.mdx +++ b/docs/backends/otlphttp.mdx @@ -26,3 +26,49 @@ The endpoint format is `http://host:port`. This section is relevant if your OTLP http endpoint requires [basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) (username and password). To configure basic authentication, use the optional config options `Basic Auth Username` and `Basic Auth Password`. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: otlphttp-example + namespace: +spec: + data: + OTLP_HTTP_ENDPOINT: + # OTLP_HTTP_BASIC_AUTH_USERNAME: + # Note: The commented fields above are optional. + destinationName: otlphttp + # Uncomment the secretRef below if you are using the optional Secret. + # secretRef: + # name: otlphttp-secret + + signals: + - TRACES + - METRICS + - LOGS + type: otlphttp + +--- +# The following Secret is optional. Uncomment the entire block if you need to use it. +# apiVersion: v1 +# data: +# OTLP_HTTP_BASIC_AUTH_PASSWORD: +# kind: Secret +# metadata: +# name: otlphttp-secret +# namespace: +# type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/prometheus.mdx b/docs/backends/prometheus.mdx index 82136cdfa..39ffaa1b4 100644 --- a/docs/backends/prometheus.mdx +++ b/docs/backends/prometheus.mdx @@ -11,3 +11,30 @@ In order to enable remote write in Prometheus, set [the following feature flag]( Once the remote write API is enabled, you can configure the Prometheus backend in the Odigos UI. Enter the URL of the Prometheus server and give a name to the backend. + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: prometheus-example + namespace: +spec: + data: + PROMETHEUS_REMOTEWRITE_URL: + destinationName: prometheus + signals: + - METRICS + type: prometheus +``` \ No newline at end of file diff --git a/docs/backends/qryn.mdx b/docs/backends/qryn.mdx index 41af64f7a..92bae05a7 100644 --- a/docs/backends/qryn.mdx +++ b/docs/backends/qryn.mdx @@ -9,3 +9,45 @@ Fill in the following information using your relevant qryn details: - **Tempo URL**: https://qryn.host/tempo/api/push - **Prometheus URL**: https://qryn.host/api/prom/remote/write - **Loki URL**: https://qryn.host/loki/api/v1/push + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: qryn-example + namespace: +spec: + data: + QRYN_URL: + destinationName: qryn + secretRef: + name: qryn-secret + signals: + - TRACES + - METRICS + - LOGS + type: qryn + +--- +apiVersion: v1 +data: + QRYN_API_KEY: + QRYN_API_SECRET: +kind: Secret +metadata: + name: qryn-secret + namespace: +type: Opaque +``` \ No newline at end of file diff --git a/docs/backends/quickwit.mdx b/docs/backends/quickwit.mdx index 9bfe1494c..2d811749f 100644 --- a/docs/backends/quickwit.mdx +++ b/docs/backends/quickwit.mdx @@ -8,3 +8,31 @@ The only required field is the Quickwit endpoint which is supporting OTLP grpc ( This endpoint must be a valid URL without scheme for your Quickwit cluster, i.e: `{quickwit_host}:7281` You'll find more details here: https://quickwit.io/docs/log-management/otel-service + + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: quickwit-example + namespace: +spec: + data: + QUICKWIT_URL: + destinationName: quickwit + signals: + - TRACES + - LOGS + type: quickwit +``` \ No newline at end of file diff --git a/docs/backends/s3.mdx b/docs/backends/s3.mdx index bba05cfc3..6f12771c1 100644 --- a/docs/backends/s3.mdx +++ b/docs/backends/s3.mdx @@ -99,4 +99,35 @@ For example, the following JSON string represents a single span in `otlp_json` f ```json {"resourceSpans":[{"resource":{"attributes":[{"key":"telemetry.sdk.language","value":{"stringValue":"python"}},{"key":"telemetry.sdk.name","value":{"stringValue":"opentelemetry"}},{"key":"telemetry.sdk.version","value":{"stringValue":"1.19.0"}},{"key":"service.name","value":{"stringValue":"inventory"}},{"key":"odigos.device","value":{"stringValue":"python"}},{"key":"telemetry.auto.version","value":{"stringValue":"0.40b0"}},{"key":"k8s.namespace.name","value":{"stringValue":"default"}},{"key":"k8s.deployment.name","value":{"stringValue":"inventory"}},{"key":"k8s.pod.name","value":{"stringValue":"inventory-7b87f7566c-2d6fq"}},{"key":"container.name","value":{"stringValue":"inventory"}},{"key":"k8s.node.name","value":{"stringValue":"ip-192-168-4-178.ec2.internal"}}]},"scopeSpans":[{"scope":{"name":"opentelemetry.instrumentation.flask","version":"0.40b0"},"spans":[{"traceId":"9ee5a0de5802d3f1e7f93440f892509c","spanId":"88a4bfb5bfcaf297","parentSpanId":"f9d7bb9e9243df06","name":"/buy","kind":2,"startTimeUnixNano":"1707600957298456744","endTimeUnixNano":"1707600958303042894","attributes":[{"key":"http.method","value":{"stringValue":"POST"}},{"key":"http.server_name","value":{"stringValue":"0.0.0.0"}},{"key":"http.scheme","value":{"stringValue":"http"}},{"key":"net.host.port","value":{"intValue":"8080"}},{"key":"http.host","value":{"stringValue":"inventory:8080"}},{"key":"http.target","value":{"stringValue":"/buy?id=10"}},{"key":"net.peer.ip","value":{"stringValue":"192.168.13.194"}},{"key":"http.user_agent","value":{"stringValue":"Java/17.0.9"}},{"key":"net.peer.port","value":{"intValue":"49420"}},{"key":"http.flavor","value":{"stringValue":"1.1"}},{"key":"http.route","value":{"stringValue":"/buy"}},{"key":"http.status_code","value":{"intValue":"200"}}],"status":{}}]}]}]} +``` + +## Deploying using yaml + +### Applying the Configuration +Save the below YAML to a file (e.g., `destination.yaml`) and apply it using kubectl: + +```bash +kubectl apply -f destination.yaml +``` +Optional fields are commented out; be sure to uncomment any relevant fields before applying. + + +```yaml +apiVersion: odigos.io/v1alpha1 +kind: Destination +metadata: + name: s3-example + namespace: +spec: + data: + S3_BUCKET: + S3_MARSHALER: + S3_PARTITION: