Integrations Overview
Shoehorn integrates with external tools to enrich your service catalog with data from across your engineering ecosystem.
Available Integrations
Section titled “Available Integrations”| Integration | Purpose | Setup | Direction |
|---|---|---|---|
| GitHub | Repository discovery, manifests, PR activity | GitHub App | Shoehorn pulls + GitHub webhooks |
| Identity Providers | Authentication and group sync | OIDC configuration | Shoehorn pulls on login + OrgData sync |
| Kubernetes | Workload and GitOps discovery, network topology | K8s agent in each cluster | Agent pushes to Shoehorn (no inbound to clusters) |
| CI/CD | Manifest validation in pipelines | CLI in GitHub Actions, GitLab CI, Jenkins | CI calls the Shoehorn API |
| Cloud providers | Infrastructure inventory and cost data | Provider API token | Shoehorn pulls on a schedule |
How Integrations Work
Section titled “How Integrations Work”Integrations use either a pull or push model depending on where the data lives.
Pull (Shoehorn talks out) is used for GitHub, identity providers, and cloud providers. The crawler or sync job fetches data on a schedule, then enriches the catalog. Webhooks add real-time updates on top of the schedule where the provider supports them.
Push (cluster talks in) is used for Kubernetes. The K8s agent runs inside each cluster, watches the Kubernetes API through informers, and pushes changes to Shoehorn over HTTPS. No inbound connectivity to the cluster is required, which is what makes the agent work behind a firewall, on-prem, or in air-gapped networks.
Managing Integrations
Section titled “Managing Integrations”Integrations are managed in Admin > Integrations. Each integration shows:
- Connection status (connected, error, pending)
- Last sync time
- Entity count affected
- Configuration details
Integration Data Flow
Section titled “Integration Data Flow”GitHub / IdP / Cloud providers Kubernetes clusters │ │ ├── Crawler pulls └── K8s agent pushes (HTTPS, outbound only) │ (scheduled) │ └── Webhooks (push) │ │ │ ▼ ▼ Shoehorn API │ ▼ Entity enrichment │ ▼ Search index update