From 3299a1029c05d1eb3bd64c853b6eff5e4b0f28ab Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Nov 2023 12:39:58 +1100 Subject: [PATCH 1/6] First pass at a test for persistent storage provisioning --- docker-compose.yml | 6 +++++- go.sum | 1 + main.go | 1 + mongo.go | 2 +- persistentstorage.go | 41 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 persistentstorage.go diff --git a/docker-compose.yml b/docker-compose.yml index 3a7403c..ea3a8bc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,7 @@ volumes: solr-7-data: solr-8-data: opensearch-2-data: + scratch: services: web: @@ -11,7 +12,7 @@ services: context: . dockerfile: Dockerfile labels: - lagoon.type: basic + lagoon.type: basic-persistent ports: - '3000:3000' container_name: go-web @@ -19,6 +20,9 @@ services: - LAGOON_TEST_VAR=internal-services-test - LAGOON_GIT_SHA=SHA256 - LAGOON_ENVIRONMENT_TYPE=development + - STORAGE_LOCATION=/app/files + volumes: + - scratch:/app/files mariadb-10-5: image: uselagoon/mariadb-10.5:latest diff --git a/go.sum b/go.sum index e973eaf..7cee906 100644 --- a/go.sum +++ b/go.sum @@ -115,6 +115,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/main.go b/main.go index a7f2998..a547756 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ func main() { r.HandleFunc("/solr", solrHandler) r.HandleFunc("/mongo", mongoHandler) r.HandleFunc("/opensearch", opensearchHandler) + r.HandleFunc("/storage", persistentStorageHandler) r.HandleFunc("/", handleReq) http.Handle("/", r) diff --git a/mongo.go b/mongo.go index d755dff..657efa7 100644 --- a/mongo.go +++ b/mongo.go @@ -27,7 +27,7 @@ func mongoHandler(w http.ResponseWriter, r *http.Request) { localService, lagoonService := cleanRoute(service) mongoUser := getEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") mongoPassword := getEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") - mongoHost := getEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) + mongoHost = getEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) mongoPort := getEnv(fmt.Sprintf("%s_PORT", lagoonService), "27017") mongoDatabase := getEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") diff --git a/persistentstorage.go b/persistentstorage.go new file mode 100644 index 0000000..e2b5969 --- /dev/null +++ b/persistentstorage.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "log" + "net/http" + "strconv" + + "os" +) + +func persistentStorageHandler(w http.ResponseWriter, r *http.Request) { + path := r.URL.RawQuery + fmt.Fprintf(w, persistentStorageConnector(path)) +} + +func persistentStorageConnector(route string) string { + if route != os.Getenv("STORAGE_LOCATION") { + return "Storage location is not defined - ensure format matches '/storage?path'" + } + path := route + "/storage.txt" + f, err := os.Create(path) + if err != nil { + log.Println(err) + } + + for _, e := range os.Environ() { + _, err := f.WriteString(strconv.Quote(e) + "\n") + if err != nil { + log.Print(err) + } + e := f.Sync() + if e != nil { + log.Print(e) + } + } + + fileBuffer, err := os.ReadFile(path) + var results = string(fileBuffer) + return results +} From 67812febb58d6a31d9978efa40163aa5978029f0 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Nov 2023 12:40:17 +1100 Subject: [PATCH 2/6] Updated to reflect new routing --- persistentstorage.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/persistentstorage.go b/persistentstorage.go index e2b5969..a930293 100644 --- a/persistentstorage.go +++ b/persistentstorage.go @@ -10,7 +10,7 @@ import ( ) func persistentStorageHandler(w http.ResponseWriter, r *http.Request) { - path := r.URL.RawQuery + path := r.URL.Query().Get("path") fmt.Fprintf(w, persistentStorageConnector(path)) } From 1aff9b7c828b1b4dd456638a543408c0d8fd342a Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Nov 2023 12:40:17 +1100 Subject: [PATCH 3/6] Included filtering on results --- persistentstorage.go | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/persistentstorage.go b/persistentstorage.go index a930293..86c4184 100644 --- a/persistentstorage.go +++ b/persistentstorage.go @@ -5,18 +5,20 @@ import ( "log" "net/http" "strconv" + "strings" "os" ) func persistentStorageHandler(w http.ResponseWriter, r *http.Request) { path := r.URL.Query().Get("path") + log.Print(fmt.Sprintf("Writing to %s", path)) fmt.Fprintf(w, persistentStorageConnector(path)) } func persistentStorageConnector(route string) string { if route != os.Getenv("STORAGE_LOCATION") { - return "Storage location is not defined - ensure format matches '/storage?path'" + return "Storage location is not defined - ensure format matches '/storage?path=[path]'" } path := route + "/storage.txt" f, err := os.Create(path) @@ -25,17 +27,21 @@ func persistentStorageConnector(route string) string { } for _, e := range os.Environ() { - _, err := f.WriteString(strconv.Quote(e) + "\n") - if err != nil { - log.Print(err) - } - e := f.Sync() - if e != nil { - log.Print(e) + if strings.Contains(e, "LAGOON_") { + _, err := f.WriteString(strconv.Quote(e) + "\n") + if err != nil { + log.Print(err) + } + e := f.Sync() + if e != nil { + log.Print(e) + } } } fileBuffer, err := os.ReadFile(path) var results = string(fileBuffer) - return results + storagePath := fmt.Sprintf(`"STORAGE_PATH=%s"`, path) + storageResults := storagePath + "\n" + results + return storageResults } From 010e4ae2eb7efa0356e285590899bea328070410 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 7 Nov 2023 12:41:09 +1100 Subject: [PATCH 4/6] Importing machinery --- main.go | 15 --------------- mariadb.go | 16 ++++++++-------- mongo.go | 15 ++++++++------- opensearch.go | 4 +++- persistentstorage.go | 6 +++--- postgres.go | 15 ++++++++------- 6 files changed, 30 insertions(+), 41 deletions(-) diff --git a/main.go b/main.go index a547756..388ae5e 100644 --- a/main.go +++ b/main.go @@ -6,13 +6,7 @@ import ( "github.com/gorilla/mux" "log" "net/http" - "os" "strings" - "time" -) - -var ( - localCheck = os.Getenv("LAGOON_ENVIRONMENT") ) type funcType func() map[string]string @@ -77,12 +71,3 @@ func cleanRoute(basePath string) (string, string) { lagoonService := strings.ToUpper(replaceHyphen) return localService, lagoonService } - -// getEnv get key environment variable if exist otherwise return defalutValue -func getEnv(key, defaultValue string) string { - value := os.Getenv(key) - if len(value) == 0 { - return defaultValue - } - return value -} diff --git a/mariadb.go b/mariadb.go index 15111ad..02a3b17 100644 --- a/mariadb.go +++ b/mariadb.go @@ -3,7 +3,7 @@ package main import ( "database/sql" "fmt" - _ "github.com/go-sql-driver/mysql" + machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" "os" @@ -16,13 +16,13 @@ var ( ) func mariadbHandler(w http.ResponseWriter, r *http.Request) { - service := r.URL.Query().Get("service") - localService, lagoonService := cleanRoute(service) - mariadbUser := getEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") - mariadbPassword := getEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") - mariadbHost := getEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) - mariadbPort := getEnv(fmt.Sprintf("%s_PORT", lagoonService), "3306") - mariadbDatabase := getEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") + mariadbPath := r.URL.Path + localService, lagoonService := cleanRoute(mariadbPath) + mariadbUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") + mariadbPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") + mariadbHost := machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) + mariadbPort := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PORT", lagoonService), "3306") + mariadbDatabase := machineryEnvVars.GetEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") mariadbConnectionStr = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", mariadbUser, mariadbPassword, mariadbHost, mariadbPort, mariadbDatabase) log.Print(fmt.Sprintf("Using %s as the connstring", mariadbConnectionStr)) diff --git a/mongo.go b/mongo.go index 657efa7..70fccee 100644 --- a/mongo.go +++ b/mongo.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" "os" @@ -23,13 +24,13 @@ var ( ) func mongoHandler(w http.ResponseWriter, r *http.Request) { - service := r.URL.Query().Get("service") - localService, lagoonService := cleanRoute(service) - mongoUser := getEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") - mongoPassword := getEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") - mongoHost = getEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) - mongoPort := getEnv(fmt.Sprintf("%s_PORT", lagoonService), "27017") - mongoDatabase := getEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") + mongoPath := r.URL.Path + localService, lagoonService := cleanRoute(mongoPath) + mongoUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") + mongoPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") + mongoHost = machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) + mongoPort := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PORT", lagoonService), "27017") + mongoDatabase := machineryEnvVars.GetEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") if mongoHost != localService { mongoConnectionStr = fmt.Sprintf("mongodb://%s:%s@%s:%s/%s", mongoUser, mongoPassword, mongoHost, mongoPort, mongoDatabase) diff --git a/opensearch.go b/opensearch.go index fd0ea29..d70a5a2 100644 --- a/opensearch.go +++ b/opensearch.go @@ -5,6 +5,7 @@ import ( "crypto/tls" "encoding/json" "fmt" + machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" "os" @@ -17,7 +18,8 @@ import ( ) var ( - opensearchHost string + opensearchHost = machineryEnvVars.GetEnv("OPENSEARCH_HOST", "opensearch-2") + opensearchConnectionStr = fmt.Sprintf("http://%s:9200", opensearchHost) ) func opensearchHandler(w http.ResponseWriter, r *http.Request) { diff --git a/persistentstorage.go b/persistentstorage.go index 86c4184..ceb4a8e 100644 --- a/persistentstorage.go +++ b/persistentstorage.go @@ -2,12 +2,12 @@ package main import ( "fmt" + machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" + "os" "strconv" "strings" - - "os" ) func persistentStorageHandler(w http.ResponseWriter, r *http.Request) { @@ -17,7 +17,7 @@ func persistentStorageHandler(w http.ResponseWriter, r *http.Request) { } func persistentStorageConnector(route string) string { - if route != os.Getenv("STORAGE_LOCATION") { + if route != machineryEnvVars.GetEnv("STORAGE_LOCATION", "") { return "Storage location is not defined - ensure format matches '/storage?path=[path]'" } path := route + "/storage.txt" diff --git a/postgres.go b/postgres.go index 9bc2a0a..45ff44b 100644 --- a/postgres.go +++ b/postgres.go @@ -3,6 +3,7 @@ package main import ( "database/sql" "fmt" + machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" "os" @@ -18,13 +19,13 @@ var ( ) func postgresHandler(w http.ResponseWriter, r *http.Request) { - service := r.URL.Query().Get("service") - localService, lagoonService := cleanRoute(service) - postgresUser := getEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") - postgresPassword := getEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") - postgresHost := getEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) - postgresPort := getEnv(fmt.Sprintf("%s_PORT", lagoonService), "5432") - postgresDatabase := getEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") + postgresPath := r.URL.Path + localService, lagoonService := cleanRoute(postgresPath) + postgresUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") + postgresPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") + postgresHost := machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) + postgresPort := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PORT", lagoonService), "5432") + postgresDatabase := machineryEnvVars.GetEnv(fmt.Sprintf("%s_DATABASE", lagoonService), "lagoon") postgresConnectionStr = fmt.Sprintf("user=%s password=%s dbname=%s sslmode=%s host=%s port=%s", postgresUser, postgresPassword, postgresDatabase, postgresSSL, postgresHost, postgresPort) log.Print(fmt.Sprintf("Using %s as the connstring", postgresConnectionStr)) From 9ace088da9e0b268cf0df46f62ad485eb03169f6 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 7 Nov 2023 13:33:12 +1100 Subject: [PATCH 5/6] minor post-rebase fixups --- TESTING_dockercompose.md | 4 ++++ go.mod | 1 + go.sum | 6 ++++-- main.go | 1 + mariadb.go | 5 +++-- mongo.go | 4 ++-- opensearch.go | 4 +--- postgres.go | 4 ++-- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/TESTING_dockercompose.md b/TESTING_dockercompose.md index 9862af9..a1046d0 100644 --- a/TESTING_dockercompose.md +++ b/TESTING_dockercompose.md @@ -76,6 +76,10 @@ docker compose exec -T commons sh -c "curl -kL http://go-web:3000/solr?service=s # solr-8 should be able to read/write data docker compose exec -T commons sh -c "curl -kL http://go-web:3000/solr?service=solr-8" | grep "SERVICE_HOST=solr-8" docker compose exec -T commons sh -c "curl -kL http://go-web:3000/solr?service=solr-8" | grep "LAGOON_TEST_VAR=internal-services-test" + +# persistent storage should be able to read/write data +docker compose exec -T commons sh -c "curl -kL http://go-web:3000/storage?path=/app/files" | grep "STORAGE_PATH=/app/files/storage.txt" +docker compose exec -T commons sh -c "curl -kL http://go-web:3000/storage?path=/app/files" | grep "LAGOON_TEST_VAR=internal-services-test" ``` Destroy tests diff --git a/go.mod b/go.mod index 89fd4ef..ae08217 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/lib/pq v1.10.9 github.com/opensearch-project/opensearch-go/v2 v2.3.0 github.com/redis/go-redis/v9 v9.3.0 + github.com/uselagoon/machinery v0.0.12 github.com/vanng822/go-solr v0.10.0 go.mongodb.org/mongo-driver v1.12.1 ) diff --git a/go.sum b/go.sum index 7cee906..e597c44 100644 --- a/go.sum +++ b/go.sum @@ -28,8 +28,9 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -56,6 +57,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/uselagoon/machinery v0.0.12 h1:TJnA+FrL1uEhRTjJ6dExiL4G7SOQ+hUfGuWDmbW2HBA= +github.com/uselagoon/machinery v0.0.12/go.mod h1:h/qeMWQR4Qqu33x+8AulNDeolEwvb/G+aIsn/jyUtwk= github.com/vanng822/go-solr v0.10.0 h1:oygAxyFL2apSN8vddxDXoyho40z66Guu9nwH7ANr6wM= github.com/vanng822/go-solr v0.10.0/go.mod h1:FSglzTPzoNVKTXP+SqEQiiz284cKzcKpeRXmwPa81wc= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= @@ -115,7 +118,6 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/main.go b/main.go index 388ae5e..558fe84 100644 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( "log" "net/http" "strings" + "time" ) type funcType func() map[string]string diff --git a/mariadb.go b/mariadb.go index 02a3b17..93c4f6d 100644 --- a/mariadb.go +++ b/mariadb.go @@ -3,6 +3,7 @@ package main import ( "database/sql" "fmt" + _ "github.com/go-sql-driver/mysql" machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" @@ -16,8 +17,8 @@ var ( ) func mariadbHandler(w http.ResponseWriter, r *http.Request) { - mariadbPath := r.URL.Path - localService, lagoonService := cleanRoute(mariadbPath) + service := r.URL.Query().Get("service") + localService, lagoonService := cleanRoute(service) mariadbUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") mariadbPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") mariadbHost := machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) diff --git a/mongo.go b/mongo.go index 70fccee..7a04c7a 100644 --- a/mongo.go +++ b/mongo.go @@ -24,8 +24,8 @@ var ( ) func mongoHandler(w http.ResponseWriter, r *http.Request) { - mongoPath := r.URL.Path - localService, lagoonService := cleanRoute(mongoPath) + service := r.URL.Query().Get("service") + localService, lagoonService := cleanRoute(service) mongoUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") mongoPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") mongoHost = machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) diff --git a/opensearch.go b/opensearch.go index d70a5a2..fd0ea29 100644 --- a/opensearch.go +++ b/opensearch.go @@ -5,7 +5,6 @@ import ( "crypto/tls" "encoding/json" "fmt" - machineryEnvVars "github.com/uselagoon/machinery/utils/variables" "log" "net/http" "os" @@ -18,8 +17,7 @@ import ( ) var ( - opensearchHost = machineryEnvVars.GetEnv("OPENSEARCH_HOST", "opensearch-2") - opensearchConnectionStr = fmt.Sprintf("http://%s:9200", opensearchHost) + opensearchHost string ) func opensearchHandler(w http.ResponseWriter, r *http.Request) { diff --git a/postgres.go b/postgres.go index 45ff44b..cae84a2 100644 --- a/postgres.go +++ b/postgres.go @@ -19,8 +19,8 @@ var ( ) func postgresHandler(w http.ResponseWriter, r *http.Request) { - postgresPath := r.URL.Path - localService, lagoonService := cleanRoute(postgresPath) + service := r.URL.Query().Get("service") + localService, lagoonService := cleanRoute(service) postgresUser := machineryEnvVars.GetEnv(fmt.Sprintf("%s_USERNAME", lagoonService), "lagoon") postgresPassword := machineryEnvVars.GetEnv(fmt.Sprintf("%s_PASSWORD", lagoonService), "lagoon") postgresHost := machineryEnvVars.GetEnv(fmt.Sprintf("%s_HOST", lagoonService), localService) From 16e0337cd9b288e29b150a22496fe0497f4fe631 Mon Sep 17 00:00:00 2001 From: Toby Bellwood Date: Tue, 7 Nov 2023 15:55:07 +1100 Subject: [PATCH 6/6] set a default STORAGE_LOCATION in Dockerfile --- Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6fd1386..a2f6362 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,9 +8,7 @@ RUN go get github.com/joho/godotenv RUN go build && chmod +x ./internal-services-test -ENV SOLR_HOST=solr \ - REDIS_HOST=redis \ - OPENSEARCH_HOST=opensearch-2 +ENV STORAGE_LOCATION='/app/files' EXPOSE 3000