Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Doppler integration (ECOINT-6) #2460

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@
/docontrol/ @lielran @DataDog/ecosystems-review
/doctordroid/ @dimittal @DataDog/ecosystems-review
/dylibso-webassembly/ @nilslice @bhelx @DataDog/ecosystems-review
/doppler/ @nmanoogian @apazzolini @doppler-admin @DataDog/ecosystems-review
/doppler/assets/logs/ @nmanoogian @apazzolini @doppler-admin @DataDog/ecosystems-review @DataDog/logs-backend
/embrace_mobile/ @jpmunz @joage @DataDog/ecosystems-review
/eppo/ @emetelka support@geteppo.com
/eventstore/ @Xorima
Expand Down
7 changes: 7 additions & 0 deletions doppler/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CHANGELOG - Doppler

## 1.0.0 / 2024-09-06

**_Added_**:

* Initial Release
73 changes: 73 additions & 0 deletions doppler/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Agent Check: Doppler

## Overview

[Doppler][1] is a secrets manager designed with both security and developer productivity in mind.
emarsha94 marked this conversation as resolved.
Show resolved Hide resolved
Doppler allows you to securely store secrets (for example: API keys, database credentials, and other sensitive values) and deliver them to your applications.

This integration sends Activity Logs from [Doppler][1] to Datadog, allowing you to monitor changes to your workplace.
This includes:

- Modifications to projects, environments, and secrets
- Changes to your team, including new members, role changes, and removals
- Changes to workplace settings, including integrations and security features

Doppler does not collect any data from your Datadog account.

## Setup

emarsha94 marked this conversation as resolved.
Show resolved Hide resolved
### Installation

1. Click **Connect Accounts** on the Doppler integration tile to connect Datadog with Doppler.
2. Log into Doppler or create an account if you have not already.
3. Select the Doppler workplace that you would like to configure. This step will automatically be skipped if you only have one workplace.
4. Click **Settings** to navigate to your workplace settings.
5. Under **Logging Services** > **Datadog**, click **Connect**.
6. Choose your Datadog site from the Dropdown.
7. Log into Datadog. This step will be skipped if you are already signed in.
8. Review the Datadog permissions that will be granted to Doppler and click **Authorize**.

Once the installation is complete, Doppler Activity Logs will automatically start flowing to Datadog.

### Configuration

The integration will automatically send all Doppler Activity Logs to Datadog, no further configuration is available at this time.
michaelcretzman marked this conversation as resolved.
Show resolved Hide resolved

### Validation

During installation, Doppler creates a test log to verify that the installed credentials work properly. Verify that this test log is present in your logs to verify the installation.
michaelcretzman marked this conversation as resolved.
Show resolved Hide resolved

## Data Collected

Doppler does not collect any information from your Datadog account.

### Uninstallation

- Go to your [Doppler workplace settings][4] and disconnect the Datadog integration
michaelcretzman marked this conversation as resolved.
Show resolved Hide resolved
- Remove all API keys associated with this integration by searching for the integration name on the [Datadog API Keys page][5].

### Metrics

Doppler does not report any metrics.

### Service Checks

Doppler does not provide any service checks.

### Logs

Doppler creates a log for every entry in your workplace's [Doppler Activity Log][2]. The type of log, as well as any associated log parameters, will be included in the payload.

### Events

Doppler does not produce any Datadog events.

## Troubleshooting

Need help? Contact [Doppler support][3].

