diff --git a/docs/aws/sbom.json b/docs/aws/sbom.json
index e02bbf5f5..304723225 100644
--- a/docs/aws/sbom.json
+++ b/docs/aws/sbom.json
@@ -1,10 +1,10 @@
{
"bomFormat" : "CycloneDX",
"specVersion" : "1.5",
- "serialNumber" : "urn:uuid:04d17ffb-7c8c-39c0-ac9f-110da0a6fbde",
+ "serialNumber" : "urn:uuid:c0b002ce-cbd6-3584-9a9c-2c36a495f051",
"version" : 1,
"metadata" : {
- "timestamp" : "2026-06-18T18:28:17Z",
+ "timestamp" : "2026-06-18T20:33:09Z",
"lifecycles" : [
{
"phase" : "build"
@@ -59,9 +59,9 @@
"component" : {
"group" : "co.worklytics.psoxy",
"name" : "psoxy-aws",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"licenses" : [ ],
- "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.6?type=jar",
+ "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.7?type=jar",
"externalReferences" : [
{
"type" : "distribution-intake",
@@ -69,7 +69,7 @@
}
],
"type" : "library",
- "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.7?type=jar"
},
"properties" : [
{
@@ -86,40 +86,40 @@
{
"group" : "co.worklytics.psoxy",
"name" : "psoxy-core",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"scope" : "required",
"hashes" : [
{
"alg" : "MD5",
- "content" : "6354851ecef5541ffee800a87e945875"
+ "content" : "ae15ffadf9d616bf94cd1d26f1d0ebae"
},
{
"alg" : "SHA-1",
- "content" : "bcf790c49ed33bdb1a36d4cfef49b13c61dce7e4"
+ "content" : "ed84425ba12cd006dfa32e7fe7c6c2df77e82480"
},
{
"alg" : "SHA-256",
- "content" : "b5cf492919eaa982d95c6e4848a3e1e7649f28f2c45869f98ac0acc93fe3814b"
+ "content" : "ce4ac70c874c1def889b8f6d9530de68534488c869c916a2136322158dfb3c53"
},
{
"alg" : "SHA-512",
- "content" : "7d16243f1f920475c1d75b400002d868fddfbdebf9b080ea8e3f6c3c36253b279a8bea7f3ffefb188222ed626d34cbf99575970fe98ec293c720c96a4e924d89"
+ "content" : "9b6cf00abd5184d215595e14ce5c419e1c62d08cd199f0d61d5298e6e67e79ae2212ba1b163616b25866c70a2418e50ded024646e49b2c601cf38afaab62da75"
},
{
"alg" : "SHA-384",
- "content" : "78226094335202889ef2faf96c9444bb7d2c0ce417eb2500d2c730548bfcfa3a6099ca0bb9fd23f6b645a08905e8ee43"
+ "content" : "2f03a8e7e72cf0e9684bc02001a52c69995ce0e33ddd8d9a2b668788230d34d1bc040a921dcb26a414189997eb7e2019"
},
{
"alg" : "SHA3-384",
- "content" : "480cc356ba982e35240c2c0209049fe5d3bf9e82982b7663412ef454ab1063265db8a875cfee6832b75c683ec644af00"
+ "content" : "088d91f39969b753c773beb8c531db2653a2bc6c5af376927a4900d00e3e4e5d5c3e3a1bdc730245909a7a5d84136911"
},
{
"alg" : "SHA3-256",
- "content" : "b0f31e47b7b6400e00f9fd4b827ec48ff9d26e48479a21ba90f91cd341a46996"
+ "content" : "cce16d6add62664eebaf557e3d4ab776fc5f1d9f31eaed93784b1d6a64d014f2"
},
{
"alg" : "SHA3-512",
- "content" : "21e9b664483a864d0015e0b09035686c003534a168320b1b0eceff20c0c77dfd0ac1479707fbe960bad8ef71d0bea2695ff5e76a4546660c4ce39328c9ba6875"
+ "content" : "e47b21fe694f4c58af5e69367008b3291e7cce26b80e18ab6c815a290695d1f005d41b110906229c1720b37696fdcdd6f67603437e0a81fca51cf5a8e767f78c"
}
],
"licenses" : [
@@ -130,47 +130,47 @@
}
}
],
- "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"type" : "library",
- "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar"
},
{
"group" : "com.avaulta.gateway",
"name" : "gateway-core",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"scope" : "required",
"hashes" : [
{
"alg" : "MD5",
- "content" : "5761afbecd3f4a0347e52c005c2a1c53"
+ "content" : "b678a62c58ddabcb94400ace4b00cb08"
},
{
"alg" : "SHA-1",
- "content" : "1430f70ebcdb96933a1b9e3d024275b2a5da2be5"
+ "content" : "071007081001ee46577e1d361ea79484cde99c03"
},
{
"alg" : "SHA-256",
- "content" : "bb1802066c21112d66b9e8339588da97aac032a1e4a9ef69303e8d08499f94f7"
+ "content" : "5df8f62ff1fda284545d82f5981e54599e259efd77e7550f974265832936664e"
},
{
"alg" : "SHA-512",
- "content" : "3b977bbdfe053c841feb1e4170185bbd43618fdbe84ebe88bd8415e0b017f4dd0c320540eb62cc00e6b2a28788d38f5935c74e2e01663ce8c2a0ed12fcac66c6"
+ "content" : "894a17df76bf838f4a33ca2a8b0a338602279f7229ffeccc89847c01e9257b37658cc9f0dfc92da7ccbeb9b75c1cbf3a040dfa77d03ae286aad2b978a893c147"
},
{
"alg" : "SHA-384",
- "content" : "6f8e74717126d333c18d38d698aa3f7043be87fa539428abeedc90851782848a65294b05f883111a591b855022465e3b"
+ "content" : "4645eb1b1fdf88834d325e8332616d19bdbaa53fe3b36451356d4b66f345c3d8c6a3da17a60eafc40b6290c629457b96"
},
{
"alg" : "SHA3-384",
- "content" : "2ea2a14d387b89a6bd6bb1e59a2943695562ae326137a0fd9642299c0f008dc3a31ad46954ef84ba07a69afb656875a6"
+ "content" : "0d40b19f28846d61c515940f26075293ffc02c93484df28e56bc8686032ba36c0a2790b16b84d598eb7d2a503beab0e2"
},
{
"alg" : "SHA3-256",
- "content" : "0ed7c4b5cb3adffc86c07b4b6c565b025e5c0d87e2f36b4a957a2f4a02a8ba26"
+ "content" : "40fe8d51af9cd2a79a48fef70190863a598296e007209c4d37b62508a6a518bb"
},
{
"alg" : "SHA3-512",
- "content" : "a3ec68bdd1937d69281f6bdb382dd46371cc49ddcc24ef900cdd3a556eb49e4a9a5c696830708b4be3b75cc69bc0d29ec5f1650a2e5985e4db14fd6dc8fd1f60"
+ "content" : "9628af58f490390cf83f3dfc7da3a5868f582d28a5cb18cb3ee389f4f2e20c9b73390f0ae33483bf0d9b671a14efe9f431896f18c32bb0776ec0917c1a3660cc"
}
],
"licenses" : [
@@ -181,9 +181,9 @@
}
}
],
- "purl" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "purl" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"type" : "library",
- "bom-ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar"
},
{
"publisher" : "The Apache Software Foundation",
@@ -10157,9 +10157,9 @@
],
"dependencies" : [
{
- "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.6?type=jar",
+ "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-aws@0.6.7?type=jar",
"dependsOn" : [
- "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"pkg:maven/org.projectlombok/lombok@1.18.42?type=jar",
"pkg:maven/com.google.dagger/dagger-compiler@2.40.5?type=jar",
"pkg:maven/com.google.dagger/dagger@2.40.5?type=jar",
@@ -10179,9 +10179,9 @@
]
},
{
- "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"dependsOn" : [
- "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"pkg:maven/org.apache.commons/commons-lang3@3.19.0?type=jar",
"pkg:maven/org.apache.commons/commons-csv@1.14.1?type=jar",
"pkg:maven/commons-io/commons-io@2.18.0?type=jar",
@@ -10206,7 +10206,7 @@
]
},
{
- "ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"dependsOn" : [
"pkg:maven/org.apache.commons/commons-lang3@3.19.0?type=jar",
"pkg:maven/org.apache.commons/commons-csv@1.14.1?type=jar",
diff --git a/docs/gcp/sbom.json b/docs/gcp/sbom.json
index 51e4112cf..0e8184602 100644
--- a/docs/gcp/sbom.json
+++ b/docs/gcp/sbom.json
@@ -1,10 +1,10 @@
{
"bomFormat" : "CycloneDX",
"specVersion" : "1.5",
- "serialNumber" : "urn:uuid:c05f478f-e25e-3ca5-b754-23273b8f4267",
+ "serialNumber" : "urn:uuid:9059d82b-181e-35e7-b147-52818670473e",
"version" : 1,
"metadata" : {
- "timestamp" : "2026-06-18T18:28:44Z",
+ "timestamp" : "2026-06-18T20:33:38Z",
"lifecycles" : [
{
"phase" : "build"
@@ -59,9 +59,9 @@
"component" : {
"group" : "co.worklytics.psoxy",
"name" : "psoxy-gcp",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"licenses" : [ ],
- "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.6?type=jar",
+ "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.7?type=jar",
"externalReferences" : [
{
"type" : "distribution-intake",
@@ -69,7 +69,7 @@
}
],
"type" : "library",
- "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.7?type=jar"
},
"properties" : [
{
@@ -86,40 +86,40 @@
{
"group" : "co.worklytics.psoxy",
"name" : "psoxy-core",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"scope" : "required",
"hashes" : [
{
"alg" : "MD5",
- "content" : "87eddc8e5f702c1d998d1acdde344e74"
+ "content" : "589e347a5c964d92c3327edc6e467e8a"
},
{
"alg" : "SHA-1",
- "content" : "3f2032603ef48fb9120d307918bd46620530ecc2"
+ "content" : "0c63f65d15dd5d0bbb1e39441f851e553e488665"
},
{
"alg" : "SHA-256",
- "content" : "c7be10b9ead4a542f4c2c326d74efb413f941c527511864ea41e868b1a9c5880"
+ "content" : "f01951f5e1e762dfe6899a5fb485f08bd321317144b7ac679ca35541bda7bb7d"
},
{
"alg" : "SHA-512",
- "content" : "43fcdc7676cc91ae1ed38b4b88b4d82612bfa60cf1583bdbb82a1a1638fb1354a78c131386a8f240a022f8a7a9f14e34b686bea7e1462a6329c8dce741992815"
+ "content" : "01521663016052e45ab49fabecfac0505271d71635c20066bc9de1ca21f6181db4f00f7ab08d4b9f279a0a23eebca86ada511b19c400f589302fe203047d68a6"
},
{
"alg" : "SHA-384",
- "content" : "4fe58a6da8ba4c00d4dd08ef302e890cedd03975a7c431175968c6812cc6e84feb32c1f88e6dc546af10a1c70213a9e6"
+ "content" : "ce33788bc5a6b0577f3bbf85af51f3ed381348379bd3acc70034c3b109596c7dd106590ab5aec6aeebd8b11ddbf2d48b"
},
{
"alg" : "SHA3-384",
- "content" : "50a2178426c532494f967aba1441d7412a6e0faa5fe539fd5c577ffc114ff589373855b4db3d69f28d18a704241d8eca"
+ "content" : "242e94e9791c7091b0beec07223d3044ca6ccddc9f33feb38acc57ea690d85cbe173e60dc4bc0291aa05e6a1a54c5476"
},
{
"alg" : "SHA3-256",
- "content" : "5a6ef60a278035c6f92212058fe8b9ee6c87b4adc27ef9739e3b5b35c399150e"
+ "content" : "78e9c667a5f97362330ebdacca30a37fc9f71f23346c7020e3729ce2df833fb6"
},
{
"alg" : "SHA3-512",
- "content" : "a9b6b25f67523199f6f0bed8931ed3b3c6ee461762d5a371ef8684ac6798a19b3877d6fe3537636cac80dfdfe0b1500fc74504d1f882685fabccb6252c197128"
+ "content" : "e8602c8a86ba570ee6ae071f0937c2ff723d205c1f0577d03860fbf767b90fd2d4df4626121dbfd189175108bd5b3c896213922fd76fdf5f01cff95390c142b7"
}
],
"licenses" : [
@@ -130,47 +130,47 @@
}
}
],
- "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "purl" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"type" : "library",
- "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar"
},
{
"group" : "com.avaulta.gateway",
"name" : "gateway-core",
- "version" : "0.6.6",
+ "version" : "0.6.7",
"scope" : "required",
"hashes" : [
{
"alg" : "MD5",
- "content" : "3695b96697effac61ec4284edd27087e"
+ "content" : "2e37ecad31aac9d35e5724720f96f714"
},
{
"alg" : "SHA-1",
- "content" : "868705aed1f6306c1cb47a5845f0f744feaf053d"
+ "content" : "f0ad56a84a942e22c12174a95ded48d447edfef4"
},
{
"alg" : "SHA-256",
- "content" : "c3ca35438db7144a36ead65d6c05abf45a611bdc7a39fedc6bed4d904a3c8eba"
+ "content" : "f3e0120ce65d230229f7c4a247886a57282677644b8366180f6202b1912f2c16"
},
{
"alg" : "SHA-512",
- "content" : "d0fc39ac5c829b9850f341f762061e56e351be3336e543542b4f00cdb2785302a37abd3d80c289d33f0c8f8ba94ea4e9d703b1d1401f11302fe95f2a72e1b827"
+ "content" : "71394a4b145be6c4abe5701c1ae106babae710bab46c822790aca383ab10b90363b11f6a25cf0bf3c55ca4b683938ca8a4f7f6d0446641a7364b2cb2c711c207"
},
{
"alg" : "SHA-384",
- "content" : "2d5f32b9f2c8327ece89422d831d2a61adeeba825b98d8c5822c5585fcf61bd0df041f0e8298920ae50382f17a159d6f"
+ "content" : "f2b3c0d033dacc606724a7b4ef19c823b1df69eb2531c8b676f274ffadd7e20de59ba6386cccf0f970477aed282ddbba"
},
{
"alg" : "SHA3-384",
- "content" : "e32df957913151cc9afe2f9c58f0fdd16150a78f9475060bf1bb7ee2008cabb59f41069d727c5fca24b0071d524b1498"
+ "content" : "091607171f7e74894a0d325904d9c8d96eee07e4891707347dfd1f3e2664701003762a5f54c9a258f864ca9ca7664162"
},
{
"alg" : "SHA3-256",
- "content" : "537955bb8865270fc345fe5f9e9c90c440fa04c5f9934c88cc907b8eec410312"
+ "content" : "42417f0eed9dff2a217ada5726818b1a65489a81e8745e9e864db70b1a1088af"
},
{
"alg" : "SHA3-512",
- "content" : "2a0a3b1d740ef1d0c381ce58e0b0325f7bdc0d08250075cc6a6a833389c84b5333d97af249cd763f9567c49e22b34bb9dd36a4b2b79060e7b9df0f35f7524bed"
+ "content" : "c23a910cc8fd5956215b76aadc9101cacb222545188e681403cc5ca66a7840f3742f1180c3e046dcbe2a86d957a957966da988f73cb427eae7be60843516d3bf"
}
],
"licenses" : [
@@ -181,9 +181,9 @@
}
}
],
- "purl" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "purl" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"type" : "library",
- "bom-ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar"
+ "bom-ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar"
},
{
"publisher" : "FasterXML",
@@ -10589,9 +10589,9 @@
],
"dependencies" : [
{
- "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.6?type=jar",
+ "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-gcp@0.6.7?type=jar",
"dependsOn" : [
- "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"pkg:maven/org.projectlombok/lombok@1.18.42?type=jar",
"pkg:maven/com.google.dagger/dagger@2.40.5?type=jar",
"pkg:maven/com.google.dagger/dagger-compiler@2.40.5?type=jar",
@@ -10604,9 +10604,9 @@
]
},
{
- "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.6?type=jar",
+ "ref" : "pkg:maven/co.worklytics.psoxy/psoxy-core@0.6.7?type=jar",
"dependsOn" : [
- "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"pkg:maven/org.apache.commons/commons-lang3@3.19.0?type=jar",
"pkg:maven/org.apache.commons/commons-csv@1.14.1?type=jar",
"pkg:maven/commons-io/commons-io@2.18.0?type=jar",
@@ -10631,7 +10631,7 @@
]
},
{
- "ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.6?type=jar",
+ "ref" : "pkg:maven/com.avaulta.gateway/gateway-core@0.6.7?type=jar",
"dependsOn" : [
"pkg:maven/org.apache.commons/commons-lang3@3.19.0?type=jar",
"pkg:maven/org.apache.commons/commons-csv@1.14.1?type=jar",
diff --git a/infra/examples-dev/aws/google-workspace.tf b/infra/examples-dev/aws/google-workspace.tf
index dd1b8ac79..e842285ea 100644
--- a/infra/examples-dev/aws/google-workspace.tf
+++ b/infra/examples-dev/aws/google-workspace.tf
@@ -8,7 +8,7 @@ provider "google" {
module "worklytics_connectors_google_workspace" {
source = "../../modules/worklytics-connectors-google-workspace"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=rc-v0.6.7"
google_workspace_connector_settings = var.google_workspace_connector_settings
diff --git a/infra/examples-dev/aws/main.tf b/infra/examples-dev/aws/main.tf
index 9534f5b9a..f4cbc3cec 100644
--- a/infra/examples-dev/aws/main.tf
+++ b/infra/examples-dev/aws/main.tf
@@ -21,7 +21,7 @@ terraform {
# general cases
module "worklytics_connectors" {
source = "../../modules/worklytics-connectors"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=rc-v0.6.7"
enabled_connectors = var.enabled_connectors
connector_settings = var.connector_settings
@@ -121,7 +121,7 @@ locals {
module "psoxy" {
source = "../../modules/aws-host"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-host?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-host?ref=rc-v0.6.7"
environment_name = var.environment_name
aws_account_id = var.aws_account_id
@@ -200,7 +200,7 @@ module "connection_in_worklytics" {
for_each = local.all_instances
source = "../../modules/worklytics-proxy-connection-aws"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-proxy-connection-aws?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-proxy-connection-aws?ref=rc-v0.6.7"
proxy_instance_id = each.key
worklytics_host = var.worklytics_host
diff --git a/infra/examples-dev/aws/msft-365.tf b/infra/examples-dev/aws/msft-365.tf
index 6250de2c1..6dc91dd48 100644
--- a/infra/examples-dev/aws/msft-365.tf
+++ b/infra/examples-dev/aws/msft-365.tf
@@ -2,7 +2,7 @@
module "worklytics_connectors_msft_365" {
source = "../../modules/worklytics-connectors-msft-365"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=rc-v0.6.7"
msft_365_connector_settings = var.msft_365_connector_settings
@@ -52,7 +52,7 @@ module "cognito_identity_pool" {
count = local.msft_365_enabled ? 1 : 0 # only provision identity pool if MSFT-365 connectors are enabled
source = "../../modules/aws-cognito-pool"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-pool?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-pool?ref=rc-v0.6.7"
developer_provider_name = local.developer_provider_name
name = "${local.env_qualifier}-azure-ad-federation"
@@ -75,7 +75,7 @@ module "cognito_identity" {
count = local.msft_365_enabled ? 1 : 0 # only provision identity pool if MSFT-365 connectors are enabled
source = "../../modules/aws-cognito-identity-cli"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-identity-cli?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/aws-cognito-identity-cli?ref=rc-v0.6.7"
aws_region = data.aws_region.current.region
@@ -113,7 +113,7 @@ module "msft_connection_auth_federation" {
for_each = local.provision_entraid_apps ? local.enabled_to_entraid_object : local.shared_to_entraid_object
source = "../../modules/azuread-federated-credentials"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=rc-v0.6.7"
application_id = each.value.connector_id
display_name = "${local.env_qualifier}AccessFromAWS"
diff --git a/infra/examples-dev/gcp/google-workspace.tf b/infra/examples-dev/gcp/google-workspace.tf
index dd1b8ac79..e842285ea 100644
--- a/infra/examples-dev/gcp/google-workspace.tf
+++ b/infra/examples-dev/gcp/google-workspace.tf
@@ -8,7 +8,7 @@ provider "google" {
module "worklytics_connectors_google_workspace" {
source = "../../modules/worklytics-connectors-google-workspace"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-google-workspace?ref=rc-v0.6.7"
google_workspace_connector_settings = var.google_workspace_connector_settings
diff --git a/infra/examples-dev/gcp/main.tf b/infra/examples-dev/gcp/main.tf
index 7015635a6..114cefbd9 100644
--- a/infra/examples-dev/gcp/main.tf
+++ b/infra/examples-dev/gcp/main.tf
@@ -30,7 +30,7 @@ locals {
# call this 'generic_source_connectors'?
module "worklytics_connectors" {
source = "../../modules/worklytics-connectors"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors?ref=rc-v0.6.7"
base_dir = var.psoxy_base_dir
enabled_connectors = var.enabled_connectors
@@ -104,7 +104,7 @@ locals {
module "psoxy" {
source = "../../modules/gcp-host"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/gcp-host?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/gcp-host?ref=rc-v0.6.7"
gcp_project_id = var.gcp_project_id
environment_name = var.environment_name
@@ -168,7 +168,7 @@ module "connection_in_worklytics" {
for_each = local.all_instances
source = "../../modules/worklytics-proxy-connection-generic"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-proxy-connection-generic?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-proxy-connection-generic?ref=rc-v0.6.7"
host_platform_id = local.host_platform_id
proxy_instance_id = each.key
diff --git a/infra/examples-dev/gcp/msft-365.tf b/infra/examples-dev/gcp/msft-365.tf
index 305e21915..fbe96b5fa 100644
--- a/infra/examples-dev/gcp/msft-365.tf
+++ b/infra/examples-dev/gcp/msft-365.tf
@@ -2,7 +2,7 @@
module "worklytics_connectors_msft_365" {
source = "../../modules/worklytics-connectors-msft-365"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/worklytics-connectors-msft-365?ref=rc-v0.6.7"
msft_365_connector_settings = var.msft_365_connector_settings
@@ -37,7 +37,7 @@ module "msft-connection-auth-federation" {
for_each = module.worklytics_connectors_msft_365.enabled_api_connectors
source = "../../modules/azuread-federated-credentials"
- # source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=v0.6.6"
+ # source = "git::https://github.com/worklytics/psoxy//infra/modules/azuread-federated-credentials?ref=rc-v0.6.7"
application_id = each.value.connector.id
display_name = "GcpFederation"
diff --git a/infra/modules/aws-host/main.tf b/infra/modules/aws-host/main.tf
index a9470b59c..888401a90 100644
--- a/infra/modules/aws-host/main.tf
+++ b/infra/modules/aws-host/main.tf
@@ -493,7 +493,6 @@ locals {
caller_has_configured_output_buckets = (
length(var.bulk_connectors) > 0 ||
length(var.webhook_collectors) > 0 ||
- length(var.lookup_table_builders) > 0 ||
length([for k, v in var.api_connectors : k if try(v.enable_async_processing, false)]) > 0 ||
length([for k, v in local.sanitized_side_outputs : k if v != null]) > 0
)
@@ -503,7 +502,6 @@ locals {
[for k, v in module.webhook_collectors : v.output_sanitized_bucket_id],
[for k, v in module.api_connector : v.async_output_bucket_id if try(v.async_output_bucket_id, null) != null],
[for k, v in module.api_connector : v.side_output_sanitized_bucket_id if try(v.side_output_sanitized_bucket_id, null) != null],
- [for k, v in module.lookup_output : v.output_bucket],
)))
caller_output_bucket_read_resources = flatten([
diff --git a/infra/modules/aws-proxy-bulk/provision_testing_infra.tftest.hcl b/infra/modules/aws-proxy-bulk/provision_testing_infra.tftest.hcl
index 3d44417c8..0d8961c67 100644
--- a/infra/modules/aws-proxy-bulk/provision_testing_infra.tftest.hcl
+++ b/infra/modules/aws-proxy-bulk/provision_testing_infra.tftest.hcl
@@ -1,14 +1,14 @@
# Plan succeeds with testing IAM/bucket policies enabled and disabled.
variables {
- environment_name = "test"
- instance_id = "hris"
- aws_account_id = "123456789012"
- path_to_function_zip = "../aws-proxy-lambda/tests/deployment.zip"
- function_zip_hash = "dummy-hash-for-test"
- path_to_instance_ssm_parameters = "PSOXY_TEST_HRIS_"
- provision_iam_policy_for_testing = false
- aws_principal_arn_when_testing = null
+ environment_name = "test"
+ instance_id = "hris"
+ aws_account_id = "123456789012"
+ path_to_function_zip = "../aws-proxy-lambda/tests/deployment.zip"
+ function_zip_hash = "dummy-hash-for-test"
+ path_to_instance_ssm_parameters = "PSOXY_TEST_HRIS_"
+ provision_iam_policy_for_testing = false
+ aws_principal_arn_when_testing = null
aws_write_role_to_assume_when_testing = null
}
diff --git a/infra/modules/gcp-proxy-api/main.tf b/infra/modules/gcp-proxy-api/main.tf
index 941982c9a..4befc1b6c 100644
--- a/infra/modules/gcp-proxy-api/main.tf
+++ b/infra/modules/gcp-proxy-api/main.tf
@@ -291,7 +291,7 @@ resource "google_cloudfunctions2_function" "function" {
iterator = secret_environment_variable
content {
- key = secret_environment_variable.key
+ key = secret_environment_variable.key
# project_id string (not number) avoids apply-time drift: number comes from data.google_project
project_id = var.gcp_project.project_id
secret = secret_environment_variable.value.secret_id
diff --git a/infra/modules/gcp-proxy-bulk/main.tf b/infra/modules/gcp-proxy-bulk/main.tf
index 469f21288..34338cd33 100644
--- a/infra/modules/gcp-proxy-bulk/main.tf
+++ b/infra/modules/gcp-proxy-bulk/main.tf
@@ -251,7 +251,7 @@ resource "google_cloudfunctions2_function" "function" {
iterator = secret_environment_variable
content {
- key = secret_environment_variable.key
+ key = secret_environment_variable.key
# project_id string (not number) avoids apply-time drift: number comes from data.google_project
project_id = var.gcp_project.project_id
secret = secret_environment_variable.value.secret_id
diff --git a/infra/modules/gcp-webhook-collector/ip_lock_conditions.tftest.hcl b/infra/modules/gcp-webhook-collector/ip_lock_conditions.tftest.hcl
index bbc3ad1fe..d7193c665 100644
--- a/infra/modules/gcp-webhook-collector/ip_lock_conditions.tftest.hcl
+++ b/infra/modules/gcp-webhook-collector/ip_lock_conditions.tftest.hcl
@@ -23,7 +23,7 @@ variables {
provision_auth_key = {
rotation_days = 30
}
- example_identity = "test-user@example.com"
+ example_identity = "test-user@example.com"
allowed_webhook_ip_blocks = ["10.0.0.0/16"]
}
diff --git a/infra/modules/gcp-webhook-collector/main.tf b/infra/modules/gcp-webhook-collector/main.tf
index 0e31555d2..fbf1c3a8a 100644
--- a/infra/modules/gcp-webhook-collector/main.tf
+++ b/infra/modules/gcp-webhook-collector/main.tf
@@ -367,7 +367,7 @@ resource "google_cloudfunctions2_function" "function" {
iterator = secret_environment_variable
content {
- key = secret_environment_variable.key
+ key = secret_environment_variable.key
# project_id string (not number) avoids apply-time drift: number comes from data.google_project
project_id = var.gcp_project.project_id
secret = secret_environment_variable.value.secret_id
diff --git a/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConfigProperty.java b/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConfigProperty.java
index bd46c2861..cfd1944df 100644
--- a/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConfigProperty.java
+++ b/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConfigProperty.java
@@ -142,12 +142,12 @@ public enum ProxyConfigProperty implements ConfigService.ConfigProperty {
/**
* Whether the proxy should follow HTTP redirects (3xx responses) when calling source APIs.
*
- * OPTIONAL; defaults to {@code true} (redirects are followed), matching the default behavior
- * of the underlying HTTP client.
+ * OPTIONAL; defaults to {@code true} in sync mode and {@code false} in async mode. Async
+ * connectors that issue redirects (e.g. Slack Analytics) rely on the proxy intercepting 3xx
+ * responses to fetch data from the Location URL manually.
*
- * Set to {@code FALSE} for connectors whose APIs issue redirects that must not be
- * automatically followed — e.g. ChatGPT Enterprise, which uses async processing and relies
- * on the proxy intercepting 3xx responses to fetch data from the Location URL manually.
+ * Set explicitly to override the mode-specific default when needed — e.g. ChatGPT Enterprise
+ * sets {@code FALSE} to ensure redirects are never followed automatically.
*
* Accepted values: {@code true} / {@code false} (case-insensitive).
*/
diff --git a/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConstants.java b/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConstants.java
index 257b14496..5e83ea1d2 100644
--- a/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConstants.java
+++ b/java/core/src/main/java/co/worklytics/psoxy/gateway/ProxyConstants.java
@@ -22,7 +22,7 @@ public class ProxyConstants {
/**
* Version of the Java source code. Used to identify the version of the proxy.
*/
- public static final String JAVA_SOURCE_CODE_VERSION = "v0.6.6";
+ public static final String JAVA_SOURCE_CODE_VERSION = "rc-v0.6.7";
/**
* a random UUID used to salt the hash of the salt. Purpose of this is to invalidate any non-purpose built rainbow table solution.
diff --git a/java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java b/java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java
index c1b638d29..44db61b5b 100644
--- a/java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java
+++ b/java/core/src/main/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandler.java
@@ -379,7 +379,7 @@ public HttpEventResponse handle(HttpEventRequest requestToProxy,
// setup request
boolean followRedirects = config.getConfigPropertyAsOptional(ProxyConfigProperty.FOLLOW_REDIRECTS)
.map(Boolean::parseBoolean)
- .orElse(true);
+ .orElse(!processingContext.getAsync());
requestToSourceApi
.setThrowExceptionOnExecuteError(false)
diff --git a/java/core/src/test/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandlerTest.java b/java/core/src/test/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandlerTest.java
index 476fae358..40dcf42b8 100644
--- a/java/core/src/test/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandlerTest.java
+++ b/java/core/src/test/java/co/worklytics/psoxy/gateway/impl/ApiDataRequestHandlerTest.java
@@ -834,6 +834,62 @@ void isRedirectFamily() {
assertFalse(handler.isRedirectFamily(400));
}
+ @Test
+ @SneakyThrows
+ void asyncModeDisablesRedirectFollowingByDefault() {
+ setup("gmail", "google.apis.com");
+
+ ApiDataRequestHandler spy = spy(handler);
+
+ HttpEventRequest request = MockModules.provideMock(HttpEventRequest.class);
+ when(request.getHeader(ControlHeader.PSEUDONYM_IMPLEMENTATION.getHttpHeader()))
+ .thenReturn(Optional.empty());
+ when(request.getHttpMethod()).thenReturn("GET");
+ when(request.getPath()).thenReturn("/admin/directory/v1/users");
+ when(request.getQuery()).thenReturn(Optional.empty());
+
+ HttpRequest[] captured = new HttpRequest[1];
+ MockHttpTransport transport = new MockHttpTransport();
+ HttpRequestFactory requestFactory = spy(transport.createRequestFactory());
+ doAnswer(invocation -> {
+ HttpRequest built = (HttpRequest) invocation.callRealMethod();
+ captured[0] = built;
+ return built;
+ }).when(requestFactory).buildRequest(anyString(), any(GenericUrl.class), any());
+ doReturn(requestFactory).when(spy).getRequestFactory(any());
+
+ MockHttpTransport contentTransport = new MockHttpTransport() {
+ @Override
+ public LowLevelHttpRequest buildRequest(String method, String url) throws IOException {
+ return new MockLowLevelHttpRequest() {
+ @Override
+ public LowLevelHttpResponse execute() throws IOException {
+ MockLowLevelHttpResponse response = new MockLowLevelHttpResponse();
+ response.setStatusCode(200);
+ response.setContentType(Json.MEDIA_TYPE);
+ response.setContent("[]");
+ return response;
+ }
+ };
+ }
+ };
+ when(spy.httpTransportFactory.create()).thenReturn(contentTransport);
+
+ RESTApiSanitizerImpl sanitizer = mock(RESTApiSanitizerImpl.class);
+ when(sanitizer.isAllowed(anyString(), any(), anyString(), any())).thenReturn(true);
+ spy.sanitizer = sanitizer;
+
+ spy.handle(request, ApiDataRequestHandler.ProcessingContext.builder()
+ .async(true)
+ .requestId("r")
+ .asyncOutputLocation("gs://bucket/output.json")
+ .requestReceivedAt(clock.instant())
+ .build());
+
+ assertNotNull(captured[0]);
+ assertFalse(captured[0].getFollowRedirects());
+ }
+
@Test
@SneakyThrows
void handleShouldFollowRedirectManuallyInAsyncMode() {
diff --git a/java/pom.xml b/java/pom.xml
index 987ed9ef3..de6f32e92 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -10,7 +10,7 @@
pom
- 0.6.6
+ 0.6.7
UTF-8
1.18.42
2.40.5
diff --git a/tools/init-tfvars.sh b/tools/init-tfvars.sh
index 2d85ad783..7028b95a7 100755
--- a/tools/init-tfvars.sh
+++ b/tools/init-tfvars.sh
@@ -7,7 +7,7 @@ PSOXY_BASE_DIR=$2
DEPLOYMENT_ENV=${3:-"local"}
HOST_PLATFORM=${4:-"aws"}
-SCRIPT_VERSION="v0.6.6"
+SCRIPT_VERSION="rc-v0.6.7"
if [ -z "$PSOXY_BASE_DIR" ]; then
printf "Usage: init-tfvars.sh [DEPLOYMENT_ENV]\n"