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 RelaisSubscribe import RelaisSubscribe
from ModbusBase import ModbusHandler from ModbusBase import ModbusHandler
from loguru import logger from loguru import logger
from config import Config
import logging import logging
import argparse
import configparser
import threading import threading
@ -23,15 +22,7 @@ def exceptHook(args):
logger.info("pv controller starting") logger.info("pv controller starting")
parser = argparse.ArgumentParser(description="pv controller") config = Config()
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)
modbusHandler = ModbusHandler(config) modbusHandler = ModbusHandler(config)