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

More details in https://github.com/coder/coder-platformx-notifications

Preview at
https://coder.com/docs/@dx-integration/admin/integrations/platformx (may
be slightly outdated due to caching)

closes https://github.com/coder/coder/issues/16308

---------

Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
Co-authored-by: Edward Angert <EdwardAngert@users.noreply.github.com>
This commit is contained in:
Ben Potter
2025-02-03 18:06:30 -06:00
committed by GitHub
parent 947818f2d3
commit dd6d57ed39
3 changed files with 75 additions and 0 deletions

View File

@ -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