From a6991079dea4ce65178e1d20f2e86d87242c44f1 Mon Sep 17 00:00:00 2001 From: Michael McGuinness Date: Fri, 14 Feb 2025 12:04:15 +0000 Subject: [PATCH] Merged in feature/psql (pull request #66) Add postgres to Devbox * addcmd --- deployments/compose.generate.yaml | 8 +- deployments/compose.local.yaml | 98 +++++++------- deployments/compose.test.yaml | 8 +- deployments/readme.md | 2 +- devbox.json | 67 +++++----- devbox.lock | 125 ++++++++++++++++++ internal/serviceconfig/common_test.go | 20 +-- internal/serviceconfig/commonlog_test.go | 12 +- internal/serviceconfig/database/config.go | 10 +- .../observability/prometheus/prometheus.md | 2 +- internal/test/container.go | 10 +- internal/test/database.go | 10 +- 12 files changed, 249 insertions(+), 123 deletions(-) diff --git a/deployments/compose.generate.yaml b/deployments/compose.generate.yaml index 9cb9c083..7c70005f 100644 --- a/deployments/compose.generate.yaml +++ b/deployments/compose.generate.yaml @@ -5,15 +5,15 @@ services: ports: - 5431:5432 environment: - POSTGRES_DB: ${DB_NAME} - POSTGRES_PASSWORD: ${DB_PASS} - POSTGRES_USER: ${DB_USER} + POSTGRES_DB: ${PGDATABASE} + POSTGRES_PASSWORD: ${PGPASSWORD} + POSTGRES_USER: ${PGUSER} expose: - 5431 volumes: - generate-db-data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"] + test: ["CMD-SHELL", "pg_isready -U ${PGUSER}"] interval: 10s timeout: 5s retries: 5 diff --git a/deployments/compose.local.yaml b/deployments/compose.local.yaml index b070c2a1..0baf4142 100644 --- a/deployments/compose.local.yaml +++ b/deployments/compose.local.yaml @@ -20,11 +20,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -44,11 +44,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -75,11 +75,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -106,11 +106,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -137,11 +137,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -168,11 +168,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -199,11 +199,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -230,11 +230,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -261,11 +261,11 @@ services: AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_SESSION_TOKEN: ${AWS_SESSION_TOKEN} AWS_REGION: ${AWS_REGION} - DB_USER: ${DB_USER} - DB_PASS: ${DB_PASS} - DB_HOST: db - DB_PORT: 5432 - DB_NAME: ${DB_NAME} + PGUSER: ${PGUSER} + PGPASSWORD: ${PGPASSWORD} + PGHOST: db + PGPORT: 5432 + PGDATABASE: ${PGDATABASE} DB_NOSSL: ${DB_NOSSL} AWS_ENDPOINT_URL: "http://localstack:4566" AWS_S3_USE_PATH_STYLE: true @@ -292,15 +292,15 @@ services: ports: - 5432:5432 environment: - POSTGRES_DB: ${DB_NAME} - POSTGRES_PASSWORD: ${DB_PASS} - POSTGRES_USER: ${DB_USER} + POSTGRES_DB: ${PGDATABASE} + POSTGRES_PASSWORD: ${PGPASSWORD} + POSTGRES_USER: ${PGUSER} expose: - 5432 volumes: - db-data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"] + test: ["CMD-SHELL", "pg_isready -U ${PGUSER}"] interval: 10s timeout: 5s retries: 5 diff --git a/deployments/compose.test.yaml b/deployments/compose.test.yaml index 44f759a1..c19874c2 100644 --- a/deployments/compose.test.yaml +++ b/deployments/compose.test.yaml @@ -5,15 +5,15 @@ services: ports: - 5430:5432 environment: - POSTGRES_DB: ${DB_NAME} - POSTGRES_PASSWORD: ${DB_PASS} - POSTGRES_USER: ${DB_USER} + POSTGRES_DB: ${PGDATABASE} + POSTGRES_PASSWORD: ${PGPASSWORD} + POSTGRES_USER: ${PGUSER} expose: - 5431 volumes: - test-db-data:/var/lib/postgresql/data healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USER}"] + test: ["CMD-SHELL", "pg_isready -U ${PGUSER}"] interval: 10s timeout: 5s retries: 5 diff --git a/deployments/readme.md b/deployments/readme.md index fb693898..ee1e6764 100644 --- a/deployments/readme.md +++ b/deployments/readme.md @@ -22,4 +22,4 @@ http:// localhost: [port] /targets ### Local with service on host If you need to run a service directly on the host for debugging then use `task compose:up:test` and then run the service like -`DB_PORT=5430 go run ./cmd/queryService` \ No newline at end of file +`PGPORT=5430 go run ./cmd/queryService` \ No newline at end of file diff --git a/devbox.json b/devbox.json index eb91c86c..1d2715ea 100644 --- a/devbox.json +++ b/devbox.json @@ -17,46 +17,47 @@ "nodePackages.jsonlint@1.6.3", "oapi-codegen@2.4.1", "vacuum-go@0.14.1", - "awscli2@2.19.0" + "awscli2@2.19.0", + "postgresql@17.2" ], "shell": { "init_hook": [ - "export DB_URI=postgres://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}?sslmode=disable", - "export DB_URI_GENERATE=postgres://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT_GENERATE}/${DB_NAME}?sslmode=disable", + "export DB_URI=postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT}/${PGDATABASE}?sslmode=disable", + "export DB_URI_GENERATE=postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT_GENERATE}/${PGDATABASE}?sslmode=disable", "echo 'Welcome to the DoczyAI devbox!'" ] }, "env": { - "APP_ENV": "development", - "DB_USER": "postgres", - "DB_PASS": "pass", - "DB_HOST": "localhost", - "DB_PORT": "5432", - "DB_PORT_GENERATE": "5431", - "DB_NAME": "query_orchestration", - "DB_NOSSL": "true", - "AWS_ACCESS_KEY_ID": "test", - "AWS_SECRET_ACCESS_KEY": "test", - "AWS_SESSION_TOKEN": "", - "AWS_REGION": "us-east-1", - "AWS_ENDPOINT_URL": "http://localhost:4566", - "QNAME_DOCUMENT_INIT": "document_init", - "QNAME_DOCUMENT_SYNC": "document_sync", - "QNAME_DOCUMENT_CLEAN": "document_clean", - "QNAME_DOCUMENT_TEXT": "document_text", - "QNAME_QUERY_SYNC": "query_sync", - "QNAME_QUERY_RUNNER": "query_runner", - "QNAME_JOB_SYNC": "job_sync", - "QNAME_QUERY_VERSION_SYNC": "query_version_sync", - "DOCUMENT_INIT_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_init", - "DOCUMENT_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_sync", - "DOCUMENT_CLEAN_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_clean", - "DOCUMENT_TEXT_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_text", - "QUERY_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_sync", - "QUERY_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_runner", - "JOB_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/job_sync", - "QUERY_VERSION_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_version_sync", - "BUCKET_IN": "documentin" + "APP_ENV": "development", + "PGUSER": "postgres", + "PGPASSWORD": "pass", + "PGHOST": "localhost", + "PGPORT": "5432", + "PGPORT_GENERATE": "5431", + "PGDATABASE": "query_orchestration", + "DB_NOSSL": "true", + "AWS_ACCESS_KEY_ID": "test", + "AWS_SECRET_ACCESS_KEY": "test", + "AWS_SESSION_TOKEN": "", + "AWS_REGION": "us-east-1", + "AWS_ENDPOINT_URL": "http://localhost:4566", + "QNAME_DOCUMENT_INIT": "document_init", + "QNAME_DOCUMENT_SYNC": "document_sync", + "QNAME_DOCUMENT_CLEAN": "document_clean", + "QNAME_DOCUMENT_TEXT": "document_text", + "QNAME_QUERY_SYNC": "query_sync", + "QNAME_QUERY_RUNNER": "query_runner", + "QNAME_JOB_SYNC": "job_sync", + "QNAME_QUERY_VERSION_SYNC": "query_version_sync", + "DOCUMENT_INIT_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_init", + "DOCUMENT_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_sync", + "DOCUMENT_CLEAN_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_clean", + "DOCUMENT_TEXT_URL": "http://localstack:4566/queue/us-east-1/000000000000/document_text", + "QUERY_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_sync", + "QUERY_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_runner", + "JOB_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/job_sync", + "QUERY_VERSION_SYNC_URL": "http://localstack:4566/queue/us-east-1/000000000000/query_version_sync", + "BUCKET_IN": "documentin" }, "env_from": ".env" } diff --git a/devbox.lock b/devbox.lock index 1ba5d6cc..7c636870 100644 --- a/devbox.lock +++ b/devbox.lock @@ -501,6 +501,131 @@ } } }, + "postgresql@17.2": { + "last_modified": "2025-02-07T20:06:47Z", + "plugin_version": "0.0.2", + "resolved": "github:NixOS/nixpkgs/e8d0b02af0958823c955aaab3c82b03f54411d91#postgresql", + "source": "devbox-search", + "version": "17.2", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/jdi529p5wchb3889bd2949g15kgksgzw-postgresql-17.2", + "default": true + }, + { + "name": "man", + "path": "/nix/store/xqpcd2fm6d472p02jrmpjniy0459f4pf-postgresql-17.2-man", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/ns4clvyr5vhpqlyfljj3pmwpm3n8fh4f-postgresql-17.2-dev" + }, + { + "name": "doc", + "path": "/nix/store/vg3gsbgf5yzkpgx4fg0ikxx7k6ng8j2h-postgresql-17.2-doc" + }, + { + "name": "lib", + "path": "/nix/store/jp6k12j1175gvv3nsad3x9n506c72vg8-postgresql-17.2-lib" + } + ], + "store_path": "/nix/store/jdi529p5wchb3889bd2949g15kgksgzw-postgresql-17.2" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6y9w0b551j2d48h1l9crjv45frjad8if-postgresql-17.2", + "default": true + }, + { + "name": "man", + "path": "/nix/store/k4mh9nmhglchjjx791v716zcb78m9fb8-postgresql-17.2-man", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/059kmvan7ji9kn8xa72by1nf57cd9dyv-postgresql-17.2-debug" + }, + { + "name": "dev", + "path": "/nix/store/z3bb6ajnmdfgz8p3kpmv2dsm5r972jr3-postgresql-17.2-dev" + }, + { + "name": "doc", + "path": "/nix/store/f0bisfj86dqq9rz9cd90jx2lp4yxnz1a-postgresql-17.2-doc" + }, + { + "name": "lib", + "path": "/nix/store/5sn88ybrys75gklhw21c81m7jwdgm1y9-postgresql-17.2-lib" + } + ], + "store_path": "/nix/store/6y9w0b551j2d48h1l9crjv45frjad8if-postgresql-17.2" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/qdpki2j117g1hn3d4bxlmzw5ygxja7x2-postgresql-17.2", + "default": true + }, + { + "name": "man", + "path": "/nix/store/r8c8818bdqq1qa2b29qb5vnnb359qk0b-postgresql-17.2-man", + "default": true + }, + { + "name": "lib", + "path": "/nix/store/bdwfmv01vfi9csfgxcl32ylj874cxap0-postgresql-17.2-lib" + }, + { + "name": "dev", + "path": "/nix/store/clr7mw9wd44nzmnmzfafnj8a35iha5aq-postgresql-17.2-dev" + }, + { + "name": "doc", + "path": "/nix/store/x82b0w0b74dk5pxm862cmggd80sc759w-postgresql-17.2-doc" + } + ], + "store_path": "/nix/store/qdpki2j117g1hn3d4bxlmzw5ygxja7x2-postgresql-17.2" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/xwbdn2l153f3lxd4f09ilgpngbbhvvlb-postgresql-17.2", + "default": true + }, + { + "name": "man", + "path": "/nix/store/s1j1fdm3n2w96jyspnz0gb4nbsd51pgk-postgresql-17.2-man", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/fypyhdc73zczyyrd9ar15gly43gf7m9p-postgresql-17.2-debug" + }, + { + "name": "dev", + "path": "/nix/store/lds1190zlm9ydsmd5byxbz4ifl393myx-postgresql-17.2-dev" + }, + { + "name": "doc", + "path": "/nix/store/4bcfji6rh4qffh1bidy1ddm7ndbd9z9b-postgresql-17.2-doc" + }, + { + "name": "lib", + "path": "/nix/store/shyk39i057hcsmkj2gf2zz5wa01h44h5-postgresql-17.2-lib" + } + ], + "store_path": "/nix/store/xwbdn2l153f3lxd4f09ilgpngbbhvvlb-postgresql-17.2" + } + } + }, "protobuf@28.3": { "last_modified": "2024-12-03T12:40:06Z", "resolved": "github:NixOS/nixpkgs/566e53c2ad750c84f6d31f9ccb9d00f823165550#protobuf", diff --git a/internal/serviceconfig/common_test.go b/internal/serviceconfig/common_test.go index cdad588b..bca9bbf3 100644 --- a/internal/serviceconfig/common_test.go +++ b/internal/serviceconfig/common_test.go @@ -31,11 +31,11 @@ func TestInitializeConfig(t *testing.T) { "APP_ENV": "testing", "BOOL_TEST": "true", "INT_TEST": "42", - "DB_USER": "postgres", - "DB_PASS": "pass", - "DB_HOST": "localhost", - "DB_PORT": "5432", - "DB_NAME": "query_orchestration", + "PGUSER": "postgres", + "PGPASSWORD": "pass", + "PGHOST": "localhost", + "PGPORT": "5432", + "PGDATABASE": "query_orchestration", "DB_NOSSL": "true", "AWS_ACCESS_KEY_ID": "key", "AWS_SECRET_ACCESS_KEY": "secret", @@ -51,11 +51,11 @@ func TestInitializeConfig(t *testing.T) { envVars: map[string]string{ "APP_ENV": "testing", "BOOL_TEST": "true", - "DB_USER": "postgres", - "DB_PASS": "pass", - "DB_HOST": "localhost", - "DB_PORT": "5432", - "DB_NAME": "query_orchestration", + "PGUSER": "postgres", + "PGPASSWORD": "pass", + "PGHOST": "localhost", + "PGPORT": "5432", + "PGDATABASE": "query_orchestration", "DB_NOSSL": "true", "AWS_ACCESS_KEY_ID": "key", "AWS_SECRET_ACCESS_KEY": "secret", diff --git a/internal/serviceconfig/commonlog_test.go b/internal/serviceconfig/commonlog_test.go index 3f3db6b7..367ceb5f 100644 --- a/internal/serviceconfig/commonlog_test.go +++ b/internal/serviceconfig/commonlog_test.go @@ -14,11 +14,11 @@ func TestPrintConfigRecursive(t *testing.T) { serviceconfig.ResetConfigInitOnceTestOnly() os.Clearenv() envVars := map[string]string{ - "DB_USER": "postgres", - "DB_PASS": "password", - "DB_HOST": "localhost", - "DB_PORT": "5432", - "DB_NAME": "query_orchestration", + "PGUSER": "postgres", + "PGPASSWORD": "password", + "PGHOST": "localhost", + "PGPORT": "5432", + "PGDATABASE": "query_orchestration", "DB_NOSSL": "true", "AWS_ACCESS_KEY_ID": "key", "AWS_SECRET_ACCESS_KEY": "password", @@ -58,7 +58,7 @@ func TestPrintConfigRecursive(t *testing.T) { // Check that each environment variable value appears in the logs // except for sensitive values which should be masked for envKey, envValue := range envVars { - if envKey == "DB_PASS" || envKey == "AWS_SECRET_ACCESS_KEY" { + if envKey == "PGPASSWORD" || envKey == "AWS_SECRET_ACCESS_KEY" { // Password should be masked if strings.Contains(logOutput, envValue) { t.Errorf("Full password should not appear in logs: %s", logOutput) diff --git a/internal/serviceconfig/database/config.go b/internal/serviceconfig/database/config.go index 43b92326..40ac92a9 100644 --- a/internal/serviceconfig/database/config.go +++ b/internal/serviceconfig/database/config.go @@ -9,11 +9,11 @@ import ( ) type DBConfig struct { - DBUser string `env:"DB_USER,required,notEmpty"` - DBSecret string `env:"DB_PASS,required,notEmpty"` - DBHost string `env:"DB_HOST,required,notEmpty"` - DBPort int `env:"DB_PORT,required,notEmpty"` - DBName string `env:"DB_NAME,required,notEmpty"` + DBUser string `env:"PGUSER,required,notEmpty"` + DBSecret string `env:"PGPASSWORD,required,notEmpty"` + DBHost string `env:"PGHOST,required,notEmpty"` + DBPort int `env:"PGPORT,required,notEmpty"` + DBName string `env:"PGDATABASE,required,notEmpty"` DBNoSSL bool `env:"DB_NOSSL" envDefault:"false"` DBPool Pool DBQueries *repository.Queries diff --git a/internal/serviceconfig/observability/prometheus/prometheus.md b/internal/serviceconfig/observability/prometheus/prometheus.md index d5ec1c1b..c5174166 100644 --- a/internal/serviceconfig/observability/prometheus/prometheus.md +++ b/internal/serviceconfig/observability/prometheus/prometheus.md @@ -9,7 +9,7 @@ Then you can run your service that exposed the metrics. ## Testing the API service Start the API server on the host like -`DB_PORT=5430 go run ./cmd/queryService` +`PGPORT=5430 go run ./cmd/queryService` Once started you will be able to see the raw metrics at http://localhost:8080/metrics diff --git a/internal/test/container.go b/internal/test/container.go index 5211b109..9b43c603 100644 --- a/internal/test/container.go +++ b/internal/test/container.go @@ -30,11 +30,11 @@ type containerConfig struct { func createContainer(t testing.TB, ctx context.Context, cfg *containerConfig) (testcontainers.Container, func()) { env := map[string]string{ - "DB_USER": cfg.Cfg.GetDBUser(), - "DB_PASS": cfg.Cfg.GetDBSecret(), - "DB_HOST": cfg.Cfg.GetDBHost(), - "DB_NAME": cfg.Cfg.GetDBName(), - "DB_PORT": strconv.Itoa(cfg.Cfg.GetDBPort()), + "PGUSER": cfg.Cfg.GetDBUser(), + "PGPASSWORD": cfg.Cfg.GetDBSecret(), + "PGHOST": cfg.Cfg.GetDBHost(), + "PGDATABASE": cfg.Cfg.GetDBName(), + "PGPORT": strconv.Itoa(cfg.Cfg.GetDBPort()), "DB_NOSSL": strconv.FormatBool(cfg.Cfg.IsDBNoSSL()), "AWS_ACCESS_KEY_ID": cfg.Cfg.GetAWSKeyID(), "AWS_SECRET_ACCESS_KEY": cfg.Cfg.GetAWSSecretKey(), diff --git a/internal/test/database.go b/internal/test/database.go index 4cb17b94..823b6953 100644 --- a/internal/test/database.go +++ b/internal/test/database.go @@ -86,12 +86,12 @@ func CreateDB(t testing.TB, ctx context.Context, cfg *CreateDatabaseConfig) (tes DBNoSSL: true, } - t.Setenv("DB_USER", dbcfg.DBUser) - t.Setenv("DB_PASS", dbcfg.DBSecret) - t.Setenv("DB_NAME", dbcfg.DBName) + t.Setenv("PGUSER", dbcfg.DBUser) + t.Setenv("PGPASSWORD", dbcfg.DBSecret) + t.Setenv("PGDATABASE", dbcfg.DBName) t.Setenv("DB_NOSSL", fmt.Sprintf("%v", dbcfg.DBNoSSL)) - t.Setenv("DB_HOST", dbcfg.DBHost) - t.Setenv("DB_PORT", fmt.Sprint(dbcfg.DBPort)) + t.Setenv("PGHOST", dbcfg.DBHost) + t.Setenv("PGPORT", fmt.Sprint(dbcfg.DBPort)) if cfg.Cfg == nil { SetCfgProvider(t, cfg.Cfg)