Yoink from marc
Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
This commit is contained in:
parent
a85822b7d2
commit
1f676a184b
|
@ -0,0 +1 @@
|
|||
1.33.2
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
filename=$(date '+%Y%m%d%H%M%S').tgz
|
||||
for i in $(talosctl -n 192.168.1.26 list /var/mnt/storage/zigbee2mqtt | grep 192.168 | tail -n 4 | awk '{print $2}'); do talosctl -n 192.168.1.26 read /var/mnt/storage/zigbee2mqtt/$i >$i; done
|
||||
tar czf ${filename} $(talosctl -n 192.168.1.26 list /var/mnt/storage/zigbee2mqtt | grep 192.168 | tail -n 4 | awk '{print $2}' | xargs echo)
|
||||
rm $(talosctl -n 192.168.1.26 list /var/mnt/storage/zigbee2mqtt | grep 192.168 | tail -n 4 | awk '{print $2}' | xargs echo)
|
||||
echo copy to https://minio.service.consul/browser/backups/emlnYmVlMm1xdHQv
|
|
@ -0,0 +1,174 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
app.kubernetes.io/version: 1.19.1
|
||||
helm.sh/chart: zigbee2mqtt-9.4.2
|
||||
name: zigbee2mqtt-settings
|
||||
namespace: zigbee2mqtt
|
||||
data:
|
||||
configuration.yaml: |
|
||||
advanced:
|
||||
homeassistant_discovery_topic: homeassistant
|
||||
homeassistant_status_topic: homeassistant/status
|
||||
last_seen: ISO_8601
|
||||
log_level: debug
|
||||
log_output:
|
||||
- console
|
||||
network_key: '!secrets network_key'
|
||||
channel: 25
|
||||
experimental:
|
||||
new_api: true
|
||||
frontend:
|
||||
port: 8080
|
||||
homeassistant: true
|
||||
serial:
|
||||
adapter: deconz
|
||||
port: 'tcp://ser2net.ser2net.svc.cluster.local:3001'
|
||||
mqtt:
|
||||
base_topic: zigbee2mqtt
|
||||
include_device_information: true
|
||||
server: 'mqtt://mosquitto.service.kube'
|
||||
permit_join: false
|
||||
devices:
|
||||
'0x001788010694ee2d':
|
||||
friendly_name: pantry
|
||||
'0xb0ce1814032e8038':
|
||||
friendly_name: kitchen_1
|
||||
'0xb0ce1814032d2128':
|
||||
friendly_name: kitchen_2
|
||||
'0xb0ce1814032ea0c1':
|
||||
friendly_name: kitchen_3
|
||||
'0xb0ce1814032df653':
|
||||
friendly_name: kitchen_5
|
||||
'0xb0ce1814032f02e8':
|
||||
friendly_name: kitchen_4
|
||||
'0xb0ce1814032d77bd':
|
||||
friendly_name: kitchen_sink
|
||||
'0x001788010694ea33':
|
||||
friendly_name: dining_5
|
||||
'0x00178801042b6376':
|
||||
friendly_name: dining_1
|
||||
'0x0017880104889944':
|
||||
friendly_name: dining_2
|
||||
'0x00178801065ce007':
|
||||
friendly_name: dining_3
|
||||
'0x00178801065d8925':
|
||||
friendly_name: dining_4
|
||||
'0x00178801031a913d':
|
||||
friendly_name: laundry_1
|
||||
'0x00178801031f5205':
|
||||
friendly_name: laundry_2
|
||||
'0x0017880106da874e':
|
||||
friendly_name: living_room_2
|
||||
'0x00178801063b3145':
|
||||
friendly_name: living_room_1
|
||||
'0x00178801087745db':
|
||||
friendly_name: downstairs_hall_1
|
||||
'0x001788010877486e':
|
||||
friendly_name: front_door_1
|
||||
'0x0017880106c41569':
|
||||
friendly_name: front_door_2
|
||||
'0x00178801065f8c7c':
|
||||
friendly_name: library_1
|
||||
'0x00178801065d6823':
|
||||
friendly_name: half_bath_2
|
||||
'0x0017880106a97503':
|
||||
friendly_name: half_bath_1
|
||||
'0xb0ce1814032e09c8':
|
||||
friendly_name: downstairs_hall_2
|
||||
groups:
|
||||
'1':
|
||||
friendly_name: kitchen
|
||||
devices:
|
||||
- 0xb0ce1814032e8038/1
|
||||
- 0xb0ce1814032d2128/1
|
||||
- 0xb0ce1814032ea0c1/1
|
||||
- 0xb0ce1814032df653/1
|
||||
- 0xb0ce1814032f02e8/1
|
||||
'2':
|
||||
friendly_name: downstairs
|
||||
devices:
|
||||
- 0xb0ce1814032e8038/1
|
||||
- 0x001788010694ee2d/11
|
||||
- 0xb0ce1814032d2128/1
|
||||
- 0xb0ce1814032ea0c1/1
|
||||
- 0xb0ce1814032d77bd/1
|
||||
- 0xb0ce1814032df653/1
|
||||
- 0xb0ce1814032f02e8/1
|
||||
- 0x001788010694ea33/11
|
||||
- 0x00178801042b6376/11
|
||||
- 0x0017880104889944/11
|
||||
- 0x00178801065ce007/11
|
||||
- 0x00178801065d8925/11
|
||||
- 0x0017880106da874e/11
|
||||
- 0x00178801063b3145/11
|
||||
- 0x00178801087745db/11
|
||||
- 0x001788010877486e/11
|
||||
- 0x0017880106c41569/11
|
||||
- 0x00178801065f8c7c/11
|
||||
- 0x00178801065d6823/11
|
||||
- 0x0017880106a97503/11
|
||||
- 0x00178801031a913d/11
|
||||
- 0x00178801031f5205/11
|
||||
- 0xb0ce1814032e09c8/1
|
||||
'3':
|
||||
friendly_name: dining_room
|
||||
devices:
|
||||
- 0x001788010694ea33/11
|
||||
- 0x00178801042b6376/11
|
||||
- 0x0017880104889944/11
|
||||
- 0x00178801065ce007/11
|
||||
- 0x00178801065d8925/11
|
||||
'4':
|
||||
friendly_name: living_room
|
||||
devices:
|
||||
- 0x0017880106da874e/11
|
||||
- 0x00178801063b3145/11
|
||||
'5':
|
||||
friendly_name: laundry_room
|
||||
devices:
|
||||
- 0x00178801031a913d/11
|
||||
- 0x00178801031f5205/11
|
||||
'6':
|
||||
friendly_name: library
|
||||
devices:
|
||||
- 0x001788010877486e/11
|
||||
- 0x0017880106c41569/11
|
||||
- 0x00178801065f8c7c/11
|
||||
- 0x00178801087745db/11
|
||||
'7':
|
||||
friendly_name: half_bath
|
||||
devices:
|
||||
- 0x00178801065d6823/11
|
||||
- 0x0017880106a97503/11
|
||||
'8':
|
||||
friendly_name: all
|
||||
devices:
|
||||
- 0xb0ce1814032e8038/1
|
||||
- 0x001788010694ee2d/11
|
||||
- 0xb0ce1814032d2128/1
|
||||
- 0xb0ce1814032ea0c1/1
|
||||
- 0xb0ce1814032d77bd/1
|
||||
- 0xb0ce1814032df653/1
|
||||
- 0xb0ce1814032f02e8/1
|
||||
- 0x001788010694ea33/11
|
||||
- 0x00178801042b6376/11
|
||||
- 0x0017880104889944/11
|
||||
- 0x00178801065ce007/11
|
||||
- 0x00178801065d8925/11
|
||||
- 0x0017880106da874e/11
|
||||
- 0x00178801063b3145/11
|
||||
- 0x00178801087745db/11
|
||||
- 0x001788010877486e/11
|
||||
- 0x0017880106c41569/11
|
||||
- 0x00178801065f8c7c/11
|
||||
- 0x00178801065d6823/11
|
||||
- 0x0017880106a97503/11
|
||||
- 0x00178801031a913d/11
|
||||
- 0x00178801031f5205/11
|
||||
- 0xb0ce1814032e09c8/1
|
|
@ -0,0 +1,12 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: zigbee2mqtt
|
||||
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- configmap.yaml
|
||||
- vault.yaml
|
||||
- zigbee2mqtt.yaml
|
||||
- pv.yaml
|
||||
- pvc.yaml
|
||||
- traefik.yaml
|
|
@ -0,0 +1,6 @@
|
|||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
labels:
|
||||
name: zigbee2mqtt
|
||||
name: zigbee2mqtt
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: zigbee2mqtt
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
capacity:
|
||||
storage: 128Mi
|
||||
hostPath:
|
||||
path: /var/mnt/storage/zigbee2mqtt
|
||||
type: DirectoryOrCreate
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: feature.node.kubernetes.io/usb-08_0781_5597.present
|
||||
operator: Exists
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-path
|
||||
volumeMode: Filesystem
|
|
@ -0,0 +1,13 @@
|
|||
apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: zigbee2mqtt
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
storageClassName: local-path
|
||||
resources:
|
||||
requests:
|
||||
storage: 128Mi
|
||||
volumeMode: Filesystem
|
||||
volumeName: zigbee2mqtt
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: zigbee2mqtt-redirect
|
||||
annotations:
|
||||
kubernetes.io/ingress.class: traefik
|
||||
spec:
|
||||
entryPoints:
|
||||
- web
|
||||
routes:
|
||||
- kind: Rule
|
||||
match: Host(`zig.service.kube`)
|
||||
priority: 10
|
||||
middlewares:
|
||||
- name: httpredirectscheme
|
||||
namespace: traefik
|
||||
services:
|
||||
- name: zigbee2mqtt
|
||||
port: 8080
|
||||
---
|
||||
# Source: zigbee2mqtt/templates/ingress.yaml
|
||||
apiVersion: traefik.containo.us/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: zigbee2mqtt
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- kind: Rule
|
||||
match: Host(`zig.service.kube`)
|
||||
services:
|
||||
- name: zigbee2mqtt
|
||||
port: 8080
|
||||
tls: {}
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
apiVersion: secrets.hashicorp.com/v1beta1
|
||||
kind: VaultConnection
|
||||
metadata:
|
||||
name: default
|
||||
spec:
|
||||
address: http://192.168.3.2:8200
|
||||
skipTLSVerify: true
|
||||
---
|
||||
apiVersion: secrets.hashicorp.com/v1beta1
|
||||
kind: VaultStaticSecret
|
||||
metadata:
|
||||
name: zigbee2mqtt
|
||||
spec:
|
||||
vaultAuthRef: zigbee2mqtt
|
||||
mount: secret/
|
||||
type: kv-v2
|
||||
path: zigbee2mqtt
|
||||
refreshAfter: 60s
|
||||
destination:
|
||||
create: true
|
||||
name: zigbee2mqtt
|
||||
---
|
||||
apiVersion: secrets.hashicorp.com/v1beta1
|
||||
kind: VaultAuth
|
||||
metadata:
|
||||
name: zigbee2mqtt
|
||||
spec:
|
||||
method: kubernetes
|
||||
mount: kubernetes
|
||||
kubernetes:
|
||||
role: zigbee2mqtt
|
||||
serviceAccount: default
|
|
@ -0,0 +1,131 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
app.kubernetes.io/version: 1.19.1
|
||||
helm.sh/chart: zigbee2mqtt-9.4.2
|
||||
name: zigbee2mqtt
|
||||
namespace: zigbee2mqtt
|
||||
spec:
|
||||
ports:
|
||||
- name: http
|
||||
port: 8080
|
||||
protocol: TCP
|
||||
targetPort: http
|
||||
selector:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
type: ClusterIP
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
app.kubernetes.io/version: 1.19.1
|
||||
helm.sh/chart: zigbee2mqtt-9.4.2
|
||||
annotations:
|
||||
configmap.reloader.stakater.com/reload: "zigbee2mqtt-settings"
|
||||
name: zigbee2mqtt
|
||||
namespace: zigbee2mqtt
|
||||
spec:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
strategy:
|
||||
type: Recreate
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/instance: zigbee2mqtt
|
||||
app.kubernetes.io/name: zigbee2mqtt
|
||||
spec:
|
||||
automountServiceAccountToken: true
|
||||
initContainers:
|
||||
- command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- cp /configs/configuration.yaml /data/;echo $SECRETS_YAML | base64 -d >/data/secrets.yaml;
|
||||
image: alpine:latest
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: SECRETS_YAML
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
key: secrets
|
||||
name: zigbee2mqtt
|
||||
name: copy
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: data
|
||||
- mountPath: /configs/
|
||||
name: zigbee2mqtt-settings
|
||||
containers:
|
||||
- env:
|
||||
- name: ZIGBEE2MQTT_DATA
|
||||
value: /data
|
||||
image: koenkk/zigbee2mqtt:1.33.2
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
tcpSocket:
|
||||
port: 8080
|
||||
timeoutSeconds: 1
|
||||
name: zigbee2mqtt
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: http
|
||||
protocol: TCP
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
tcpSocket:
|
||||
port: 8080
|
||||
timeoutSeconds: 1
|
||||
securityContext:
|
||||
capabilities:
|
||||
add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
- SYS_ADMIN
|
||||
privileged: true
|
||||
startupProbe:
|
||||
failureThreshold: 30
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 5
|
||||
tcpSocket:
|
||||
port: 8080
|
||||
timeoutSeconds: 1
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: data
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
enableServiceLinks: true
|
||||
hostNetwork: true
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: feature.node.kubernetes.io/usb-08_0781_5597.present
|
||||
operator: Exists
|
||||
serviceAccountName: default
|
||||
volumes:
|
||||
- configMap:
|
||||
name: zigbee2mqtt-settings
|
||||
name: zigbee2mqtt-settings
|
||||
- name: data
|
||||
persistentVolumeClaim:
|
||||
claimName: zigbee2mqtt
|
Loading…
Reference in New Issue