Merge pull request #92 from tawoe/prestart

Prestart
This commit is contained in:
Simon Redfern 2025-02-27 11:33:11 +01:00 committed by GitHub
commit e3626403b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 30 additions and 4 deletions

View File

@ -1,5 +1,12 @@
VITE_OBP_API_HOST=VITE_OBP_API_HOST
VITE_OBP_API_PORTAL_HOST=VITE_OBP_API_PORTAL_HOST
VITE_OBP_API_MANAGER_HOST=VITE_OBP_API_MANAGER_HOST
VITE_OBP_API_VERSION=v5.1.0
VITE_OBP_LOGO_URL=VITE_OBP_LOGO_URL
VITE_OBP_API_VERSION=VITE_OBP_API_VERSION
VITE_OBP_LINKS_COLOR=VITE_OBP_LINKS_COLOR
VITE_OBP_HEADER_LINKS_COLOR=VITE_OBP_HEADER_LINKS_COLOR
VITE_OBP_HEADER_LINKS_HOVER_COLOR=VITE_OBP_HEADER_LINKS_HOVER_COLOR
VITE_OBP_HEADER_LINKS_BACKGROUND_COLOR=VITE_OBP_HEADER_LINKS_BACKGROUND_COLOR
VITE_OBP_API_DEFAULT_RESOURCE_DOC_VERSION=VITE_OBP_API_DEFAULT_RESOURCE_DOC_VERSION
VITE_CHATBOT_ENABLED=VITE_CHATBOT_ENABLED
VITE_CHATBOT_URL=VITE_CHATBOT_URL

View File

@ -7,16 +7,35 @@ import (
"path/filepath"
"regexp"
"strings"
"fmt"
)
// As the frontend environment is read at build time, we need to reprocess the values
// at container runtime.
// This app will search and replace the values set at build time from this build environment: Dockerfiles/frontend_build.env
// with values taken from the container environment.
func main() {
// Define the host env variables to be replaced at build time
config := []string{"VITE_OBP_API_HOST", "VITE_OBP_API_MANAGER_HOST", "VITE_OBP_API_PORTAL_HOST"}
// Define the build env variables to be replaced at container run time
// url config variables are expected to be a valid URL in the container environment
url_config := []string{"VITE_OBP_API_HOST", "VITE_OBP_API_MANAGER_HOST", "VITE_OBP_API_PORTAL_HOST", "VITE_OBP_LOGO_URL"}
// DANGERZONE: The following strings will be replaced by container environment variables without any checking of whatever!!!
config := []string{"VITE_OBP_API_VERSION", "VITE_OBP_LINKS_COLOR", "VITE_OBP_HEADER_LINKS_COLOR", "VITE_OBP_HEADER_LINKS_HOVER_COLOR", "VITE_OBP_HEADER_LINKS_BACKGROUND_COLOR", "VITE_OBP_API_DEFAULT_RESOURCE_DOC_VERSION", "VITE_CHATBOT_ENABLED", "VITE_CHATBOT_URL"}
configMap := make(map[string]string)
for _, key := range config {
value := os.Getenv(key)
if value == "" {
fmt.Printf("Skipping: Environment variable %s is not set\n", key)
continue
}
configMap[key] = value
}
for _, key := range url_config {
rawURL := os.Getenv(key)
if rawURL == "" {
fmt.Printf("Skipping: Environment variable %s is not set\n", key)
continue
}
cleanURL := checkURL(rawURL)