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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions