Context
Kubernetes CRD API groups should be on a DNS domain the publisher owns, to avoid collisions on shared clusters (cf. k8s API conventions).
Today we ship under ferrvault.com (the domain FerrLabs owns). That is correct and works fine — but *.io is the de-facto industry convention for K8s tooling (cert-manager.io, traefik.io, kyverno.io, postgres-operator.crunchydata.com…). Some users may expect ferrvault.io and be surprised by .com.
Question
Do we acquire ferrvault.io and migrate the API group?
Trade-offs
Stay on ferrvault.com |
Acquire ferrvault.io |
| €0 cost |
~€30-€60/yr for a .io TLD |
| Already shipping, no migration |
One more breaking CRD migration (or additive alias) |
| Slight UX friction for K8s-fluent users |
Aligns with K8s tooling convention |
| Fine for paid SaaS where users discover us via app, not random clusters |
Better for OSS distribution / cluster-wide install scenarios |
Recommendation
Defer until we ship at scale. No real users on the operator yet beyond our own cluster — moving the group is mechanically the same effort whether we do it now or in 6 months, but the cost is real today and the benefit is hypothetical. Re-evaluate when:
- We have ≥ 5 external paying customers on FerrVault, OR
- Someone else publishes a CRD on
ferrvault.io (unlikely — ferrvault is not a generic term), OR
- We OSS the operator and users complain about the
.com group string.
If we proceed
- Buy
ferrvault.io (registrar of choice; Cloudflare Registrar is the cheapest at ~$30/yr renewal).
- Add
ferrvault.io/v1alpha1 aliased CRDs alongside ferrvault.com/v1alpha1 (same additive pattern we used to add ferrvault.* alongside ferrflow.io).
- Update the FerrVault app's
ConnectClusterWizard YAML template + docs.
- Deprecate
ferrvault.com/v1alpha1 after one minor release of overlap.
Context
Kubernetes CRD API groups should be on a DNS domain the publisher owns, to avoid collisions on shared clusters (cf. k8s API conventions).
Today we ship under
ferrvault.com(the domain FerrLabs owns). That is correct and works fine — but*.iois the de-facto industry convention for K8s tooling (cert-manager.io, traefik.io, kyverno.io, postgres-operator.crunchydata.com…). Some users may expectferrvault.ioand be surprised by.com.Question
Do we acquire
ferrvault.ioand migrate the API group?Trade-offs
ferrvault.comferrvault.io.ioTLDRecommendation
Defer until we ship at scale. No real users on the operator yet beyond our own cluster — moving the group is mechanically the same effort whether we do it now or in 6 months, but the cost is real today and the benefit is hypothetical. Re-evaluate when:
ferrvault.io(unlikely —ferrvaultis not a generic term), OR.comgroup string.If we proceed
ferrvault.io(registrar of choice; Cloudflare Registrar is the cheapest at ~$30/yr renewal).ferrvault.io/v1alpha1aliased CRDs alongsideferrvault.com/v1alpha1(same additive pattern we used to addferrvault.*alongsideferrflow.io).ConnectClusterWizardYAML template + docs.ferrvault.com/v1alpha1after one minor release of overlap.