Skip to content

Commit

Permalink
feat: add procedure to build destination yamls automatically (#1473)
Browse files Browse the repository at this point in the history
Co-authored-by: Tamir David <tamirdavid@Tamirs-MacBook-Pro.local>
  • Loading branch information
tamirdavid1 and Tamir David authored Aug 28, 2024
1 parent a238093 commit c492b73
Show file tree
Hide file tree
Showing 31 changed files with 1,626 additions and 7 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/backends-docs-sync.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Backend Doc Change

on:
pull_request:
branches:
- main

jobs:
check-doc-change:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyyaml
- name: Run sync-dest-doc.py in docs directory
run: |
cd docs
python sync-dest-doc.py
- 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 cd docs ; python sync-dest-doc.py and commit the changes.";
git diff docs/backends;
exit 1;
)
46 changes: 45 additions & 1 deletion docs/backends/azureblob.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,48 @@ 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
- **Container name**: Azure Storage container name


## Adding a Destination to Odigos

Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos:

1. **Using the UI**
To add a destination via the UI, follow these steps:
- Use the Odigos CLI to access the UI: [Odigos UI](https://docs.odigos.io/cli/odigos_ui)
```bash
odigos ui
```
- In the left sidebar, navigate to the `Destination` page.

- Click `Add New Destination`

- Select `Azure Blob Storage` and follow the on-screen instructions.


2. **Using kubernetes manifests**

Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`:

```bash
kubectl apply -f destination.yaml
```


```yaml
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
name: azureblob-example
namespace: odigos-system
spec:
data:
AZURE_BLOB_ACCOUNT_NAME: <Account Name>
AZURE_BLOB_CONTAINER_NAME: <Container Name>
destinationName: azureblob
signals:
- TRACES
- LOGS
type: azureblob
```
46 changes: 45 additions & 1 deletion docs/backends/causely.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,48 @@ The endpoint URL is the combined `<protocol>://<hostname>:<port>` 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`
Example: `http://mediator.causely:4317`


## Adding a Destination to Odigos

Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos:

1. **Using the UI**
To add a destination via the UI, follow these steps:
- Use the Odigos CLI to access the UI: [Odigos UI](https://docs.odigos.io/cli/odigos_ui)
```bash
odigos ui
```
- In the left sidebar, navigate to the `Destination` page.

- Click `Add New Destination`

- Select `Causely` and follow the on-screen instructions.



2. **Using kubernetes manifests**

Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`:

```bash
kubectl apply -f destination.yaml
```


```yaml
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
name: causely-example
namespace: odigos-system
spec:
data:
CAUSELY_URL: <Endpoint>
destinationName: causely
signals:
- TRACES
- METRICS
type: causely
```
61 changes: 60 additions & 1 deletion docs/backends/coralogix.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,63 @@ 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.
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.

## Adding a Destination to Odigos

Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos:

1. **Using the UI**
To add a destination via the UI, follow these steps:
- Use the Odigos CLI to access the UI: [Odigos UI](https://docs.odigos.io/cli/odigos_ui)
```bash
odigos ui
```
- In the left sidebar, navigate to the `Destination` page.

- Click `Add New Destination`

- Select `Coralogix` and follow the on-screen instructions.



2. **Using kubernetes manifests**

Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`:

```bash
kubectl apply -f destination.yaml
```


```yaml
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
name: coralogix-example
namespace: odigos-system
spec:
data:
CORALOGIX_APPLICATION_NAME: <Application Name>
CORALOGIX_DOMAIN: <Domain [coralogix.com, eu2.coralogix.com, coralogix.us, cx498.coralogix.com,
coralogix.in, coralogixsg.com]>
CORALOGIX_SUBSYSTEM_NAME: <Subsystem Name>
destinationName: coralogix
secretRef:
name: coralogix-secret
signals:
- TRACES
- METRICS
- LOGS
type: coralogix

---
apiVersion: v1
data:
CORALOGIX_PRIVATE_KEY: <base64 Send-Your-Data API Key>
kind: Secret
metadata:
name: coralogix-secret
namespace: odigos-system
type: Opaque
```
58 changes: 58 additions & 0 deletions docs/backends/datadog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,61 @@ 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


## Adding a Destination to Odigos

Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos:

1. **Using the UI**
To add a destination via the UI, follow these steps:
- Use the Odigos CLI to access the UI: [Odigos UI](https://docs.odigos.io/cli/odigos_ui)
```bash
odigos ui
```
- In the left sidebar, navigate to the `Destination` page.

- Click `Add New Destination`

- Select `Datadog` and follow the on-screen instructions.



2. **Using kubernetes manifests**

Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`:

```bash
kubectl apply -f destination.yaml
```


```yaml
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
name: datadog-example
namespace: odigos-system
spec:
data:
DATADOG_SITE: <Site [us3.datadoghq.com, datadoghq.com, us5.datadoghq.com, datadoghq.eu,
ddog-gov.com, ap1.datadoghq.com]>
destinationName: datadog
secretRef:
name: datadog-secret
signals:
- TRACES
- METRICS
- LOGS
type: datadog

---
apiVersion: v1
data:
DATADOG_API_KEY: <base64 API Key>
kind: Secret
metadata:
name: datadog-secret
namespace: odigos-system
type: Opaque
```
58 changes: 57 additions & 1 deletion docs/backends/dynatrace.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,60 @@ 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)
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)

## Adding a Destination to Odigos

Odigos makes it simple to add and configure destinations, allowing you to select the specific signals [traces/logs/metrics] that you want to send to each destination. There are two primary methods for configuring destinations in Odigos:

1. **Using the UI**
To add a destination via the UI, follow these steps:
- Use the Odigos CLI to access the UI: [Odigos UI](https://docs.odigos.io/cli/odigos_ui)
```bash
odigos ui
```
- In the left sidebar, navigate to the `Destination` page.

- Click `Add New Destination`

- Select `Dynatrace` and follow the on-screen instructions.



2. **Using kubernetes manifests**

Save the YAML below to a file (e.g., `destination.yaml`) and apply it using `kubectl`:

```bash
kubectl apply -f destination.yaml
```


```yaml
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
name: dynatrace-example
namespace: odigos-system
spec:
data:
DYNATRACE_URL: <Tenant URL>
destinationName: dynatrace
secretRef:
name: dynatrace-secret
signals:
- TRACES
- METRICS
- LOGS
type: dynatrace

---
apiVersion: v1
data:
DYNATRACE_API_TOKEN: <base64 API Access Token>
kind: Secret
metadata:
name: dynatrace-secret
namespace: odigos-system
type: Opaque
```
Loading

0 comments on commit c492b73

Please sign in to comment.