From d65508dc18d4dd0fb57f0172ee246ce8456b0650 Mon Sep 17 00:00:00 2001 From: Thomas Loubrieu Date: Tue, 28 Jul 2026 10:47:51 -0700 Subject: [PATCH 1/4] set version in swagger file, this was blocking the stable release apparently --- model/swagger.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/model/swagger.yml b/model/swagger.yml index a8fb6c89..938b9a37 100644 --- a/model/swagger.yml +++ b/model/swagger.yml @@ -5,6 +5,7 @@ info: Property values are cast to string in responses due to limitations of JSON typing, and should be interpreted by the client/user according to the data dictionary. As a result of the string cast, some missing values might be found as "null". title: PDS Registry Search API + version: 1.7.0 termsOfService: 'http://pds.nasa.gov' contact: name: "Contact PDS Engineering Node Support" From df3a8b95d99afff894713f4f5cd7c7b2381321ab Mon Sep 17 00:00:00 2001 From: Thomas Loubrieu Date: Tue, 28 Jul 2026 11:56:27 -0700 Subject: [PATCH 2/4] upgrade sonatype to push releases on artifactory --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1c8091aa..5bd0e955 100644 --- a/pom.xml +++ b/pom.xml @@ -186,7 +186,7 @@ Go through this file line-by-line and replace the template values with your own. org.sonatype.central central-publishing-maven-plugin - 0.7.0 + 0.11.0 true central From a550f43949944ed5446f15e9bc49a1d667994509 Mon Sep 17 00:00:00 2001 From: Thomas Loubrieu Date: Thu, 13 Aug 2026 11:48:44 -0700 Subject: [PATCH 3/4] complete log message, add option in integration tests for more flexibility --- .github/workflows/integration_tests.sh | 36 ++++++++++++++++--- .github/workflows/last_integration_test.json | 4 +-- .../controllers/SecurityValidationFilter.java | 2 ++ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/.github/workflows/integration_tests.sh b/.github/workflows/integration_tests.sh index f92e7649..6d2bf67e 100755 --- a/.github/workflows/integration_tests.sh +++ b/.github/workflows/integration_tests.sh @@ -64,8 +64,8 @@ run() { cd docker || exit 1 ddir=$(pwd) ( cd certs || exit 1 ; ./generate-certs.sh ) - export REG_API_IMAGE=nasapds/registry-api-service:latest - docker image inspect nasapds/registry-api-service:latest >/dev/null + export REG_API_IMAGE=nasapds/registry-api-service:${registry_api_tag:-latest} + docker image inspect "nasapds/registry-api-service:${registry_api_tag:-latest}" >/dev/null echo "launch services" docker compose \ --ansi never \ @@ -110,15 +110,35 @@ run() { return $status } +registry_api_tag="" +registry_branch="" verbose=false verify=false for arg in "$@"; do case "$arg" in --verbose) verbose=true ;; --verify) verify=true ;; + --registry-branch=*) registry_branch="${arg#--registry-branch=}" ;; + --registry-api-tag=*) registry_api_tag="${arg#--registry-api-tag=}" ;; *) echo "Error: Invalid argument '$arg'" - echo "Usage: $0 [--verify] [--verbose]" + echo "Usage: $0 [--verify] [--verbose] [--registry-branch=] [--registry-api-tag=]" + echo + echo "Options:" + echo " --verify Verify that the last integration test result is" + echo " still valid for the current commit (no re-run)." + echo " --verbose Print docker compose logs after the test run." + echo " --registry-branch= Check out the given branch of NASA-PDS/registry" + echo " for the integration tests instead of the default" + echo " behaviour, which auto-selects a branch whose name" + echo " matches the current registry-api branch (falling" + echo " back to the registry default branch when no match" + echo " is found)." + echo " --registry-api-tag= Use the given Docker Hub tag for the registry-api" + echo " service image (nasapds/registry-api-service:)" + echo " instead of building the image from the current" + echo " source. When this option is set the Maven build and" + echo " docker build steps are skipped." exit 1 ;; esac done @@ -136,10 +156,16 @@ echo "temporary directory: $tdir" trap 'rm -rf "$tdir"' EXIT export tdir cd "$tdir" || exit 1 +echo "Cloning NASA-PDS/registry repository into temporary directory: $tdir" git clone --quiet https://github.com/NASA-PDS/registry.git cd registry || exit 1 -if git show-ref --verify --quiet refs/remotes/origin/"$branchname" +if [ -n "$registry_branch" ] then + echo "Switching to requested registry branch: $registry_branch" + git switch "$registry_branch" +elif git show-ref --verify --quiet refs/remotes/origin/"$branchname" +then + echo "Switching to matching registry branch: $branchname" git switch "$branchname" fi echo "registry being used" @@ -214,7 +240,7 @@ if $verify; then else cd "$rdir" || exit 1 clean || exit 2 - build || exit 3 + [ -z "$registry_api_tag" ] && { build || exit 3; } cd "$tdir"/registry || exit 1 ( set -o pipefail ; run 2>&1 | tee "$rdir"/integration_tests.rpt.txt ) \ && status=success || status=failure diff --git a/.github/workflows/last_integration_test.json b/.github/workflows/last_integration_test.json index ef58c8ab..8882da5a 100644 --- a/.github/workflows/last_integration_test.json +++ b/.github/workflows/last_integration_test.json @@ -1,5 +1,5 @@ { - "api_gitrev": "b0711d49e711ff012dca26ff455682b29a5ca99c+", - "reg_gitrev": "dda5e706096b4e50575006f85f82f3c111d05b1f", + "api_gitrev": "df3a8b95d99afff894713f4f5cd7c7b2381321ab+", + "reg_gitrev": "bd844d424da08fc692ee5b6e9dc7b2ed91a3e2b9", "status": "success" } diff --git a/service/src/main/java/gov/nasa/pds/api/registry/controllers/SecurityValidationFilter.java b/service/src/main/java/gov/nasa/pds/api/registry/controllers/SecurityValidationFilter.java index 1b6396e5..c2d430b5 100644 --- a/service/src/main/java/gov/nasa/pds/api/registry/controllers/SecurityValidationFilter.java +++ b/service/src/main/java/gov/nasa/pds/api/registry/controllers/SecurityValidationFilter.java @@ -82,6 +82,8 @@ public boolean preHandle(HttpServletRequest request, HttpServletResponse respons String serverName = request.getServerName(); log.debug("Servername is {}", serverName); if (!authorizedServerName(serverName)) { + log.error("Server cannot be proxied from {} but from {}", serverName, + this.authorizedForwardedHosts); throw new UnauthorizedForwardedHostException("Server cannot be proxied from " + serverName); } } From e38a81d5fd9e2ed668fc506a049e13fc3b21b0d8 Mon Sep 17 00:00:00 2001 From: Thomas Loubrieu Date: Thu, 13 Aug 2026 13:39:17 -0700 Subject: [PATCH 4/4] update integration test results --- .github/workflows/last_integration_test.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/last_integration_test.json b/.github/workflows/last_integration_test.json index 8882da5a..0ae3c067 100644 --- a/.github/workflows/last_integration_test.json +++ b/.github/workflows/last_integration_test.json @@ -1,5 +1,5 @@ { - "api_gitrev": "df3a8b95d99afff894713f4f5cd7c7b2381321ab+", + "api_gitrev": "a550f43949944ed5446f15e9bc49a1d667994509+", "reg_gitrev": "bd844d424da08fc692ee5b6e9dc7b2ed91a3e2b9", "status": "success" }