#Home Assistant Voice PE kubernetes

1 messages · Page 1 of 1 (latest)

wanton wren
#

Hello,

Is there anyone already configured the Nabu casa Voice PE on an Homeassistant instance running in kubernetes without host network ?

The Voice PE is connected to the wifi subnet with all network connectivity allowed.
HA is running in my kubernetes cluster, behind the ingress controller that handle the SSL terminaison

Internet => Router => Lan with Voice PE
| => Lan with kubernetes, HA is exposed behind an ingress objet

Voice PE is detected by the companion App, successfully intégrated as Esp Home entity. But just on the Voice Satellite setup it's fail because of this

kubectl -n prod-homeassistant logs -f pods/prod-homeassistant-home-assistant-0
[tcp @ 0x7f6c6a6e00c0] Failed to resolve hostname homeassistant.www.localnet.net: Name does not resolve
Error opening input file https://homeassistant.www.localnet.net/api/assist_satellite/connection_test/ddd?authSig=REDACTED

The domain name homeassistant.www.localnet.net is associated with the Ingress service IP and it's not built to be reachable the internal cluster components (As the kubernetes concept). Because the pod resolve its domain name across the cluster CoreDNS, this domain name is not resolvable, this domain is only reachable by network devices and local workstations.
I do not understand why the Voice PE connectivity test require the HA pod perform a call on this domain, because It will be normal that the Voice PE itself perform this test (the Voice PE have the ability to resolve this domain name because it's outside the cluster)

I've studied all way to expose this domain name to the pod, there is no way without breaking my architecture that respect K8s best practices.

Can you please explain to me the detail of the connectivity test "workflow" to better understand why does HA need to resolve this.
Is there a way to tell HA to talk to localhost:8123 instead ?

tight heart
# wanton wren Hello, Is there anyone already configured the Nabu casa Voice PE on an Homeass...

The test hosts the file and then generates a url based upon the "home assistant url" section under the network settings. which is then sent to the VPE via the API connection. the VPE then attempts to open a new connection to the URL to stream the audio from.

so you need to ensure that the url setting is correct for it to generate the correct url to give to the VPE and also that the VPE is able to resolve and connect to it.

#

The API connection goes from Server->VPE but the audio streaming connection goes from VPE->Server.

wanton wren
#

No, sorry, but it's the Home Assistant pod itself that's trying to resolve the domain name.

I'm sure the Voice PE can resolve the domain name, and reach the https endpoint because all my others device on the same network (including my mobile phone running the companion)

Request dns from 45 k8s:app.kubernetes.io/instance=prod-homeassistant to 1208 ([k8s:io.cilium.k8s.namespace.labels.kubernetes.io/metadata.name=kube-system
verdict Denied DNS proxy: homeassistant.www.localnet.net A
#

The HA external url is goodly configured, my companion app was configured using the mdns discovery natively