Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
3040d72a0f | |||
897fcd184c | |||
fe724d11d7 | |||
169b054dff | |||
6b3bda7f0d |
40
.gitignore
vendored
Normal file
40
.gitignore
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
# General files for the project
|
||||
pkg/*
|
||||
*.pyc
|
||||
bin/*
|
||||
.project
|
||||
/.bin
|
||||
/_test/secrets/*.json
|
||||
*.tgz
|
||||
Chart.lock
|
||||
|
||||
# OSX leaves these everywhere on SMB shares
|
||||
._*
|
||||
|
||||
# OSX trash
|
||||
.DS_Store
|
||||
|
||||
# Files generated by JetBrains IDEs, e.g. IntelliJ IDEA
|
||||
.idea/
|
||||
*.iml
|
||||
|
||||
# Vscode files
|
||||
.vscode
|
||||
|
||||
# Emacs save files
|
||||
*~
|
||||
\#*\#
|
||||
.\#*
|
||||
|
||||
# Vim-related files
|
||||
[._]*.s[a-w][a-z]
|
||||
[._]s[a-w][a-z]
|
||||
*.un~
|
||||
Session.vim
|
||||
.netrwhist
|
||||
|
||||
# Chart dependencies
|
||||
**/charts/*.tgz
|
||||
|
||||
.history
|
||||
|
@ -1,6 +1 @@
|
||||
# My helm-charts
|
||||
|
||||
Create a new chart with script:
|
||||
```
|
||||
scripts/new-chart <chart-name>
|
||||
```
|
||||
|
@ -4,7 +4,7 @@ name: home-assistant
|
||||
description: Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts.
|
||||
type: application
|
||||
version: 1.0.0
|
||||
appVersion: v2024.11.1
|
||||
appVersion: 2024.11.1
|
||||
kubeVersion: ">=1.27.0"
|
||||
home: https://www.home-assistant.io/
|
||||
sources:
|
||||
@ -16,4 +16,4 @@ maintainers:
|
||||
dependencies:
|
||||
- name: lib
|
||||
repository: https://git.rre.nu/api/packages/jonas/helm
|
||||
version: 1.0.3
|
||||
version: 1.0.4
|
||||
|
@ -25,11 +25,18 @@ The following table lists the configurable parameters of the Home-assistant char
|
||||
| `ingress.hosts` | | `[{"host": "example.local", "paths": [{"path": "/", "pathType": "Prefix"}]}]` |
|
||||
| `ingress.annotations` | | `{}` |
|
||||
| `ingress.tls` | | `[]` |
|
||||
| `volumeClaimTemplates` | | `[{"name": "config", "mountPath": "/config", "accessMode": "ReadWriteOnce", "storageClassName": "default", "size": "1Gi"}]` |
|
||||
| `volumeClaimTemplates` | | `[{"name": "config", "mountPath": "/config", "accessMode": "ReadWriteOnce", "storageClassName": "longhorn", "size": "1Gi"}]` |
|
||||
| `livenessProbe.httpGet.path` | | `"/"` |
|
||||
| `livenessProbe.httpGet.port` | | `8123` |
|
||||
| `livenessProbe.initialDelaySeconds` | | `5` |
|
||||
| `livenessProbe.periodSeconds` | | `3` |
|
||||
| `volumes` | | `[{"name": "configs", "configMap": {"name": "hass-configs", "items": [{"key": "configuration.yaml", "path": "configuration.yaml"}, {"key": "automations.yaml", "path": "automations.yaml"}, {"key": "scenes.yaml", "path": "scenes.yaml"}, {"key": "scripts.yaml", "path": "scripts.yaml"}]}}, {"name": "secrets", "secret": {"secretName": "hass-secrets", "items": [{"key": "secrets.yaml", "path": "secrets.yaml"}]}}]` |
|
||||
| `volumeMounts` | | `[{"name": "configs", "mountPath": "/config/configuration.yaml", "subPath": "configuration.yaml", "readOnly": true}, {"name": "configs", "mountPath": "/config/automations.yaml", "subPath": "automations.yaml", "readOnly": true}, {"name": "configs", "mountPath": "/config/scenes.yaml", "subPath": "scenes.yaml", "readOnly": true}, {"name": "configs", "mountPath": "/config/scripts.yaml", "subPath": "scripts.yaml", "readOnly": true}, {"name": "secrets", "mountPath": "/config/secrets.yaml", "subPath": "secrets.yaml", "readOnly": true}]` |
|
||||
| `hass_configs.configuration.yaml` | | `"# Loads default set of integrations. Do not remove.\ndefault_config:\n\n# Load frontend themes from the themes folder\nfrontend:\n themes: !include_dir_merge_named themes\n\nautomation: !include automations.yaml\nscript: !include scripts.yaml\nscene: !include scenes.yaml\n"` |
|
||||
| `hass_configs.automations.yaml` | | `"[]\n"` |
|
||||
| `hass_configs.scenes.yaml` | | `"# scenes\n"` |
|
||||
| `hass_configs.scripts.yaml` | | `"# scripts\n"` |
|
||||
| `hass_secrets.secrets.yaml` | | `"# Use this file to store secrets like usernames and passwords.\n# Learn more at https://www.home-assistant.io/docs/configuration/secrets/\nsome_password: welcome\n"` |
|
||||
|
||||
|
||||
|
||||
|
7
charts/home-assistant/templates/configuration.yaml
Normal file
7
charts/home-assistant/templates/configuration.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: hass-configs
|
||||
namespace: {{ .Values.namespace | default "default" }}
|
||||
labels: {{ include "lib.labels" . | nindent 4 }}
|
||||
data: {{ .Values.hass_configs | toYaml | nindent 2 }}
|
11
charts/home-assistant/templates/secrets.yaml
Normal file
11
charts/home-assistant/templates/secrets.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: hass-secrets
|
||||
namespace: {{ .Values.namespace | default "default" }}
|
||||
labels: {{ include "lib.labels" . | nindent 4 }}
|
||||
type: Opauge
|
||||
data:
|
||||
{{- range $n, $v := .Values.hass_secrets -}}
|
||||
{{ $n | nindent 2 }}: {{ $v | b64enc }}
|
||||
{{- end }}
|
@ -1,4 +1,3 @@
|
||||
|
||||
image:
|
||||
repository: ghcr.io/home-assistant/home-assistant
|
||||
tag:
|
||||
@ -32,18 +31,83 @@ ingress:
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
|
||||
volumeClaimTemplates:
|
||||
- name: config
|
||||
mountPath: /config
|
||||
accessMode: "ReadWriteOnce"
|
||||
storageClassName: "default"
|
||||
storageClassName: "longhorn"
|
||||
size: 1Gi
|
||||
|
||||
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8123
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 3
|
||||
|
||||
volumes:
|
||||
- name: configs
|
||||
configMap:
|
||||
name: hass-configs
|
||||
items:
|
||||
- key: configuration.yaml
|
||||
path: configuration.yaml
|
||||
- key: automations.yaml
|
||||
path: automations.yaml
|
||||
- key: scenes.yaml
|
||||
path: scenes.yaml
|
||||
- key: scripts.yaml
|
||||
path: scripts.yaml
|
||||
- name: secrets
|
||||
secret:
|
||||
secretName: hass-secrets
|
||||
items:
|
||||
- key: secrets.yaml
|
||||
path: secrets.yaml
|
||||
|
||||
volumeMounts:
|
||||
- name: configs
|
||||
mountPath: /config/configuration.yaml
|
||||
subPath: configuration.yaml
|
||||
readOnly: true
|
||||
- name: configs
|
||||
mountPath: /config/automations.yaml
|
||||
subPath: automations.yaml
|
||||
readOnly: true
|
||||
- name: configs
|
||||
mountPath: /config/scenes.yaml
|
||||
subPath: scenes.yaml
|
||||
readOnly: true
|
||||
- name: configs
|
||||
mountPath: /config/scripts.yaml
|
||||
subPath: scripts.yaml
|
||||
readOnly: true
|
||||
- name: secrets
|
||||
mountPath: /config/secrets.yaml
|
||||
subPath: secrets.yaml
|
||||
readOnly: true
|
||||
|
||||
hass_configs:
|
||||
configuration.yaml: |
|
||||
# Loads default set of integrations. Do not remove.
|
||||
default_config:
|
||||
|
||||
# Load frontend themes from the themes folder
|
||||
frontend:
|
||||
themes: !include_dir_merge_named themes
|
||||
|
||||
automation: !include automations.yaml
|
||||
script: !include scripts.yaml
|
||||
scene: !include scenes.yaml
|
||||
automations.yaml: |
|
||||
[]
|
||||
scenes.yaml: |
|
||||
# scenes
|
||||
scripts.yaml: |
|
||||
# scripts
|
||||
|
||||
hass_secrets:
|
||||
secrets.yaml: |
|
||||
# Use this file to store secrets like usernames and passwords.
|
||||
# Learn more at https://www.home-assistant.io/docs/configuration/secrets/
|
||||
some_password: welcome
|
||||
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
name: node-red
|
||||
description:
|
||||
type: application
|
||||
version: 1.0.0
|
||||
appVersion:
|
||||
kubeVersion: ">=1.27.0"
|
||||
home:
|
||||
sources:
|
||||
- https://git.rre.nu/jonas/helm-charts
|
||||
maintainers:
|
||||
- name: Jonas Forsberg
|
||||
email: barregargamel@gmail.com
|
||||
dependencies:
|
||||
- name: lib
|
||||
repository: https://git.rre.nu/api/packages/jonas/helm
|
||||
version: 1.0.3
|
@ -1,2 +0,0 @@
|
||||
doc:
|
||||
frigate gen --output-format markdown --no-deps --no-credits ./ > README.md
|
@ -1 +0,0 @@
|
||||
{{ include "lib.all" . }}
|
@ -1,32 +0,0 @@
|
||||
image:
|
||||
repository:
|
||||
tag:
|
||||
|
||||
controller: # main workload
|
||||
enabled: true # should the main workload be included or not
|
||||
type: deployment # valid options are deployment, statefulset, job
|
||||
|
||||
service:
|
||||
http:
|
||||
enabled: false
|
||||
ports:
|
||||
http:
|
||||
port: 80
|
||||
targetPort: 8123
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
service: http # what service should the ingress target
|
||||
servicePort: 80
|
||||
className: "nginx"
|
||||
hosts:
|
||||
- host: example.local
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
annotations:
|
||||
{}
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [[ "$(git rev-parse --abbrev-ref HEAD)" == "main" ]]; then
|
||||
echo "Create a new branch first!"
|
||||
exit 1;
|
||||
fi
|
||||
CHART_NAME="$1"
|
||||
REPO_PATH=$(git rev-parse --show-toplevel)
|
||||
|
||||
type yq >/dev/null 2>&1 || { echo "yq not found, quitting!"; exit 1; }
|
||||
|
||||
if [[ -z "$CHART_NAME" ]]; then
|
||||
echo "no chartname given"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [[ -d "${REPO_PATH}/charts/${CHART_NAME}" ]]; then
|
||||
echo "chart-name already exists"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
cp -r "${REPO_PATH}/skeleton" "${REPO_PATH}/charts/${CHART_NAME}"
|
||||
|
||||
yq -i ".name=\"${CHART_NAME}\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
|
||||
yq -i ".maintainers[0].name=\"$(git config user.name)\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
|
||||
yq -i ".maintainers[0].email=\"$(git config user.email)\"" "${REPO_PATH}/charts/${CHART_NAME}/Chart.yaml"
|
||||
|
||||
echo "Start editing your chart at: ${REPO_PATH}/charts/${CHART_NAME}/"
|
@ -1,18 +0,0 @@
|
||||
---
|
||||
apiVersion: v2
|
||||
name:
|
||||
description:
|
||||
type: application
|
||||
version: 1.0.0
|
||||
appVersion:
|
||||
kubeVersion: ">=1.27.0"
|
||||
home:
|
||||
sources:
|
||||
- https://git.rre.nu/jonas/helm-charts
|
||||
maintainers:
|
||||
- name:
|
||||
email:
|
||||
dependencies:
|
||||
- name: lib
|
||||
repository: https://git.rre.nu/api/packages/jonas/helm
|
||||
version: 1.0.3
|
@ -1,2 +0,0 @@
|
||||
doc:
|
||||
frigate gen --output-format markdown --no-deps --no-credits ./ > README.md
|
@ -1 +0,0 @@
|
||||
{{ include "lib.all" . }}
|
@ -1,32 +0,0 @@
|
||||
image:
|
||||
repository:
|
||||
tag:
|
||||
|
||||
controller: # main workload
|
||||
enabled: true # should the main workload be included or not
|
||||
type: deployment # valid options are deployment, statefulset, job
|
||||
|
||||
service:
|
||||
http:
|
||||
enabled: false
|
||||
ports:
|
||||
http:
|
||||
port: 80
|
||||
targetPort: 8123
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
service: http # what service should the ingress target
|
||||
servicePort: 80
|
||||
className: "nginx"
|
||||
hosts:
|
||||
- host: example.local
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
annotations:
|
||||
{}
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
Loading…
Reference in New Issue
Block a user