diff --git a/apps/k8s01/iot/shelly.yaml b/apps/k8s01/iot/shelly.yaml
index 777dc0ba3c6108566cae9d4c6723ce3450bf6ee1..0afa15436191e86602a2b4b3374f55dce5f5728c 100644
--- a/apps/k8s01/iot/shelly.yaml
+++ b/apps/k8s01/iot/shelly.yaml
@@ -16,8 +16,8 @@ sops:
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-10-13T00:38:47Z"
-    mac: ENC[AES256_GCM,data:7t7a3ydeWcnt6igiasn9oJW6lvy1IdlPPPbDc0G3yHCt5uD03iKqMgy4oz9QjqhPKSqzsi2xeky90fMxzZ4L+l+FLaw5NWR92YtezrpVMCRiWPZS3rvur/KLOhjCpSzegq1Q5BQI9eTRQ+dlcP5LN77M9gZHebb5T8m74gowpps=,iv:9bLIvOSMFwy9HgJLtb7T6Hq7Q4oa+F4rmBUPhEhQys0=,tag:DvDIbQ7o3Xubfs4H5t7tKg==,type:str]
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
     pgp:
         - created_at: "2022-09-13T20:16:18Z"
           enc: |-
@@ -105,8 +105,8 @@ sops:
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-10-13T00:38:47Z"
-    mac: ENC[AES256_GCM,data:7t7a3ydeWcnt6igiasn9oJW6lvy1IdlPPPbDc0G3yHCt5uD03iKqMgy4oz9QjqhPKSqzsi2xeky90fMxzZ4L+l+FLaw5NWR92YtezrpVMCRiWPZS3rvur/KLOhjCpSzegq1Q5BQI9eTRQ+dlcP5LN77M9gZHebb5T8m74gowpps=,iv:9bLIvOSMFwy9HgJLtb7T6Hq7Q4oa+F4rmBUPhEhQys0=,tag:DvDIbQ7o3Xubfs4H5t7tKg==,type:str]
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
     pgp:
         - created_at: "2022-09-13T20:16:18Z"
           enc: |-
@@ -170,8 +170,8 @@ sops:
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-10-13T00:38:47Z"
-    mac: ENC[AES256_GCM,data:7t7a3ydeWcnt6igiasn9oJW6lvy1IdlPPPbDc0G3yHCt5uD03iKqMgy4oz9QjqhPKSqzsi2xeky90fMxzZ4L+l+FLaw5NWR92YtezrpVMCRiWPZS3rvur/KLOhjCpSzegq1Q5BQI9eTRQ+dlcP5LN77M9gZHebb5T8m74gowpps=,iv:9bLIvOSMFwy9HgJLtb7T6Hq7Q4oa+F4rmBUPhEhQys0=,tag:DvDIbQ7o3Xubfs4H5t7tKg==,type:str]
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
     pgp:
         - created_at: "2022-09-13T20:16:18Z"
           enc: |-
@@ -259,8 +259,162 @@ sops:
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-10-13T00:38:47Z"
-    mac: ENC[AES256_GCM,data:7t7a3ydeWcnt6igiasn9oJW6lvy1IdlPPPbDc0G3yHCt5uD03iKqMgy4oz9QjqhPKSqzsi2xeky90fMxzZ4L+l+FLaw5NWR92YtezrpVMCRiWPZS3rvur/KLOhjCpSzegq1Q5BQI9eTRQ+dlcP5LN77M9gZHebb5T8m74gowpps=,iv:9bLIvOSMFwy9HgJLtb7T6Hq7Q4oa+F4rmBUPhEhQys0=,tag:DvDIbQ7o3Xubfs4H5t7tKg==,type:str]
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
+    pgp:
+        - created_at: "2022-09-13T20:16:18Z"
+          enc: |-
+            -----BEGIN PGP MESSAGE-----
+
+            wcFMA7kpg2bgzVHcARAAoueYiNdU74lz+DKGnzIoohlWRe50KGl7LNC1znJvv+s9
+            7fHsooW6HH19EQS7W6+1rJSpgqVxMYcJ6pX9rBsdgCLGk6uplH/vbL1a6WvJxq5F
+            knxvjxVtseQtquXBeVQDd3AnqM9+N5l137Bu8nVJr0CyUG/O3bdjV+rMyX8Rst9E
+            umKqughRRiJEw+vC/4GIDDxB1p7eqVY98j8Ndg8arezY+iWUlRrZjBUvnlwLXh2w
+            1mLLc6A12hBU4fS2bXCajxEttwt8Iu91NZ6hT8suwPVkyt4Jvd+7xBBjVVjEu5ay
+            XOz75JFHv6NSA8dBS/JGf50QWDVN/5plODefNLZ8+hmLJLXxhVYjJtZ/Ui7gDNw5
+            o8FPt0npit+Y6cSu4fwtGRbfAgCucFRa8TRphFlEJc+pyj57IWhrsQ41oE1BDs5Z
+            9nycKz/gAui1gcWK5WyUohHJySjEQ7ylxltqhKNCeoS6IdJwvl8tJPBTm9PXkDOa
+            bLYquP7k8Kcs1HrjrMTDbB31oS+vbD1OEbzoe940844WT7xgMN0XyjgwoURlyDzG
+            0F8WQSgxXflg0iKcmh7LlO9Amon4RtvIzCM6+W+6TTjsSwof0gotBkcIiZ4/33p2
+            QuczC/zAXeNtCJllGtI4rodWQswfSfwr7o2GmkJLpTBLWchFwZKO9jObGF3Msn/S
+            UQEVtwrW0gXMCs8fhEd3nmGXB5egbY0i8IYosLMq13MzpaPMs9HdklG+C6PTzWun
+            A7nKh0USoxOfc/sWGg9C4DGxRbgOKIdp3fpLIEEy4BS5Ig==
+            =cQ+Y
+            -----END PGP MESSAGE-----
+          fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
+        - created_at: "2022-09-13T20:16:18Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4oYbIHZIrAPARAAlCWi5/GXzpM4EAEY94T9reZ/7J6z1U7WI02dkn0qvWiZ
+            YkjlZ/Cjw45pAworxxnvhDxAiD2LiQH8XpxhgNpmv0lirnwDwnmULxkA03R6iFao
+            /sa+68kXm3/CAA44yHErWg/iqigk8++b0PG29BrJgNmH1SRIKyV2nNT5QNPBPazT
+            iuXzNJEsM8WCPHO2oI0A8ESzBldxI6qPlyPw/HnXUfGB7/k4UvxF5/AsAwb0G+WC
+            c1D3T8xctRHH1/GcZf3TcTS8QVKgmIVJfIFCVvS9Gbmql2Lw7OENwWvCUjnirXpV
+            WtdogWMN29goWPVNGYnCb5nKfmrfSQHUMUqtCPFyNFrrkTbSW0wB5wdGh2/LyKyf
+            qT6gp0zLx2NOocEs7FCvhuEsWaeHbTYpW0klqwDg9CdKiDXGSvrBEa9a8lY0bLf0
+            yzp+UzK+m+rPBA7wMsl7EvWKQdzb48kHYkFBagHcqeyDS6nwKtNtzE5NpMn+7afN
+            ibSDFwEbPY8sgzt5nDKLTSXYqehi6y2ef47nNe3wU6EyLqs7IiZSNEMjfeCuLQwa
+            0VQ3sEWMibI6whwEMn+brLwjBk9ECgNzPZlfTJba3Wx2oX85/QmsGKdazrHBzRxI
+            DITDiW+gNEEStcv2FUPb/sYSNW6G3ZgiftSmsHphJvWdqYeckcVYgzlRK3nEDp7U
+            aAEJAhBuUESqrXlLqY3nubH8Esx+RqWMfJ18JnovuQta2ELLC2tv6Gq8Gv81NAab
+            vo2OImfMvO/PWSriyatax3PgcI49tCEeUQChqQ0j6uvnHKqJ7xySXLem18dlTtXI
+            AnX0OhNKJ0np
+            =I/wJ
+            -----END PGP MESSAGE-----
+          fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
+    encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|.*(H|h)osts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey|externalName)$
+    version: 3.7.3
+---
+apiVersion: v1
+kind: Service
+metadata:
+    name: ht01
+    namespace: iot
+spec:
+    type: ExternalName
+    externalName: ENC[AES256_GCM,data:pYSLgALc9RFkW6D1AF1EHwug1MzrIg==,iv:qIgzDwyfs2zIH9ln7/ZMjqMm7QvVW88qJgMPylb7OgA=,tag:uIZFt/comRZi9K0HxIj7oA==,type:str]
+    ports:
+        - port: 80
+          name: http
+          protocol: TCP
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
+    pgp:
+        - created_at: "2022-09-13T20:16:18Z"
+          enc: |-
+            -----BEGIN PGP MESSAGE-----
+
+            wcFMA7kpg2bgzVHcARAAoueYiNdU74lz+DKGnzIoohlWRe50KGl7LNC1znJvv+s9
+            7fHsooW6HH19EQS7W6+1rJSpgqVxMYcJ6pX9rBsdgCLGk6uplH/vbL1a6WvJxq5F
+            knxvjxVtseQtquXBeVQDd3AnqM9+N5l137Bu8nVJr0CyUG/O3bdjV+rMyX8Rst9E
+            umKqughRRiJEw+vC/4GIDDxB1p7eqVY98j8Ndg8arezY+iWUlRrZjBUvnlwLXh2w
+            1mLLc6A12hBU4fS2bXCajxEttwt8Iu91NZ6hT8suwPVkyt4Jvd+7xBBjVVjEu5ay
+            XOz75JFHv6NSA8dBS/JGf50QWDVN/5plODefNLZ8+hmLJLXxhVYjJtZ/Ui7gDNw5
+            o8FPt0npit+Y6cSu4fwtGRbfAgCucFRa8TRphFlEJc+pyj57IWhrsQ41oE1BDs5Z
+            9nycKz/gAui1gcWK5WyUohHJySjEQ7ylxltqhKNCeoS6IdJwvl8tJPBTm9PXkDOa
+            bLYquP7k8Kcs1HrjrMTDbB31oS+vbD1OEbzoe940844WT7xgMN0XyjgwoURlyDzG
+            0F8WQSgxXflg0iKcmh7LlO9Amon4RtvIzCM6+W+6TTjsSwof0gotBkcIiZ4/33p2
+            QuczC/zAXeNtCJllGtI4rodWQswfSfwr7o2GmkJLpTBLWchFwZKO9jObGF3Msn/S
+            UQEVtwrW0gXMCs8fhEd3nmGXB5egbY0i8IYosLMq13MzpaPMs9HdklG+C6PTzWun
+            A7nKh0USoxOfc/sWGg9C4DGxRbgOKIdp3fpLIEEy4BS5Ig==
+            =cQ+Y
+            -----END PGP MESSAGE-----
+          fp: 286791FB6648539775DB31B8FCB98C2A3EC6F601
+        - created_at: "2022-09-13T20:16:18Z"
+          enc: |
+            -----BEGIN PGP MESSAGE-----
+
+            hQIMA4oYbIHZIrAPARAAlCWi5/GXzpM4EAEY94T9reZ/7J6z1U7WI02dkn0qvWiZ
+            YkjlZ/Cjw45pAworxxnvhDxAiD2LiQH8XpxhgNpmv0lirnwDwnmULxkA03R6iFao
+            /sa+68kXm3/CAA44yHErWg/iqigk8++b0PG29BrJgNmH1SRIKyV2nNT5QNPBPazT
+            iuXzNJEsM8WCPHO2oI0A8ESzBldxI6qPlyPw/HnXUfGB7/k4UvxF5/AsAwb0G+WC
+            c1D3T8xctRHH1/GcZf3TcTS8QVKgmIVJfIFCVvS9Gbmql2Lw7OENwWvCUjnirXpV
+            WtdogWMN29goWPVNGYnCb5nKfmrfSQHUMUqtCPFyNFrrkTbSW0wB5wdGh2/LyKyf
+            qT6gp0zLx2NOocEs7FCvhuEsWaeHbTYpW0klqwDg9CdKiDXGSvrBEa9a8lY0bLf0
+            yzp+UzK+m+rPBA7wMsl7EvWKQdzb48kHYkFBagHcqeyDS6nwKtNtzE5NpMn+7afN
+            ibSDFwEbPY8sgzt5nDKLTSXYqehi6y2ef47nNe3wU6EyLqs7IiZSNEMjfeCuLQwa
+            0VQ3sEWMibI6whwEMn+brLwjBk9ECgNzPZlfTJba3Wx2oX85/QmsGKdazrHBzRxI
+            DITDiW+gNEEStcv2FUPb/sYSNW6G3ZgiftSmsHphJvWdqYeckcVYgzlRK3nEDp7U
+            aAEJAhBuUESqrXlLqY3nubH8Esx+RqWMfJ18JnovuQta2ELLC2tv6Gq8Gv81NAab
+            vo2OImfMvO/PWSriyatax3PgcI49tCEeUQChqQ0j6uvnHKqJ7xySXLem18dlTtXI
+            AnX0OhNKJ0np
+            =I/wJ
+            -----END PGP MESSAGE-----
+          fp: B137EE1549DFAF960DD1E2B15147025FB9F09E07
+    encrypted_regex: ^(data|stringData|email|dnsZones?|dnsNames?|.*(H|h)osts?|tang|externalURL|.*-secret|.*-url|.*Secrets?|.*-domain|password|subjects|node|apiURL|.*(S|s)erverNames?|.*SecretKey|externalName)$
+    version: 3.7.3
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+    name: ht01
+    namespace: iot
+    annotations:
+        forecastle.stakater.com/expose: "true"
+        forecastle.stakater.com/appName: Humidity & Temprature 01
+        forecastle.stakater.com/group: IoT
+        nginx.ingress.kubernetes.io/auth-response-headers: Authorization
+        nginx.ingress.kubernetes.io/auth-url: ENC[AES256_GCM,data:LtmYhpd4lLnuyYH9mF8aHNzChLTmrwgtCw==,iv:Dl/5jLP9WVl6oZ26TvUbWPNI6U50hOI6YAKFx4rU65Y=,tag:MUA/yQ+SrJ8F2meqqwlQEQ==,type:str]
+        nginx.ingress.kubernetes.io/auth-signin: https://$host/oauth2/start?rd=$escaped_request_uri
+        nginx.ingress.kubernetes.io/configuration-snippet: |
+            auth_request_set $name_upstream_1 $upstream_cookie_name_1;
+
+            access_by_lua_block {
+              if ngx.var.name_upstream_1 ~= "" then
+                ngx.header["Set-Cookie"] = "name_1=" .. ngx.var.name_upstream_1 .. ngx.var.auth_cookie:match("(; .*)")
+              end
+            }
+spec:
+    rules:
+        - host: ENC[AES256_GCM,data:dys6Cxmfwb0PVxULV3qUKlsISkcJ6VKh8ea86A==,iv:KywdcfWqytxLZ+YiudSilQbmVXyw0RtwTxh1Y72ePPQ=,tag:aU8iKSzG5CJhVGS0iNEQuw==,type:str]
+          http:
+            paths:
+                - path: /
+                  pathType: Prefix
+                  backend:
+                    service:
+                        name: ht01
+                        port:
+                            number: 80
+    tls:
+        - hosts:
+            - ENC[AES256_GCM,data:/KFtwRqIwB/p/YZFdScStA4lLIh4LbIVRTr6Ww==,iv:1/n79+GMntwDcPRX5YFnW9GGrYKY1Gwa1QWtXr9z7gY=,tag:SnmM98crU0HyJ2txaWOJ3g==,type:str]
+          secretName: ingress-iot-tls
+sops:
+    kms: []
+    gcp_kms: []
+    azure_kv: []
+    hc_vault: []
+    age: []
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
     pgp:
         - created_at: "2022-09-13T20:16:18Z"
           enc: |-
@@ -320,8 +474,8 @@ sops:
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-10-13T00:38:47Z"
-    mac: ENC[AES256_GCM,data:7t7a3ydeWcnt6igiasn9oJW6lvy1IdlPPPbDc0G3yHCt5uD03iKqMgy4oz9QjqhPKSqzsi2xeky90fMxzZ4L+l+FLaw5NWR92YtezrpVMCRiWPZS3rvur/KLOhjCpSzegq1Q5BQI9eTRQ+dlcP5LN77M9gZHebb5T8m74gowpps=,iv:9bLIvOSMFwy9HgJLtb7T6Hq7Q4oa+F4rmBUPhEhQys0=,tag:DvDIbQ7o3Xubfs4H5t7tKg==,type:str]
+    lastmodified: "2022-10-19T10:48:24Z"
+    mac: ENC[AES256_GCM,data:Z7eXAJ6irBaNnrIoNmzr6ee2NAj7Bh1m5wNdGGYU61A8kYUlCoZ0p1eA7QRdkMnCDnuXZUZrMHWciEB9hIbQfdDVzeV0PeY7UtD2kjfTyXwqbFPuMnVvO0HUEB/RVQ6kCortB+EbdRZlPcnj1bvKTtx/fea/2TaH951WCuOJSLU=,iv:pPGxKZkEnEswQGgsqBw2H7ra2fEYB6ccDZWVNLN/dbk=,tag:xLDX9nOUeXqg+7hP2QcJfQ==,type:str]
     pgp:
         - created_at: "2022-09-13T20:16:18Z"
           enc: |-