Node Endpoint

M3DB stores an endpoint field on placement instances that is used for communication between DB nodes and from other components such as the coordinator.

The operator allows customizing the format of this endpoint by setting the nodeEndpointFormat field on a cluster spec. The format of this field uses Go templates, with the following template fields currently supported:

FieldDescription
PodNameName of the pod
M3DBServiceName of the generated M3DB service
PodNamespaceNamespace the pod is in
PortPort M3DB is serving RPCs on

The default format is:

  1. {{ .PodName }}.{{ .M3DBService }}:{{ .Port }}

As an example of an override, to expose an M3DB cluster to containers in other Kubernetes namespaces nodeEndpointFormat can be set to:

  1. {{ .PodName }}.{{ .M3DBService }}.{{ .PodNamespace }}:{{ .Port }}