@@ -79,6 +79,7 @@ This document provides detailed configuration options for the Home Assistant Hel
7979| ` service.annotations ` | Annotations to add to the service | ` {} ` |
8080| ` ingress.enabled ` | Enable ingress for Home Assistant | ` false ` |
8181| ` ingress.external ` | Enable external ingress (cannot be true when ingress.enabled is true) | ` false ` |
82+ | ` additionalIngresses ` | List of additional ingress configurations | ` [] ` |
8283| ` resources ` | Resource settings for the container | ` {} ` |
8384| ` nodeSelector ` | Node selector settings for scheduling the pod on specific nodes | ` {} ` |
8485| ` tolerations ` | Tolerations settings for scheduling the pod based on node taints | ` [] ` |
@@ -237,6 +238,68 @@ ingress:
237238In addition, you can specify the `ingress.hosts` and `ingress.tls` values. The default values are `[]` and `[]` respectively.
238239The second option is to set `service.type` to `NodePort` or `LoadBalancer` (when ingress is not available in your cluster)
239240
241+ # ## Additional Ingresses
242+
243+ For advanced use cases, you can define multiple additional Ingress resources using `additionalIngresses`. This is useful for :
244+
245+ - IoT devices that don't support TLS (e.g., DLNA, Ecowitt weather stations)
246+ - Exposing specific paths without a hostname requirement
247+ - Routing to different services/ports
248+
249+ Example configuration :
250+
251+ ` ` ` yaml
252+ # First, expose an additional port and service (if needed)
253+ additionalPorts:
254+ - name: dlna
255+ containerPort: 5555
256+ protocol: TCP
257+
258+ additionalServices:
259+ - name: dlna
260+ port: 5555
261+ targetPort: dlna
262+ type: ClusterIP
263+ protocol: TCP
264+
265+ # Then create additional ingresses
266+ additionalIngresses:
267+ # Path-only routing (no host) for DLNA devices
268+ - name: dlna
269+ annotations:
270+ nginx.ingress.kubernetes.io/ssl-redirect: "false"
271+ rules:
272+ - paths:
273+ - path: /notify
274+ pathType: Prefix
275+ serviceName: home-assistant-dlna
276+ servicePort: 5555
277+
278+ # IoT device webhook endpoint
279+ - name: iot-webhook
280+ className: nginx
281+ rules:
282+ - host: iot.example.local
283+ paths:
284+ - path: /api/webhook
285+ pathType: Prefix
286+ # Uses main HA service by default
287+ ` ` `
288+
289+ Each additional ingress supports :
290+ - `name` : Unique identifier (used in ingress name as `<release>-home-assistant-<name>`)
291+ - `className` : Ingress class name (optional)
292+ - `labels` : Additional labels (optional)
293+ - `annotations` : Ingress annotations (optional)
294+ - `rules` : List of ingress rules
295+ - `host` : Hostname (optional - omit for path-only routing)
296+ - `paths` : List of paths
297+ - `path` : URL path
298+ - `pathType` : ` Exact` , `Prefix`, or `ImplementationSpecific`
299+ - `serviceName` : Target service (defaults to main Home Assistant service)
300+ - `servicePort` : Target port (defaults to `service.port`)
301+ - `tls` : TLS configuration (optional)
302+
240303# # HostPort and HostNetwork
241304
242305To enable hostPort, set `hostPort.enabled` to `true`. In addition, you can specify the `hostPort.port` value. The default value is `8123`.
0 commit comments