Skip to content

Decide: acquire ferrvault.io for CRD API group? #112

Description

@BryanFRD

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

  1. Buy ferrvault.io (registrar of choice; Cloudflare Registrar is the cheapest at ~$30/yr renewal).
  2. Add ferrvault.io/v1alpha1 aliased CRDs alongside ferrvault.com/v1alpha1 (same additive pattern we used to add ferrvault.* alongside ferrflow.io).
  3. Update the FerrVault app's ConnectClusterWizard YAML template + docs.
  4. Deprecate ferrvault.com/v1alpha1 after one minor release of overlap.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions