Compare commits

...

20 Commits

Author SHA1 Message Date
66a5099f75 update home assistant version 2024-02-21 09:47:51 -03:00
f2e1dabf24 Merge pull request #6 from alexlebens/renovate/helm-kind-action-1.x
Update helm/kind-action action to v1.9.0
2024-02-15 11:51:00 -07:00
39b46177ea Merge pull request #5 from alexlebens/renovate/actions-setup-python-5.x
Update actions/setup-python action to v5
2024-02-15 11:50:54 -07:00
c69d61a07d Merge pull request #4 from alexlebens/renovate/actions-checkout-4.x
Update actions/checkout action to v4
2024-02-15 11:50:48 -07:00
1236a200cd update app version 2024-02-15 11:47:38 -07:00
renovate[bot]
24845fb336 Update helm/kind-action action to v1.9.0 2024-02-15 18:47:16 +00:00
renovate[bot]
a398abdf63 Update actions/setup-python action to v5 2024-02-15 18:46:51 +00:00
renovate[bot]
5bbd6db883 Update actions/checkout action to v4 2024-02-15 18:46:47 +00:00
9e2d2a7503 Merge pull request #2 from alexlebens/renovate/helm-chart-testing-action-2.x
Update helm/chart-testing-action action to v2.6.1
2024-02-15 11:46:28 -07:00
renovate[bot]
ea662406ed Update helm/chart-testing-action action to v2.6.1 2024-02-15 18:44:47 +00:00
06661efd7e update renovate config 2024-02-15 11:44:21 -07:00
ec95fd84f9 remove schedule 2024-02-15 11:30:46 -07:00
86d7e9f156 update renovate config 2024-02-15 11:23:07 -07:00
5a3cb20dcb fix typo in prometheus rule 2024-02-13 07:34:20 -07:00
1cb675e7c3 fix service name 2024-02-13 07:06:52 -07:00
438ceef98b enable switch code server in deployment 2024-02-13 06:57:51 -07:00
0be01806dd fix middleware 2024-02-13 06:41:13 -07:00
639f7a4031 change to use ingress routes 2024-02-13 06:39:52 -07:00
ba3e6551e2 fix ingress class name 2024-02-13 06:15:56 -07:00
d12db5479a fix typo 2024-02-13 06:06:50 -07:00
14 changed files with 99 additions and 118 deletions

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -16,13 +16,13 @@ jobs:
with:
version: v3.13.3
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
check-latest: true
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.0
uses: helm/chart-testing-action@v2.6.1
- name: Run chart-testing (list-changed)
id: list-changed
@@ -38,7 +38,7 @@ jobs:
- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/kind-action@v1.8.0
uses: helm/kind-action@v1.9.0
- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: home-assistant
version: 0.0.1
version: 0.0.9
description: Chart for Home Assistant
keywords:
- home-automation
@@ -9,4 +9,4 @@ sources:
maintainers:
- name: alexlebens
icon: https://avatars.githubusercontent.com/u/13844975?s=200&v=4
appVersion: 2024.2.1
appVersion: v2024.2.2

View File

@@ -4,12 +4,13 @@
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
This chart bootstraps a [Home-Assistant](https://github.com/benphelps/homepage) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
This chart bootstraps a [Home-Assistant](https://github.com/home-assistant) deployment on a [Kubernetes](https://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
## Prerequisites
- Kubernetes
- Helm
- Traefik v2 / IngressRoute
- Authentik / Auth
## Parameters

View File

@@ -43,12 +43,12 @@ spec:
{{- with .Values.deployment.envFrom }}
envFrom:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- end }}
volumeMounts:
- mountPath: /config
name: home-assistant-config
resources:
{{- toYaml .Values.deployment.resources | nindent 12 }}
{{- toYaml .Values.deployment.resources | nindent 12 }}
livenessProbe:
tcpSocket:
port: {{ .Values.service.http.port }}
@@ -70,6 +70,7 @@ spec:
failureThreshold: 30
timeoutSeconds: 1
periodSeconds: 5
{{- if .Values.codeserver.enabled }}
- name: codeserver
image: "{{ .Values.codeserver.image.repository }}:{{ .Values.codeserver.image.tag }}"
imagePullPolicy: {{ .Values.codeserver.image.imagePullPolicy }}
@@ -85,12 +86,13 @@ spec:
{{- with .Values.codeserver.envFrom }}
envFrom:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- end }}
securityContext:
{{- toYaml .Values.codeserver.securityContext | nindent 12 }}
volumeMounts:
- mountPath: /config/home-assistant
name: home-assistant-config
{{- end }}
volumes:
- name: home-assistant-config
persistentVolumeClaim:

View File

