Common questions about how Shoehorn works, what it costs, and how it compares to what you already run.
An entity is a single catalog entry. It can come from two places: a manifest in Git or cloud storage, either Shoehorn-native (.shoehorn/*.yaml) or Backstage-compatible (catalog-info.yaml), where one manifest with kind: Component, type: service equals one entity. Or a Kubernetes workload discovered by the cluster agent.
Shoehorn supports the nine Backstage-compatible kinds for manifests: Component, API, Resource, System, Domain, Group, User, Location, and Template.
What counts as an entity from Kubernetes
Only workloads: Deployment, StatefulSet, and DaemonSet. Services, ConfigMaps, Secrets, Ingresses, ReplicaSets, and Pods are not persisted as catalog entities.
Workloads are deduplicated across clusters by namespace + kind + name. The same Deployment running in prod, staging, and dev is one entity with three runtime instances, not three separate entities. Cluster is operational data, not part of the entity identity.
What counts separately
Repositories, Teams, and Kubernetes clusters are tracked as separate license resources with their own limits, so they don't burn your entity quota. Argo CD and FluxCD applications surface through annotations on existing entities, not as new ones.
In short: entity quota = unique manifest entries + unique workloads across all clusters. A workload deployed to three clusters costs one. Cluster quota is independent.
Yes. You don't need to migrate on day one. Just shoehorn us in.
Shoehorn is fully compatible with Backstage catalog files, so your existing setup keeps working as-is while you evaluate:
Compatibility comes first. Start using Shoehorn today, and migrate on your own schedule.
Shoehorn currently includes built-in translations for English, Swedish, French, Spanish, German, Finnish, and Dutch. These translations are currently AI-generated, and we're improving them over time with feedback from teams using Shoehorn.
If you want to help improve a language or contribute a new one, the translation files are open here: shoehorn-dev/i18n-translations.