Skip to content

feat: add docs explaining how Coder integrates with PlatformX #16378

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

Merged
merged 9 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
70 changes: 70 additions & 0 deletions docs/admin/integrations/platformx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# DX PlatformX

[DX](https://getdx.com) is a developer intelligence platform used by engineering
leaders and platform engineers. Coder notifications can be transformed to
[PlatformX](https://getdx.com/platformx) events, allowing platform engineers to
measure activity and send pulse surveys to subsets of Coder users to understand
their experience.

![PlatformX Events in Coder](../../images/integrations/platformx-screenshot.png)

## Requirements

You'll need:

- Coder v2.19+
- A PlatformX subscription from [DX](https://getdx.com/)
- A platform to host the integration, such as:
- AWS Lambda
- Google Cloud Run
- Heroku
- Kubernetes
- Or any other platform that can run Python web applications

## coder-platformx-events-middleware

Coder sends [notifications](../monitoring/notifications/index.md) via webhooks
to coder-platformx-events-middleware, which processes and reformats the payload
into a structure compatible with [PlatformX by DX](https://help.getdx.com/en/articles/7880779-getting-started).

For more information about coder-platformx-events-middleware and how to
integrate it with your Coder deployment and PlatformX events, refer to the
[coder-platformx-notifications](https://github.com/coder/coder-platformx-notifications)
repository.

### Supported Notification Types

coder-platformx-events-middleware supports the following [Coder notifications](../monitoring/notifications/index.md):

- Workspace Created
- Workspace Manually Updated
- User Account Created
- User Account Suspended
- User Account Activated

### Environment Variables

The application expects the following environment variables when started.
For local development, create a `.env` file in the project root with the following variables.
A `.env.sample` file is included:

| Variable | Description | Example |
|------------------|--------------------------------------------|----------------------------------------------|
| `LOG_LEVEL` | Logging level (`DEBUG`, `INFO`, `WARNING`) | `INFO` |
| `GETDX_API_KEY` | API key for PlatformX | `your-api-key` |
| `EVENTS_TRACKED` | Comma-separated list of tracked events | `"Workspace Created,User Account Suspended"` |

### Logging

Logs are printed to the console and can be adjusted using the `LOG_LEVEL` variable. The available levels are:

| Level | Description |
|-----------|---------------------------------------|
| `DEBUG` | Most verbose, useful for debugging |
| `INFO` | Standard logging for normal operation |
| `WARNING` | Logs only warnings and errors |

### API Endpoints

- `GET /` - Health check endpoint
- `POST /` - Webhook receiver
Binary file added docs/images/integrations/platformx-screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions docs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,11 @@
"description": "Integrate Coder with Island's Secure Browser",
"path": "./admin/integrations/island.md"
},
{
"title": "DX PlatformX",
"description": "Integrate Coder with DX PlatformX",
"path": "./admin/integrations/platformx.md"
},
{
"title": "Hashicorp Vault",
"description": "Integrate Coder with Hashicorp Vault",
Expand Down
Loading