adjust for cluster deployment

This commit is contained in:
Wolfgang Hottgenroth 2023-11-08 14:37:29 +01:00
parent 696c299ac9
commit 05d10107ac
Signed by: wn
GPG Key ID: 836E9E1192A6B132
3 changed files with 74 additions and 11 deletions

41
deployment/install.yml Normal file
View File

@ -0,0 +1,41 @@
apiVersion: v1
kind: namespace
metadata:
name: pv-controller
---
apiVersion: v1
kind: ConfigMap
metadata:
name: pv-controller
namespace: pv-controller
data:
MQTT__BROKER: "emqx01-anonymous-cluster-internal.broker.svc.cluster.local"
MQTT__PORT: "1883"
MQTT__METERPUBLISHTOPIC: "IoT/PV/Values"
MQTT__METERPUBLISHPERIOD: "15"
MQTT__RELAISSUBSCRIBETOPIC: "IoT/PV/Cmd"
MODBUS__GATEWAY: "172.16.2.42"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: pv-controller
namespace: pv-controller
labels:
app: pv-controller
spec:
replicas: 1
selector:
matchLabels:
app: pv-controller
template:
metadata:
labels:
app: pv-controller
spec:
containers:
- name: pv-controller
image: wollud1969/sinkserver:e5f9d3e3
envFrom:
- configMapRef:
name: pv-controller

View File

@ -0,0 +1,31 @@
import os
class Config:
OPTIONS = {
'mqtt': [ 'login',
'password',
'ca',
'cert',
'key',
'broker',
'port',
'meterPublishTopic',
'meterPublishPeriod',
'relaisSubscribeTopic' ],
'modbus': [ 'gateway' ]
}
def __init__(self):
self.values = {}
for section, keys in OPTIONS:
self.values[section] = {}
for key in keys:
varname = f"{section}__{key}".upper()
try:
self.values[section][key] = os.environ[varname]
except KeyError:
pass
def __getitem__(self, section):
return self.values[index]

View File

@ -2,9 +2,8 @@ from MeterPublish import MeterPublish
from RelaisSubscribe import RelaisSubscribe
from ModbusBase import ModbusHandler
from loguru import logger
from config import Config
import logging
import argparse
import configparser
import threading
@ -23,15 +22,7 @@ def exceptHook(args):
logger.info("pv controller starting")
parser = argparse.ArgumentParser(description="pv controller")
parser.add_argument('--config', '-f',
help='Config file, default is $pwd/config.ini',
required=False,
default='./config.ini')
args = parser.parse_args()
config = configparser.ConfigParser()
config.read(args.config)
config = Config()
modbusHandler = ModbusHandler(config)