Connector Architecture
Connectors are organized underserver/connectors/ with this structure:
Types of Connectors
1. Cloud Provider Connectors
Provide infrastructure access for incident investigation. Examples:gcp_connector- Google Cloud Platformaws_connector- Amazon Web Servicesazure_connector- Microsoft Azureovh_connector- OVH Cloudscaleway_connector- Scaleway
2. Observability Connectors
Receive alerts and provide monitoring data. Examples:datadog_connector- Datadoggrafana_connector- Grafanadynatrace_connector- Dynatracesplunk_connector- Splunk
3. Collaboration Connectors
Integrate with communication and documentation tools. Examples:slack_connector- Slackpagerduty_connector- PagerDutyconfluence_connector- Confluence
4. Code Repository Connectors
Access code and create automated fixes. Examples:github_connector- GitHubbitbucket_connector- Bitbucket
Building a Cloud Provider Connector
Let’s build a connector for a fictional cloud provider “CloudX”.Add Flask routes (optional)
Create
server/connectors/cloudx_connector/routes.py for OAuth or webhook endpoints:Building an Observability Connector
Let’s build a connector for a fictional monitoring tool “MetricsX”.Credential Storage with Vault
All connectors should use Vault for secrets:Testing Your Connector
Best Practices
Error handling
Error handling
Always handle API errors gracefully:
Rate limiting
Rate limiting
Respect API rate limits:
Caching
Caching
Use Redis to cache expensive API calls:
Logging
Logging
Use structured logging for debugging:
Example Connectors
Study these existing connectors for reference:- GCP Connector:
server/connectors/gcp_connector/- OAuth2 flow, API client patterns - Slack Connector:
server/connectors/slack_connector/- OAuth, webhook handling - Datadog Connector: Event ingestion, alert correlation
- Confluence Connector:
server/connectors/confluence_connector/- Search service, API client
Next Steps
First Investigation
Test your connector with a real incident
Backup & Restore
Ensure your connector data is backed up