1. Get the admin dashboard 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[?(@.name=='web')].nodePort}" services {{ include "adguard-home.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 "adguard-home.fullname" . }}'
  export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "adguard-home.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
  echo http://$SERVICE_IP:{{ .Values.ports.web.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
  export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "adguard-home.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use the AdGuard Home setup wizard / dashboard"
  kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:{{ .Values.ports.web.port }}
{{- end }}

2. On first access, complete the AdGuard Home setup wizard (admin user, DNS listener
   interfaces/ports). The resulting AdGuardHome.yaml is written to the conf volume.

3. DNS listens on port {{ .Values.ports.dns.port }} (TCP/UDP).
{{- if not .Values.hostNetwork }}
   NOTE: hostNetwork is disabled, so clients will see the Service/pod IP, not their
   real IP, in the AdGuard Home query log/filters. Set hostNetwork: true, or use a
   LoadBalancer Service with externalTrafficPolicy: Local, to preserve client IPs.
{{- end }}
{{- if .Values.ports.dhcp.enabled }}
4. DHCP server is enabled on UDP 67/68.
{{- if not .Values.hostNetwork }}
   WARNING: DHCP requires hostNetwork: true to function correctly - it will not
   work through a ClusterIP/LoadBalancer Service.
{{- end }}
{{- end }}

{{- if or .Values.persistence.work.enabled .Values.persistence.conf.enabled }}

5. Data is persisted using PVCs:
{{- if .Values.persistence.work.enabled }}
   - {{ .Values.persistence.work.existingClaim | default (printf "%s-work" (include "adguard-home.fullname" .)) }} (query log, filter cache, stats)
{{- end }}
{{- if .Values.persistence.conf.enabled }}
   - {{ .Values.persistence.conf.existingClaim | default (printf "%s-conf" (include "adguard-home.fullname" .)) }} (AdGuardHome.yaml)
{{- end }}
{{- else }}

5. WARNING: No persistence enabled. Configuration and filter data will be lost when
   the pod restarts.
{{- end }}

For more information about using this Helm chart, please refer to the readme.md file.
