7.7 KiB
Home Assistant
This is a helm chart for Home Assistant
TL;DR;
$ helm install stable/home-assistant
Introduction
This code is adopted for the official home assistant docker image
Installing the Chart
To install the chart with the release name my-release
:
$ helm install --name my-release stable/home-assistant
Uninstalling the Chart
To uninstall/delete the my-release
deployment:
$ helm delete my-release --purge
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The following tables lists the configurable parameters of the Sentry chart and their default values.
Parameter | Description | Default |
---|---|---|
image.repository |
Image repository | homeassistant/home-assistant |
image.tag |
Image tag. Possible values listed here. | 0.72.1 |
image.pullPolicy |
Image pull policy | IfNotPresent |
service.type |
Kubernetes service type for the home-assistant GUI | ClusterIP |
service.port |
Kubernetes port where the home-assistant GUI is exposed | 8123 |
service.annotations |
Service annotations for the home-assistant GUI | {} |
service.clusterIP |
Cluster IP for the home-assistant GUI | `` |
service.externalIPs |
External IPs for the home-assistant GUI | [] |
service.loadBalancerIP |
Loadbalance IP for the home-assistant GUI | `` |
service.loadBalancerSourceRanges |
Loadbalance client IP restriction range for the home-assistant GUI | [] |
service.nodePort |
nodePort to listen on for the home-assistant GUI | `` |
ingress.enabled |
Enables Ingress | false |
ingress.annotations |
Ingress annotations | {} |
ingress.path |
Ingress path | / |
ingress.hosts |
Ingress accepted hostnames | chart-example.local |
ingress.tls |
Ingress TLS configuration | [] |
persistence.enabled |
Use persistent volume to store data | true |
persistence.size |
Size of persistent volume claim | 5Gi |
persistence.existingClaim |
Use an existing PVC to persist data | nil |
persistence.storageClass |
Type of persistent volume claim | - |
persistence.accessMode |
Persistence access modes | ReadWriteMany |
extraEnv |
Extra ENV vars to pass to the home-assistant container | {} |
configurator.enabled |
Enable the optional configuration UI | false |
configurator.image.repository |
Image repository | billimek/hass-configurator-docker |
configurator.image.tag |
Image tag | x86_64-0.3.0 |
configurator.image.pullPolicy |
Image pull policy | IfNotPresent |
configurator.hassApiUrl |
Home Assistant API URL (e.g. 'http://home-assistant:8123/api/') - will auto-configure to proper URL if not set | `` |
configurator.hassApiPassword |
Home Assistant API Password | `` |
configurator.basepath |
Base path of the home assistant configuration files | /config |
configurator.enforceBasepath |
If set to true, will prevent navigation to other directories in the configurator UI | true |
configurator.username |
If this and password (below) are set, will require basic auth to access the configurator UI | `` |
configurator.password |
If this and username (above) are set, will require basic auth to access the configurator UI. password is in the format of a sha256 hash (e.g. "test" would be "{sha256}9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08") | `` |
configurator.extraEnv |
Extra ENV vars to pass to the configuration UI | {} |
configurator.ingress.enabled |
Enables Ingress for the configurator UI | false |
configurator.ingress.annotations |
Ingress annotations for the configurator UI | {} |
configurator.ingress.hosts |
Ingress accepted hostnames for the configurator UI | chart-example.local |
configurator.ingress.tls |
Ingress TLS configuration for the configurator UI | [] |
configurator.strategy.type |
hass-configurator Deployment Strategy type | `` |
configurator.tolerations |
Toleration labels for pod assignment for the configurator UI | [] |
configurator.nodeSelector |
Node labels for pod assignment for the configurator UI | {} |
configurator.schedulerName |
Use an alternate scheduler, e.g. "stork" for the configurator UI | `` |
configurator.podAnnotations |
Affinity settings for pod assignment for the configurator UI | {} |
configurator.replicaCount |
Number of replicas for the configurator UI | 1 |
configurator.resources |
CPU/Memory resource requests/limits for the configurator UI | {} |
configurator.securityContext |
Security context to be added to hass-configurator pods for the configurator UI | {} |
configurator.service.type |
Kubernetes service type for the configurator UI | ClusterIP |
configurator.service.port |
Kubernetes port where the configurator UI is exposed | 3218 |
configurator.service.nodePort |
nodePort to listen on for the configurator UI | `` |
configurator.service.annotations |
Service annotations for the configurator UI | {} |
configurator.service.labels |
Service labels to use for the configurator UI | {} |
configurator.service.clusterIP |
Cluster IP for the configurator UI | `` |
configurator.service.externalIPs |
External IPs for the configurator UI | [] |
configurator.service.loadBalancerIP |
Loadbalance IP for the configurator UI | `` |
configurator.service.loadBalancerSourceRanges |
Loadbalance client IP restriction range for the configurator UI | [] |
resources |
CPU/Memory resource requests/limits or the home-assistant GUI | {} |
nodeSelector |
Node labels for pod assignment or the home-assistant GUI | {} |
tolerations |
Toleration labels for pod assignment or the home-assistant GUI | [] |
affinity |
Affinity settings for pod assignment or the home-assistant GUI | {} |
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example,
helm install --name my-release \
--set configurator.hassApiPassword="$HASS_API_PASSWORD" \
stable/home-assistant
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
helm install --name my-release -f values.yaml stable/home-assistant
Read through the values.yaml file. It has several commented out suggested values.
Regarding configuring home assistnat
Much of the home assistant configuration occurs inside the various files persisted to the /config
directory. This will require external access to the persistant storage location where the home assistant configuration data is stored.
Because this may be a limitation, the Home Assistant Configurator UI is added to the chart as an option to provide a webUI for editing the various configuration files