diff --git a/charts/incubator/somfyprotect2mqtt/.helmignore b/charts/incubator/somfyprotect2mqtt/.helmignore new file mode 100644 index 00000000000..77ca5567b26 --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/.helmignore @@ -0,0 +1,30 @@ +# 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 +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ +# OWNERS file for Kubernetes +OWNERS +# helm-docs templates +*.gotmpl +# docs folder +/docs +# icon +icon.png diff --git a/charts/incubator/somfyprotect2mqtt/CHANGELOG.md b/charts/incubator/somfyprotect2mqtt/CHANGELOG.md new file mode 100644 index 00000000000..825c32f0d03 --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/CHANGELOG.md @@ -0,0 +1 @@ +# Changelog diff --git a/charts/incubator/somfyprotect2mqtt/Chart.yaml b/charts/incubator/somfyprotect2mqtt/Chart.yaml new file mode 100644 index 00000000000..c790504801d --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/Chart.yaml @@ -0,0 +1,31 @@ +apiVersion: v2 +appVersion: "0.2.9" +dependencies: + - name: common + repository: https://library-charts.truecharts.org + version: 11.1.2 +deprecated: false +description: Somfy Protect to MQTT +home: https://truecharts.org/charts/incubator/somfyprotect2mqtt +icon: https://truecharts.org/img/hotlink-ok/chart-icons/somfyprotect2mqtt.png +keywords: + - somfyprotect2mqtt + - mqtt +kubeVersion: ">=1.16.0-0" +maintainers: + - email: info@truecharts.org + name: TrueCharts + url: https://truecharts.org +name: somfyprotect2mqtt +sources: + - https://github.com/truecharts/charts/tree/master/charts/incubator/somfyprotect2mqtt + - https://github.com/Minims/SomfyProtect2MQTT + - https://hub.docker.com/r/minims/somfyprotect2mqtt +type: application +version: 0.0.1 +annotations: + truecharts.org/catagories: | + - homeautomation + - mqtt + truecharts.org/SCALE-support: "true" + truecharts.org/grade: U diff --git a/charts/incubator/somfyprotect2mqtt/README.md b/charts/incubator/somfyprotect2mqtt/README.md new file mode 100644 index 00000000000..7e59600739c --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/README.md @@ -0,0 +1 @@ +# README diff --git a/charts/incubator/somfyprotect2mqtt/icon.png b/charts/incubator/somfyprotect2mqtt/icon.png new file mode 100644 index 00000000000..26019acad6b Binary files /dev/null and b/charts/incubator/somfyprotect2mqtt/icon.png differ diff --git a/charts/incubator/somfyprotect2mqtt/questions.yaml b/charts/incubator/somfyprotect2mqtt/questions.yaml new file mode 100644 index 00000000000..83ce1c6b895 --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/questions.yaml @@ -0,0 +1,192 @@ +# Include{groups} +portals: {} +questions: +# Include{global} +# Include{controller} +# Include{replicas} +# Include{replica1} +# Include{controllerExpertExtraArgs} somfyprotect2mqtt + - variable: somfyprotect2mqtt + group: App Configuration + label: SomfyProtect2MQTT Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: somfy + label: Somfy + schema: + additional_attrs: true + type: dict + attrs: + - variable: username + label: Username + schema: + type: string + required: true + default: "" + - variable: password + label: Password + schema: + type: string + required: true + private: true + default: "" + - variable: sites + label: Sites + description: Zones Label to check. + schema: + type: list + required: true + default: ["Maison"] + items: + - variable: sites_entry + label: Somfy Site Entry + description: Single site per entry. + schema: + type: string + default: "" + required: true + - variable: ha + label: Home-Assistant + schema: + additional_attrs: true + type: dict + attrs: + - variable: alarm_code + label: Alarm Code + description: Code to arm/disarm, Remove code to disable. + schema: + type: string + default: "" + - variable: alarm_code_arm_required + label: Alarm Code Required + schema: + type: boolean + default: false + - variable: alarm_code_disarm_required + label: Alarm Code Disarm Required + schema: + type: boolean + default: true + - variable: mqtt + label: MQTT + schema: + additional_attrs: true + type: dict + attrs: + - variable: host + label: Host + schema: + type: string + required: true + default: "" + - variable: port + label: Port + schema: + type: int + required: true + default: 1883 + - variable: username + label: Username + schema: + type: string + required: true + default: "" + - variable: password + label: Password + schema: + type: string + required: true + private: true + default: "" + - variable: client_id + label: Client ID + schema: + type: string + required: true + private: true + default: "" + - variable: topic_prefix + label: Topic Prefix + schema: + type: string + required: true + default: somfyProtect2mqtt + - variable: ha_discover_prefix + label: Home-Assistant Topic Prefix + schema: + type: string + required: true + default: homeassistant + - variable: delay_site + label: Delay Site (seconds) + schema: + type: int + default: 10 + min: 1 + - variable: delay_device + label: Delay Device (seconds) + schema: + type: int + default: 60 + min: 30 + - variable: manual_snapshot + label: Manual Snapshot + schema: + type: boolean + default: false +# Include{containerConfig} +# Include{serviceExpertRoot} + default: false +# Include{serviceExpert} +# Include{serviceList} +# Include{persistenceList} +# Include{security} +# Include{securityContextAdvancedRoot} + - variable: privileged + label: Privileged mode + schema: + type: boolean + default: false + - variable: readOnlyRootFilesystem + label: ReadOnly Root Filesystem + schema: + type: boolean + default: true + - variable: allowPrivilegeEscalation + label: Allow Privilege Escalation + schema: + type: boolean + default: false + - variable: runAsNonRoot + label: runAsNonRoot + schema: + type: boolean + default: false +# Include{podSecurityContextRoot} + - variable: runAsUser + label: runAsUser + description: The UserID of the user running the application + schema: + type: int + default: 0 + - variable: runAsGroup + label: runAsGroup + description: The groupID this App of the user running the application + schema: + type: int + default: 0 + - variable: fsGroup + label: fsGroup + description: The group that should own ALL storage. + schema: + type: int + default: 568 +# Include{podSecurityContextAdvanced} +# Include{resources} +# Include{advanced} +# Include{addons} +# Include{codeserver} +# Include{vpn} +# Include{documentation} diff --git a/charts/incubator/somfyprotect2mqtt/templates/_secret.tpl b/charts/incubator/somfyprotect2mqtt/templates/_secret.tpl new file mode 100644 index 00000000000..938e36854da --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/templates/_secret.tpl @@ -0,0 +1,46 @@ +{{/* Define the secret */}} +{{- define "somfyprotect2mqtt.secret" -}} + +{{- $secretName := printf "%s-secret" (include "tc.common.names.fullname" .) }} +{{- $secretStorageName := printf "%s-storage-secret" (include "tc.common.names.fullname" .) }} + +{{- $sp2mqtt := .Values.somfyprotect2mqtt }} +--- +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{ $secretName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +stringData: + config.yaml: | + somfy_protect: + username: {{ $sp2mqtt.somfy.username | quote }} + password: {{ $sp2mqtt.somfy.password | quote }} + + {{- with $sp2mqtt.somfy.sites }} + sites: + {{- range $site := . }} + - {{ . | quote }} + {{- end }} + {{- end }} + + homeassistant_config: + code: {{ $sp2mqtt.ha.alarm_code }} + code_arm_required: {{ ternary "true" "false" $sp2mqtt.ha.alarm_code_arm_required }} + code_disarm_required: {{ ternary "true" "false" $sp2mqtt.ha.alarm_code_disarm_required }} + + mqtt: + host: {{ $sp2mqtt.mqtt.host | quote }} + port: {{ $sp2mqtt.mqtt.port | quote }} + username: {{ $sp2mqtt.mqtt.username | quote }} + password: {{ $sp2mqtt.mqtt.password | quote }} + client-id: {{ $sp2mqtt.mqtt.client_id | quote }} + topic_prefix: {{ $sp2mqtt.mqtt.topic_prefix | quote }} + ha_discover_prefix: {{ $sp2mqtt.mqtt.ha_discover_prefix | quote }} + + delay_site: {{ $sp2mqtt.delay_site | quote }} + delay_device: {{ $sp2mqtt.delay_device | quote }} + manual_snapshot: {{ ternary "true" "false" $sp2mqtt.manual_snapshot }} +{{- end -}} diff --git a/charts/incubator/somfyprotect2mqtt/templates/common.yaml b/charts/incubator/somfyprotect2mqtt/templates/common.yaml new file mode 100644 index 00000000000..fec99bd0ea7 --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/templates/common.yaml @@ -0,0 +1,8 @@ +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{/* Render secret */}} +{{- include "somfyprotect2mqtt.secret" . }} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/charts/incubator/somfyprotect2mqtt/values.yaml b/charts/incubator/somfyprotect2mqtt/values.yaml new file mode 100644 index 00000000000..e8a64ee6c54 --- /dev/null +++ b/charts/incubator/somfyprotect2mqtt/values.yaml @@ -0,0 +1,60 @@ +image: + repository: tccr.io/truecharts/somfyprotect2mqtt + pullPolicy: IfNotPresent + tag: v0.2.9@sha256:96adf01880eb7569f86cc8b0637c9d0f2504df29ca336ba76456111c19c0c874 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +somfyprotect2mqtt: + somfy: + username: admin + password: password + sites: ["Maison"] + ha: + alarm_code: 1234 + alarm_code_arm_required: false + alarm_code_disarm_required: true + mqtt: + host: "0.0.0.0" + port: 1883 + username: admin + password: password + client_id: client_id + topic_prefix: somfyProtect2mqtt + ha_discover_prefix: homeassistant + delay_site: 10 + delay_device: 60 + manual_snapshot: false + +service: + main: + enabled: false + ports: + main: + enabled: false + +probes: + liveness: + enabled: false + readiness: + enabled: false + startup: + enabled: false + +persistence: + configfile: + enabled: true + type: secret + readOnly: true + defaultMode: "0600" + objectName: '{{ include "tc.common.names.fullname" . }}-secret' + mountPath: /config/config.yaml + subPath: config.yaml +portal: + enabled: false