[stable/home-assistant] home-assistant chart enhancements (#12049)

* switching the home-assistant chart to SatefulSet

* based on the persistent nature of this chart as well as this discussion, migrating the chart to a StatefulSet instead of a deployment. As a result bumping the major version
* bumping home-assistant docker image to the latest stable version (0.89.1)

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* switching home-assistant chart to SatefulSet

* using volumeClaimTemplates for statefulSet
* updating label syntax to current helm standards (e.g. app.kubernetes.io/name)

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* using Parallel podManagementPolicy

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* revert to Deployment and leverage strategy types

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* ingress api still needs to be v1beta1

Signed-off-by: Jeff Billimek <jeff@billimek.com>

* hard-code replica count

Signed-off-by: Jeff Billimek <jeff@billimek.com>
This commit is contained in:
Jeff Billimek
2019-03-28 09:40:45 -07:00
committed by Kubernetes Prow Robot
parent 5f03f4e6bd
commit cc6382f0ac
8 changed files with 34 additions and 31 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
apiVersion: v1
appVersion: 0.84.6
appVersion: 0.89.1
description: Home Assistant
name: home-assistant
version: 0.5.2
version: 0.6.0
keywords:
- home-assistant
- hass
+1 -1
View File
@@ -39,6 +39,7 @@ The following tables lists the configurable parameters of the Home Assistant cha
| `image.tag` | Image tag. Possible values listed [here](https://hub.docker.com/r/homeassistant/home-assistant/tags/).| `0.84.6`|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Secrets to use when pulling the image | `[]` |
| `strategyType` | Specifies the strategy used to replace old Pods by new ones | `Recreate` |
| `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 | `{}` |
@@ -80,7 +81,6 @@ The following tables lists the configurable parameters of the Home Assistant cha
| `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` |
@@ -2,15 +2,15 @@
{{- $fullName := include "home-assistant.fullname" . -}}
{{- $servicePort := .Values.configurator.service.port -}}
{{- $ingressPath := .Values.configurator.ingress.path -}}
apiVersion: extensions/v1beta1
apiVersion: extensions/v1
kind: Ingress
metadata:
name: {{ $fullName }}-configurator
labels:
app: {{ template "home-assistant.name" . }}
chart: {{ template "home-assistant.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
helm.sh/chart: {{ include "home-assistant.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.configurator.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}
@@ -1,14 +1,16 @@
apiVersion: apps/v1beta2
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "home-assistant.fullname" . }}
labels:
app: {{ template "home-assistant.name" . }}
chart: {{ template "home-assistant.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
helm.sh/chart: {{ include "home-assistant.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.replicaCount }}
replicas: 1
strategy:
type: {{ .Values.strategyType }}
selector:
matchLabels:
app: {{ template "home-assistant.name" . }}
+4 -4
View File
@@ -7,10 +7,10 @@ kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app: {{ template "home-assistant.name" . }}
chart: {{ template "home-assistant.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
helm.sh/chart: {{ include "home-assistant.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- with .Values.ingress.annotations }}
annotations:
{{ toYaml . | indent 4 }}
+4 -4
View File
@@ -4,10 +4,10 @@ kind: Secret
metadata:
name: {{ template "home-assistant.fullname" . }}-configurator
labels:
app: {{ template "home-assistant.name" . }}
chart: {{ template "home-assistant.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
helm.sh/chart: {{ include "home-assistant.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
type: Opaque
data:
{{- if .Values.configurator.hassApiPassword }}
+6 -6
View File
@@ -3,10 +3,10 @@ kind: Service
metadata:
name: {{ template "home-assistant.fullname" . }}
labels:
app: {{ template "home-assistant.name" . }}
chart: {{ template "home-assistant.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
helm.sh/chart: {{ include "home-assistant.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.service.labels }}
{{ toYaml .Values.service.labels | indent 4 }}
{{- end }}
@@ -54,5 +54,5 @@ spec:
{{ end }}
{{- end }}
selector:
app: {{ template "home-assistant.name" . }}
release: {{ .Release.Name }}
app.kubernetes.io/name: {{ include "home-assistant.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
+4 -3
View File
@@ -2,14 +2,15 @@
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
repository: homeassistant/home-assistant
tag: 0.84.6
tag: 0.89.1
pullPolicy: IfNotPresent
pullSecrets: []
# upgrade strategy type (e.g. Recreate or RollingUpdate)
strategyType: Recreate
service:
type: ClusterIP
port: 8123