@@ -0,0 +1,62 @@
{{- if .Values.ingressRoute.enabled }}
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: home-assistant
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`)"
middlewares:
- name: authentik
namespace: {{ .Release.Namespace }}
priority: 10
services:
- kind: Service
name: home-assistant
port: {{ .Values.service.http.port }}
- kind: Rule
match: "Host(`{{ .Values.ingressRoute.host }}`) && PathPrefix(`/outpost.goauthentik.io/`)"
priority: 15
services:
- kind: Service
name: {{ .Values.ingressRoute.authentik.outpost }}
port: {{ .Values.ingressRoute.authentik.port }}
{{- end }}
---
{{- if and .Values.codeserver.ingressRoute.enabled .Values.codeserver.enabled }}
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: home-assistant-codeserver
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: home-assistant
app.kubernetes.io/managed-by: helm
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: "Host(`{{ .Values.codeserver.ingressRoute.host }}`)"
priority: 10
services:
- kind: Service
name: home-assistant-codeserver
port: {{ .Values.codeserver.service.http.port }}
{{- end }}

View File

@@ -1,82 +0,0 @@
{{- if .Values.ingress.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: home-assistant
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
ingressClassName: "{{ .Values.ingress.host }}"
tls:
- hosts:
- "{{ .Values.ingress.host }}"
secretName: "{{ .Release.Name }}-secret-tls"
rules:
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /outpost.goauthentik.io/
pathType: Prefix
backend:
service:
name: "{{ .Values.ingress.authentik.outpost }}"
port:
number: {{ .Values.ingress.authentik.port }}
- host: "{{ .Values.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: http
port:
number: {{ .Values.service.http.port }}
{{- end }}
---
{{- if and .Values.codeserver.ingress.enabled Values.codeserver.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: codeserver-home-assistant
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: codeserver
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
app.kubernetes.io/part-of: {{ .Release.Name }}
app.kubernetes.io/managed-by: helm
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
ingressClassName: "{{ .Values.codeserver.ingress.host }}"
tls:
- hosts:
- "{{ .Values.codeserver.ingress.host }}"
secretName: "codeserver-{{ .Release.Name }}-secret-tls"
rules:
- host: "{{ .Values.codeserver.ingress.host }}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: codeserver-http
port:
number: {{ .Values.codeserver.service.http.port }}
{{- end }}

View File

@@ -1,4 +1,4 @@
{{- if .Values.ingress.enabled }}
{{- if .Values.ingressRoute.enabled }}
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
@@ -13,7 +13,7 @@ metadata:
app.kubernetes.io/managed-by: helm
spec:
forwardAuth:
address: "http://{{ .Values.ingress.authentik.outpost }}.authentik:{{ .Values.ingress.authentik.port }}/outpost.goauthentik.io/auth/traefik"
address: "http://{{ .Values.ingressRoute.authentik.outpost }}.authentik:{{ .Values.ingressRoute.authentik.port }}/outpost.goauthentik.io/auth/traefik"
trustForwardHeader: true
authResponseHeaders:
- X-authentik-username

View File

@@ -15,5 +15,5 @@ spec:
groups:
- name: {{ .Release.Name }}
rules:
{{- toYaml .Values.prometheusRule.rules | nindent 8 }}
{{- toYaml .Values.metrics.prometheusRule.rules | nindent 8 }}
{{- end }}

View File

@@ -13,23 +13,23 @@ metadata:
spec:
type: ClusterIP
ports:
- port: {{ .Values.service.http.port }}
targetPort: http
protocol: TCP
name: http
- port: {{ .Values.service.http.port }}
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
---
{{- if Values.codeserver.enabled }}
{{- if .Values.codeserver.enabled }}
apiVersion: v1
kind: Service
metadata:
name: home-assistant-codeserver
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: code-server
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
app.kubernetes.io/component: web
@@ -38,11 +38,11 @@ metadata:
spec:
type: ClusterIP
ports:
- port: {{ .Values.codeserver.service.http.port }}
targetPort: codeserver-http
protocol: TCP
name: codeserver-http
- port: {{ .Values.codeserver.service.http.port }}
targetPort: codeserver-http
protocol: TCP
name: codeserver-http
selector:
app.kubernetes.io/name: codeserver
app.kubernetes.io/name: home-assistant
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate
image:
repository: homeassistant/home-assistant
tag: 2024.2.1
tag: 2024.2.2
imagePullPolicy: IfNotPresent
env:
TZ: US/Mountain
@@ -18,7 +18,7 @@ deployment:
service:
http:
port: 8123
ingress:
ingressRoute:
enabled: true
host: homeassistant.alexlebens.net
authentik:
@@ -69,6 +69,6 @@ codeserver:
service:
http:
port: 8443
ingress:
ingressRoute:
enabled: true
host: codeserver.homeassistant.alexlebens.net

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: homepage
version: 0.0.4
version: 0.0.5
description: Chart for benphelps homepage
keywords:
- dashboard
@@ -9,4 +9,4 @@ sources:
maintainers:
- name: alexlebens
icon: https://github.com/benphelps/homepage/blob/de584eae8f12a0d257e554e9511ef19bd2a1232c/public/mstile-150x150.png
appVersion: v0.8.7
appVersion: v0.8.8

View File

@@ -3,7 +3,7 @@ deployment:
strategy: Recreate
image:
repository: ghcr.io/gethomepage/homepage
tag: v0.8.7
tag: v0.8.8
imagePullPolicy: IfNotPresent
env:
envFrom:

View File

@@ -1,14 +1,12 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base",
"config:recommended",
"mergeConfidence:all-badges"
],
"timezone": "MST7MDT",
"schedule": "before 8am every weekday",
"ignoreTests": true,
"timezone": "US/Mountain",
"lockFileMaintenance": {
"enabled": true,
"automerge": true
}
}
}