adjust for cluster deployment
This commit is contained in:
parent
696c299ac9
commit
05d10107ac
41
deployment/install.yml
Normal file
41
deployment/install.yml
Normal 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
|
31
src/pv_controller/config.py
Normal file
31
src/pv_controller/config.py
Normal 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]
|
||||||
|
|
@ -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)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user