There are 3 possible parts involved in exposing URLs for a component, from a component host config, and Bunnyshell can do all of them or you can decide to handle some of them outside Bunnyshell.

A. create Ingress resource

B. create DNS record

C. show URLs in Bunnyshell dashboard

A. create Ingress resource

Bunnyshell automatically creates an Ingress resource foreach host of a docker-compose component. The component needs to expose at least one port, and you need to specify on host the hostname, path and servicePort. Optionally you can add k8s with extra configs on Ingress.

B. create DNS record

Bunnyshell creates DNS records under the bunnyenv.com domain:

  • for the Ingress resources found in the environment namespace, with ingressClassName: bns-nginx, and component specific labels, pointing to the Ingress loadBalancer address.
  • for hosts with externalAddress, pointing to the externalAddress, CNAME or A record.

If you set on host selfmangedDns: true, then you are responsible for DNS record creation, even if Bunnyshell created the Ingress resource. See more about Custom domains.

C. show URLs in Bunnyshell dashboard

For Kubernetes and Helm components Bunnyshell is showing:

  • component.host.displayPaths, for the host with hostname: *

OR

  • component.host.displayPaths for hosts found in cluster on Ingress resources with component labels, or just the https://{ingress.rule.host}/{ingress.rule.path} if no component.host or no component.host.displayPaths are set
  • component.host.displayPaths or https://{component.host.hostname} for hosts with externalAddress set

For the other components Bunnyshell is showing:

  • https://{component.host.hostname}, which points to host.externalAddress if this is set

OR

  • component.host.displayPaths if they are set

OR

  • https://{component.host.hostname}/{component.host.path} for hosts without externalAddress or displayPaths

📘

component.host.displayPaths

They can be relative to component.host.hostname or absolute URLs, any URL, or empty. See here some examples