From a5209dad8ffed919b850f9f839e1fd27dbb581e6 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 5 Dec 2023 16:21:30 +0100 Subject: [PATCH] fix configuration --- .gitignore | 1 + deployment/deploy-yml.tmpl | 3 +++ deployment/load-config.sh | 22 +++++++++++++++ src/udi/config/config.go | 3 ++- src/udi/dispatcher/dispatcher.go | 42 +++++++++++++++++++++++------ src/udi/handlers/handler/handler.go | 1 + src/udi/handlers/iot/iot.go | 7 ++++- src/udi/handlers/mbgw3/mbgw3.go | 7 ++++- src/udi/handlers/pv/pv.go | 7 ++++- src/udi/handlers/sve/sve.go | 9 +++++-- src/udi/handlers/ttn/ttn.go | 7 ++++- 11 files changed, 94 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 0eeb6e2..2e962ac 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ src/udi/udi src/udi/migrate_schema tmp/ ENVDB +ENVDB.cluster diff --git a/deployment/deploy-yml.tmpl b/deployment/deploy-yml.tmpl index 4c1e9a5..3160d11 100644 --- a/deployment/deploy-yml.tmpl +++ b/deployment/deploy-yml.tmpl @@ -37,6 +37,9 @@ spec: secretKeyRef: name: udi-conf key: UDI_CONF + envFrom: + - secretRef: + name: udi-db-cred volumeMounts: - mountPath: /archive name: udi-archive diff --git a/deployment/load-config.sh b/deployment/load-config.sh index 042c45b..7acae53 100755 --- a/deployment/load-config.sh +++ b/deployment/load-config.sh @@ -23,3 +23,25 @@ kubectl create secret generic $SECRET_NAME \ -o yaml \ --save-config | \ kubectl apply -f - + +. ~/Workspace/MyKubernetesEnv/ENVDB +DATABASE=udi +LOGIN=udi +PASSWORD=`openssl rand -base64 24` +psql < %s", self.id, message.Topic, message.Payload) } diff --git a/src/udi/handlers/mbgw3/mbgw3.go b/src/udi/handlers/mbgw3/mbgw3.go index 2e620e8..104e962 100644 --- a/src/udi/handlers/mbgw3/mbgw3.go +++ b/src/udi/handlers/mbgw3/mbgw3.go @@ -5,6 +5,7 @@ import ( //"reflect" "time" "strconv" + "fmt" "encoding/json" "udi/config" "udi/handlers/handler" @@ -30,7 +31,7 @@ type Observation struct { } -func NewMbgw3Handler(config config.HandlerConfigT) *Mbgw3Handler { +func NewMbgw3Handler(config config.HandlerConfigT) handler.Handler { t := &Mbgw3Handler { id: idSeq, } @@ -39,6 +40,10 @@ func NewMbgw3Handler(config config.HandlerConfigT) *Mbgw3Handler { return t } +func (self *Mbgw3Handler) GetId() string { + return fmt.Sprintf("MBGW3%d", self.id) +} + func (self *Mbgw3Handler) Handle(message handler.MessageT) { // log.Printf("Handler MBGW3 %d processing %s -> %s", self.id, message.Topic, message.Payload) diff --git a/src/udi/handlers/pv/pv.go b/src/udi/handlers/pv/pv.go index cab86b0..42d9b6a 100644 --- a/src/udi/handlers/pv/pv.go +++ b/src/udi/handlers/pv/pv.go @@ -4,6 +4,7 @@ import ( "log" "reflect" "time" + "fmt" "encoding/json" "udi/config" "udi/handlers/handler" @@ -39,7 +40,7 @@ type PvValue struct { } -func NewPvHandler(config config.HandlerConfigT) *PvHandler { +func NewPvHandler(config config.HandlerConfigT) handler.Handler { t := &PvHandler { id: idSeq, } @@ -48,6 +49,10 @@ func NewPvHandler(config config.HandlerConfigT) *PvHandler { return t } +func (self *PvHandler) GetId() string { + return fmt.Sprintf("PV%d", self.id) +} + func (self *PvHandler) Handle(message handler.MessageT) { //log.Printf("Handler PV %d processing %s -> %s", self.id, message.Topic, message.Payload) diff --git a/src/udi/handlers/sve/sve.go b/src/udi/handlers/sve/sve.go index 1f6e53e..8024d3f 100644 --- a/src/udi/handlers/sve/sve.go +++ b/src/udi/handlers/sve/sve.go @@ -6,6 +6,7 @@ import ( "strconv" "strings" "regexp" + "fmt" "udi/config" "udi/handlers/handler" "udi/database" @@ -38,13 +39,13 @@ type localConfig struct { } -func NewSveHandler(config config.HandlerConfigT) *SingleValueExtractorHandler { +func NewSveHandler(config config.HandlerConfigT) handler.Handler { t := &SingleValueExtractorHandler { id: idSeq, ready: false, } idSeq += 1 - + var localConfig localConfig if config.Attributes["application"] == "" { log.Println("Error: application not configured") @@ -111,6 +112,10 @@ func NewSveHandler(config config.HandlerConfigT) *SingleValueExtractorHandler { return t } +func (self *SingleValueExtractorHandler) GetId() string { + return fmt.Sprintf("SVE%d", self.id) +} + func lost(msg string, message handler.MessageT) { log.Printf("Error: %s, message %s is lost", msg, message) } diff --git a/src/udi/handlers/ttn/ttn.go b/src/udi/handlers/ttn/ttn.go index aa3ec54..2d582fa 100644 --- a/src/udi/handlers/ttn/ttn.go +++ b/src/udi/handlers/ttn/ttn.go @@ -1,6 +1,7 @@ package ttn import "log" +import "fmt" import "udi/handlers/handler" var idSeq int = 0 @@ -9,7 +10,7 @@ type TTNHandler struct { id int } -func NewTTNHandler() *TTNHandler { +func NewTTNHandler() handler.Handler { t := &TTNHandler { id: idSeq, } @@ -17,6 +18,10 @@ func NewTTNHandler() *TTNHandler { return t } +func (self *TTNHandler) GetId() string { + return fmt.Sprintf("TTN%d", self.id) +} + func (self *TTNHandler) Handle(message handler.MessageT) { log.Printf("Handler TTN %d processing %s -> %s", self.id, message.Topic, message.Payload) }