From 9d947c08ba5acd182e959936677323b2cd301470 Mon Sep 17 00:00:00 2001 From: Joerg Lehmann Date: Thu, 7 Aug 2025 13:27:34 +0200 Subject: [PATCH] make some snippet content configurable --- README.md | 7 +++++++ main.go | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/README.md b/README.md index b3123d8..0cc2902 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,13 @@ $ TOKEN="XXXXXX influxdb access token with rw access rights XXXXXX" $ influx delete --token "${TOKEN}" --org minibeieliorg --bucket minibeielibucket --start 2021-06-01T10:53:00Z --stop 2021-06-01T10:53:00Z --predicate '_measurement="measurement" AND deveui="0000D3A659832805"' ``` +### Create and Push Docker Image +``` +Example: +$ podman login --username drpuur git.nbit.ch +$ podman build --tag git.nbit.ch/drpuur/mini-beieli-web:2025080701 -f ./Dockerfile +$ podman push git.nbit.ch/drpuur/wo-bisch-web:2025080701 +``` Autor: Joerg Lehmann, nbit Informatik GmbH diff --git a/main.go b/main.go index bbc9af0..119281d 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,23 @@ import ( "time" ) +func getConfigFromEnv(string item) { + var res = "" + configarr = strings.Split(os.Getenv("CONFIG_ENVVAR", "ADDRESS,INITIALCOST,MONTHLYCOST"), ',') + if len(configarr) < 3 { + logit("CONFIG_ENVVAR has less than 3 elements") + } + if item == "address" { + res = configarr[0] + } else if item == "initialcost" { + res = configarr[1] + } else if item == "monthlycost" { + res = configarr[2] + } else { + res = "NOTFOUND" + } +} + func serveTemplate(w http.ResponseWriter, r *http.Request) { logit("Called URL: " + r.URL.Path) // wennn kein File angegeben ist: index.html @@ -40,6 +57,9 @@ func serveTemplate(w http.ResponseWriter, r *http.Request) { t := time.Now() var datetimestring = t.Format("20060102150405") + var address = getConfigFromEnv("address") + var initialcost = getConfigFromEnv("initialcost") + var monthlycost = getConfigFromEnv("monthlycost") var scales = getMyDevs(userName) var last_metrics []OneMetric @@ -63,12 +83,19 @@ func serveTemplate(w http.ResponseWriter, r *http.Request) { data := struct { UserName string DateTimeString string + Address string + InitialCost string + MonthlyCost string + Address string Scales []string LastMetrics []OneMetric QueryValues map[string][]string }{ userName, datetimestring, + address, + initialcost, + monthlycost, scales, last_metrics, query_values,