Integrations Overview¶
SerOps integrates with log, metric and trace backends, source-control and CI/CD providers. This page is the complete matrix.
Provider Matrix¶
SCM Providers¶
Source Code Management providers connect your repositories for code change tracking and deployment correlation.
| Provider | Auth Method | Features | Guide |
|---|---|---|---|
| GitLab | Personal Access Token (api scope) |
Commits, MRs, pipelines, deployments, webhooks | Setup |
| GitHub | Access Token (repo scope) |
Commits, PRs, Actions, deployments, webhooks | Setup |
| Azure DevOps | Personal Access Token | Commits, PRs, pipelines, deployments | Setup |
| Bitbucket | OAuth2 / App Password | Commits, PRs, pipelines | Setup |
CI/CD Providers¶
Build and deployment pipeline providers for tracking deployments and CI/CD logs.
| Provider | Auth Method | Features | Guide |
|---|---|---|---|
| GitLab CI | Via SCM token | Pipeline status, job logs, deployment events | Setup |
| GitHub Actions | Via SCM token | Workflow runs, job logs, deployment events | Setup |
| Jenkins | API Token + Base URL | Build status, console logs, pipeline triggers | Setup |
| Azure Pipelines | Via SCM token | Pipeline runs, stage logs, deployment events | Setup |
| Bitbucket Pipelines | Via SCM token | Pipeline status, step logs, deployment events | Setup |
Observability Providers¶
Log, metric, and trace providers for fetching application data for AI analysis.
| Provider | Type | Auth Method | Query Language | Guide |
|---|---|---|---|---|
| Elasticsearch | Logs | Basic / API Key | ES DSL | Setup |
| OpenSearch | Logs | Basic Auth | ES DSL | Setup |
| Grafana Loki | Logs | Basic / Bearer / Tenant ID | LogQL | Setup |
| Splunk | Logs | Auth Token (bearer) | SPL | Setup |
| Datadog | Logs + Metrics + Traces | API Key + App Key | Datadog query | Setup |
| AWS CloudWatch | Logs + Metrics | AWS Credentials | CloudWatch Insights | Setup |
| Google Cloud | Logs + Metrics | Service Account JSON | GCP filter | Setup |
| Azure Monitor | Logs + Metrics | Service Principal | KQL | Setup |
| Prometheus | Metrics | Basic / Bearer | PromQL | Setup |
| VictoriaMetrics | Metrics | Basic / Bearer | MetricsQL | Setup |
| Grafana Mimir | Metrics | Basic / Tenant ID | PromQL | Setup |
| Grafana Tempo | Traces | Basic / Bearer / Tenant ID | TraceQL | Setup |
| Jaeger | Traces | Basic / Bearer | Jaeger query API | Setup |
| Zipkin | Traces | Basic / Bearer | Zipkin query API | Setup |
Traces: push or pull
SerOps receives traces natively over OTLP — no provider integration required. The three trace providers above are pull adapters for teams that already ship to Jaeger, Zipkin, or Tempo and don't want to change their pipeline. Datadog APM works the same way via the Datadog integration. See Distributed Traces for both paths.
Tested environments¶
Every adapter above has unit tests. Not every one has yet run end to end against a live system, and this table says which have.
| Area | Status |
|---|---|
| Self-hosting | Docker Compose and the Helm chart, verified end to end. |
| Kubernetes workloads | Verified on single-node clusters (minikube, KinD): Fluent Bit → Elasticsearch, Promtail → Loki, Prometheus with cAdvisor and kube-state-metrics, and OTLP traces. |
| Live-tested backends | Elasticsearch, OpenSearch, Grafana Loki, Prometheus, VictoriaMetrics, Grafana Mimir, GitLab. |
| Managed Kubernetes (EKS, GKE, AKS) | Not yet validated. The Kubernetes modes for CloudWatch Container Insights, Cloud Monitoring for GKE and Azure Monitor Container Insights are implemented and unit-tested, but have not run against a live managed cluster. Use the credentials each integration page describes: Google Cloud and Azure deliberately never use the host's own cloud identity (GKE Workload Identity, AKS managed identity), so one organisation on a shared instance cannot borrow it. |
| Multi-node clusters | Not yet validated. All the Kubernetes testing above ran on one node. |
| Datadog, AWS CloudWatch, Google Cloud, Azure Monitor | Implemented and unit-tested against mocked API responses; not yet run against a live account. |
If you run SerOps on one of the unvalidated setups, an issue saying what worked and what did not is one of the most useful contributions right now.
How Integrations Work¶
SerOps uses a two-level integration model:
Integrations (organisation level)¶
Credentials are stored once at the organisation level as a ProviderIntegration. This enables:
- Credential reuse — One token serves multiple services
- Centralised management — Rotate tokens in one place
- Security — Team members don't need direct access to tokens
Service Bindings (Service Level)¶
Each service links to a global integration via bindings:
- SCMBinding — Links a service to a source code repository (one per service)
- CICDBinding — Links a service to CI/CD pipelines (multiple per service)
graph TD
O[Organisation]
PI[ProviderIntegration<br/>e.g. Corporate GitLab]
SCM[SCMBinding<br/>repo: group/backend]
CICD[CICDBinding<br/>pipeline: build-main]
PS[ProjectService<br/>backend]
P[Project<br/>my-app]
PI -->|belongs to| O
SCM -->|uses credentials from| PI
CICD -->|uses credentials from| PI
SCM -->|1:1 with| PS
CICD -->|FK to| PS
PS -->|FK to| P
P -->|FK to| O
Setting Up Integrations¶
- Add an integration: go to Integrations → Add Integration
- Add a Service: Go to your project, click + New Service, and select the integration
- Verify: Run a health check to confirm connectivity
- Configure Webhooks (optional): Set up webhooks for real-time updates
For a complete walkthrough, see Connect Your First Provider.