diff --git a/.github/workflows/helm_release.yaml b/.github/workflows/helm_release.yaml deleted file mode 100644 index f191b5e8..00000000 --- a/.github/workflows/helm_release.yaml +++ /dev/null @@ -1,32 +0,0 @@ -name: Release Charts - -on: - push: - branches: - - master - paths: - - 'charts/**' - -jobs: - release: - permissions: - contents: write - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Configure Git - run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1.6.0 - with: - skip_existing: true - mark_as_latest: false - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/release_please.yml b/.github/workflows/release_please.yml index b7d89d24..bf221a4d 100644 --- a/.github/workflows/release_please.yml +++ b/.github/workflows/release_please.yml @@ -26,41 +26,6 @@ jobs: target-branch: dev token: ${{secrets.GH_TOKEN}} - # we use grep,awk,sed here because the output from release-please despite being JSON, it's not valid (probably shell-escaping) and - # jq fails to parse it. Creates the output pr_branch - - name: Get the branch of the release-please PR - id: get_pr_branch - if: ${{ steps.release.outputs.prs_created == 'true' }} - run: | - BRANCH=$(echo '${{ steps.release.outputs.prs }}' | grep -o -P '\"headBranchName\":\"(.*?)\"' | awk -F':' '{print $2}' | tr -d \") - echo "pr_branch=${BRANCH}" >> $GITHUB_OUTPUT - - # Checkout PR branch - - uses: actions/checkout@v4 - if: ${{ steps.release.outputs.prs_created == 'true' }} - with: - repository: koenkk/zigbee2mqtt - path: ./z2m-pr - ref: ${{ steps.get_pr_branch.outputs.pr_branch }} - token: ${{secrets.GH_TOKEN}} - - - name: Add updated helm chart release versions and documentation to release PR - if: ${{ steps.release.outputs.prs_created == 'true' }} - run: | - pushd ./z2m-pr - Z2M_VERSION="$(jq -r '."."' .release-please-manifest.json)" - yq -i ".appVersion=\"${Z2M_VERSION}\"" charts/zigbee2mqtt/Chart.yaml - yq -i ".image.tag=\"${Z2M_VERSION}\"" charts/zigbee2mqtt/values.yaml - # Keep chart version in step lock with zigbee2mqtt - jq ".\"charts/zigbee2mqtt\"=\"${Z2M_VERSION}\"" .release-please-manifest.json > .release-please-manifest.json.tmp - mv .release-please-manifest.json.tmp .release-please-manifest.json - go run github.com/norwoodj/helm-docs/cmd/helm-docs@latest - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "github-actions[bot]" - git add . - git commit -m "chore(release): update helm-chart docs" - git push - # Checkout repos - uses: actions/checkout@v4 with: @@ -85,7 +50,7 @@ jobs: MASTER_ZHC_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee-herdsman-converters"') MASTER_ZH_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee-herdsman"') MASTER_FRONTEND_VERSION=$(cat z2m-master/package.json | jq -r '.dependencies."zigbee2mqtt-frontend"') - wget -q -O - https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/release-please--branches--dev/CHANGELOG.md > z2m/CHANGELOG.md + wget -q -O - https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/release-please--branches--dev--components--zigbee2mqtt/CHANGELOG.md > z2m/CHANGELOG.md cd z2m npm ci node scripts/generateChangelog.js $MASTER_Z2M_VERSION $MASTER_ZHC_VERSION $MASTER_ZH_VERSION $MASTER_FRONTEND_VERSION >> ../changelog.md diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 35c1690c..f8f7ed53 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,4 +1,3 @@ { - ".": "1.37.1", - "charts/zigbee2mqtt": "1.37.1" + ".": "1.37.1" } diff --git a/charts/zigbee2mqtt/.helmignore b/charts/zigbee2mqtt/.helmignore deleted file mode 100644 index 0e8a0eb3..00000000 --- a/charts/zigbee2mqtt/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/charts/zigbee2mqtt/CHANGELOG.md b/charts/zigbee2mqtt/CHANGELOG.md deleted file mode 100644 index fb622a25..00000000 --- a/charts/zigbee2mqtt/CHANGELOG.md +++ /dev/null @@ -1,8 +0,0 @@ -# Changelog - -## [1.37.1](https://github.com/Koenkk/zigbee2mqtt/compare/1.37.0...1.37.1) (2024-05-09) - - -### Bug Fixes - -* Add Helm chart ([#21852](https://github.com/Koenkk/zigbee2mqtt/issues/21852)) ([b2e8b3e](https://github.com/Koenkk/zigbee2mqtt/commit/b2e8b3e00c152540109e7b9101784f3b03261b40)) diff --git a/charts/zigbee2mqtt/Chart.yaml b/charts/zigbee2mqtt/Chart.yaml deleted file mode 100644 index c4d928b0..00000000 --- a/charts/zigbee2mqtt/Chart.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v2 -appVersion: 1.37.1 -description: Bridges events and allows you to control your Zigbee devices via MQTT -name: zigbee2mqtt -version: 1.37.1 -kubeVersion: ">=1.26.0-0" -keywords: - - zigbee - - mqtt - - home-assistant -home: https://github.com/Koenkk/zigbee2mqtt -icon: https://www.zigbee2mqtt.io/logo.png -sources: - - https://github.com/Koenkk/zigbee2mqtt -maintainers: - - name: Koen Kanters - email: XXXX diff --git a/charts/zigbee2mqtt/README.md b/charts/zigbee2mqtt/README.md deleted file mode 100644 index e3d426ae..00000000 --- a/charts/zigbee2mqtt/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# zigbee2mqtt - -![Version: 1.37.1](https://img.shields.io/badge/Version-1.37.1-informational?style=flat-square) ![AppVersion: 1.37.1](https://img.shields.io/badge/AppVersion-1.37.1-informational?style=flat-square) - -Bridges events and allows you to control your Zigbee devices via MQTT - -**Homepage:** - -## Maintainers - -| Name | Email | Url | -| ---- | ------ | --- | -| Koen Kanters | | | - -## Source Code - -* - -## Requirements - -Kubernetes: `>=1.26.0-0` - -## Values - -| Key | Type | Default | Description | -|-----|------|---------|-------------| -| customLabels | object | `{}` | | -| fullnameOverride | string | `nil` | override the name of the objects generated | -| image.imagePullSecrets | object | `{}` | Container additional secrets to pull image | -| image.pullPolicy | string | `"IfNotPresent"` | Container pull policy | -| image.repository | string | `"koenkk/zigbee2mqtt"` | Image repository for the `zigbee2mqtt` container. | -| image.tag | string | `"1.37.1"` | Version for the `zigbee2mqtt` container. | -| ingress.annotations | object | `{}` | | -| ingress.enabled | bool | `false` | When enabled a new Ingress will be created | -| ingress.hosts[0] | string | `"yourdomain.com"` | | -| ingress.ingressClassName | string | `"contour"` | | -| ingress.labels | object | `{}` | | -| ingress.path | string | `"/"` | | -| ingress.pathType | string | `"Prefix"` | | -| ingress.tls[0].hosts[0] | string | `"yourdomain.com"` | | -| ingress.tls[0].secretName | string | `"some-tls-secret"` | | -| nameOverride | string | `nil` | override the release name | -| service.annotations | object | `{}` | annotations for the service created | -| service.port | int | `8080` | port in which the service will be listening | -| service.type | string | `"LoadBalancer"` | type of Service to be created | -| statefulset.dnsPolicy | string | `"ClusterFirst"` | pod dns policy | -| statefulset.nodeSelector | object | `{}` | Select specific kube node, this will allow enforcing zigbee2mqtt running only on the node with the USB adapter connected | -| statefulset.resources | object | `{"limits":{"cpu":"200m","memory":"600Mi"},"requests":{"cpu":"200m","memory":"600Mi"}}` | CPU/Memory configuration for the pods | -| statefulset.storage.enabled | bool | `false` | | -| statefulset.storage.existingVolume | string | `""` | | -| statefulset.storage.matchExpressions | object | `{}` | | -| statefulset.storage.matchLabels | object | `{}` | | -| statefulset.storage.size | string | `"1Gi"` | | -| statefulset.storage.storageClassName | string | `"freenas-nfs-csi"` | the name for the storage class to be used in the persistent volume claim | -| statefulset.tolerations | object | `{}` | Node taint tolerations for the pods | -| zigbee2mqtt.advanced.adapter_concurrent | string | `nil` | Optional: configure adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value) | -| zigbee2mqtt.advanced.adapter_delay | int | `0` | Optional: Set the adapter delay, only used for Conbee/Raspbee adapters (default 0). In case you are having issues try `200`. For more information see https://github.com/Koenkk/zigbee2mqtt/issues/4884 | -| zigbee2mqtt.advanced.cache_state | bool | `true` | Has to be true when integrating via Home Assistant (default: true) | -| zigbee2mqtt.advanced.cache_state_persistent | bool | `true` | Optional: persist cached state, only used when cache_state: true (default: true) | -| zigbee2mqtt.advanced.cache_state_send_on_startup | bool | `true` | Optional: send cached state on startup, only used when cache_state_persistent: true (default: true) | -| zigbee2mqtt.advanced.channel | int | `11` | Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems) (default: 11) | -| zigbee2mqtt.advanced.elapsed | bool | `false` | Optional: Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg (default: false) | -| zigbee2mqtt.advanced.last_seen | string | `"disable"` | Optional: Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message possible values are: disable (default), ISO_8601, ISO_8601_local, epoch (default: disable) | -| zigbee2mqtt.advanced.legacy_api | bool | `false` | Optional: disables the legacy api (default: shown below) | -| zigbee2mqtt.advanced.log_level | string | `"info"` | | -| zigbee2mqtt.advanced.log_output | list | `["console"]` | Optional: network encryption key GENERATE will make Zigbee2MQTT generate a new network key on next startup Note: changing requires repairing of all devices (default: shown below) network_key: null | -| zigbee2mqtt.advanced.report | bool | `true` | Optional: Enables report feature, this feature is DEPRECATED since reporting is now setup by default when binding devices. Docs can still be found here: https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/information/report.md | -| zigbee2mqtt.advanced.timestamp_format | string | `"YYYY-MM-DD HH:mm:ss"` | | -| zigbee2mqtt.advanced.transmit_power | int | `5` | Optional: Transmit power setting in dBm (default: 5). This will set the transmit power for devices that bring an inbuilt amplifier. It can't go over the maximum of the respective hardware and might be limited by firmware (for example to migrate heat, or by using an unsupported firmware). For the CC2652R(B) this is 5 dBm, CC2652P/CC1352P-2 20 dBm. | -| zigbee2mqtt.availability.active.timeout | int | `10` | Time after which an active device will be marked as offline in minutes (default = 10 minutes) | -| zigbee2mqtt.availability.passive.timeout | int | `1500` | Time after which a passive device will be marked as offline in minutes (default = 1500 minutes aka 25 hours) | -| zigbee2mqtt.external_converters | list | `[]` | | -| zigbee2mqtt.frontend.auth_token | string | `nil` | Optional, enables authentication, disabled by default, cleartext (no hashing required) | -| zigbee2mqtt.frontend.host | string | `"0.0.0.0"` | Optional, empty by default to listen on both IPv4 and IPv6. Opens a unix socket when given a path instead of an address (e.g. '/run/zigbee2mqtt/zigbee2mqtt.sock') Don't set this if you use Docker or the Home Assistant add-on unless you're sure the chosen IP is available inside the container | -| zigbee2mqtt.frontend.port | int | `8080` | Mandatory, default 8080 | -| zigbee2mqtt.frontend.url | string | `nil` | Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page | -| zigbee2mqtt.homeassistant.discovery_topic | string | `"homeassistant"` | | -| zigbee2mqtt.homeassistant.enabled | bool | `true` | | -| zigbee2mqtt.homeassistant.legacy_entity_attributes | bool | `true` | | -| zigbee2mqtt.homeassistant.legacy_triggers | bool | `false` | | -| zigbee2mqtt.homeassistant.status_topic | string | `"hass/status"` | | -| zigbee2mqtt.mqtt.server | string | `"mqtt://localhost:1883"` | Required: MQTT server URL (use mqtts:// for SSL/TLS connection) | -| zigbee2mqtt.ota | object | `{"disable_automatic_update_check":false,"ikea_ota_use_test_url":false,"update_check_interval":1440}` | Optional: OTA update settings See https://www.zigbee2mqtt.io/guide/usage/ota_updates.html for more info | -| zigbee2mqtt.ota.disable_automatic_update_check | bool | `false` | Disable automatic update checks | -| zigbee2mqtt.ota.ikea_ota_use_test_url | bool | `false` | Optional: use IKEA TRADFRI OTA test server, see OTA updates documentation (default: false) | -| zigbee2mqtt.ota.update_check_interval | int | `1440` | Minimum time between OTA update checks | -| zigbee2mqtt.permit_join | bool | `false` | Optional: allow new devices to join. | -| zigbee2mqtt.serial.baudrate | int | `115200` | Optional: Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600. | -| zigbee2mqtt.serial.disable_led | bool | `false` | Optional: disable LED of the adapter if supported (default: false) | -| zigbee2mqtt.serial.port | string | `"/dev/ttyACM0"` | Required: location of the adapter (e.g. CC2531). USB adapters - use format "port: /dev/ttyACM0" To autodetect the USB port, set 'port: null'. Ethernet adapters - use format "port: tcp://192.168.1.12:6638" | -| zigbee2mqtt.serial.rtscts | bool | `false` | Optional: RTS / CTS Hardware Flow Control for serial port (default: false) | -| zigbee2mqtt.timezone | string | `"UTC"` | | - diff --git a/charts/zigbee2mqtt/templates/_helpers.tpl b/charts/zigbee2mqtt/templates/_helpers.tpl deleted file mode 100644 index 33c1aeb5..00000000 --- a/charts/zigbee2mqtt/templates/_helpers.tpl +++ /dev/null @@ -1,37 +0,0 @@ -{{/* vim: set filetype=mustache: */}} - -{{/* Expand the name of the chart.*/}} -{{- define "zigbee2mqtt.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "zigbee2mqtt.fullname" -}} -{{- if .Values.fullnameOverride }} -{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- $name := default .Chart.Name .Values.nameOverride }} -{{- if contains $name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} -{{- end }} - - -{{/* labels for helm resources */}} -{{- define "zigbee2mqtt.labels" -}} -app.kubernetes.io/instance: "{{ .Release.Name }}" -app.kubernetes.io/managed-by: "{{ .Release.Service }}" -app.kubernetes.io/name: "{{ template "zigbee2mqtt.name" . }}" -app.kubernetes.io/version: "{{ .Chart.AppVersion }}" -helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" -{{- if .Values.customLabels }} -{{ toYaml .Values.customLabels | indent 2 -}} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/charts/zigbee2mqtt/templates/configmap.yaml b/charts/zigbee2mqtt/templates/configmap.yaml deleted file mode 100644 index c7952f7c..00000000 --- a/charts/zigbee2mqtt/templates/configmap.yaml +++ /dev/null @@ -1,39 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "zigbee2mqtt.fullname" . }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "zigbee2mqtt.labels" . | nindent 4 }} - {{- with .Values.service.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -data: - configuration.yaml: | - # Define the files which contains the configs. As k8s config maps - # Are read only by design, we need to extract dynamic config to external files - devices: devices.yaml - groups: groups.yaml - {{- if .Values.zigbee2mqtt.homeassistant }} - homeassistant: - {{- .Values.zigbee2mqtt.homeassistant | toYaml | nindent 6}} - {{- end }} - ota: - {{- .Values.zigbee2mqtt.ota | toYaml | nindent 6}} - permit_join: {{ .Values.zigbee2mqtt.permit_join }} - {{- if .Values.zigbee2mqtt.availability }} - availability: - {{- .Values.zigbee2mqtt.availability | toYaml | nindent 6}} - {{- end }} - {{- if gt (len .Values.zigbee2mqtt.external_converters) 0 }} - external_converters: {{- .Values.zigbee2mqtt.external_converters }} - {{- end }} - mqtt: - {{- .Values.zigbee2mqtt.mqtt | toYaml | nindent 6}} - serial: - {{- .Values.zigbee2mqtt.serial | toYaml | nindent 6}} - frontend: - {{- .Values.zigbee2mqtt.frontend | toYaml | nindent 6}} - advanced: - {{- .Values.zigbee2mqtt.advanced | toYaml | nindent 6}} diff --git a/charts/zigbee2mqtt/templates/ingress.yaml b/charts/zigbee2mqtt/templates/ingress.yaml deleted file mode 100644 index d92d6121..00000000 --- a/charts/zigbee2mqtt/templates/ingress.yaml +++ /dev/null @@ -1,56 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $servicePort := .Values.service.port -}} -{{- $ingressPath := .Values.ingress.path -}} -{{- $ingressPathType := .Values.ingress.pathType -}} -{{- $fullName := include "zigbee2mqtt.fullname" . }} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ $fullName }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "zigbee2mqtt.labels" . | nindent 4 }} - {{- with .Values.ingress.labels }} - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with .Values.ingress.annotations }} - annotations: - {{- range $key, $value := . }} - {{ $key }}: {{ tpl $value $ | quote }} - {{- end }} - {{- end }} -spec: - ingressClassName: {{ .Values.ingress.ingressClassName }} - {{- with .Values.ingress.tls }} - tls: - {{- tpl (toYaml .) $ | nindent 4 }} - {{- end }} - rules: - {{- if .Values.ingress.hosts }} - {{- range .Values.ingress.hosts }} - - host: {{ tpl . $ | quote }} - http: - paths: - - path: {{ $ingressPath }} - pathType: {{ $ingressPathType }} - backend: - service: - name: {{ $fullName }} - port: - number: {{ $servicePort }} - {{- end }} - {{- else }} - - http: - paths: - - backend: - service: - name: {{ $fullName }} - port: - number: {{ $servicePort }} - {{- with $ingressPath }} - path: {{ . }} - {{- end }} - pathType: {{ $ingressPathType }} - - {{- end -}} -{{- end }} \ No newline at end of file diff --git a/charts/zigbee2mqtt/templates/service.yaml b/charts/zigbee2mqtt/templates/service.yaml deleted file mode 100644 index 9448f068..00000000 --- a/charts/zigbee2mqtt/templates/service.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "zigbee2mqtt.fullname" . }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "zigbee2mqtt.labels" . | nindent 4 }} - {{- with .Values.service.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - type: {{ .Values.service.type }} - selector: - app: {{ include "zigbee2mqtt.fullname" . }} - ports: - - name: http - port: {{ .Values.service.port }} - targetPort: web - protocol: TCP \ No newline at end of file diff --git a/charts/zigbee2mqtt/templates/statefulset.yaml b/charts/zigbee2mqtt/templates/statefulset.yaml deleted file mode 100644 index 91b0cb97..00000000 --- a/charts/zigbee2mqtt/templates/statefulset.yaml +++ /dev/null @@ -1,102 +0,0 @@ ---- -kind: StatefulSet -apiVersion: apps/v1 -metadata: - name: {{ include "zigbee2mqtt.fullname" . }} - namespace: {{ .Release.Namespace }} - labels: - {{- include "zigbee2mqtt.labels" . | nindent 4 }} -spec: - replicas: 1 - selector: - matchLabels: - app: {{ include "zigbee2mqtt.fullname" . }} - template: - metadata: - labels: - {{- include "zigbee2mqtt.labels" . | nindent 8 }} - app: {{ include "zigbee2mqtt.fullname" . }} - spec: - {{- if .Values.image.imagePullSecrets }} - imagePullSecrets: -{{ toYaml .Values.image.imagePullSecrets | indent 8 }} - {{- end }} - dnsPolicy: {{ .Values.statefulset.dnsPolicy }} -{{- with .Values.statefulset.affinity }} - affinity: -{{ toYaml . | indent 8 }} -{{- end }} - nodeSelector: -{{- with .Values.statefulset.nodeSelector }} -{{ toYaml . | indent 8 }} -{{- end }} - securityContext: - seccompProfile: - type: RuntimeDefault -{{- with .Values.statefulset.tolerations }} - tolerations: -{{ toYaml . | indent 8 }} -{{- end }} - containers: - - name: zigbee2mqtt - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - securityContext: - privileged: true - capabilities: - add: ["SYS_ADMIN"] - imagePullPolicy: {{ .Values.image.pullPolicy }} - env: - - name: TZ - value: {{ .Values.zigbee2mqtt.timezone }} - ports: - - containerPort: {{ .Values.zigbee2mqtt.frontend.port }} - name: web - protocol: TCP - livenessProbe: - failureThreshold: 5 - httpGet: - path: / - port: web - initialDelaySeconds: 60 - timeoutSeconds: 10 - periodSeconds: 30 - volumeMounts: - - mountPath: /app/data/configuration.yaml - name: config-volume - subPath: configuration.yaml - - mountPath: /app/data/ - name: data-volume - resources: {{- toYaml .Values.statefulset.resources | nindent 12 }} - volumes: - - name: config-volume - configMap: - name: {{ include "zigbee2mqtt.fullname" . }} - {{- if not .Values.statefulset.storage.enabled }} - - name: data-volume - emptyDir: { } - {{- end }} - {{- if .Values.statefulset.storage.enabled }} - volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: [ "ReadWriteOnce" ] - storageClassName: {{ .Values.statefulset.storage.storageClassName }} - {{- if .Values.statefulset.storage.existingVolume }} - volumeName: {{ .Values.statefulset.storage.existingVolume }} - {{- end }} - {{- if or .Values.statefulset.storage.matchLabels (.Values.statefulset.storage.matchExpressions) }} - selector: - {{- if .Values.statefulset.storage.matchLabels }} - matchLabels: - {{ toYaml .Values.statefulset.storage.matchLabels | indent 8 }} - {{- end -}} - {{- if .Values.statefulset.storage.matchExpressions }} - matchExpressions: - {{ toYaml .Values.statefulset.storage.matchExpressions | indent 8 }} - {{- end -}} - {{- end }} - resources: - requests: - storage: {{ .Values.statefulset.storage.size }} - {{- end }} \ No newline at end of file diff --git a/charts/zigbee2mqtt/values.yaml b/charts/zigbee2mqtt/values.yaml deleted file mode 100644 index 0745812f..00000000 --- a/charts/zigbee2mqtt/values.yaml +++ /dev/null @@ -1,201 +0,0 @@ -# -- override the release name -nameOverride: null -# -- override the name of the objects generated -fullnameOverride: null -customLabels: {} -image: - # -- Image repository for the `zigbee2mqtt` container. - repository: koenkk/zigbee2mqtt - # -- Version for the `zigbee2mqtt` container. - tag: "1.37.1" - # -- Container pull policy - pullPolicy: IfNotPresent - # -- Container additional secrets to pull image - imagePullSecrets: {} -service: - # -- annotations for the service created - annotations: {} - # -- type of Service to be created - type: LoadBalancer - # -- port in which the service will be listening - port: 8080 -statefulset: - storage: - enabled: false - size: 1Gi - # -- the name for the storage class to be used in the persistent volume claim - storageClassName: freenas-nfs-csi - existingVolume: "" - ## Persistent Volume selectors - ## https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector - matchLabels: {} - matchExpressions: {} - # -- pod dns policy - dnsPolicy: ClusterFirst - # -- CPU/Memory configuration for the pods - resources: - requests: - memory: 600Mi - cpu: 200m - limits: - memory: 600Mi - cpu: 200m - # -- Node taint tolerations for the pods - tolerations: {} - # -- Select specific kube node, this will allow enforcing zigbee2mqtt running - # only on the node with the USB adapter connected - nodeSelector: {} -zigbee2mqtt: - homeassistant: - enabled: true - discovery_topic: 'homeassistant' - status_topic: 'hass/status' - legacy_entity_attributes: true - legacy_triggers: false - # -- Optional: allow new devices to join. - permit_join: false - availability: - active: - # -- Time after which an active device will be marked as offline in - # minutes (default = 10 minutes) - timeout: 10 - passive: - # -- Time after which a passive device will be marked as offline in - # minutes (default = 1500 minutes aka 25 hours) - timeout: 1500 - timezone: UTC - external_converters: [] - mqtt: - # -- Required: MQTT server URL (use mqtts:// for SSL/TLS connection) - server: "mqtt://localhost:1883" - # -- Optional: MQTT base topic for Zigbee2MQTT MQTT messages (default: zigbee2mqtt) - # base_topic: zigbee2mqtt - # -- Optional: absolute path to SSL/TLS certificate of CA used to sign server and client certificates (default: nothing) - # ca: '/etc/ssl/mqtt-ca.crt' - # -- Optional: absolute paths to SSL/TLS key and certificate for client-authentication (default: nothing) - # key: '/etc/ssl/mqtt-client.key' - # cert: '/etc/ssl/mqtt-client.crt' - # -- Optional: MQTT server authentication user (default: nothing) - # user: my_user - # -- Optional: MQTT server authentication password (default: nothing) - # password: my_password - # -- Optional: MQTT client ID (default: nothing) - # client_id: 'MY_CLIENT_ID' - # -- Optional: disable self-signed SSL certificates (default: true) - # reject_unauthorized: true - # -- Optional: Include device information to mqtt messages (default: false) - # include_device_information: true - # -- Optional: MQTT keepalive in seconds (default: 60) - # keepalive: 60 - # -- Optional: MQTT protocol version (default: 4), set this to 5 if you - # use the 'retention' device specific configuration - # version: 4 - # -- Optional: Disable retain for all send messages. ONLY enable if you MQTT broker doesn't - # support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). - # Enabling will break the Home Assistant integration. (default: false) - # force_disable_retain: false - serial: - # -- Required: location of the adapter (e.g. CC2531). - # USB adapters - use format "port: /dev/ttyACM0" - # To autodetect the USB port, set 'port: null'. - # Ethernet adapters - use format "port: tcp://192.168.1.12:6638" - port: "/dev/ttyACM0" - # -- Optional: disable LED of the adapter if supported (default: false) - disable_led: false - # -- Optional: adapter type, not needed unless you are experiencing problems (default: shown below, options: zstack, deconz, ezsp) - # adapter: null - # -- Optional: Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600. - baudrate: 115200 - # -- Optional: RTS / CTS Hardware Flow Control for serial port (default: false) - rtscts: false - # -- Optional: OTA update settings - # See https://www.zigbee2mqtt.io/guide/usage/ota_updates.html for more info - ota: - # -- Optional: use IKEA TRADFRI OTA test server, see OTA updates documentation (default: false) - ikea_ota_use_test_url: false - # -- Minimum time between OTA update checks - update_check_interval: 1440 - # -- Disable automatic update checks - disable_automatic_update_check: false - frontend: - # -- Mandatory, default 8080 - port: 8080 - # -- Optional, empty by default to listen on both IPv4 and IPv6. Opens a unix socket when given a path instead of an address (e.g. '/run/zigbee2mqtt/zigbee2mqtt.sock') - # Don't set this if you use Docker or the Home Assistant add-on unless you're sure the chosen IP is available inside the container - host: 0.0.0.0 - # -- Optional, enables authentication, disabled by default, cleartext (no hashing required) - auth_token: null - # -- Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page - url: null - advanced: - # -- Optional: ZigBee pan ID (default: shown below) - # Setting pan_id: GENERATE will make Zigbee2MQTT generate a new panID on next startup - # pan_id: null - # Optional: Zigbee extended pan ID, GENERATE will make Zigbee2MQTT generate a new extended panID on next startup (default: shown below) - # ext_pan_id: null - # -- Optional: ZigBee channel, changing requires re-pairing of all devices. (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems) - # (default: 11) - channel: 11 - # -- Optional: network encryption key - # GENERATE will make Zigbee2MQTT generate a new network key on next startup - # Note: changing requires repairing of all devices (default: shown below) - # network_key: null - log_output: - - console - log_level: info - timestamp_format: 'YYYY-MM-DD HH:mm:ss' - # -- Optional: state caching, MQTT message payload will contain all attributes, not only changed ones. - # -- Has to be true when integrating via Home Assistant (default: true) - cache_state: true - # -- Optional: persist cached state, only used when cache_state: true (default: true) - cache_state_persistent: true - # -- Optional: send cached state on startup, only used when cache_state_persistent: true (default: true) - cache_state_send_on_startup: true - # -- Optional: Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message - # possible values are: disable (default), ISO_8601, ISO_8601_local, epoch (default: disable) - last_seen: 'disable' - # -- Optional: Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg (default: false) - elapsed: false - # -- Optional: Enables report feature, this feature is DEPRECATED since reporting is now setup by default - # when binding devices. Docs can still be found here: https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/information/report.md - report: true - # -- Optional: disables the legacy api (default: shown below) - legacy_api: false - # -- Optional: MQTT output type: json, attribute or attribute_and_json (default: shown below) - # Examples when 'state' of a device is published - # json: topic: 'zigbee2mqtt/my_bulb' payload '{"state": "ON"}' - # attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON" - # attribute_and_json: - # -- Optional: configure adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value) - adapter_concurrent: null - # -- Optional: Transmit power setting in dBm (default: 5). - # This will set the transmit power for devices that bring an inbuilt amplifier. - # It can't go over the maximum of the respective hardware and might be limited - # by firmware (for example to migrate heat, or by using an unsupported firmware). - # For the CC2652R(B) this is 5 dBm, CC2652P/CC1352P-2 20 dBm. - transmit_power: 5 - # -- Optional: Set the adapter delay, only used for Conbee/Raspbee adapters (default 0). - # In case you are having issues try `200`. - # For more information see https://github.com/Koenkk/zigbee2mqtt/issues/4884 - adapter_delay: 0 -ingress: - # -- When enabled a new Ingress will be created - enabled: false - # The ingress class name for the ingress - ingressClassName: contour - # Additional labels for the ingres - labels: {} - # URL in which the ingress will be accepting requests for zigbee2mqtt - path: / - # Ingress implementation specific (potentially) for most use cases Prefix should be ok - pathType: Prefix - # Additional annotations for the ingress. ExternalDNS, and CertManager are tipically integrated here - annotations: {} - # configuration for tls service (ig any) - tls: - - secretName: some-tls-secret - hosts: - - yourdomain.com - # list of hosts that should be allowed for the zigbee2mqtt service - hosts: - - yourdomain.com diff --git a/release-please-config.json b/release-please-config.json index cc560467..b42da355 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -5,19 +5,6 @@ "include-component-in-tag": false, "include-v-in-tag": false, "draft": true - }, - "charts/zigbee2mqtt": { - "release-type": "helm", - "include-component-in-tag": false, - "include-v-in-tag": false, - "draft": true, - "extra-files": [ - { - "type": "yaml", - "path": "charts/zigbee2mqtt", - "jsonpath": "$.appVersion" - } - ] } }, "pull-request-title-pattern": "chore${scope}: release ${version}",