1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
  {{- range .paths }}
  http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
  {{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
  export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "home-assistant.fullname" . }})
  export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
  echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
           You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "home-assistant.fullname" . }}'
  export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "home-assistant.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
  echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
  export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "home-assistant.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
  export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
  echo "Visit http://127.0.0.1:8123 to use your application"
  kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8123:$CONTAINER_PORT
{{- end }}

{{- if .Values.configuration.enabled }}
  {{- if or (has "10.0.0.0/8" .Values.configuration.trusted_proxies) (has "172.16.0.0/12" .Values.configuration.trusted_proxies) (has "192.168.0.0/16" .Values.configuration.trusted_proxies) (has "127.0.0.0/8" .Values.configuration.trusted_proxies) }}
WARNING: You have enabled configuration setup for Home Assistant and are using widely trusted proxy IP ranges. Please ensure that this is intended and secure for your environment. Misconfiguration can lead to security vulnerabilities.
  {{- end }}
{{- end }}

{{- if and .Values.ingress.enabled (not .Values.configuration.enabled) }}
WARNING: Ingress is enabled for Home Assistant, but the configuration setup is disabled. If you are using a reverse proxy, it is recommended to configure trusted proxies to ensure Home Assistant functions correctly and securely. For more information on configuring trusted proxies, visit: https://www.home-assistant.io/integrations/http/#reverse-proxies
{{- end }}

{{- if and .Values.configuration.enabled (or .Values.securityContext .Values.podSecurityContext) }}
WARNING: You have enabled the configuration setup for Home Assistant and defined a securityContext or podSecurityContext. Please ensure to update the configuration.initContainer.securityContext to have the same user setup to avoid running the init container as the root user. This is crucial for maintaining the security of your deployment.
{{- end }}



