Skip to content

Linking Charts Internally

You’ll often need to connect individual charts to each other to exchange data, for example: Sonarr to SABnzbd to allow Sonarr to control downloads within SABnzbd.

As you can’t point directly to other Kubernetes charts using their IP address you need to use their internal domain name instead.

Please be aware: this name is only available between Charts and cannot be reached from the host/node or your own PC.

Main Service

For most charts, you’ll want to contact the main service (usually the web interface or primary way you interact with the chart)

Please replace $NAME below with the name you gave your Chart when installing it, $NAMESPACE with the namespace the chart is installed in and CHARTNAME with the name from our helm repository.

If your chart name is the same as the name of the chart as in the helm repository, the format is as follows:

$NAME.$NAMESPACE.svc.cluster.local

If your chart name is NOT the same as the name of the chart as in the helm repository, the format is as follows:

$NAME-$CHARTNAME.$NAMESPACE.svc.cluster.local

Multiple Services

If you need to reach a different service of your chart (which is not often the case), you need a slightly different format.

As well as the above naming, replace $SVCNAME with the name of the service you want to reach:

If your chart name contains the name of the chart as in the helm repository, the format is as follows:

$NAME-$SVCNAME.$NAMESPACE.svc.cluster.local

If your chart name does NOT contain the name of the chart as in the helm repository, the format is as follows:

$NAME-$CHARTNAME-$SVCNAME.$NAMESPACE.svc.cluster.local

Be aware: you’ll only be able to reach ports published on the service they are published to - see the Multiple Services example below for a demonstration of this.

Naming Examples

Main Service

To reach a chart named “sabnzbd” in this example (note: the name contains the helm repository chart name “sabnzbd”) you can use the following internal domain name:

sabnzbd.sabnzbd.svc.cluster.local

To reach a chart named “sab” (note: the name does NOT contain helm repository chart name “sabnzbd”) you can use the following internal domain name:

sab-sabnzbd.sab.svc.cluster.local

To reach a chart named “sabnzbd-23” (note: the name contains the helm repository chart name “sabnzbd” as well as extra name information “-23”) you can use the following internal domain name:

sabnzbd-23.sabnzbd-23.svc.cluster.local

Multiple Services

This is an example of where a chart has more than one service, in this case, Traefik.

Its main service (note it follows the examples above) is located at

traefik.traefik.svc.cluster.local

Then, its extra services, one for metrics, and one for TCP, are located at

traefik-metrics.traefik.svc.cluster.local and traefik-tcp.traefik.svc.cluster.local

When you install a chart with multiple services, you’ll be able to see which ports are published to which service - if you aren’t sure of this check your values.yaml.

This is example of the above services for traefik:

traefik.traefik.svc.cluster.local 9000/TCP traefik-metrics.traefik.svc.cluster.local 9180/TCP traefik-tcp.traefik.svc.cluster.local 80/TCP,443/TCP

So, if you wanted to reach the metrics port, you should use traefik-metrics.traefik.svc.cluster.local as the name as that port would not be available on other services.