#18381·rook

Support multiple hosts in a cephobjectstore's ingress/httproute

Author: focdanischCreated Sep 11, 2026Updated Sep 16, 2026
Labelsfeature

Is this a bug report or feature request?

  • Feature Request

What should the feature do:

We'd like to be able to specify multiple hosts in the generated ingress/httproute resources for cephobjectstores.

What is use case behind this feature:

We use the rook-ceph-cluster helm chart to install Rook Ceph to our cluster. We use the ingress dict to automatically create an Ingress resource to access the buckets from outside the cluster:

yaml
cephObjectStores:
  - name: ceph-objectstore
...
      hosting:
        dnsNames:
          - s3.example.com
    ingress:
      enabled: true
      annotations:
        cert-manager.io/cluster-issuer: letsencrypt
      host:
        name: "*.s3.example.com"
        path: /
        pathType: Prefix
      tls:
      - hosts:
          - "*.s3.example.com"
        secretName: ceph-objectstore-tls
      ingressClassName: traefik
...

The problem we see here is: Modern clients use virtual host style URLs, meaning they add the bucket name as an additional subdomain to the base URL. The current implementation of cephobjectstore-ingress.yaml allows us to specify a single hostname only (which has to be the wildcard domain for subdomains to work). In that case, the base domain is not reachable through the proxy. Some clients (like WinSCP for example) show a list of buckets when contacting the base domain. This is not possible with the current approach. cephobjectstore-httproute.yaml has the same limitation as far as we can see.

So the question is: Do you think that it would be a good idea to modify both templates to support multiple hostnames? That way, we could route s3.example.com (for the bucket list) as well as *.s3.example.com (for a bucket using virtual host style). Apart from that, specifying multiple hostnames would allow us to support both URL styles (path and virtual host) simultaneously.

Environment:

rook-ceph-cluster:v1.20.7 running on Kubernetes v1.35.6 on Talos Linux 1.13.9