[1]: https://www.doppler.com
[2]: https://docs.doppler.com/docs/workplace-logs
[3]: https://support.doppler.com
[4]: https://dashboard.doppler.com/workplace/settings
[5]: https://app.datadoghq.com/organization-settings/api-keys
10 changes: 10 additions & 0 deletions doppler/assets/configuration/spec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Doppler
files:
- name: doppler.yaml
options:
- template: init_config
options:
- template: init_config/default
- template: instances
options:
- template: instances/default
242 changes: 242 additions & 0 deletions doppler/assets/dashboards/doppler_overview.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
{
"title": "Doppler Dashboard",
"description": "This dashboard provides a high-level overview of your workplace's Doppler activity.\n\nClone this template dashboard to make changes and add your own graph widgets.",
"widgets": [
{
"id": 2579449116060402,
"definition": {
"type": "image",
"url": "https://www.doppler.com/avatar/doppler_circle_800.png",
"sizing": "contain",
"margin": "md",
"has_background": false,
"has_border": false,
"vertical_align": "center",
"horizontal_align": "center"
},
"layout": { "x": 0, "y": 0, "width": 2, "height": 3 }
},
{
"id": 1029719899125074,
"definition": {
"type": "note",
"content": "[Doppler](https://doppler.com) is a secrets manager designed with both security and developer productivity in mind.\n\nThis dashboard provides a high-level overview of your Doppler [Activity Logs](https://docs.doppler.com/docs/workplace-logs), allowing you to identify patterns in:\n\n- Different types of activities\n- Temporal patterns in activities\n- Which users are performing activities\n\nRead the [Doppler Datadog docs](https://docs.doppler.com/docs/datadog) for more information.",
"background_color": "white",
"font_size": "14",
"text_align": "left",
"vertical_align": "top",
"show_tick": false,
"tick_pos": "50%",
"tick_edge": "left",
"has_padding": true
},
"layout": { "x": 2, "y": 0, "width": 10, "height": 3 }
},
{
"id": 4210531550520016,
"definition": {
"title": "Activity Logs by Type",
"title_size": "16",
"title_align": "left",
"show_legend": true,
"legend_layout": "auto",
"legend_columns": ["avg", "min", "max", "value", "sum"],
"type": "timeseries",
"requests": [
{
"formulas": [{ "formula": "query1" }],
"queries": [
{
"data_source": "logs",
"name": "query1",
"indexes": ["*"],
"compute": { "aggregation": "count" },
"group_by": [
{
"facet": "@type",
"limit": 10,
"sort": { "order": "desc", "aggregation": "count" }
}
],
"search": { "query": "source:doppler" },
"storage": "hot"
}
],
"response_format": "timeseries",
"style": {
"palette": "datadog16",
"order_by": "values",
"line_type": "solid",
"line_width": "normal"
},
"display_type": "bars"
}
]
},
"layout": { "x": 0, "y": 3, "width": 8, "height": 4 }
},
{
"id": 5108936822527020,
"definition": {
"title": "Activity Log Counts by Type",
"title_size": "16",
"title_align": "left",
"type": "query_table",
"requests": [
{
"queries": [
{
"data_source": "logs",
"name": "query1",
"indexes": ["*"],
"compute": { "aggregation": "count" },
"group_by": [
{
"facet": "@type",
"limit": 10,
"sort": { "order": "desc", "aggregation": "count" }
}
],
"search": { "query": "source:doppler" },
"storage": "hot"
}
],
"response_format": "scalar",
"sort": {
"count": 10,
"order_by": [{ "type": "formula", "index": 0, "order": "desc" }]
},
"formulas": [
{
"cell_display_mode": "bar",
"alias": "Count",
"formula": "query1"
}
]
}
],
"has_search_bar": "auto"
},
"layout": { "x": 8, "y": 3, "width": 4, "height": 4 }
},
{
"id": 2954602671560148,
"definition": {
"type": "note",
"content": "Break down activity logs by type over time intervals to identify operational usage patterns.",
"background_color": "green",
"font_size": "14",
"text_align": "left",
"vertical_align": "center",
"show_tick": true,
"tick_pos": "50%",
"tick_edge": "top",
"has_padding": true
},
"layout": { "x": 0, "y": 7, "width": 12, "height": 1 }
},
{
"id": 788257060754552,
"definition": {
"title": "Activity Logs by Timestamp",
"title_size": "16",
"title_align": "left",
"show_legend": false,
"type": "heatmap",
"requests": [
{
"formulas": [{ "formula": "query1" }],
"queries": [
{
"data_source": "logs",
"name": "query1",
"indexes": ["*"],
"compute": { "aggregation": "count" },
"group_by": [],
"search": { "query": "source:doppler" },
"storage": "hot"
}
],
"response_format": "timeseries",
"style": { "palette": "dog_classic" }
}
]
},
"layout": { "x": 0, "y": 8, "width": 8, "height": 3 }
},
{
"id": 7305773172963494,
"definition": {
"title": "Activity Log Counts by User",
"title_size": "16",
"title_align": "left",
"type": "query_table",
"requests": [
{
"queries": [
{
"data_source": "logs",
"name": "query1",
"indexes": ["*"],
"compute": { "aggregation": "count" },
"group_by": [
{
"facet": "@usr.email",
"limit": 10,
"sort": { "order": "desc", "aggregation": "count" }
}
],
"search": { "query": "source:doppler" },
"storage": "hot"
}
],
"response_format": "scalar",
"sort": {
"count": 10,
"order_by": [{ "type": "formula", "index": 0, "order": "desc" }]
},
"formulas": [{ "cell_display_mode": "bar", "formula": "query1" }]
}
],
"has_search_bar": "auto"
},
"layout": { "x": 8, "y": 8, "width": 4, "height": 3 }
},
{
"id": 924997396545434,
"definition": {
"type": "note",
"content": "View by timestamp to identify temporal usage patterns.",
"background_color": "green",
"font_size": "14",
"text_align": "left",
"vertical_align": "center",
"show_tick": true,
"tick_pos": "50%",
"tick_edge": "top",
"has_padding": true
},
"layout": { "x": 0, "y": 11, "width": 8, "height": 1 }
},
{
"id": 8957740472282574,
"definition": {
"type": "note",
"content": "View by user who completed the Doppler action.",
"background_color": "green",
"font_size": "14",
"text_align": "left",
"vertical_align": "center",
"show_tick": true,
"tick_pos": "50%",
"tick_edge": "top",
"has_padding": true
},
"layout": { "x": 8, "y": 11, "width": 4, "height": 1 }
}
],
"template_variables": [],
"layout_type": "ordered",
"notify_list": [],
"reflow_type": "fixed"
}
Loading
Loading